问题标签 [modbus]
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.
modbus - Modbus RTU 和 ASCII 在同一条 RS485 电缆上
我必须从通过 RS485-USB 串行通信电缆连接的某些设备读取数据。除了使用 modbus ASCII 的设备外,这些设备都使用 modbus RTU。
我可以在同一根电缆上使用两种协议吗?我认为 RTU 单元不回复 ASCII 请求,反之亦然,但这会导致问题吗?有没有人试过这个或有任何经验?
我这里没有任何设备可以尝试,我必须直接在客户处设置所有内容。
这将是我理想的配置
PC_USB----------RS485+RTU------RS485+RTU------RS485+RTU------RS485+ASCII
如果这不起作用,我将不得不切换到如下解决方案
PC_USB----------RS485+RTU------RS485+RTU------RS485+RTU
PC_USB----------RS485+ASCII
由于对硬件、电缆和位置的一些限制,这将是非常有问题的。
c# - C# 和 modbus/tcp
我需要从 rs485 设备读取一些数据。它连接到Aport-211W,而这个连接到我的本地网络。该设备在端口 502 上打开一个服务器,这是我要读取的设备的 rs485 端口。协议是modbus。
我的第一次尝试是使用这个软件将这个 mobus/tcp 链接到我计算机上的本地 COM 端口,并通过它读取所有内容。但我不想为此使用其他软件,现在我的问题是:如何直接从 C# 程序连接到 modbus/tcp 服务器并读取数据?
我已经找到了一些库,但没有一个能够连接到设备。我已经关闭了串行端口重定向器,因为它阻止了通信。以前有人做过这样的事情吗?
java - 使用 Modbus 协议计算 int32 数据格式的 CRC
我正在使用 modbus 协议连接到设备。我需要从机器上获取 3 个值。第一个值是 int16 数据格式,当我发送示例字节数组时:
并使用我从上一个关于该主题的问题中获得的 CRC 计算方法。
我可以收到回复。但是,其他两个值是 int32 数据格式,当我使用此方法时不返回回复。为了帮助排除故障,我使用了一个名为Realterm 的程序。也可以触发命令。我使用它将 Modbus 16 CRC 附加到字节流的末尾并发送它,这适用于所有三个并返回所需的回复。这是数据格式不适用于此特定计算公式的情况吗?CRC16和Modbus16有什么区别?
php - php modbus用mysql读取多个寄存器
我正在尝试使用http://code.google.com/p/phpmodbus/中的 phpmodbus 从 modbus 寄存器中读取寄存器 146 和 601
该脚本成功加载第一条记录,但在第二条记录失败我得到的错误是:致命错误:超过最大执行时间
我的代码如下:
php - preg 匹配所有数组搜索 [ ]
我使用以下方法找到了解决方案 mysqlf:
这返回:-210 -212
提前致谢。
我想怀孕所以我只得到这条线: [10] => [147]: -210 或两者 [10] => [147]: -210 和 [21] => [148]: -212
我怎样才能怀孕[147]:
或有更好的方法来获取具体信息?
我的数组 $output 包含:
c - 通过 Modbus 读取寄存器
我正在尝试编写 ac 程序来读取 Morningstar sunsaver MPPT 的数据。
这是我在net中找到的简单程序。但是我的程序无法从寄存器中读取数据。
它对我不起作用。我收到以下错误消息:
错误的文件描述符
vb.net - Modbus 从站不与 vb.net 通信
我需要帮助将 Modbus 从服务器与 VB.Net 通信。我可以在 VB6 中向从机读取和写入数据,但是在尝试使用 VB.net 向从机读取和写入数据时,这是不可能的。我正在附加代码参考资料。等待一个肯定的答复。
android - 如何取消库的同步方法?
在我的一个 android 项目中,我使用 jamod 库进行 Modbus 通信,它工作正常。除非网络连接不可用,否则我的异步任务将停留transaction.execute
几秒钟。我想在给定的超时后取消它。我试图为此实现一个处理程序来取消异步任务:
但这种方法行不通。我查看了库,发现该ModbusTCPTransaction.execute()
方法使用synchronized()
.
这是否意味着我没有机会在 x 秒后取消此方法?
modbus - Modbus (0x10) 写入多个寄存器(如果有)的正确故障模式是什么?
如果在验证写入多个寄存器 (0x10) 请求之后但在所有写入完成之前遇到错误,Modbus 设备应该如何失败?规范(6.12)在这一点上似乎含糊不清,网络搜索并未证明是富有成效的。我看到了三种可能性:
- 尝试依次写入每个寄存器。如果发生错误立即放弃/发送异常。
- 将请求视为原子事务,其中应写入所有数据或不写入。
- 如果观察到任何失败,则尝试写入最后发送异常的所有数据。
是否有传统的或适当的方法来失败,或者设备失败的方式是特定于实现的,只需要在手册中记录?
android - TCP/Modbus for android, (Android,Jamod)
I'm making a program for smartphones which attempts to connect to a PLC via TCP / Modbus and I am using the library Jamod, this same program I put in java and if connected, but no change in android .... , Someone can help me?.
I have also given permission for the application to use the internet and do not know why not connect, please I'm desperate!
it gives me error:
.