小型PLC中宏的適用及相關系統軟件改進設想
[摘要] 本文介紹了富士N系列PLC中的宏命令,并從應用角度指出了它的局限性。為更好地解決PLC重復程序段的設計問題,就相關系統軟件的改進提出了自己的設想。
一.引言
宏在軟件編程中非常重要。宏是由一段程序組成的命令,向子程序一樣,在一些場合它用來代替在編程過程中經常出現的重復程序段。可編程序控制器(PLC)的工作方式一般為周期性循環掃描梯形圖,集中采樣輸入,集中驅動輸出。它的應用領域一般為以開關量為主的順控系統,但隨著PLC的不斷發展,其功能越來越強大,使用場合也越來越多,PLC廠商提供的軟件功能也越來越強,這使得在PLC編程過程中使用宏或子程序成為可能。使用宏或子程序可以完成某些應用指令中部存在的復雜處理,也可以是重復形式或同意處理的程序標準化,既減少了程序的長度,也使編程變的容易,提高了編程效率。目前在小型PLC中筆者還未見到可以使用子程序的產品,但富士電機的N系列PLC可以使用宏命令編程,下面就其使用情況和在使用中出現的問題作一些討論。
二.N系列PLC中宏的使用及其局限性討論
1.宏的使用簡介
富士電機提供的宏命令分兩類,一類是它為用戶制作好的標準宏命令集,使用該宏命令及可以完成應用指令中沒有的某些復雜功能的處理任務;另一類就是用戶自己制作宏命令,用戶宏命令有調用部和執行部組成,如圖1、圖2 所示。用戶宏命令和主程序的關系如圖3 所示。
由此可見在PLC中使用宏命令時,參數交換非常重要,也必不可少。富士電機為用戶提供了幾組字信息和位信息交換所使用的數據寄存器和輔助繼電器,其中每組字信息和位信息的入口參數和出口參數各有16個,富士電機還就參數交換順序、個數、使用指令以及在宏命令中使用定時器、微分指令等作了規定,編程順序必須符合圖1要求。
2.局限性探討
由上面的使用簡介可以看出,在PLC中使用宏有許多限制和不便,筆者在一次較大規模的軟件設計中深有體會,具體體現在以下幾點:
(1)使用繁瑣。使用宏調用指令CALL后,還要進行參數交換工作以及宏的啟動、結束工作,且編程順序和使用指令有嚴格限制。當宏程序參數較多時,參數交換時宏的調用部程序變的很長,顯然起不到使用宏可以縮短程序長度,容易編程的作用。
(2)使PLC的程序掃描時間變長。如果要多次使用宏程序,必然要多次使用宏調用部,CALL(宏命令調用)、UMEND(宏命令結束)等是必須用到的三條指令。在N系列P型機中,這三條指令都是長執行時間指令,多次使用會大大增加程序掃描時間。在新推出的N系列U型機中,這三條指令已改為短執行時間指令,這個問題以不十分突出。但過長的包括參數交換在內的宏調用部肯定會增加程序掃描時間,使程序的實時性降低。
(3)參數個數限制。若宏程序的功能復雜或長度較長,則使用的參數(位參數或字參數)個數可能會超過16個,這時的宏功能就不能使用了。
三.相關系統軟件改進設想
雖然PLC的一般應用場合不需要編制復雜的程序,但在某些特殊的系統或中型以上系統中處理復雜重復的動作就可能用到宏或子程序功能,隨意方便的重復程序設計功能在PLC的高級應用中時十分必要的。這就要求PLC廠商對PLC的系統軟件進行改進,增強其功能。一般來說,條件循環結構能很好地解決重復程序段的編程問題,具備該功能的PLC必須做到:
1.設置有參數寄存器。如I、J等,可對其進行賦值,并有相應的計算功能。
2.PLC中元器件的地址設置可以事變參數的。入當參數I從0到n變化時,M(I)(或X(I)、Y(I)、T(I)等)相應地就從M(0)(或X(0)、Y(0)、T(0)等)變化到M(n)(或X(n)、Y(n)、T(n)等),而且進位時最好符合PLC中元器件地址進位的要求。在處理重復程序段時,宏命令或子程序中可以使用定參數的元器件,也可以使用變參數的元器件,它們所使用的元器件狀態隨時到相應的元器件映像寄存器中去取,而所計算出的結果隨時存儲到相應的元器件映像寄存器中,徹底省掉參數交換環節。這樣可解決多次調用宏所造成的程序過長和增加掃描時間的問題,而且不受參數交換順序、個數等閑置。
3.引入逆跳設計。大多數小型PLC的調轉時不能逆跳的,在循環結構中,則必須使用逆跳功能。N系列PLC可以逆跳,但在設計程序中,必須注意要使用條件跳轉指令,保證不能出現死循環,且整個程序的掃描時間不能大于用戶監視定時器(WDT)所設置的時間。
四.結束語
小型PLC中簡單、方便、有效的重復程序段設計功能肯定會實現,盡管富士N系列PLC中的宏命令有一些使用上不便,但筆者認為它認為目前功能最強大的小型PLC。本人愿和有興趣的同行就PLC深入的使用問題進行多方面的探討。
文章版權歸西部工控xbgk所有,未經許可不得轉載。