S7 200 SMART modbus rtu 通信問題,數量多會(hui) 不會(hui) 延時?S7-200 MODBUS-RTU通信延遲
之前也就5,6個(ge) 通信,這次數量比較多,心裏沒底,立馬上來問問,總共20個(ge) 變頻器,需要設定頻率和讀取輸出電流和報警狀態,以及15個(ge) 溫控器設定溫度和讀取當前溫度,這樣讀寫(xie) 的變量就是20*3+15*2=90個(ge) 了,通信上會(hui) 不會(hui) 延時?如果有延時的話有辦法消除或改善嗎?
我腦袋裏想到的是如果加個(ge) 信號板走2個(ge) 通道是不是會(hui) 好點?
問題補充:
有個(ge) 不明朗的地方:我增加一個(ge) 通道,那還不是用輪詢的方式在讀寫(xie) ?是不是兩(liang) 個(ge) 通道同時輪詢的,這樣相對於(yu) 一個(ge) 通道的輪詢來說就相當於(yu) 本來一條路上一輛車開,現在是2輛車同時在開?那些程序的時候是交錯著寫(xie) (寫(xie) 完0通道下來寫(xie) 1通道再下來寫(xie) 0通道再下來寫(xie) 1通道?)還是寫(xie) 完一個(ge) 通道所有的程序再寫(xie) 另外個(ge) 通道?
答:1、modbus rtu 通信的從(cong) 站數多了,調用的主站讀寫(xie) 指令也會(hui) 多,並且隻有用輪循的方式寫(xie) 通訊程序,有延遲是正常現象,隻要符合工藝控製要求就是可以的。
2、加一個(ge) 485通訊板分成二組是一個(ge) 好的主意,並且是可行的。
3、在寫(xie) 通訊程序的時候盡可能地讀連續地區域,目的是減少讀指令的個(ge) 數。寫(xie) 可能做不到連續。
4、布線一定要規範,並注意通訊線路的端頭終端電阻的使用。線路的端頭變頻呂怎樣加端電阻是一個(ge) 要參考下麵資料的。這樣要求的目的是增大通訊的成功率,減少重試的次數。
5、減少看試的次數。見下麵的鏈接《Modbus RTU常見問題》的問題 5 說明
MBUS_MSG 指令被激活時將發送 Modbus 請求報文幀,如果在Timeout 參數定義(yi) 的時間間隔內(nei) 主站未接收到從(cong) 站應答,Modbus RTU 主站協議庫默認的情況下還會(hui) 再發送 2 次 Modbus 請求報文幀;在最後一次請求報文幀發送後,經過 Timeout 參數定義(yi) 的時間間隔後還未收到應答時, MBUS_MSG 指令的 Done 完成位才被設置為(wei) 1 。將 mModbusRetries 變量的數值由 2 改為(wei) 0 ,即可取消 Modbus 請求報文幀的重試次數。mModbusRetries 變量的絕對地址可通過查詢Modbus RTU 主站協議庫的符號表獲取。
6、資料鏈接
補充:
是兩(liang) 個(ge) 通道各跑各的車,相互之間是獨立的,互不影響,各寫(xie) 各的輪循程序、各分配各的庫存儲(chu) 區。