基于PLC編程報(bào)警功能塊的實(shí)現(xiàn)
電氣工程師在平常的程序編寫中,會(huì)有各種各樣的技巧類的方法,有助于程序結(jié)構(gòu)清晰的,有利于程序簡(jiǎn)化的,更有自我創(chuàng)新的,多多地學(xué)他人之長(zhǎng)以彌補(bǔ)自己之短,對(duì)自己的工作是有十足好處的。
在一個(gè)項(xiàng)目程序中,報(bào)警程序的編寫是不可或缺的,但是如何給相同或類似的報(bào)警匯總出一個(gè)功能塊來(lái),還沒(méi)有定論,當(dāng)然有各種各樣可以實(shí)現(xiàn)的方法,以下是我在平常的程序編寫中已經(jīng)習(xí)慣性用的FB報(bào)警功能塊,感覺(jué)有利于程序的簡(jiǎn)化和統(tǒng)一,分享一下!
以下我的編程環(huán)境使用倍福的TwinCAT,如圖1所示,它的編程語(yǔ)言符合PLC標(biāo)準(zhǔn)化語(yǔ)言IEC61131-3,人性化的編程界面簡(jiǎn)單易學(xué)。
圖1.Twincat屬性
第一個(gè)功能塊Alarm1,功能塊實(shí)現(xiàn)的是執(zhí)行器得到輸出信號(hào)后,但是到位信號(hào)在規(guī)定時(shí)間內(nèi)未反饋回來(lái),則給出執(zhí)行器未到位報(bào)警,此類報(bào)警的應(yīng)用情況很多,例如拿一個(gè)氣缸來(lái)說(shuō):
圖2.變量表
VAR_INPUT(輸入變量):
_CONTROL:指PLC發(fā)出的給氣缸的伸出信號(hào);
_SIGNAL:指氣缸的伸出到位信號(hào);
_RESET:指報(bào)警復(fù)位按鈕信號(hào);
_TIME0:指設(shè)定規(guī)定時(shí)間的設(shè)定值;
VAR_OUTPUT(輸出變量):
_ALARM:指氣缸異常的報(bào)警輸出;
VAR(中間變量):
_TON1:定時(shí)時(shí)間繼電器;
_TQ:定時(shí)器輸出;
如圖2中所示的邏輯程序部分:氣缸的初始狀態(tài)為收回狀態(tài),伸出到位檢測(cè)信號(hào)為0,當(dāng)PLC輸出給氣缸的伸出信號(hào)置1后,氣缸動(dòng)作即變?yōu)樯斐鰻顟B(tài),此時(shí)正常情況下在規(guī)定時(shí)間(例如_TIME0=3秒時(shí)),氣缸的伸出到位檢測(cè)信號(hào)_SIGNAL變?yōu)?,此時(shí)報(bào)警輸出狀態(tài)不變,為FALSE,不會(huì)報(bào)警;但是如果規(guī)定時(shí)間已到,即_TQ有輸出,并且氣缸的伸出到位信號(hào)未變?yōu)?,仍為0,則_ALARM信號(hào)為TRUE,報(bào)警有輸出,顯示氣缸未到位報(bào)警。此時(shí)如果修復(fù)氣缸開關(guān),使得氣缸的伸出到位信號(hào)_SIGNAL變?yōu)?,則按下復(fù)位按鈕,即_RESET=TRUE,_AlARM信號(hào)變?yōu)镕ALSE,報(bào)警消除。
如果控制信號(hào)_CONTROL為0的話,報(bào)警信號(hào)_ALARM即變?yōu)镕ALSE。
圖3.邏輯控制程序
整體的效果如圖4所示。
圖4.整體外觀圖
此類報(bào)警應(yīng)用不僅限于氣缸,又如你電機(jī)、電缸等執(zhí)行器均適用。
第二個(gè)功能塊Alarm2,此報(bào)警功能塊實(shí)現(xiàn)的是執(zhí)行器的兩端傳感器在規(guī)定時(shí)間內(nèi)同時(shí)有信號(hào)或同時(shí)無(wú)信號(hào)時(shí),則給出執(zhí)行器檢測(cè)開關(guān)報(bào)警,此類報(bào)警的應(yīng)用情況也很多,同樣我們拿一個(gè)氣缸來(lái)舉例:
變量表如圖5所示:
VAR_INPUT(輸入變量):
_SIGNAL1:傳感器信號(hào)1;
_SIGNAL2:傳感器信號(hào)2;
_RESET:復(fù)位信號(hào);
VAR_OUTPUT(輸出變量):
_ALARM:指氣缸異常的報(bào)警輸出;
VAR(中間變量):
_IN0:定時(shí)器的使能端;
_TON2:定時(shí)時(shí)間繼電器;
圖5.變量表
如圖6所示的邏輯控制程序,如果一個(gè)氣缸的兩端信號(hào)同時(shí)為1,即_SIGNAL1和_SIGNAL2同時(shí)都有信號(hào),或者兩者同時(shí)都沒(méi)有信號(hào),即_SIGNAL1和_SIGNAL2同時(shí)為0,則定時(shí)器的使能端信號(hào)_IN0變?yōu)門RUE,定時(shí)器_TON2開始計(jì)時(shí),此例設(shè)定定時(shí)器的值為1秒,當(dāng)計(jì)時(shí)器的時(shí)間到后,_ALARM信號(hào)置為TRUE,使能端信號(hào)_IN0變?yōu)?,當(dāng)修復(fù)氣缸兩端的檢測(cè)信號(hào)到正常狀態(tài)時(shí),按動(dòng)復(fù)位按鈕后,報(bào)警信號(hào)會(huì)復(fù)位,_ALARM信號(hào)復(fù)位為0,報(bào)警消除。
圖6.邏輯控制程序
如圖7所示完整視圖,此報(bào)警也不僅局限于氣缸的操作,同樣適用于電機(jī)等其它執(zhí)行器的報(bào)警顯示。
圖7.整體外觀圖
實(shí)際FC塊中調(diào)用FB塊的實(shí)例如圖8所示,在FC編輯塊中將ALARM引入,對(duì)其輸入引腳和輸出引腳分別對(duì)應(yīng)賦值,實(shí)現(xiàn)對(duì)相應(yīng)執(zhí)行器的報(bào)警顯示。
圖8.FC塊中的ALARM塊實(shí)現(xiàn)
諸如此類的總結(jié)在日常工作中還有很很多,只要平時(shí)下一點(diǎn)點(diǎn)的功夫,善于總結(jié),勇于與大家交流,將編程的便捷與開擴(kuò)的思路與眾人分享,我們的技術(shù)進(jìn)步指日可待!
本文作者:王世賢,男,漢族,本科就讀于燕山大學(xué)電氣工程及其自動(dòng)化專業(yè),目前從事光伏自動(dòng)化設(shè)備設(shè)計(jì)研發(fā)類工作。
參考文獻(xiàn):
[1]InformationSystem.網(wǎng)絡(luò)版.
提交
數(shù)據(jù)中心設(shè)計(jì)規(guī)范
安川MP3000運(yùn)動(dòng)程序編程手冊(cè)
WinCC典型架構(gòu)選型指南
S7-300/400編程軟件
西門子200PLC安裝軟件