当客户端将超出范围的数字写入我的服务器时,如何生成异常?另外,我希望我的服务器上的一些变量是只读的和其他读/写的。有什么推荐吗?
问问题
1022 次
1 回答
1
Pymodbus 通常在内部处理超出范围的寄存器访问,读取/写入超出范围的数据块的请求会引发ExceptionResponse('Invalid Address'
) 。在客户端,您可以通过响应上的任一检查isError()
方法(pymodbus v1.5.0 及更高版本)来检查接收到的响应是否为异常响应。
参考synchronous_server和synchronous_client
同样默认情况下,离散输入和输入寄存器是只读的,保持寄存器和线圈是读/写的。任何写入只读数据块的尝试都会引发ExceptionResponse
. 如果您有特定要求使一系列保持寄存器/线圈只读,您可以查看各种数据块,创建自定义数据块参考自定义数据块示例
于 2018-06-01T12:42:09.087 回答