最近在做modbus 的自動化測驗 需要建立modbus slave (RTU和TCP兩種)
參考各路大神 代碼都十分easy 如下
import modbus_tk
import modbus_tk.defines as mtk
import modbus_tk.modbus
from modbus_tk import modbus_tcp
from modbus_tk import modbus_rtu
import logging
server = modbus_tcp.TcpServer(502,"0.0.0.0")
print("running...")
server.start()
slave_1 = server.add_slave(1)
slave_1.add_block('0', mtk.HOLDING_REGISTERS, 0,20)
slave_1.set_values('0', 14, [0x8000,0x4000,0x2000])
測驗的時候問題就來了
使用modbus POLL 工具作為master 讀寫 都沒有問題
但是接到被測得設備上,完全沒有反應
wireshark抓包 發現一直停留在syn 三次握手

python 代碼逐步追蹤 發現在 modbus_tcp select 獲取socket鏈接這一步

對接的是被測設備的時候,收不到socket 鏈接
對接的是modbus POLL 的時候,socket 接收正常
select 已經是底層函式 沒有進一步的代碼了
所以問題來了 有哪個大神 知道是什么原因呢
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/120339.html
下一篇:網口速率上限測驗
