工控網首頁
>

應用設計

>

網關連接ModbusRTU串行設備故障排查

網關連接ModbusRTU串行設備故障排查

客戶在使用我們串行網關時常常遇到串行側網絡通訊問題,但是又無從下手,不知道如何排查。根據客戶常見問題,進行了以下總結。即便是不連接我們網關,對于ModbusRTU串行設備在通訊故障時,都可以按照以下步驟來排查和解決。

1.檢查物理連接-RS485接口

使用帶屏蔽雙絞線,采用手拉手菊花鏈式拓撲結構將網關和各串行設備節點連接起來。

在網絡起始端和末尾端設備的RS485+和RS485-之間各跨接一個120Ω電阻以減少信號在兩端的反射。

4660469cef613d5e22114329f98860be_0051.png

有的客戶說,我用USB轉RS485接線接到串行設備上進行測試通訊是正常的,但是接到網關上就不行。我們購買的標準USB轉RS485接線,在RS485正和負之間通常有一個內置的終端電阻,但是網關是沒有的,需要外接。

還有一類常見錯誤,沒有采用手拉手連接,就會出現斷掉某幾個設備可以通訊,加上了之后通訊就出問題。在沒有使用中繼器的情況下,串行設備之間必須是手拉手連接。

e29c79498072f7c226d4c5433f2a940d_0052.png

首先必須排查物理連接問題,在我們遇到的客戶問題當中至少一半以上都是物理連接錯誤導致的。確定物理連接沒有問題后,我們在去看配置和報文。

2.抓取串行總線報文-串行設備無回復

在抓取的報文中,只有網關發出的請求報文( 方向: ),沒有設備的響應報文

(方向: )。

b1bb964e850d3db0c0c96ad9a0b8903c_0053.png

A screenshot of a computer AI-generated content may be incorrect.

檢查物理連接

RS485正, 負是否接反,網關2管腳RS485+,3管腳RS485-

終端電阻是否連接(兩端各120Ω)

檢查配置中的節點地址與設備地址是否一致

如果設備的實際地址是5,而在配置中設置的是1,這顯然是無法通訊上的。

3a65de04fd6b1f6639aa20896fae4761_0054.png

檢查串行設備是否正常工作

設備先不連接網關,找一根USB轉RS485接線連接設備,在電腦中運行Modbus主站模擬工具,看是否能正常通信。

檢查網關串行通訊參數(波特率、數據位、校驗,停止位)設置是否與設備一致

3. 設備響應報文中第二個字節數據>0x80(128)

設備有響應報文(方向: ),但是響應報文中第二個字節數據>0x80,表明這是異常響應,根據響應報文中第三個字節的異常碼來確定問題。

35cbae95a16f1ba829b7ccb4d3c66bc4_0055.png

常見的異常碼含義如下,根據異常碼找到

相應的錯誤。譬如異常碼是01,表明指令中使用的功能碼不正確。異常碼是02,表明指令中寄存器起始地址或者數量不正確。正確的功能碼和可以訪問的寄存器地址都需要查看串行設備手冊。

fb3dc580c4424b9a0f4667948a5d8824_0057.png

f91a9c8755469d22d63b8f1a6b3b4731_0058.png

4. 設備回復信息不在一條報文中

設備回復的報文(方向: )分多行顯示,但總的信息是對的。

00af2a4cd3f72e6a0a6fb9f9118ae595_0059.png

在“通訊”界面,“報文間隔設置”選擇自定義。將“字符間間隔”和“報文間間隔”都改大。

先將默認值的17和38改為50和100,然后結合抓取的報文再調整。

1e1e095d2d330dfbb62d3e0c083d49ef_0060.png

有的人就會問這兩個參數的含義是什么。Modbus報文幀通過報文間間隔來確定一條報文的結束,協議中規定信息幀發送至少要以3.5個字符時間的停頓間隔開,也就是一條報文幀在最后一個字符傳輸后,需要至少間隔3. 5個字符時間的停頓來標定信息幀的結束,一個新的信息幀在此停頓之后才能開始。如果一個新消息在小于3.5個字符時間內接著前個消息開始,接受的設備將認為它是前一信息幀的延續,這將導致CRC校驗出錯。

同時整個信息幀必須作為連續的流傳輸。一條信息幀內字符間間隔需要小于1.5個字符,如果在幀完成之前有超過1.5個字符時間的停頓,接受設備將刷新不完整的信息幀并認為存在丟包現象。

當然我們可以根據實際設備去調整這兩個參數值,但顯然報文間間隔是要大于字符間間隔的,如果調整了字符間間隔,那么對應的報文間間隔也要做相應的調整。

1253ead9f82555c2b1271f74ea80ceb5_0061.png

字符由1bit起始位,8bit數據位,1bit校驗位,1bit停止位組成。

9826f29bf1f9680342540d2232366a30_0062.png

6.設備很多,指令很多,如何過濾報文。

串行設備很多,指令很多,無法在網頁界面找到問題,如何將報文導出并對信息進行過濾和篩選。

抓取問題時刻的報文,停止后點擊右上角“導出”按鈕,將報文導出到Excel表格中。您可以在Excel中進行過濾和篩選,譬如根據設備地址,或者功能碼進行篩選,幫助我們快速找到問題。

cd8d1e301dc54a9d404166c4ed4949d9_0063.png

4ac1f46bd971928e908c805fed778649_0064.png

7.超時時間和重連時間的作用

客戶在使用中常常不清楚超時時間,重連時間,重試次數之間的關系。

3137fb034a6804ecb9214f5fdb1add0f_0065.png

Modbus通訊采用輪詢方式,更新時間是Modbus主站發送請求指令的更新時間,發送請求指令后,如果在超時時間內沒有收到從站設備的正確響應信息,主站將重復發送該請求指令,如果在連續重試次數后都沒有收到該設備的正確響應信息,主站認為該從站設備故障,在重連時間前將不再向該設備發送請求報文,以免增加總線輪詢時間。

c521edf13b6c3bbe67336f0a62254d1d_0066.png

由于是輪詢方式,如果有設備掉站,或者指令響應超時 ,都會影響總線輪詢時間。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

深入探究VLAN工作機制

實現兩臺Redlion設備通過OPC UA進行通信

如何查詢Flexy 4G擴展卡GSM信號強度

邊緣網關網絡安全

EtherCAT I/O Mapping映射模式