關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 在微機上模擬電器控制線路的工作過程

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

        作者: 時間:2012-10-12 來源:網絡 收藏

        摘要:本文對線路在運行的核心問題——邏輯表達式分析過程的實現進行論述,簡要說明程序設計的主要思路。

        本文引用地址:http://www.104case.com/article/202161.htm

        關鍵詞:計算機,,,CAD

        一、引言

        實現順序控制的線路的數學模型是一組邏輯關系表達式,其中邏輯變量代表控制觸點,受控元件的電磁線圈為各觸點的邏輯函數,邏輯函數值即對應受控元件的工作狀態。在電器控制系統運行過程中,各元件及觸點狀態的變化,使邏輯運算結果隨之改變,這種變化的過程實際就是電器控制線路的運行過程。

        電器控制系統中元件與控制觸點之間的邏輯關系是根據系統控制要求確定的,控制線路的運行過程就是要按一定順序解算控制系統的數學模型——邏輯代數方程組。在方程組中,以邏輯函數代表運算元件的電磁線圈,以邏輯變量代表元件觸點。對同一電器元件來說,其線圈和觸點的物理狀態是互相關聯的,可約定邏輯函數值為“1”時表示線圈得電,同名的原變量取值為“1”,表示動合觸點閉合;反之,邏輯函數值為“0”時表示線圈得電,同名的原變量取值為“0”,動合觸點斷開。

        二、電器控制線路模擬運行程序設計的主要思路

        1. 表達式分析的基本原理

        計算機高級程序設計語言編譯系統中,通常配備有字符型變量,一個數學表達式可以以集中或分散的形式存儲在這類變量中。將一個具有物理意義或數學意義的函數表達式轉換為計算機能夠執行的指令的過程,稱為表達式句法分析。表達式的分析過程是按嚴格的代數規則進行的,因為電器控制線路的數學模型是邏輯代數方程,故模擬運行程序中表達式分析依據的即為邏輯代數運算規則。

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

        在設計表達式分析程序時,首先要約定變量、運算符及子表達式定界符,筆者根據電器控制線路數學模型——邏輯代數方程的基本運算規則,以及有關電器元件文字符號的標準規定,約定以下一些字符串為合法的邏輯變量:

        sb——手動按鈕動合觸點變量;nsb——手動按鈕動斷觸點變量;

        sq——行程開關動合觸點變量;nsq——行程開關動斷觸點變量;

        KM——接觸器線圈函數;

        km——接觸器動合觸點變量;nkm——接觸器動斷觸點變量;

        K——中間繼電器線圈函數;

        k——中間繼電器動合觸點變量;nk——中間繼電器動斷觸點變量;

        KT——時間繼電器線圈函數;

        kt——時間繼電器瞬時動合觸點變量;nkt——時間繼電器瞬時動斷觸點變量;

        t——時間繼電器延時動合觸點變量;nt——時間繼電器延時動斷觸點變量;

        YA——電磁鐵線圈函數,

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

        2. 表達式分析的實現過程

        設一電器控制線路原理圖如圖1所示,對應的邏輯關系表達式如下:

        K = ( sb1 + k ) * nsb2

        其中sb1為K的起始信號,sb2為K的終止信號,k是元件K的自鎖觸點。當sb1出現時其邏輯值為“1”,在sb2沒有出現之前sb2的邏輯值為“0”,nsb2即為“1”,故經邏輯運算K的邏輯值是“1”,即表示元件K得電,隨即k的邏輯值由“0”變為“1”,表示自鎖觸點k自鎖閉合。

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

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

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

        三、結束語

        本文論述了電器控制線路在上模擬運行的核心問題——邏輯關系表達式的分解計算。設計這樣一個應用軟件,可以幫助設計者快速有效地檢驗設計結果、分析線路潛在問題,可以說是電器控制線路CAD不可缺少的重要環節,同時也是CAD技術大有可為的一個領域。

        四、參考文獻

        盧有杰、吳煒煜,《C語言高級程序設計》,清華大學出版社,1991

        電氣符號相關文章:電氣符號大全


        c語言相關文章:c語言教程


        行程開關相關文章:行程開關原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 北京市| 二连浩特市| 荔波县| 沙田区| 大兴区| 芒康县| 峡江县| 元阳县| 大埔区| 拜泉县| 河曲县| 萝北县| 罗山县| 于都县| 五常市| 太保市| 子洲县| 渭南市| 蒙山县| 进贤县| 古交市| 中宁县| 邵阳县| 定兴县| 昌都县| 进贤县| 宜君县| 泰兴市| 临潭县| 建平县| 陆川县| 土默特右旗| 青铜峡市| 南靖县| 揭西县| 普安县| 伊通| 达日县| 阿鲁科尔沁旗| 孝昌县| 兴国县|