问题标签 [pymodbus3]

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.

0 投票
2 回答
2177 浏览

python - 树莓派 3 中的 Pymodbus

我正在尝试通过 raspberrypi 3 中的 pymodbus 从 modbus 设备获取数据

上面的代码工作正常。但我想从下面给出的信息中获取信息

在此处输入图像描述

例如我正在尝试这样的事情

但是当我调用result.registers输出时,它显示为 0,但我想获取 D0 到 D15 的值。我怎样才能做到这一点?谢谢

0 投票
1 回答
1335 浏览

raspberry-pi - RasPi read_holding_registers 上的 pymodbus 从模拟器返回无

我正在尝试从 Modbus 模拟器读取保持寄存器,但是当我在 Python 中打印该值时,我得到一个“无”对象。模拟器确实发送了响应,但 Python 似乎没有收到它。

我已经用谷歌搜索了一天并尝试了我找到的所有内容:包括单元号、不同的 Python modbus 客户端、不同的模拟器等。没有运气。

非常欢迎任何想法或建议!如果有任何信息我应该提供帮助,请告诉我。

我可以成功写入保持寄存器,模拟器发送如下传输:

“RX:01 03 00 00 00 01 RX:84 0A 从 0 读取寄存器 1 TX:01 03 02 00 05 78 47”

在此处输入图像描述 模拟器传输

在此处输入图像描述 模拟器寄存器

我得到的 Python 输出是:“Connection:True None”

在此处输入图像描述

如果我尝试打印(result.registers),我得到错误:“错误:('NoneType'对象没有属性'registers')”

版本信息:Python:3.4.2 Modbus:pymodbus3 模拟器:MOD_RSsim 版本 8.20 USB 到 Modbus 转换器:UTEK 型号:UT-890A(连接到 RasPi) USB 到 RS232 转换器:ATEN 型号:GUC232A(连接到笔记本电脑)

0 投票
1 回答
1369 浏览

linux - PYMODBUS:如何让主机与从机通信?

我正在做一个项目,我有两个都安装了 Pymodbus 的 Debian VM。我正在尝试设置一个虚拟测试环境,我可以在它们通信时从第三个 Kali VM 对两者执行各种网络攻击。不幸的是,我对 unix 和 PLC 编程非常陌生,并且在让两者相互通信时遇到了一些困难。理想情况下,主机应该向从机发送数据,然后从机更新一些信息并发回响应。有谁知道如何开始让这两者一起工作?我真的很茫然,我不知道从哪里开始。非常感谢,我真的很感激。

我从这里得到了 pymodbus:https ://pypi.python.org/pypi/pymodbus 位于此处的文档: https ://github.com/riptideio/pymodbus

PS我用pip来安装上面的.whl文件,但是我看到其他人通过简单的运行命令来安装pymodbus,这让我担心我做错了。

0 投票
3 回答
5019 浏览

python - Modbus 错误:[输入/输出] 未收到来自远程单元的响应

我正在尝试使用“安装”到/dev/cu.SLAB_USBtoUART.

这是我的代码:

控制台中的输出是:

我很想在理解我遇到的错误方面有所帮助。我尝试了配置pymodbus以及不同的功能,如read_discrete_inputsor read_holding_registers。有什么帮助吗?

谢谢

0 投票
1 回答
997 浏览

python - Modbus主从模拟器

由于没有 Modbus 经验,我正在创建一个在从属计算机上运行的 python 脚本,该脚本从主计算机(西门子控制计算机)接收 Modbus RS485 数据。然后将其存储到文本文件中。

整个系统都在一艘不太方便到达的船上。因此,我希望能够在办公室中模拟它,可能使用 2 台计算机和一些连接器?一些忠告?非常感谢。

0 投票
2 回答
7117 浏览

python - 我可以使用 Python 读取从计算机上接收到的 Modbus RS485 数据吗?

我正在使用从属计算机,并希望将通过 Modbus RS485 从主计算机传输的数据保存到文本文件中。主机不断向我正在工作的从机发送写入和读取请求,下面是串口监视器捕获的图片。

在此处输入图像描述

我刚刚发现使用 minimummodbus 可以读取寄存器。但它似乎只有在您是主设备时才有效。我可以在从属计算机上做类似的事情吗? http://minimalmodbus.readthedocs.io/en/master/usage.html

0 投票
0 回答
143 浏览

python - python在Modbusclient中使用变量

我在函数中使用变量时遇到问题。

我想看看客户端 = ModbusClient(method = 'rtu', port = '/dev/ttyXRUSB0' baudrate = 115200, timeout = 0.2)

我在哪里搞砸了?

0 投票
2 回答
513 浏览

raspberry-pi3 - Pymodbus 将输入转换为错误的地址

我正在尝试使用 pymodbus 从 Raspberry Pi 3b 写入 PCON 控制器。我有 python 3.5 和 pymodbus 1.4。我通过连接运行 modbus 编程工具的笔记本电脑验证了通过硬件的通信路径(这是用于控制电动缸夹紧零件的应用程序),我能够打开/关闭伺服,我能够点动气缸。

我创建了一个非常简单的脚本来测试与控制器的对话并打开伺服。#!/usr/bin/env python3 # - - 编码:utf-8 - -

这是调试输出

线圈的地址为260(来自供应商),单位为#0,数据值为1(线圈位)。当您查看 DEBUG 中的十六进制值并通过十六进制到 ascii 转换器运行它时,您会得到:00050104FF00F7。第一个“00”是单元号,这是正确的,05是功能代码,是pymodbus添加的,接下来的四个字符是地址-是0104应该是0260,接下来的四个是值-in这种情况下FF00代表ON,这是正确的。我使用整数作为地址,但显然这是不正确的。我找不到有关地址格式的任何信息 - 所有示例似乎都是整数。如果有人有 pymodbus 经验,或者您认为我应该放弃 pymodbus 并转到 minimummodbus 或 modbus-tk,我将不胜感激任何帮助/建议。

0 投票
0 回答
161 浏览

python - Pymodbus 服务器 TCP 读/写

目前,通过 pymodbus 文档的示例,我能够创建一个服务器,从另一台 PC 我可以读取我想要远程监控的变量。但是当我在远程访问中更改其中一个变量时,我不知道如何从要处理的服务器中获取它。

有什么推荐吗?

0 投票
1 回答
2453 浏览

python - 是否可以将 pyModbusTCP 用作 modbus 从站?

我正在阅读 pyModbusTCP,目的是编写在 Linux 上运行的 Modbus 从站。

[开始咆哮]:pyModbusTCP 使用术语“客户端”和“服务器”而不是“从/主”,所以文档有点混乱。[结束吐槽]

似乎他们在演示中所做的只是将库用作主设备,从远程从设备读取或写入。

是否可以将 pyModbusTCP 设置为 Modbus 从站,侦听端口并允许 Modbus 设备(PLC 等)连接并从/向该从站读取/写入值?

作为奖励,当远程主机读取或写入该从机时,是否可以自动执行 Python 函数(如事件)?

谢谢!