2012-05-19 54 views
1

未來我們使用Jamod RTU捕捉的variuos串行連接的電錶raedings。我們設置了modbus timeoutexception = 1200ms。現在發生了什麼事情,當我們測量一米而我們沒有得到結果(或讀數)時,我們轉向下一個連接在同一系列中的結果。但有時,前一個儀表將讀數發送迴應用程序,並且該儀表的讀數保存爲新的或下一個。避免Modbus信息從儀表設備

爲了解決這個問題,我們已經在的NPort管理員減少網絡超時(用於管理COM端口)從5000到500毫秒。但我不認爲這是永久的解決方案。有什麼辦法可以避免遲到的信息或用相應的電錶標記每條信息?

回答

2

每個MODBUS答覆具有嵌入所述消息內設備的源地址。讀它可以解決你的問題。

0

從何以地址字段被處理

一個消息幀的地址字段中的Modicon Modbus Protocol Reference Guide PI–MBUS–300 Rev. J

10頁包含兩個字符(ASCII)或八個 位(RTU)。有效的從站設備地址範圍爲0 - 247十進制。通過將從地址在 消息的地址字段247。 主地址的從站 - 各個從屬設備被分配在1的範圍內的地址。當從機發送響應時,它將自己的地址放在響應的這個地址字段中,讓主機知道哪個從機正在響應。

地址0被用於廣播地址,其中所有的從屬設備識別。 當Modbus協議上更高級別網絡中使用,廣播可能並不 允許或可通過其它方法來代替。例如,Modbus Plus使用一個共享全局數據庫,可以使用每個令牌輪換更新一個 。

因此,您可以跟蹤從站地址並分配指定的從站地址接收值。這應該可以從所有響應對象的getUnitID()訪問。