使用modbus poll serial port 读取 提示错误, insufficient bytes received 参数设置正确,salveid 不知道是否存在问题,代码测试也是报错

使用modbus poll serial port 读取 提示错误, insufficient bytes received 参数设置正确,salveid 不知道是否存在问题,代码测试也是报错

上午好☀️☀️☀️️
本答案参考ChatGPT-3.5
经过初步的分析,你遇到了问题,可能是由于 Modbus poll serial port 读取的参数设置错误导致的,另外莎芙林的问题也需要解决。以下是解决这些问题的一些建议:
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600)
print('serial.tools.list_ports.com')
确保莎芙林文件存在并且可以被 Modbus poll 配置使用。
尝试将莎芙林转换为波特率相同的 modbus 协议以使其可以在 Modbus poll 中正常工作。
#莎芙林到波特率的值需要计算
port_speed = 9600
port_speed_bps = (port_speed // 8) * 8
port_speed_mbps = port_speed * 1000 / port_speed_bps
ser.setbaudrate(port_speed)
ser.write(b'TCRT') #输入 TCP 特征位
ser.close()
如果以上都解决了你的问题,那么你应该能够正常使用 Modbus poll 来读取莎芙林文件了。如果仍然有问题,建议重新尝试以下步骤:
select 或者 input 命令来查看相关的命令状态。例如,你可以使用 select 0 0 > GETPUT/TEST 来查询当前配置是否有效。希望这些信息能对你有所帮助!如果你还有其他问题,欢迎随时向我提问。