Python编写ModbusTCP通讯程序的示例代码

Python编写ModbusTCP通讯程序的示例代码缩略图

Python编写ModbusTCP通讯程序的示例代码

Python编写ModbusTCP通讯程序的示例代码概述

# 导入pymodbus库
from pymodbus.client.sync import ModbusTcpClient

# 创建Modbus TCP客户端对象
client = ModbusTcpClient('127.0.0.1', port=502)

# 连接Modbus TCP服务器
client.connect()

# 读取保持寄存器的数据
result = client.read_holding_registers(address=0, count=1, unit=1)

# 处理读取结果
if result.isError():
    print("读取保持寄存器失败:{0}".format(result))
else:
    print("读取保持寄存器成功:{0}".format(result.registers[0]))

# 写入保持寄存器的数据
result = client.write_register(address=0, value=123, unit=1)

# 处理写入结果
if result.isError():
    print("写入保持寄存器失败:{0}".format(result))
else:
    print("写入保持寄存器成功")

# 关闭Modbus TCP客户端连接
client.close()

以上代码使用了pymodbus库,实现了对Modbus TCP服务器的连接、读写保持寄存器等操作。在使用之前需要先安装pymodbus库。

需要注意的是,在实际应用中,需要根据具体的Modbus设备地址、功能码、数据类型等参数进行配置,并根据实际需求进行数据读写。同时,对于复杂的Modbus应用,可能需要进行程序优化和硬件设计,确保通讯稳定和可靠。

技术术语(共 4 个)—— 点击展开
Modbus TCP基于以太网的Modbus协议变体,使用TCP/IP传输
功能码Modbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 Modbus编程开发 字数 727 字 · 阅读约 2 分钟 更新 2023-02-11 永久链接 https://www.modbus.cn/python-bian-xie-modbustcp-tong-xun-cheng-xu-de-shi-li-dai-ma/
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
📝 作者声明
本文由 Modbus中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

VIP会员专享

解锁全部Modbus技术资源

5169+工程师已加入VIP,享受无限制工具使用、专属技术文章、优先技术支持等权益

✓ 高级工具无限制使用
✓ VIP专属技术文章+视频教程
✓ 下载资源无限制
✓ 优先工单技术支持
了解VIP权益 低至¥0.3/天 | 支持微信/支付宝 | 随时取消

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

#写入保持寄存器的数据resu