S7 200 SMART modbus rtu 通信問題,數(shù)量多會(huì)不會(huì)延時(shí)?S7-200 MODBUS-RTU通信延遲
之前也就5,6個(gè)通信,這次數(shù)量比較多,心里沒底,立馬上來(lái)問問,總共20個(gè)變頻器,需要設(shè)定頻率和讀取輸出電流和報(bào)警狀態(tài),以及15個(gè)溫控器設(shè)定溫度和讀取當(dāng)前溫度,這樣讀寫的變量就是20*3+15*2=90個(gè)了,通信上會(huì)不會(huì)延時(shí)?如果有延時(shí)的話有辦法消除或改善嗎?
我腦袋里想到的是如果加個(gè)信號(hào)板走2個(gè)通道是不是會(huì)好點(diǎn)?
問題補(bǔ)充:
有個(gè)不明朗的地方:我增加一個(gè)通道,那還不是用輪詢的方式在讀寫?是不是兩個(gè)通道同時(shí)輪詢的,這樣相對(duì)于一個(gè)通道的輪詢來(lái)說(shuō)就相當(dāng)于本來(lái)一條路上一輛車開,現(xiàn)在是2輛車同時(shí)在開?那些程序的時(shí)候是交錯(cuò)著寫(寫完0通道下來(lái)寫1通道再下來(lái)寫0通道再下來(lái)寫1通道?)還是寫完一個(gè)通道所有的程序再寫另外個(gè)通道?
答:1、modbus rtu 通信的從站數(shù)多了,調(diào)用的主站讀寫指令也會(huì)多,并且只有用輪循的方式寫通訊程序,有延遲是正常現(xiàn)象,只要符合工藝控制要求就是可以的。
2、加一個(gè)485通訊板分成二組是一個(gè)好的主意,并且是可行的。
3、在寫通訊程序的時(shí)候盡可能地讀連續(xù)地區(qū)域,目的是減少讀指令的個(gè)數(shù)。寫可能做不到連續(xù)。
4、布線一定要規(guī)范,并注意通訊線路的端頭終端電阻的使用。線路的端頭變頻呂怎樣加端電阻是一個(gè)要參考下面資料的。這樣要求的目的是增大通訊的成功率,減少重試的次數(shù)。
5、減少看試的次數(shù)。見下面的鏈接《Modbus RTU常見問題》的問題 5 說(shuō)明
MBUS_MSG 指令被激活時(shí)將發(fā)送 Modbus 請(qǐng)求報(bào)文幀,如果在Timeout 參數(shù)定義的時(shí)間間隔內(nèi)主站未接收到從站應(yīng)答,Modbus RTU 主站協(xié)議庫(kù)默認(rèn)的情況下還會(huì)再發(fā)送 2 次 Modbus 請(qǐng)求報(bào)文幀;在最后一次請(qǐng)求報(bào)文幀發(fā)送后,經(jīng)過 Timeout 參數(shù)定義的時(shí)間間隔后還未收到應(yīng)答時(shí), MBUS_MSG 指令的 Done 完成位才被設(shè)置為 1 。將 mModbusRetries 變量的數(shù)值由 2 改為 0 ,即可取消 Modbus 請(qǐng)求報(bào)文幀的重試次數(shù)。mModbusRetries 變量的絕對(duì)地址可通過查詢Modbus RTU 主站協(xié)議庫(kù)的符號(hào)表獲取。
6、資料鏈接
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
補(bǔ)充:
是兩個(gè)通道各跑各的車,相互之間是獨(dú)立的,互不影響,各寫各的輪循程序、各分配各的庫(kù)存儲(chǔ)區(qū)。