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

  微型計算機簡稱“微型機”、“微機”,由於其具備人腦的某些功能,所以也稱其為“微電腦”。微型計算機是由大規模積體電路組成的、體積較小的電子計算機。它是以微處理器為基礎,配以記憶體儲器及輸入輸出***I/0***介面電路和相應的輔助電路而構成的裸機。以下是小編為大家精心準備的:在微機上模擬電器控制線路的工作過程相關論文。內容僅供參考,歡迎閱讀!

  在微機上模擬電器控制線路的工作過程全文如下:

  摘要:本文對電器控制線路在微機上模擬執行的核心問題——邏輯表示式分析過程的實現進行論述,簡要說明程式設計的主要思路。

  關鍵詞:計算機,電器控制,模擬,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