pymodbus:modbus TCP中的异常

时间:2018-05-31 19:39:46

标签: python-3.x pymodbus

当客户端将数字超出范围写入我的服务器时,如何生成异常?此外,我希望我的服务器上的一些vairables是只读的和其他读/写。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

Pymodbus通常在内部处理超出范围的寄存器访问,读取/写入超出范围的数据块的请求将引发ExceptionResponse('Invalid Address')。在客户端,您可以通过检查响应上的isError()方法(pymodbus v1.5.0及更高版本)来检查收到的响应是否为异常响应。

参考synchronous_serversynchronous_client

默认情况下,离散输入和输入寄存器是只读和保持寄存器,线圈和读/写。任何写入只读数据块的尝试都会引发ExceptionResponse。 如果您有一些特定的要求,可以让一系列保持寄存器/线圈只读,您可以查看各种datablocks,创建自定义数据块参考custom datablock example