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

當工步號i≤m-1 AND n(工步數(shù))為偶數(shù)時:

當工步號i=m AND n為偶數(shù)時:

當n為奇數(shù)時,i<m-1,Mi導(dǎo)通邏輯同式(1)、式(2);若i=m-1,則Mi導(dǎo)通邏輯同式(3);
若i=m,則:
Mi=(i工步轉(zhuǎn)換主令與邏輯+Miv)Mi-1 (4)
如表1所示,則有:
(3)輸出繼電器導(dǎo)通邏輯公式
推導(dǎo)輸出繼電器導(dǎo)通邏輯式的充分必要條件是受控輸出繼電器輸出狀態(tài)邏輯式的“與—或”邏輯組合必須覆蓋該繼電器的所有導(dǎo)通程序步,但不覆蓋其任一失電程序步。Y是用M來控制,一個工作周期中,輸出繼電器導(dǎo)通狀態(tài)有如上幾種情況:
①單步導(dǎo)通;
②連續(xù)導(dǎo)通k步;
③上述兩種情況的邏輯組合。
周期的前半部分,輸出繼電器通、失電都由某個輔助繼電器M的導(dǎo)通控制;在周期后半部分,Y的通、失電都是由M的失電控制。n與m的含義同前;i表示某個輸出繼電器開始通電時的步號;j表示第j個輸出繼電器,如Yij表示在i工步開始導(dǎo)通的第j個輸出繼電器Y;k表示第j個輸出繼電器連續(xù)導(dǎo)通的工步數(shù)。
當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時:

根據(jù)上述邏輯公式,得到y(tǒng)j各導(dǎo)通程序段的邏輯式,然后依照充分必要條件,求出覆蓋yj全部導(dǎo)通段程序步的邏輯組合,即可得到y(tǒng)j的導(dǎo)通邏輯,如表1所示,求得:
(4)時間繼電器導(dǎo)通邏輯式
順序邏輯控制系統(tǒng)在某些情況下需要以預(yù)先規(guī)定好的時間為條件,對受控設(shè)備順序地進行控制,要用定時器作延時,用延時結(jié)束時,常開接點閉合信號作下一工步的轉(zhuǎn)換主令。當定時器的延時信號發(fā)出后,其線圈何時失電無特殊要求,為了使其控制盡可能簡單,擬定定時器與某個相對應(yīng)的輔助繼電器同步得電或失電。
3 PLC梯形圖自動生成CAD系統(tǒng)
梯形圖自動生成邏輯的全過程是以PLC順序邏輯控制系統(tǒng)輸入、輸出狀態(tài)表為依據(jù),用上述分析的數(shù)學(xué)模型,自動生成梯形圖,整個程序用C語言編制,設(shè)計中首先要輸入受控設(shè)備的工步狀態(tài)表,為了便于擴充,適用不同工況,數(shù)據(jù)選用鏈表結(jié)構(gòu)。其結(jié)構(gòu)如下:
struct plcx{ /*轉(zhuǎn)換主令鏈*/
char x〔5〕; /*每步主令*/
struct plcx *xnext;
};
struct plcy{ /*輸出繼電器鏈*/
char y〔5〕; /*輸出繼電器*/
struct plcy *ynext;
};
struct plcy { /*定時器鏈*/
char t〔5〕; /*時間繼電器*/
float tb; /*時間常數(shù)*/
int tn; /*斷開時間繼電器步序號*/
struct plct *tnext;
};
struct plcc; /*計數(shù)器鏈*/
char c〔5〕; /*計數(shù)器*/
int cb; /*計數(shù)常數(shù)*/
int crnl; /*1-初始復(fù)位,0-初始不復(fù)位*/
struct plccb *blist; /*計數(shù)邏輯鏈*/
struct plccr *rlist; /*復(fù)位邏輯鏈*/
};
struct plccb{ /*計數(shù)邏輯鏈*/
char cb〔5〕; /*計數(shù)邏輯*/
struct plccb *bnext;
};
struct plccr{ /*復(fù)位邏輯鏈*/
char cr 〔5〕; /*復(fù)位邏輯*/
struct plccr *rnext;
};
struct PLC{
struct plcx *xlist; /*主令鏈*/
struct plcy *ylist; /*輸出鏈*/
struct plct *tlist; /*時間鏈*/
};
struct PLC P_num〔MAX〕 /*PLC結(jié)構(gòu)數(shù)組*/
struct Plcc c_num〔MAX〕 /*計數(shù)器結(jié)構(gòu)數(shù)組*/
程序流程如圖1所示。
圖1 總體流程圖
4 模擬試驗
以雙動薄板拉伸液壓機為對象進行模擬試驗,根據(jù)受控對象工藝要求擬定工步狀態(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中可見,工步數(shù)n=12,設(shè)置輔助繼電器數(shù)目m=12/2=6,M導(dǎo)通邏輯: |
輸出繼電器Y的導(dǎo)通邏輯式為:
y3=M3·+
·M3;y7=M1·
;
y4=M4·; y8=
·M5;
y5=·M3;y9=M1·
。
定時器導(dǎo)通邏輯式為:
T1=M5; T2=·M6。
自動生成梯形圖如圖2所示。
圖2 PLC梯形圖
5 總結(jié)
上述PLC順序邏輯控制梯形圖自動生成CAD系統(tǒng)中,根據(jù)受控設(shè)備工步狀態(tài)表,以輔助繼電器作記憶單元,按確定的規(guī)則,推導(dǎo)出輔助繼電器M和輸出繼電器Y導(dǎo)通邏輯式,作數(shù)學(xué)模型,在計算機中自動生成梯形圖,輸出繼電器邏輯式正確性充分必要條件是本設(shè)計法可靠的主要保證,以此為依據(jù),設(shè)計規(guī)律性強,規(guī)則嚴密,容易掌握,適用性好。本程序用C語言編制,工步數(shù)目前可達256步,原則上可達任意多步。各類設(shè)備,凡屬順序邏輯控制范疇的都可使用本程序進行設(shè)計。本設(shè)計方法經(jīng)過實例驗證,完全滿足設(shè)計要求。現(xiàn)我們正在進行開發(fā)自動生成梯形圖文件,可隨時編輯修改,根據(jù)用戶使用PLC型號自動生成指令語句程序,向下裝載到PLC上,仿真運行。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。
你可能感興趣的文章