首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于TCP的Python读取modbus

基于TCP的Python读取modbus
EN

Stack Overflow用户
提问于 2018-08-13 10:00:07
回答 1查看 7.5K关注 0票数 1

我有一个modbus设备,并将modbus连接到以太网转换器(而不是modbus到modbus转换器 )。

我遇到的所有模块都可以读取正常的Modbus RTU、Modbus TCP、Modbus ASCII。但我还没有看到通过以太网端口读取modbus的任何模块。

当我使用ModScan进行测试时,我可以在选择Remote TELNET Server时看到数据。

有办法用python读取这些数据吗??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-22 13:07:54

这是一个常见的情况,设备是远程串行/tcp转换器。当时艾克萨有很多。

你应该明白:

  • 'modbus rtu‘-这是串行modbus,包含data+crc16
  • ‘'modbus tcp’-这是TcpHeader6字节+数据。
  • “'modbus rtu is tcp”--这就是您的情况。

标准的modbus tcp/rtu转换设备不仅改变了物理(以太网/rtu 485),而且改变了协议本身,消除了tcp报头,增加了crc。

简单的串行/tcp转换器(如您所拥有的)不会修改协议。

您可以在手动为tcp-客户端指定rtu之后使用您可爱的PyModbus。

代码语言:javascript
运行
复制
client = ModbusClient('localhost', port=5020, framer=ModbusRtuFramer)

client.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51819751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档