車間的14個同一品牌變頻器(安川)使用modbus rtu控制啟停并調(diào)速(運行環(huán)境cpu414-5h,pcs7 v8,編程方式stl+cfc,cp341+驅(qū)動狗)。
//===============================================================================
//接到任務
接到任務的時候就發(fā)牢騷了,就不應該使用modbus這么慢的通訊方式,原因如下:
1.這些都是輸送帶和物料泵在工藝中比較重要,速度調(diào)節(jié)慢了就會造成物料堵塞,并且某兩條輸送帶還有緊急減速。
2.調(diào)速電機,調(diào)速就有pid回路,pid的輸出值必須等到輪詢到該站點時才能寫入該變頻器,這是很明顯的滯后 。
3.如果有一個站通訊故障,modbus功能塊會不停的嘗試連接直到看門狗時間到,這對輪詢來說是個致命打擊。
4.變頻器數(shù)量多,且有一用一備,電機不僅有故障狀態(tài)還有l(wèi)ocal狀態(tài)和備用的情況,modbus輪詢到這個地方的時候該怎么處理?
5.變頻器狀態(tài)字節(jié)不連續(xù)(安川變頻器,modbus讀回的頻率和電流以及變頻器端子輸入信號狀態(tài)相隔的字節(jié)數(shù)比較遠)可能一個站點需要兩次讀取,不僅占用輪詢時間還會導致編程復雜。
以上!所有麻煩!都是!因為!modbus rtu !慢!
//===============================================================================
//冷靜下來,仔細分析應對措施
牢騷發(fā)完該干活了,仔細分析后,編程可以采取以下有效手段:
1.根據(jù)cp341現(xiàn)場柜子與mcc(馬達控制中心)之間的距離,波特率完全可以使用19200
2.一用一備的電機業(yè)主將備用電機只有用時才上電。modbus肯定訪問不到,因此上位機上做了一個面板,每個站都可以選擇是否在輪詢時讀寫該站點沒有上電的備用電機當然勾選讀寫的時候跳過該站。
3.modbus輪詢導致的執(zhí)行滯后的時間如果能有效控制在一定范圍內(nèi),pid參數(shù)合理的調(diào)整是可以彌補這個缺陷的。
4.操作員或系統(tǒng)自動控制選擇的某個站點的變頻器啟停,將被優(yōu)先讀寫。原因有2:
a. 某些電機連鎖后需要立即停機。
b. 手動啟停也可以讓操作員不必等待輪詢的時間。
5.cp341的參數(shù)里可以設置看門狗的時間。盡可能短,并且要保證不會低于正常收發(fā)的時間。
6.記錄每個站點收發(fā)的錯誤次數(shù),錯誤超過設定值的時候報警!操作可以在面板選擇跳過站, 操作員可以電機打至local模式控制。
7.編程采用stl變址尋址,盡可能縮短代碼。
//==============================================================================
//到達現(xiàn)場后
懷著忐忑不安的心情,到了現(xiàn)場布置dp,以太網(wǎng)電纜,打點,單體運行,對傳感器數(shù)值,終于有了可以modbus任性輪詢的條件了,但是結(jié)果很糟糕,modbus輪詢一周期接近10秒?。。。?!沒法一起玩耍了。情況峰會路轉(zhuǎn)在一次調(diào)整cfc運行組周期后,將modbus的相關(guān)程序扔進ob1后,輪詢縮短到了4.5秒。接著分析:
1.實際情況證明modbus程序cfc在ob1中執(zhí)行后,輪詢時間會大幅提高,雖然ob1的某些時間段內(nèi)執(zhí)行程序的時間會高于ob35的100ms(414-5h的最快掃描周期100ms) ,但是總體平均時間大大的小于100ms,建議以后大家不在萬不得已不要在ob1里寫程序 。西門子建議不讓這樣。
2.現(xiàn)場調(diào)pid時證明pid曲線呈接近式樣的比較符合現(xiàn)場的情況。
3.舍棄了一個讀回數(shù)據(jù),因為在modbus內(nèi)存區(qū)距離特別遠。記得當時是4個需要的數(shù)據(jù)分布在3段內(nèi)存里,輪詢到該站時,1,2讀一次,3段讀一次。最后舍棄了第3段。這樣處理后時間縮短至了2.幾秒,除了緊急減速那個有點勉強外,都能處理過來。
現(xiàn)場還有其它的modbus通訊,cp341讀取現(xiàn)場的溫度巡檢儀,modbus slave給其它廠家的dcs提供運行數(shù)據(jù)和設備狀態(tài)等(modbus轉(zhuǎn)tcp網(wǎng)關(guān))。大家都喜歡modbus rtu的開放低成本,也很怕modbus rtu的龜速帶來的風險。