關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 在微機(jī)上模擬電器控制線路的工作過程

在微機(jī)上模擬電器控制線路的工作過程

作者: 時(shí)間:2012-10-12 來源:網(wǎng)絡(luò) 收藏

摘要:本文對線路在運(yùn)行的核心問題——邏輯表達(dá)式分析過程的實(shí)現(xiàn)進(jìn)行論述,簡要說明程序設(shè)計(jì)的主要思路。

本文引用地址:http://m.butianyuan.cn/article/202161.htm

關(guān)鍵詞:計(jì)算機(jī),,,CAD

一、引言

實(shí)現(xiàn)順序控制的線路的數(shù)學(xué)模型是一組邏輯關(guān)系表達(dá)式,其中邏輯變量代表控制觸點(diǎn),受控元件的電磁線圈為各觸點(diǎn)的邏輯函數(shù),邏輯函數(shù)值即對應(yīng)受控元件的工作狀態(tài)。在電器控制系統(tǒng)運(yùn)行過程中,各元件及觸點(diǎn)狀態(tài)的變化,使邏輯運(yùn)算結(jié)果隨之改變,這種變化的過程實(shí)際就是電器控制線路的運(yùn)行過程。

電器控制系統(tǒng)中元件與控制觸點(diǎn)之間的邏輯關(guān)系是根據(jù)系統(tǒng)控制要求確定的,控制線路的運(yùn)行過程就是要按一定順序解算控制系統(tǒng)的數(shù)學(xué)模型——邏輯代數(shù)方程組。在方程組中,以邏輯函數(shù)代表運(yùn)算元件的電磁線圈,以邏輯變量代表元件觸點(diǎn)。對同一電器元件來說,其線圈和觸點(diǎn)的物理狀態(tài)是互相關(guān)聯(lián)的,可約定邏輯函數(shù)值為“1”時(shí)表示線圈得電,同名的原變量取值為“1”,表示動(dòng)合觸點(diǎn)閉合;反之,邏輯函數(shù)值為“0”時(shí)表示線圈得電,同名的原變量取值為“0”,動(dòng)合觸點(diǎn)斷開。

二、電器控制線路模擬運(yùn)行程序設(shè)計(jì)的主要思路

1. 表達(dá)式分析的基本原理

計(jì)算機(jī)高級程序設(shè)計(jì)語言編譯系統(tǒng)中,通常配備有字符型變量,一個(gè)數(shù)學(xué)表達(dá)式可以以集中或分散的形式存儲在這類變量中。將一個(gè)具有物理意義或數(shù)學(xué)意義的函數(shù)表達(dá)式轉(zhuǎn)換為計(jì)算機(jī)能夠執(zhí)行的指令的過程,稱為表達(dá)式句法分析。表達(dá)式的分析過程是按嚴(yán)格的代數(shù)規(guī)則進(jìn)行的,因?yàn)殡娖骺刂凭€路的數(shù)學(xué)模型是邏輯代數(shù)方程,故模擬運(yùn)行程序中表達(dá)式分析依據(jù)的即為邏輯代數(shù)運(yùn)算規(guī)則。

“遞歸下降法”是比較常用的表達(dá)式句法分析方法,其基本過程就是將一個(gè)完整的表達(dá)式逐項(xiàng)分解,分解出的成分可以是變量、運(yùn)算符或子表達(dá)式,當(dāng)根據(jù)分解規(guī)則識別出被分解出來的某個(gè)成分為子表達(dá)式時(shí),就要繼續(xù)進(jìn)行分解,直至所有被分解出的成分皆為最基本元素為止(所謂最基本元素,即為事先約定的可以直接參與計(jì)算的變量和運(yùn)算符)。

在設(shè)計(jì)表達(dá)式分析程序時(shí),首先要約定變量、運(yùn)算符及子表達(dá)式定界符,筆者根據(jù)電器控制線路數(shù)學(xué)模型——邏輯代數(shù)方程的基本運(yùn)算規(guī)則,以及有關(guān)電器元件文字符號的標(biāo)準(zhǔn)規(guī)定,約定以下一些字符串為合法的邏輯變量:

sb——手動(dòng)按鈕動(dòng)合觸點(diǎn)變量;nsb——手動(dòng)按鈕動(dòng)斷觸點(diǎn)變量;

sq——行程開關(guān)動(dòng)合觸點(diǎn)變量;nsq——行程開關(guān)動(dòng)斷觸點(diǎn)變量;

KM——接觸器線圈函數(shù);

km——接觸器動(dòng)合觸點(diǎn)變量;nkm——接觸器動(dòng)斷觸點(diǎn)變量;

K——中間繼電器線圈函數(shù);

k——中間繼電器動(dòng)合觸點(diǎn)變量;nk——中間繼電器動(dòng)斷觸點(diǎn)變量;

KT——時(shí)間繼電器線圈函數(shù);

kt——時(shí)間繼電器瞬時(shí)動(dòng)合觸點(diǎn)變量;nkt——時(shí)間繼電器瞬時(shí)動(dòng)斷觸點(diǎn)變量;

t——時(shí)間繼電器延時(shí)動(dòng)合觸點(diǎn)變量;nt——時(shí)間繼電器延時(shí)動(dòng)斷觸點(diǎn)變量;

YA——電磁鐵線圈函數(shù),

約定在上述各邏輯函數(shù)及邏輯變量之后可附加0~9數(shù)字序號。約定“*”為邏輯“與”運(yùn)算符,表示線路中的串聯(lián)連接;“+”為邏輯“或”運(yùn)算符,表示線路中的并聯(lián)連接;“=”為邏輯函數(shù)賦值符。約定“(”、“)”為子表達(dá)式的定界符。

2. 表達(dá)式分析的實(shí)現(xiàn)過程

設(shè)一電器控制線路原理圖如圖1所示,對應(yīng)的邏輯關(guān)系表達(dá)式如下:

K = ( sb1 + k ) * nsb2

其中sb1為K的起始信號,sb2為K的終止信號,k是元件K的自鎖觸點(diǎn)。當(dāng)sb1出現(xiàn)時(shí)其邏輯值為“1”,在sb2沒有出現(xiàn)之前sb2的邏輯值為“0”,nsb2即為“1”,故經(jīng)邏輯運(yùn)算K的邏輯值是“1”,即表示元件K得電,隨即k的邏輯值由“0”變?yōu)?ldquo;1”,表示自鎖觸點(diǎn)k自鎖閉合。

對這樣的邏輯函數(shù)表達(dá)式的分析過程是從“=”右側(cè)字符串分解開始的,每分解出一個(gè)元素就要返回一個(gè)記號(稱作token),這是表達(dá)式分解的核心過程,圖2為求取表達(dá)式元素分解子程序(get_token)流程圖,圍繞元素分解過程構(gòu)成的表達(dá)式分析程序(caculate)流程圖如圖3所示。

圖2 表達(dá)式元素分解子程序(get_token)流程圖

以前面圖1為例,進(jìn)入caculat程序后調(diào)用get_token函數(shù),得到函數(shù)名K及“=”符號,以下順序調(diào)用level2、level3、leve4子程,判斷出得到的是“(”符號時(shí),說明后面是一個(gè)子表達(dá)式,隨即遞歸調(diào)用level2子程,且再依次進(jìn)入level3、level4子程,這時(shí)可得出邏輯變量名sb1極其狀態(tài)值。其后由level4返回到level3并調(diào)用get_token函數(shù),得到“+”運(yùn)算符后返回。返回到level2后判斷出“+”運(yùn)算符,即要調(diào)用get_token函數(shù),得到變量名k及其狀態(tài)值并執(zhí)行邏輯或運(yùn)算,將計(jì)算結(jié)果存入一暫存變量result中,然后從level2退出。這時(shí)會返回到level4子程中且調(diào)用get_token函數(shù),得到“)”返回返回到level3子程。在level3中判斷出為“*”運(yùn)算符時(shí)調(diào)用get_token函數(shù),得到 nsb2及其狀態(tài)值后執(zhí)行邏輯與運(yùn)算,最終將計(jì)算結(jié)果返回到變量K中,結(jié)束表達(dá)式分析計(jì)算過程。

三、結(jié)束語

本文論述了電器控制線路在上模擬運(yùn)行的核心問題——邏輯關(guān)系表達(dá)式的分解計(jì)算。設(shè)計(jì)這樣一個(gè)應(yīng)用軟件,可以幫助設(shè)計(jì)者快速有效地檢驗(yàn)設(shè)計(jì)結(jié)果、分析線路潛在問題,可以說是電器控制線路CAD不可缺少的重要環(huán)節(jié),同時(shí)也是CAD技術(shù)大有可為的一個(gè)領(lǐng)域。

四、參考文獻(xiàn)

盧有杰、吳煒煜,《C語言高級程序設(shè)計(jì)》,清華大學(xué)出版社,1991

電氣符號相關(guān)文章:電氣符號大全


c語言相關(guān)文章:c語言教程


行程開關(guān)相關(guān)文章:行程開關(guān)原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉