PLC順序邏輯控制梯形圖自動生成CAD系統(tǒng)
可編程序控制器用于液壓傳動系統(tǒng)和相應的順序邏輯控制系統(tǒng),取代原有的繼電器邏輯控制已相當普遍。程序編制方法大多數以梯形圖為依據的指令語句方式。在工步數不多、邏輯關系不太復雜的情況下,編程并不難,然而如果工步數多,輸入、輸出邏輯關系比較復雜,如何根據受控設備的動作程序和工藝要求,一次設計出滿足控制要求、線路簡單、運行可靠的順序邏輯控制梯形圖,這對設計經驗不很豐富的設計者來說并非容易,原因是順序邏輯控制系統(tǒng)每一程序的輸出狀態(tài)不僅與該步的即時輸入狀態(tài)有關,而且與該步的歷史輸入狀態(tài)有關,輸入、輸出關系千變萬化,難于掌握。
再者目前國內使用的PLC中小型多以日本產品為主,大型以歐美產品為多,機型各種各樣,沒有明確一致的標準,編程元件的種類、數目、編程語言等各方面都不相同,互不兼容,這給控制系統(tǒng)的設計、編程、調試及運行維護帶來困難,希望能開發(fā)出一種設計方法嚴密、規(guī)則性強、通用性強、能適應各種PLC且使用、維護方便靈活、系統(tǒng)構成簡單、可靠的編程軟件,為此我們作了一些初步的探討。
2 設計思想與方法
順序邏輯控制法中系統(tǒng)的一個工作周期被分為順序相連的若干步,在各步內,各輸出量的通/斷狀態(tài)不變,并規(guī)定:只是由于電氣信號的改變,才引起受控設備工步的改變,即當PLC輸出量的狀態(tài)變化時,系統(tǒng)從原工步進入新的工步。設計中不是用PLC的輸入X直接控制輸出Y,而是用PLC輸入的轉換主令信號X去控制代表工步狀態(tài)的輔助繼電器M,用利用M去控制Y。不管系統(tǒng)多么復雜和千變萬化,對M的控制要求都是一樣的。因此用X控制M的梯形圖設計方法是通用的,并且容易掌握,系統(tǒng)的特殊性體現在輸出電路上,雖然不同系統(tǒng)的M與Y的邏輯關系各不相同,但是由于工步是根據PLC的輸出狀態(tài)來劃分的,M與Y之間的邏輯關系變得非常簡單。
(1)工步狀態(tài)表構成
梯形圖自動生成邏輯的全過程都在一張PLC順序邏輯控制系統(tǒng)輸入、輸出工步狀態(tài)表內進行。如機械手受控設備工步狀態(tài)表的結構見表1。表中的符號“+”表示輸出繼電器得電導通狀態(tài),“-”表示失電狀態(tài),輔助繼電器縱向連續(xù)直線代表連續(xù)導通狀態(tài),轉換主令是受控設備從該步向下一工步轉換的電氣控制信號,表中規(guī)定受控設備處于原位時也作一個工步狀態(tài)處理,共有9個工步。
表1

(2)輔助繼電器M設置及導通邏輯式
輔助繼電器設置規(guī)則:
①確定輔助繼電器數目,工步數為n,則輔助繼電器數目m=n/2,若求得的值為小數,則取大于它的最小整數;
②每個工步只有一個輔助繼電器動作,變化小、元件少、線路簡單、可靠性高。
③每個輔助繼電器在一個周期中只導通一次,失電一次,并且所有輔助繼電器同方向動作,連續(xù)導通m步,不同的輔助繼電器其導通位置不同,先順序逐個導通m個工步,然后逐個失電(見表1),1工步受轉換主令1SB、1SQ、3SQ激勵,M1導通,6工步受轉換主令6SQ激勵,M1失電,以下順序類推。
依據上述規(guī)則,可得出輔助繼電器導通邏輯式:
當工步號i=1時:
(1)
當工步號i≤m-1 AND n(工步數)為偶數時:
(2)
當工步號i=m AND n為偶數時:
(3)
當n為奇數時,i<m-1,Mi導通邏輯同式(1)、式(2);若i=m-1,則Mi導通邏輯同式(3);
若i=m,則:
Mi=(i工步轉換主令與邏輯+Miv)Mi-1 (4)
如表1所示,則有:

(3)輸出繼電器導通邏輯公式
推導輸出繼電器導通邏輯式的充分必要條件是受控輸出繼電器輸出狀態(tài)邏輯式的“與—或”邏輯組合必須覆蓋該繼電器的所有導通程序步,但不覆蓋其任一失電程序步。Y是用M來控制,一個工作周期中,輸出繼電器導通狀態(tài)有如上幾種情況:
①單步導通;
②連續(xù)導通k步;
③上述兩種情況的邏輯組合。
周期的前半部分,輸出繼電器通、失電都由某個輔助繼電器M的導通控制;在周期后半部分,Y的通、失電都是由M的失電控制。n與m的含義同前;i表示某個輸出繼電器開始通電時的步號;j表示第j個輸出繼電器,如Yij表示在i工步開始導通的第j個輸出繼電器Y;k表示第j個輸出繼電器連續(xù)導通的工步數。
當i=0時:
若k<m,則yij=
(5)
若k=m,則yij=
(6)
若k>m,則yij=
+Mk-m (7)
當i≠0 AND i<m時:
若i+k≤m,則yij=
(8)
若i+k>m,則yij=Mi·Mi+k-m (9)
當i=m時:
若i+k-m=m,則yij=Mm (10)
其他情況 則yij=Mm·Mk (11)
當i>m時:
(12)
根據上述邏輯公式,得到y(tǒng)j各導通程序段的邏輯式,然后依照充分必要條件,求出覆蓋yj全部導通段程序步的邏輯組合,即可得到y(tǒng)j的導通邏輯,如表1所示,求得:

(4)時間繼電器導通邏輯式
順序邏輯控制系統(tǒng)在某些情況下需要以預先規(guī)定好的時間為條件,對受控設備順序地進行控制,要用定時器作延時,用延時結束時,常開接點閉合信號作下一工步的轉換主令。當定時器的延時信號發(fā)出后,其線圈何時失電無特殊要求,為了使其控制盡可能簡單,擬定定時器與某個相對應的輔助繼電器同步得電或失電。
3 PLC梯形圖自動生成CAD系統(tǒng)
梯形圖自動生成邏輯的全過程是以PLC順序邏輯控制系統(tǒng)輸入、輸出狀態(tài)表為依據,用上述分析的數學模型,自動生成梯形圖,整個程序用C語言編制,設計中首先要輸入受控設備的工步狀態(tài)表,為了便于擴充,適用不同工況,數據選用鏈表結構。其結構如下:
struct plcx{ /*轉換主令鏈*/
char x〔5〕; /*每步主令*/
struct plcx *xnext;
};
struct plcy{ /*輸出繼電器鏈*/
char y〔5〕; /*輸出繼電器*/
struct plcy *ynext;
};
struct plcy { /*定時器鏈*/
char t〔5〕; /*時間繼電器*/
float tb; /*時間常數*/
int tn; /*斷開時間繼電器步序號*/
struct plct *tnext;
};
struct plcc; /*計數器鏈*/
char c〔5〕; /*計數器*/
int cb; /*計數常數*/
int crnl; /*1-初始復位,0-初始不復位*/
struct plccb *blist; /*計數邏輯鏈*/
struct plccr *rlist; /*復位邏輯鏈*/
};
struct plccb{ /*計數邏輯鏈*/
char cb〔5〕; /*計數邏輯*/
struct plccb *bnext;
};
struct plccr{ /*復位邏輯鏈*/
char cr 〔5〕; /*復位邏輯*/
struct plccr *rnext;
};
struct PLC{
struct plcx *xlist; /*主令鏈*/
struct plcy *ylist; /*輸出鏈*/
struct plct *tlist; /*時間鏈*/
};
struct PLC P_num〔MAX〕 /*PLC結構數組*/
struct Plcc c_num〔MAX〕 /*計數器結構數組*/
程序流程如圖1所示。

圖1 總體流程圖
4 模擬試驗
以雙動薄板拉伸液壓機為對象進行模擬試驗,根據受控對象工藝要求擬定工步狀態(tài)表如表2所示。
表2
| 工 步 號 |
動作元件 | 發(fā)訊 (輸入) |
電磁鐵(輸出) | 計時器 | |||||||||
| Y1 | Y2 | Y3 | Y4 | Y5 | Y6 | Y7 | Y8 | Y9 | T1 | T2 | |||
| 0 | 電機啟動 | SB1 | - | - | - | - | - | - | - | - | - | - | - |
| 1 | 壓邊梁加速下行 | SB3 | + | - | - | - | - | - | + | - | + | - | - |
| 2 | 壓邊梁加壓保壓 | SQ6 | + | - | - | - | - | - | + | - | + | - | - |
| 3 | 拉伸梁加速下行 | SB5 SP2 |
+ | - | + | - | - | + | - | - | - | - | - |
| 4 | 拉伸梁減速下行 | SQ2 | + | - | + | + | - | + | - | - | - | - | - |
| 5 | 拉伸梁加壓拉伸 | SQ3 SP1 |
+ | - | + | + | - | + | - | - | - | + | - |
| 6 | 拉伸梁卸壓 | SB6 KT1 |
- | + | - | - | - | - | - | - | - | - | - |
| 7 | 拉伸梁撥摸 | SP3 | + | - | - | - | + | - | - | - | - | - | - |
| 8 | 拉伸梁回程 | SQ2 | + | - | + | - | + | - | - | - | - | - | - |
| 9 | 壓邊梁卸壓 | SB4 SQ1 |
- | + | - | - | - | - | - | + | - | - | + |
| 10 | 壓邊梁回程 | SP2 KT2 |
+ | - | - | - | - | - | - | + | - | - | |
| 11 | 靜止 | SB2 SQ5 |
- | - | - | - | - | - | - | - | - | - | - |
| 從表2中可見,工步數n=12,設置輔助繼電器數目m=12/2=6,M導通邏輯: |

輸出繼電器Y的導通邏輯式為:

y3=M3·
+
·M3;y7=M1·
;
y4=M4·
; y8=
·M5;
y5=
·M3;y9=M1·
。
定時器導通邏輯式為:
T1=M5; T2=
·M6。
自動生成梯形圖如圖2所示。

圖2 PLC梯形圖
5 總結
上述PLC順序邏輯控制梯形圖自動生成CAD系統(tǒng)中,根據受控設備工步狀態(tài)表,以輔助繼電器作記憶單元,按確定的規(guī)則,推導出輔助繼電器M和輸出繼電器Y導通邏輯式,作數學模型,在計算機中自動生成梯形圖,輸出繼電器邏輯式正確性充分必要條件是本設計法可靠的主要保證,以此為依據,設計規(guī)律性強,規(guī)則嚴密,容易掌握,適用性好。本程序用C語言編制,工步數目前可達256步,原則上可達任意多步。各類設備,凡屬順序邏輯控制范疇的都可使用本程序進行設計。本設計方法經過實例驗證,完全滿足設計要求。現我們正在進行開發(fā)自動生成梯形圖文件,可隨時編輯修改,根據用戶使用PLC型號自動生成指令語句程序,向下裝載到PLC上,仿真運行。
文章版權歸西部工控xbgk所有,未經許可不得轉載。










服務咨詢