是否有一个很好的库来处理 .NET 中的 Modbus 协议? [关闭]

Posted

技术标签:

【中文标题】是否有一个很好的库来处理 .NET 中的 Modbus 协议? [关闭]【英文标题】:Is there a good library for dealing with the Modbus protocol in .NET? [closed] 【发布时间】:2010-09-08 11:07:57 【问题描述】:

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

欢迎任何其他可能对您有帮助的材料...

【问题讨论】:

这里有可用库的完整列表modbus.org/tech.php 【参考方案1】:

自从我在一家家庭自动化公司工作以来,过去几年我与设备进行了很多通信,但我们不使用 Modbus。我们使用 Web Services for Devices (WSD) 以标准和开放的方式进行通信,也称为Devices Profile for Web Services(DPWS)。

在此期间,我确实听说过一个名为NModbus 的项目。它是一个用于使用 modbus 的开源库。我没有使用过它,但是查看该站点和 Google Code 上的 changesets,它看起来非常活跃。您可能想看一下,甚至参与其中。这是我听说的唯一一个以 .Net 为目标的库。

【讨论】:

是的,我看到了nmodbus,它看起来还不错,但上次我尝试它的边缘有点粗糙。我会试一试。真的,我现在对阅读 WSD 很感兴趣。感谢您的链接! 当然可以。 WSD确实是要走的路。 Modbus 是一个非常古老的协议,我知道你可能别无选择,但今天的设备开始以 WSD 为目标。 为 NModbus 点赞:效果很好【参考方案2】:

Modbus 是一个实现起来非常简单的协议。您需要的所有信息都可以在 Internet 上轻松免费找到。

如果您选择自己实施,我很乐意回答您在此过程中遇到的任何问题。

如果您选择使用 modbus 主库,我会寻找:

Modbust TCP 支持。 基于 TCP/UDP 和 COM 端口的 Modbus RTU。 可配置的字节交换、字交换 可配置的“基本”地址,因此您可以选择地址 1 作为地址 0(听起来很愚蠢,但我更喜欢始终以与记录相同的方式指定地址) 它必须支持读取多个地址作为一个块,但它需要灵活,如果块中的任何地址未使用/保留,某些 modbus slave 将返回错误。

【讨论】:

【参考方案3】:

AdvancedHMI 包含一个驱动程序包,它几乎适用于任何通信,但如果你想要的只是 Modbus,它可能有点重。 AdvancedHMI 也在积极开发中,拥有强大的用户群。 http://sourceforge.net/projects/advancedhmi/

NModbus 似乎是最有可能继续开发的,并且有许多示例项目分散在互联网上。 https://code.google.com/p/nmodbus/

我过去喜欢使用这个(通过 TCP 的 Modbus): http://www.codeproject.com/Tips/16260/Modbus-TCP-class

Modbus 到 Siemens Logo PLC 有点不同。我有一个示例项目,可以根据要求发送。

【讨论】:

【参考方案4】:

查看 Colway Solutions http://www.colwaysolutions.com 提供的产品。他们有一个独特的许可方案,您可以为您希望使用的每个 Modbus 功能代码付费。它不是免费的,但价格似乎很低。我还看到了该库的一些端口,用于一些流行的微控制器和 RTOS。

【讨论】:

【参考方案5】:

FieldTalk Modbus 库 - 处理所有 Modbus 功能

【讨论】:

以上是关于是否有一个很好的库来处理 .NET 中的 Modbus 协议? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

用于快速流/批处理三角函数(Atan)的良好 .NET 库?

带有 MagicalRecord 的 JSONModel

降噪库? [关闭]

是否有一个好的 C++ 库来读取、创建和修改 BER 编码文件?

用于读取视频帧的 .NET 库

用于在 iPad 上显示图像集的库