當前位置: 首頁 > 工業控制產品 > 自動化控制 > PLC可編程控制器 > 大型PLC可編程控制器
發布日期:2022-04-22 點擊率:224 品牌:施耐德_Schneider
1.概述
隊列是來自數據結構的一個概念,即數據的處理是按照先進先出(FIFO)原則執行,在plc的控制程序中有時也會用這種方法。
在一條生產線上的顆粒狀物料輸送設備中,有四路物料輸送管線,但抽取物料的羅茨泵只有一臺,因此在任意時刻只能有一條物料輸送管線工作,如果在這條管線工作時,其它物料管線有工作請求,只能排隊等待,在有等待狀況發生時的PLC程序的控制,是一個典型的隊列應用。
2 在施耐德Twido系列PLC中的實現方法
在Twido PLC中有現成的寄存器功能塊可以配置成隊列(FIFO)工作方式,最初也正是用這種方式編寫的PLC的控制程序,程序的幾處關鍵請看下面幾個程序段圖。
在程序調試階段,設備工作一切正常。但設備在實際運行中,總是會在1~3天內發生1到2個物料輸送管線的請求不被執行而始終處于等待狀態,只有斷電后重新啟動設備才能恢復正常工作。隨后又仔細分析了Twido PLC的寄存器(隊列模式)功能塊,發現使用它時必須保證四路物料輸送管線的請求在任意時刻不能同時有兩個請求發生,否則就會出現上面的問題,而實際工作中,兩個或兩個以上的請求同時(PLC的一個掃描周期,大約在10ms之內)發生的機率確實存在,正是這種不定期發生的同時出現的請求,使設備不定期地出現物料輸送管線的不正常工作。
找到原因后,在改寫PLC程序時發現,如果加上處理同時發生的幾個請求的程序,使得使用Twido所提供的寄存器(隊列模式)功能塊的程序可能會更加復雜,于是決定不使用這個功能,用常規編程來完成控制要求。
在程序需要重點考慮的就是這種多路物料輸送管線同時發生請求的情況。在程序中將每一個請求用自鎖回路保持住,然后將鎖定的信號驅動一個定時器,對請求的執行是通過比較幾個定時器的當前值大小來決定那一路物料輸送管線動作。
在程序中編寫下面四個類似的程序段:
實現請求的判斷:
請求處理:
在請求處理程序段中已經包含如果有同時發生的請求時,按照1->2->3->4的默認動作順序來決定優先順序。
在使用改進后隊列處理程序后,該設備運行約兩年,一直工作正常,再沒出現過某路物料輸送管線的請求不被執行的情況。
在這個案例中,說明有些情況下,使用PLC所提供的功能并不一定是最佳的解決方式,此時,不妨考慮一下換一個實現思路的可能性。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV