老工程師的PLC編程建議
?
1、PLC和上位機(或觸摸屏)組成監(jiān)控系統(tǒng)時,在畫面上很多時候需要有“手動”、“自動”等控制模式(一般都是多個只能一個時)。在程序里面可以用“MOV”指令。如:當選擇“手動”就將常數(shù)1MOV到一個寄存器VB10里面,當選擇“自動”就將2MOV到同一寄存器VB10。只要判斷寄存器的數(shù)據(jù)是多少,就知道系統(tǒng)是那種控制方式。這樣的思路好處是容易理解,不需要互鎖之類的麻煩程序。
2、程序有模擬量控制時,如果讀取的模擬量基本上沒誤差,可以采取時間濾波的方式,延時一段時間。如果讀取的數(shù)據(jù)誤差很大,就需要采取其它的濾波方式,如算平均值等??梢圆殚喯嚓P的資料。
3、在程序調(diào)試過程中(特別是設備改造時,你的程序是加入到原來設備的程序中時),當程序語句中出現(xiàn)條件滿足,而輸出線圈不接通時,可以檢查你的這段程序是否是在這樣的語句之間,如JUMPgoto等語句。還有一種可能就是在中斷程序之后,條件滿足而沒輸出不接通,一般都是這段的程序不被掃描。
4、在順序控制程序時,即一個動作完成后,進入到下一個動作,等類似的順序控制,采用+10+10控制模式,本人覺得很方便。其思路是:預置一個寄存器,在初始化時值為0,當系統(tǒng)啟動后,對它+10,此時寄存器為10,寄存器等于10時可以做第一個動作;第一個動作完成后,再對寄存器+10,此時寄存器等于20,可以做第二個動作,第二個動作完成后又+10,此時寄存器等于30,這樣只要判斷寄存器里面數(shù)據(jù)為多少,就知道要完成那個動作。當需要跳躍動作時,可以不再+10,可以加+20+30....,看實際的需要而定。
為什么加10而不是加1,因為加10之后,如果插入一段,只要在這10個空余的地方隨便選擇一個位置就可以了。
5、在設計程序的時候,當出現(xiàn)工藝上的故障(非控制系統(tǒng)控制),最好將故障現(xiàn)象保持,并有燈光聲音報警。直到操作工復位,以讓其知道系統(tǒng)出現(xiàn)了故障。不然停機了,別人還認為你的程序出問題了,一般在設計一個新系統(tǒng)時是要注意到這些。
6、對于經(jīng)常調(diào)用的子程序,可以做成子模塊,頻繁調(diào)用。
7、由于生產(chǎn)機械在工作循環(huán)中的各工步運動在執(zhí)行時需要一定的時間,且這些時間都有一定的限度,因此可以以這些時間為參考,在要檢測的工步動作開始的同時,起動一個定時器,定時器的時間設定值比正常情況下該動作要持續(xù)的時間長20%~30%,而定時器的輸出信號可以用于報警或自動停機裝置。當生產(chǎn)機械某工步動作的時間超過規(guī)定時間,達到對應的定時器預置時間,還未轉入下一工步動作時定時器發(fā)出故障信號,該信號停止正常工作循環(huán)程序,起動報警或停機程序,這就是我們常說的超節(jié)拍保護。
8、一些安全用檢測開關(如急停按鈕、安全光幕、極限開關等)實用常閉(NC)輸入。
9、為安全、節(jié)能考慮,盡量將輸出設計成需要動作時才動作,一旦到位就停止輸出,而不要設計成平時一直輸出,需要停止時才讓輸出斷開。
10、執(zhí)行元件的動作原則應當是寧可不動,也不要亂動!
11、單臺設備控制:單臺設備必須有軟手操/自動切換以及軟手操時可以啟/停功能,由自動切換到軟手操時,設備不能停機;由軟手操切換到自動時,設備啟/停取決于自動程序。
12、單臺設備(泵、風機及其它大型設備)運行滿24小時必須進行輪換,且必須有運行時間累計,如果由上位機設定啟/停順序除外,操作人員自行設定。