-
1 # 工控人
-
2 # 豐富加蘭5v
程式按從左到右,從上到下,兩個相同的線圈,假設一個條件通一個條件不通,程式也不知道執行哪個好呀,我也是隻記住這個遊戲規則,也沒有過多去研究它。如果想要學習更多,可以來深圳同創自動化培訓瞭解一下。
-
3 # Talk工控白
如何理解三菱plc的雙重線圈問題?
在進行程式編寫時,儘量避免出現雙重線圈輸出現象,並不是說不允許這樣做,只要雙重線圈輸出是互不影響,是允許雙重線圈出現的。因此,不能一概而論。
雙重線圈現象是說在同一個編寫程式中,例如同一編號的繼電器輸出線圈出現次數不止一次。一般情況下,在同一程式中這樣的現象是不可以出現的。主要是plc在進行程式掃描的時候,對繼電器輸出線圈的命令可能不同而導致操作失誤,給自動化生產帶來不必要的經濟損失。可是,在一些情況下還是允許出現雙重線圈輸出。
相同觸發條件下雙重線圈輸出
例如在一個程式中,倘若為了滿足計時與掃描的要求,那麼在同一個程式中數次重複同一計時器的梯級,為了使計時器能夠及時更新,在這樣的條件下是允許在同一個程式不止一次使用計時器線圈。同樣,對輸入與輸出取樣值更新的指令也是允許雙重線圈出現的。
復位與置位指令的雙重線圈輸出
由於在某些可編程式控制器產品中,對於一個保持繼電器的線圈有兩種指令,一是復位指令,其作用是將繼電器復位或失勵,另一是置位指令,其作用是將繼電器置位或激勵。所以此刻在程式中就有兩個線圈出現,條件允許這樣,表示繼電器線圈有兩個輸入端。
互不影響的雙重線圈輸出
在plc分支選擇程式中,倘若某一選擇的子程式中執行一個繼電器線圈輸出,而在其另一個選擇子程式中允許相同繼電器線圈出現。因此,plc只要有一個子程式是執行的,那麼雙重線圈輸出是互不影響的。
在plc的功能表圖描述的控制系統中,其程式是以步的活動或非活動來確定此步的命令和動作是否執行。於是在不同的步中,允許有相同繼電器輸出線圈出現。原因是這些繼電器輸出線圈只在某一步成為活動步才能起到作用。
由此可見,通常情況下在同一個線路中同一個線圈重複輸出應當避免,也就是雙重線圈輸出現象。一般情況出現這樣的現象,前面的線圈輸出是無效的,只有最後一次輸出才是有效的,但在一些特殊情況下雙重線圈出現是允許存在的。
-
4 # 非標裝置自動化設計
其實是可以有雙線圈的,只是要理解它的掃描機制,PLC從上到下,從左到右,你有好幾個地方輸出Y1,運算結果就是從上到下,從左到右看左後掃描的Y0的輸出條件,我模擬你看下
第一種情況前面M110是斷開,但是因為最後掃到SM400是通的,所以Y1輸出
下面這種情況,前面SM400雖然是通的,但是最後掃描到下面M110不通,所以Y1不輸出
所以雙線圈是可以有的,拿為什麼我們不提倡呢?因為很難去算或者去記,我這條輸出指令是不是在最後面呢?
回覆列表
三菱PLC雙重線圈想必是每個新手在接觸PLC程式設計時都會遇到的問題,從原理上講雙線圈輸出並非是“程式錯誤”,而是使輸出重疊覆蓋導致動作混亂。想要搞清楚雙線圈輸出異常首先要明白PLC的工作原理,在這裡簡單說下輸入輸出的重新整理方式:
PLC在執行中會一直重複執行①~③步驟進行輸入輸出處理,整個過程就是掃描時間或者運算週期,當然一個週期時間內還要幹其他的事情,這裡我們只說下輸出,PLC對輸入進行提取後將結果存放到輸入映像儲存區或者快取區,然後根據輸入對程式做運算將輸出結果存放到鎖存記憶體中,雙線圈問題就是出在輸出軟元件的映像儲存區的更新,由plc從上到下的掃描方式,最下面的線圈將會是最終的輸出線圈從而導致前面的線圈輸出無效。
為了方便說明我們以實際的PLC梯形圖進行說明雙線圈問題的實質:
上圖就是一個典型的雙線圈輸出Y0,我們進行模擬測試下,閉合M0,M1斷開:
從結果看,M0閉合Y0沒有輸出,但Y1卻有輸出(此時Y1前面的Y0是斷開的),這個結果很有趣。其實從上面的原理來解釋很簡單,在一個掃描週期內,從上到下看:
1、M0閉合Y0有輸出,將Y0的結果ON狀態存到映像儲存區,
2、接近著Y1的ON狀態也存到儲存區內,
3、此時映像儲存區內的Y0和Y1的狀態都是ON,由於M1的斷開PLC判斷Y0沒有輸出,這時候映像儲存區內的Y0的狀態就進行了更新變成OFF,注意Y1的狀態並沒有更新(這裡可能有的同學會問Y0不是變了嗎Y1為什麼不變,一定要記住一個掃描週期內只會從上到下從左到右掃描一次),所以最終的輸出鎖存記憶體中Y0是OFF狀態,Y1是ON狀態。
以上就是雙線圈造成的混亂,在這裡我們需要了解PLC的掃描原理和掃描週期時間的重要性,因此要程式設計梯形圖時一定要注意程式前後順序的重要性,如果我們把上圖步2放在最後,結果就不一樣了,
檢查的結果會有:
1 Error MAIN 程式檢查 "Y000"為雙線圈。可能會無法正常執行,請修改程式。(步No.1) C9300
為了避免雙線圈的問題,我們只需要把Y0的條件並聯起來即可: