Twido PLC實現隊列控製的一個方法

2026-04-07 04:31:23

1.概述

  隊列是來自數據結構的一個概念,即數據的處理是按照先進先出(FIFO)原則執行,在PLC的控製程序中有時也會用這種方法。

  zaiyitiaoshengchanxianshangdekelizhuangwuliaoshusongshebeizhong,yousiluwuliaoshusongguanxian,danchouquwuliaodeluocibengzhiyouyitai,yincizairenyishikezhinengyouyitiaowuliaoshusongguanxiangongzuo,ruguozaizhetiaoguanxiangongzuoshi,qitawuliaoguanxianyougongzuoqingqiu,zhinengpaiduidengdai,zaiyoudengdaizhuangkuangfashengshidePLC程序的控製,是一個典型的隊列應用。

  2 在Twido係列PLC中的實現方法

  在Twido PLC中有現成的寄存器功能塊可以配置成隊列(FIFO)工作方式,最初也正是用這種方式編寫的PLC的控製程序,程序的幾處關鍵請看下麵幾個程序段圖。

  在程序調試階段,設備工作一切正常。但設備在實際運行中,總是會在1~3天內發生1到2個物料輸送管線的請求不被執行而始終處於等待狀態,隻有斷電後重新啟動設備才能恢複正常工作。隨後又仔細分析了Twido PLC的寄存器(隊列模式)功(gong)能(neng)塊(kuai),發(fa)現(xian)使(shi)用(yong)它(ta)時(shi)必(bi)須(xu)保(bao)證(zheng)四(si)路(lu)物(wu)料(liao)輸(shu)送(song)管(guan)線(xian)的(de)請(qing)求(qiu)在(zai)任(ren)意(yi)時(shi)刻(ke)不(bu)能(neng)同(tong)時(shi)有(you)兩(liang)個(ge)請(qing)求(qiu)發(fa)生(sheng),否(fou)則(ze)就(jiu)會(hui)出(chu)現(xian)上(shang)麵(mian)的(de)問(wen)題(ti),而(er)實(shi)際(ji)工(gong)作(zuo)中(zhong),兩(liang)個(ge)或(huo)兩(liang)個(ge)以(yi)上(shang)的(de)請(qing)求(qiu)同(tong)時(shi)(PLC的一個掃描周期,大約在10ms之內)發生的機率確實存在,正是這種不定期發生的同時出現的請求,使設備不定期地出現物料輸送管線的不正常工作。

  找到原因後,在改寫PLC程序時發現,如果加上處理同時發生的幾個請求的程序,使得使用Twido所提供的寄存器(隊列模式)功能塊的程序可能會更加複雜,於是決定不使用這個功能,用常規編程來完成控製要求。

  在(zai)程(cheng)序(xu)需(xu)要(yao)重(zhong)點(dian)考(kao)慮(lv)的(de)就(jiu)是(shi)這(zhe)種(zhong)多(duo)路(lu)物(wu)料(liao)輸(shu)送(song)管(guan)線(xian)同(tong)時(shi)發(fa)生(sheng)請(qing)求(qiu)的(de)情(qing)況(kuang)。在(zai)程(cheng)序(xu)中(zhong)將(jiang)每(mei)一(yi)個(ge)請(qing)求(qiu)用(yong)自(zi)鎖(suo)回(hui)路(lu)保(bao)持(chi)住(zhu),然(ran)後(hou)將(jiang)鎖(suo)定(ding)的(de)信(xin)號(hao)驅(qu)動(dong)一(yi)個(ge)定(ding)時(shi)器(qi),對(dui)請(qing)求(qiu)的(de)執(zhi)行(xing)是(shi)通(tong)過(guo)比(bi)較(jiao)幾(ji)個(ge)定(ding)時(shi)器(qi)的(de)當(dang)前(qian)值(zhi)大(da)小(xiao)來(lai)決(jue)定(ding)那(na)一(yi)路(lu)物(wu)料(liao)輸(shu)送(song)管(guan)線(xian)動(dong)作(zuo)。

  在程序中編寫下麵四個類似的程序段:

  實現請求的判斷:

  請求處理:

  在請求處理程序段中已經包含如果有同時發生的請求時,按照1->2->3->4的默認動作順序來決定優先順序。

  在使用改進後隊列處理程序後,該設備運行約兩年,一直工作正常,再沒出現過某路物料輸送管線的請求不被執行的情況。

  在這個案例中,說明有些情況下,使用PLC所提供的功能並不一定是最佳的解決方式,此時,不妨考慮一下換一個實現思路的可能性。

施耐德電氣技術文摘:
施耐德電氣變頻器常見問題解析
壓力傳感器如何選型
利用Twido的周期事件打造超級定時器
昆鋼25MW發電機組煤氣鍋爐引送風機變頻改造實施經驗
變頻協調控製技術在引風變頻係統改造中的應用
IT 與 OT 的融合如何推動智能電網發展
施耐德電氣石油和天然氣管道的安全控製解決方案
為什麼變頻器不能用作變頻電源?
TWDLC*A10DRF單字乘除擴展功能
施耐德電氣熱繼電器選型方式
施耐德電氣ATV31變頻器電機自整定注意事項
光電傳感器選型需要哪些主要參數?
TWIDO一種簡潔的實現點動開關自鎖方式
施耐德電氣PLC通過CANopen的SDO報文控製SD388B
施耐德斷路器進水怎麼維修
兩種TWIDO PLC在線修改程序錯誤的解決方法
施耐德電氣變頻器故障代碼及處理方法
Twido PLC上電時數據初始化方法彙總
更多施耐德電氣技術文摘...

通過中華工控網在線聯係施耐德電氣有限公司:

免費注冊為中華工控網會員