首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读和写到Modbus RTU

读和写到Modbus RTU
EN

Stack Overflow用户
提问于 2019-11-15 07:23:49
回答 1查看 1.8K关注 0票数 0

我用极小的调制解调器进行阅读和写作。我有USB到Rs485连接。

我试图写这个"02 05万ff11“到RTU注册在python,但我得到了错误。这是我的密码。

设备地址: 02

函数代码: 05

注册地址: 0000

值: ff00

代码语言:javascript
复制
 import minimalmodbus
 instrument = minimalmodbus.Instrument('COM4', 1)
 instrument.write_register(02, 05, 0000, ff00)

我需要使用python!在上面的代码中使用相同的功能

EN

回答 1

Stack Overflow用户

发布于 2019-11-15 08:32:33

你混淆了一些设置。

Modbus从地址(在您的示例中为2)应包括在该仪器的实例化中:

代码语言:javascript
复制
instrument = minimalmodbus.Instrument('COM4', 2)

用于write_register函数的参数也是错误的,它们应该是:

代码语言:javascript
复制
instrument.write_register(0, 0xff00)

如您所见,write_register只使用两个参数:寄存器号和要在其中读取的值。

看看代码和/或一些例子可能是个好主意。

编辑:我意识到您实际上想使用函数代码05 (写线圈)。要做到这一点,您应该使用write_bit函数来代替:

代码语言:javascript
复制
instrument.write_bit(0, 1)

这意味着在线圈0上写True

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

https://stackoverflow.com/questions/58872129

复制
相关文章

相似问题

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