PyTool Modbus 是一个很好的 Modbus 开发、调试和监控工具。
它具有 Python 脚本功能,可为您提供最大的灵活性。
为什么 Modbus 工具需要脚本功能?
电气工程师发现使用 Android 手机或平板电脑等手持设备在现场、工厂或实验室中调试或监控 Modbus 通信非常方便。
但是几乎每个 Modbus 通信系统都有自己的数据格式。
在像“02a5b4ca....ff000803”这样的十六进制数据的海洋中搜索并试图弄清楚正在发生的事情一点也不愉快。
这就是 PyTool Modbus 可以提供帮助的地方。
凭借运行自定义 Python 脚本的能力,PyTool Modbus 可以读取和解析任何接收到的数据,以您想要的方式显示它,甚至在需要时采取相应的行动。
有快速启动的脚本示例。只需复制并粘贴其中之一即可试用。
还有一个方便的 Modbus 控制接口供一般使用。
它支持主流 USB 串行驱动程序,包括:
FTDI 驱动程序
CDC ACM 驱动程序
CP210x 驱动程序
CH34x 驱动程序
PL2303驱动
脚本通用指南
==================
* 本应用中使用的 Python 版本为 3.8。
* 尽管可以在脚本字段中编辑脚本,但此应用程序并非设计为脚本编辑器。
最好的方法是使用您喜欢的脚本编辑器,然后复制并粘贴脚本。
* 始终使用 4 个空格作为缩进,以避免出现奇怪的错误。
* 标准 Python 库中的大多数包都可以导入。
* 如果需要 while 循环,请始终使用 `app.running_script` 作为条件以正确停止脚本。
* 使用`app.version` 获取应用程序版本字符串。
* 使用`app.get_output()` 以字符串形式获取脚本输出字段。
* 使用`app.set_output(object)` 在脚本输出字段中将`object` 显示为字符串。
* 使用`app.print_text(object)` 作为`app.set_output(app.get_output() + str(object))` 的快捷方式,将文本附加到脚本输出字段。
* 使用`app.clear_text()` 作为`app.set_output("")` 的快捷方式来清除脚本输出字段。
* 使用`app.fc01_read_coils(mbid, addr, num)`发送功能码01请求。
mbid (int): Modbus ID
addr (int): 数据地址
num (int):数据数量
返回(int 列表):请求的数据列表
* 使用`app.fc02_read_discrete_inputs(mbid, addr, num)`发送功能码02请求。
mbid (int): Modbus ID
addr (int): 数据地址
num (int):数据数量
返回(int 列表):请求的数据列表
* 使用`app.fc03_read_holding_registers(mbid, addr, num)`发送功能码03请求。
mbid (int): Modbus ID
addr (int): 数据地址
num (int):数据数量
返回(int 列表):请求的数据列表
* 使用`app.fc04_read_input_registers(mbid, addr, num)`发送功能码04请求。
mbid (int): Modbus ID
addr (int): 数据地址
num (int):数据数量
返回(int 列表):请求的数据列表
* 使用`app.fc05_write_single_coil(mbid, addr, val)`发送功能码05请求。
mbid (int): Modbus ID
addr (int): 数据地址
val (int):数据值
return (int):数据数量(始终为 1)
* 使用`app.fc06_write_single_register(mbid, addr, val)`发送功能码06请求。
mbid (int): Modbus ID
addr (int): 数据地址
val (int):数据值
return (int):数据数量(始终为 1)
* 使用`app.fc15_write_multiple_coils(mbid, addr, vals)`发送功能码15请求。
mbid (int): Modbus ID
addr (int): 数据地址
vals(int 列表):数据值列表
return (int): 数据数量
* 使用`app.fc16_write_multiple_registers(mbid, addr, vals)`发送功能码16请求。
mbid (int): Modbus ID
addr (int): 数据地址
vals(int 列表):数据值列表
return (int): 数据数量
* 使用`app.msg_out` 和`app.msg_in` 来检查请求和响应消息。
* 使用`app.log_file(text)` 在存储中保存日志文件。
日志文件位于 [Storage Directory]/PyToolModbus/log_[UTC Timestamp].txt。
text (str): 文本内容
return (str): 完整文件路径