问题标签 [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.

0 投票
5 回答
23346 浏览

.net - 是否有一个很好的库来处理 .NET 中的 Modbus 协议?

有谁知道处理 Modbus 协议的好(最好是开源)库?我看过一些图书馆,但我正在寻找一些人的个人经历,而不仅仅是谷歌前十名。我认为必须至少有一个其他人像我一样处理 PLC 和自动化硬件。

对可能对您有帮助的任何其他材料开放......

0 投票
2 回答
2115 浏览

tcp - 如何减少 MODBUS TCP 的 ARP 刷新导致的 TCP 延迟

我们有一个应用程序以定义的速率定期发送 TCP 消息(使用 MODBUS TCP)。如果在设定的时间内没有收到消息,则会发出警报。但是,每隔一段时间,收到的消息似乎都会有所延迟。调查表明,这与刷新 ARP 缓存导致重新发送 TCP 消息有关。

IP 堆栈提供商告诉我们这是 TCP 的预期行为。问题是,这是 IP 堆栈的预期行为吗?如果不是,其他堆栈如何在 IP/MAC 地址转换不可用期间工作 如果这是预期的行为,我们如何减少此期间 TCP 消息的延迟?(已尝试永久 ARP 条目,但不是最佳解决方案)

0 投票
1 回答
318 浏览

java - 是否有使用 Mina 2.x 的 modbus 实现?

是否有使用 Apache Mina 2.x的开源 modbus 实现?

0 投票
4 回答
3717 浏览

c - 串行编程:测量字符之间的时间

我在 Linux 中通过串行线路发送/接收数据,我想找到字符之间的延迟。

Modbus 使用 3.5 个字符的延迟来检测消息帧边界。如果延迟超过 1.5 个字符,则消息帧被声明为不完整。

我正在用 C 编写一个快速程序,基本上是

有什么方法可以在这里测量时间吗?或者我是否需要以不同的方式查看从串行线路中检索数据?

我也尝试连接到 SIGIO 以在有数据时获取信号,但我似乎一次获取 8 个字节的数据。

(是的,我知道存在一些 modbus 库,但我想在其他应用程序中使用它)

0 投票
5 回答
13202 浏览

java - 使用 Jamod 写入 modbus

我在使用 jamod 写入 modbus 时遇到了一个奇怪的情况。以下阅读代码完美运行:

但是尝试以类似的方式编写失败(Jamod 尝试了 3 次,每次都遇到 SocketTimeoutException,最后抛出 ModbusException)。

是的,我知道我正在使用请求对象的多寄存器版本,但我正在使用的设备仅支持功能代码 3 和 16。

我还编写了原始套接字测试器来编写寄存器,据我所知,它可以正常工作。但是在这两种情况下都使用 jamod 会很好。

有没有人有使用 jamod 的经验,那个人会好心地告诉我我做错了什么吗?1.1 和 1.2rc1 版本的 jamod 都会出现这种情况。或者这可能是一些特定于供应商的情况?

0 投票
4 回答
24531 浏览

embedded - Microchip PIC 的 Modbus 堆栈

有人可以建议一个用于 Microchip PIC18 处理器的 Modbus RTU 从站的开源实现吗?我正在寻找用于 RS-232/RS-485 的 Modbus RTU 实现,但也欢迎 Modbus TCP/IP 实现。

0 投票
1 回答
1462 浏览

java - Modbus 驱动程序:C 与 Java

我很快就要开始一个项目,我需要编写一个 Modbus 驱动程序。我最初的方法是想用 Java 来做,但是我的老板接触过一家在 Modbus 方面有经验的公司,他们说 C 是处理 Modbus 的更好语言。所以我的老板几乎要求它使用 C。我的 C 知识并不多,所以需要我学习足够的知识才能让 Modbus 驱动程序以正确和稳定的顺序工作。

所以,我想问在 Modbus 方面有一些经验的 stackoverflow 人:选择 C ​​还是 Java 有多重要?modbus 站点似乎有 Java 库,如果 C 在各方面都优于 Java,他们为什么会有这些库?正确学习 C 以获得可能带来的优势是否有用?

0 投票
2 回答
909 浏览

ruby - 如何发送十六进制数据?

我正在尝试通过 modbusTCP 或 modbus 串行与 modbus 从站通信。制造商。(partlow) 有一个 ASCII 通信手册 ( http://www.partlow.com/uploadedFiles/Downloads/1160%20ASCII%20Comms%20Manual.pdf ),看起来它不同于标准的通信方法 ( http://en .wikipedia.org/wiki/Modbus)。许多现有的代码都设置为与线圈的普通 modbus 寻址等一起工作,在这些地方(至少对我而言)似乎与这些人不同。

那么,通过 ruby​​ 或 perl,我如何发送十六进制数据?我可能一切都很好,但是,如果我将“0DFA”写入串行端口......可以吗?还是我需要先将其转换为较低层,还是以某种方式表示?

一直在做这件事,可能把自己搞混了(让事情变得比现在更复杂)但是,我正在尝试与这个仪表建立通信,我可以看到 TX 活动指示灯闪烁但没有 RX,这表示我的数据格式错误...

一直在解决这个问题(和一些 perl 片段在这里和那里,试图找到有用的东西): http ://www.messen-und-deuten.de/modbus.html

我正在通过终端服务器进行通信,该服务器接受 modbusTCP(此脚本使用),但我无法将 comm 手册中的内容应用于上面的代码,以正确格式化数据包。

0 投票
2 回答
889 浏览

iphone - 我必须制作一个与支持 Modbus 协议的设备通信的 iPhone 应用程序

我必须能够无线通信,这意味着它可以是通过 wifi 的 MODBUS TCP/IP 或通过蓝牙的 MODBUS RTU。我找不到任何带有 ObjectiveC 包装器的 modbus 实现,但我可以在 C 库上编写包装器。我应该如何前进?

0 投票
2 回答
6801 浏览

gcc - 我应该为 GCC 的 modbus 协议使用什么 modbus 库

我们正在构建一个产品,它需要 modbus 通信(rs-485 和 TCP/IP)。代码必须在运行 Linux 的嵌入式设备上运行。我们有以下标准来选择我们将使用的库。

  1. 它必须是开源的,因为我们是开源极客。

  2. 我们会将这个产品提供给我们的用户,而我们不知道他们的应用程序是什么,因此它必须完成 modbus 协议的实现。

  3. 广泛的用户群:我们相信代码的用户越多,代码的稳定性就越高。

我遇到了两个这样的库:

http://www.freemodbus.org

libmodbus

有没有更多的 modbus 库。请提出优缺点