PLC雙線圈輸出的規則及在程序設計中的應用默認分類 2007-06-20 18:53:40 閱讀65 評論0 字號:大中小 訂閱
介紹PLC雙線圈輸出的規則,一般情況下不允許出現雙線圈輸出,在三種特定的條件下允許雙線圈輸出。合理使用雙線圈輸出可以解決程序設計中的一些問題,還可以減少執行程序的時間。
問:什么是雙線圈輸出?
答:在用戶程序中,同一編程元件的線圈使用了兩次或多次,稱為雙線圈輸出。
問:一般情況下為什么不允許雙線圈輸出?
答:圖1a中有輸出繼電器Y0的兩個線圈,在同一掃描周期,兩個線圈的邏輯運算結果可能剛好相反,即Y0的線圈一個“通電”,一個“斷電”。因為在程序執行完后才將Y0 的 ON/OFF 狀態送到輸出模塊,對于Y0控制的外部負載來說,真正起作用的是最后一個 Y0 的線圈的狀態。
圖1 雙線圈輸出
由 P L C 的工作原理可知,PLC程序執行的結果(即運算得到的線圈的通斷狀態),馬上就可以被后面的邏輯運算使用。Y0的線圈的通斷狀態除了對外部負載起作用外,通過它的觸點,還可能對程序中別的元件的狀態產生影響。圖1a中Y0兩個線圈所在的電路將
梯形圖劃分為3個區域。因為PLC是循環執行程序的,A區和C區中Y0 的狀態相同。如果兩個線圈的通斷狀態相反,不同區域中Y0的觸點的狀態也是相反的,可能使程序運行異常。作者曾遇到因雙線圈引起的輸出繼電器快速振蕩的異常現象。所以一般應避免出現雙線圈輸出現象,例如可以將圖1a改為圖1b。有時同一元件的線圈分別在不同的程序段中(如自動程序和手動程序),不能用這種合并控制電路的方法來處理雙線圈問題。
問:為什么在某些情況下允許雙線圈輸出?
答:雖然同一元件的線圈在程序中出現兩次或多次,只要能保證在同一掃描周期內只執行其中一個線圈對應的邏輯運算,這樣的雙線圈輸出是允許的。
圖2:手動/自動程序
問: 那幾種情況允許雙線圈輸出?
下列三種情況允許雙線圈輸出:
(1)在跳步條件相反的兩個程序段(如自動程序和手動程序)中,允許出現雙線圈現象,即同一元件的線圈可以在兩個程序段中分別出現一次。圖2中的X10是自動/手動切換開關,當它為ON 時將跳過自動程序,執行手動程序;為OFF時將跳過手動程序,執行自動程序。實際上CPU 只執行正在處理的程序段中雙線圈元件的線圈輸出指令。
(2)在調用條件相反的兩個子程序中,允許出現雙線圈現象,即同一元件的線圈可以在兩個子程序中分別出現一次。圖3中X20為ON時調用在指針P0 處開始的子程序,X20 為 OFF 時調用在指針 P1 處開始的子程序。圖中的 SRET 為子程序返回指令,FEND 為主程序結束指令。
與跳步指令控制的程序段相同,子程序中的指令只是在該子程序被調用時才執行,沒有調用時不執行,因為調用它們的條件相反,在一個掃描周期內只能調用一個子程序,實際上只執行正在處理的子程序中雙線圈元件的線圈輸出指令。
圖3:子程序調用
(3)如果使用三菱PLC的STL(步進梯形)指令,由于CPU 只執行活動步對應的STL 觸點驅動的電路塊,使用STL指令時允許雙線圈輸出,即不同時閉合的STL觸點可以分別驅動同一編程元件的一個線圈。
在順序功能圖中,除了與并行序列有關的步之外,在任何時候各步對應的狀態繼電器只有一個為 ON。以圖4 為例,只有當某一STL觸點(圖中的“胖觸點”)接通時,PLC 才執行STL 觸點控制的程序。圖3中的狀態繼電器S21對應的步為活動步時,S21的STL觸點閉合,Y1 的第一個線圈“通電”。此時S23對應的步為不活動步,沒有執行Y1 的第2個線圈對應的輸出指令。
圖4:STL指令與雙線圈
同一元件的線圈不能在可能同時為活動步的STL區內出現。并行序列中的各條支路是同時執行的,并行序列中兩條不同支路中的某兩步可能同時為活動步,它們的觸點可能同時閉合,在處理雙線圈輸出時應注意這一問題。
在用步進梯形指令、轉移指令和子程序調用編制PLC程序時,正確使用雙線圈輸出,可以使程序簡單、清晰易懂,因為有很多程序段沒有執行,還可以縮短程序執行的時間。沒有并行序列時,同時只有一個STL觸點閉合。有并行序列時,同時閉合的STL觸點的個數等于并行序列中的支路條數。因為在實際的系統中并行序列并不多見,使用TL指令時可以顯著地縮短程序執行的時間。
問:怎樣檢查是否有雙線圈輸出?
答:可以用PLC的手持式編程器或在計算機上運行的編程軟件來檢查是否有雙線圈輸出。PLC一般并不將雙線圈輸出作為錯誤,只是將雙線圈輸出作為警告(Warning)。
有雙線圈輸出時,用戶程序仍然可以執行。
問:在作雙線圈輸出檢查時,會提示對同一編程元件多次使用了OUT(輸出線圈)、SET(置位)和RST(復位),對同一編程元件是否可以多次使用了SET和RST指令?
答:SET和RST指令都有保持功能,即控制它們的觸點電路斷開后,置位或復位的效果保持不變,直到下一次執行相反的指令。對同一編程元件可以多次使用了SET和 RST 指令。
在三菱的 S W O P C - F X G P / WIN-C 編程軟件的程序檢查對話框中,在檢查雙線圈輸出時,可以選擇需要檢查哪些輸出指令被重復使用。輸出指令包括OUT、SET、RST、PLS(上升沿檢測)、PLF(下降沿檢測)和MC(主控)指令,一般只需要對OUT 指令作雙線圈檢查。
圖5:多種工作方式的切換
問:怎樣實現不同的控制程序切換?
答:有的控制系統因產品、工藝或工作方式的改變,需要分別使用若干個不同的控制程序,有些編程元件的線圈可能會在各控制程序中都要出現。為了避免在同一掃描周期執行同一元件的多條線圈輸出指令,可在PLC的硬件輸入電路中使用單刀多擲的模式選擇開關,來調用不同的子程序(見圖5中選擇單步、單周期和連續工作模式的開關),或用模式選擇開關對應的各輸入繼電器的常開觸點作為跳步條件,用跳步指令來切換不同的程序段。
轉自<<電氣時代>>
另外,本人覺得,使用線圈雙輸出的時候一定要互斥使用。最好使用set和reset指令,set和rst指令最好成對,在置位后要在最近的地方復位,要可靠的復位,保證在置位條件嚴格滿足時才置位。