问题标签 [pymodbus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pymodbus - 如何在pymodbus中实现带有自定义功能代码的消息?
我目前正在尝试实现具有自定义功能代码的 modbus 请求。实现基于这个例子:custom_message.py
该请求按预期工作。我可以在网络层看到正确的响应。但是我无法解析结果。Pymodbus 抛出以下错误:
该示例指出,在这种情况下,我必须:
如果您实现了当前未实现的新方法,则必须向 ClientDecoder 工厂注册请求和响应。
有没有一种优雅的方法可以在不修补库的情况下做到这一点?
python - 连接2个modbus slave pymodbus时出错
我正在研究pymodbus。尝试从多个单元(多个从站)读取数据它给了我数据,但是当其中的 1 个从站没有响应或关闭时,其他从站也会在一段时间后显示错误。请帮忙。谢谢
python - Pymodbus 读取保持寄存器
我被指派在没有任何文件的情况下执行任务。我从 MODBUS 读取数据时遇到问题。这是我能够创建的脚本:
一切看起来都很好,但是计数器上的数据与脚本中的数据不同,例如:
这就是地址文档的样子”
python - Pymodbus 获取从机地址
我正在做一个项目,我将两个 MOXA 盒子连接到一个树莓派。我正在使用 pymodbus 连接到设备,并且连接了一些 LED,因此我可以写入线圈并点亮它们。
我正在使用下面的代码:
这会打开和关闭 LED,如果我增加第一个数字,它会点亮下一个等等。但是,问题是我无法访问从属单元及其线圈。
在管理面板中,我检查了“启用 Modbus/TCP 从站协议”,但我没有设备 ID,也没有从站设备的地址。从机通过以太网电缆连接到主机,主机通过另一条以太网电缆连接到网络。
我用谷歌搜索了我的大脑,但找不到在哪里拿到身份证?
python - Pymodbus – 监听 PLC 设备上的输入变化
我正在对 PLC 设备(Moxa ioLogik E1214)进行编程,并将 DI 端口连接到按钮,线圈连接到 LED 灯。这个想法是,当您按下按钮时,LED 应该会亮起。
如果您按住按钮直到读取输入功能执行,我已经让程序工作了。问题是我想设置一个时间范围(X 秒),如果在这个时间范围内按下按钮(而不是按住),灯应该切换。
代码如下:
如您所见,我为读取输入寄存器设置了超时。但是我怎样才能在这几秒钟内“监听”输入变化,而不必按住按钮直到读取输入寄存器功能执行?
提前致谢
python - 无法从 PLC 地址读取浮点值
我正在使用 PyModbus 库从 PLC 读取浮点值。我从中获得了正确的价值,str(decoder.decode_32bit_float())
但未能将其放入变量var1
中。它显示错误(在 中decode 32 bit float return unpack(string, handle)[0] struct.error: unpack requires a string argument of length 4
)。提前致谢
python - ModbusTcp读取第二次得到结果的原因是什么?
有时,当我第一次从 Modbus 设备读取时,我会立即收到错误响应,但当我再次尝试时,这会响应为预期结果。
这是第一次出现的错误信息:
这是 IPython 控制台中的简化代码段:
什么原因?
[更新]:
我激活了 ModbusClient 日志记录:
出去:
如您所见,在第一次尝试时出现错误,但在第二次尝试中,我得到了正确的结果。
python - pymodbus 读取仪表寄存器
我是 modbus 的新手,但我有一个小项目要做。我需要从能量计中读取一些值。我从网上找到的一些例子写了这个:
它似乎正在连接到仪表,因为这是我的输出:
我想从寄存器读取40012
,40014
这是我拥有的 Modbusdbus 映射:
Modbus 映射
我感谢您的帮助。问候,