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

當(dāng)工步號(hào)i≤m-1 AND n(工步數(shù))為偶數(shù)時(shí):

當(dāng)工步號(hào)i=m AND n為偶數(shù)時(shí):

當(dāng)n為奇數(shù)時(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來(lái)控制,一個(gè)工作周期中,輸出繼電器導(dǎo)通狀態(tài)有如上幾種情況:
?、賳尾綄?dǎo)通;
?、谶B續(xù)導(dǎo)通k步;
?、凵鲜鰞煞N情況的邏輯組合。
周期的前半部分,輸出繼電器通、失電都由某個(gè)輔助繼電器M的導(dǎo)通控制;在周期后半部分,Y的通、失電都是由M的失電控制。n與m的含義同前;i表示某個(gè)輸出繼電器開(kāi)始通電時(shí)的步號(hào);j表示第j個(gè)輸出繼電器,如Yij表示在i工步開(kāi)始導(dǎo)通的第j個(gè)輸出繼電器Y;k表示第j個(gè)輸出繼電器連續(xù)導(dǎo)通的工步數(shù)。
當(dāng)i=0時(shí):
若k<m,則yij= (5)
若k=m,則yij= (6)
若k>m,則yij=+Mk-m (7)
當(dāng)i≠0 AND i<m時(shí):
若i+k≤m,則yij= (8)
若i+k>m,則yij=Mi·Mi+k-m (9)
當(dāng)i=m時(shí):
若i+k-m=m,則yij=Mm (10)
其他情況 則yij=Mm·Mk (11)
當(dāng)i>m時(shí):

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