劉松濤
(鄭州技師學院,河南 鄭州 450006)
初學者在PLC編程時經常會遇到雙線圈的問題,所謂雙線圈,就是在編程時同一個元件的線圈使用了兩次或者多次。
PLC的工作方式是采用“循環掃描”方式進行工作的。如無跳轉指令,則從第一條指令開始逐條順序執行用戶程序,直至程序結束。然后重新返回第一條指令,開始下一輪新的掃描。PLC在程序執行階段:按用戶程序指令存放的先后順序掃描執行每條指令,通過邏輯運算,將執行的結果寫入輸出狀態寄存器中,輸出狀態寄存器中所有的內容隨著程序的執行而改變。
在雙線圈的次數不多,或程序中雙線圈的元件不多的時候,最常使用的一種方法。舉例說明“當X0閉合時,Y0點動運行;當X1閉合時,Y0、Y1點動運行”。

在程序中,第1步和第3步都驅動Y0線圈,這樣Y0就驅動了兩次,屬于雙線圈,使用輔助繼電器來解決的方法是:

程序中使用了兩個輔助繼電器M0、M1,即將第1步和第3步驅動的Y0線圈,分別換成了M0和M1。這樣,當X0=1時,M0線圈得電;當X1=1時,M1線圈和Y1線圈得電。而M0和M1是有觸點的,當M0線圈得電時,M0常開觸點閉合,Y0線圈得電;當M1線圈得電時,M1常開閉合,Y0線圈得電。這樣就成功避免了雙線圈。
使用1.1中的例子,通過分析可以得到輸出的條件有兩個:X0和X1;輸出的結果有兩個:Y0和Y1。將輸入條件按照二進制的編碼列出,其輸出真值表,見表1。

表1 輸入/輸出真值表
根據真值表:Y1=1的條件是X1=1;Y0=1的條件是X0=1或X1=1,所以將程序設計為:

由位元件也可構成字元件進行數據處理,位元件組合由Kn加首元件號來表示。三菱FX3U系列PLC中,4個位元件為一組,并組合成單元。16位數操作時為K1~K4,32位數操作時為K1~K8。K1M0表示由M0~M4組成的4位數據;以K2M0為例,K2M0表示M0~M7組成的8位數據,只有M0線圈得電時,K2M0=1;只有當M1線圈得電時,K2M0=2。所以M0~M7中任何一個位或幾個位元件等于1時,K2M0一定大于零,再通過觸點比較指令來避免雙線圈。

當M0=1時,K2M0=1,1>0,所以Y0=1;當M1=1時,K2M0=2,2>0,所以Y0=1;……
例如:使用三菱變頻器外部端子來實現7段速。

表2 變頻器七段速真值表
PLC的控制變頻器七段速的輸出Y0~Y3,正好是4個位元件組成一組,即:K1Y0;第1速:K1Y0=K12(2進制:1100);第2速:K1Y0=K10(2進制:1010);……第7速:K1Y0=K15(2進制:1111)。
順序控制設計法的基本思想是將系統的一個工作周期劃分為若干個順序相連的階段,這些階段稱為狀態步。狀態步是根據輸出量的狀態變化來劃分的,在任何一步內,各個輸出量的狀態和相鄰步的輸出量的狀態是不同的。另外,系統當前工作步稱作活動步;非系統當前工作步稱作不活動步。對于單流程結構順序控制來說,除了當前工作步為活動步以外,其余的都為不活動步。根據這個概念,即使其他步中出現有雙線圈的元件,因其為不活動步,可視作不為雙線圈。
由于跳轉指令具有選擇執行程序段的功能。如果同一線圈因跳轉而不會被同時執行,不被視為雙線圈。

由于子程序調用指令具有選擇執行程序段的功能。如果同一線圈因跳轉而不會被同時執行,不被視為雙線圈。


以上是作者總結的7種避免雙線圈的方法,每種方法有各自的使用場合,某一線圈出現雙線圈的的次數多了,建議使用“位元件組合+觸點比較法”;如果是單流程和分支流程建議選擇“順序控制設計法”;如果多次調用某段程序建議使用“子程序調用法”。隨著生產技術的發展,自動化程度的不斷提高,PLC在生產中應用的日趨廣泛。在編程中解決好雙線圈的問題,對于初學者進一步學習PLC具有重要的實際意義。