有没有一个在.NET中处理Modbus协议的好库?

21

有没有人知道一个好的(最好是开源的)用于处理Modbus协议的库?我看过一些库,但我正在寻找一些人的个人经验,而不仅仅是谷歌搜索结果中的前十名。我认为至少还有其他一个像我一样处理PLC和自动化硬件的人存在。

也欢迎分享其他可能对你有用的材料...


1
这里有一个可用库的完整列表:http://www.modbus.org/tech.php - Musculaa
5个回答

22

在过去几年里,我一直与设备进行沟通,因为我在一个家庭自动化公司工作,但我们不使用Modbus。我们使用标准和开放的方式进行通信,使用“Web Services for Devices(WSD)”,也称为Web服务设备配置文件(DPWS)

在此期间,有一次我听说了一个名为NModbus的项目。它是一个用于处理Modbus的开源库。虽然我没有使用过它,但看到该网站和Google Code上的更改记录,它似乎很活跃。您可以尝试查看并参与其中。这是我所听说的唯一针对.Net的库。


是的,我看过nmodbus,看起来还不错,但上次我尝试时它有点粗糙。我会再试一次。 实际上,我现在对阅读WSD感兴趣。谢谢提供链接! - GEOCHET
当然可以。WSD确实是未来的发展方向。Modbus是一个非常古老的协议,我知道你可能没有选择,但现在的设备开始针对WSD进行开发了。 - Dale Ragan
1
NModbus 真的很棒,点赞! - castle1971

6
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连接到西门子Logo PLC有一点不同。如果需要,我可以发送一个示例项目。

5

Modbus是一种非常简单易实现的协议。你可以轻松地在互联网上找到所需的所有信息。

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

如果你选择使用Modbus主库,我建议你寻找以下功能:

  • 支持Modbus TCP。
  • 支持通过TCP/UDP和COM端口进行Modbus RTU。
  • 可配置字节交换、字交换。
  • 可配置“基地址”,这样你就可以选择将地址1实际上作为地址0(听起来很愚蠢,但我更喜欢按照文档中指定的方式指定地址)。
  • 它必须支持读取多个地址作为一个块,但需要灵活处理,因为某些Modbus从设备将在块中有未使用/保留的地址时返回错误。

1

FieldTalk Modbus库 - 处理所有Modbus功能


从定价角度来看,它不是免费的吗? - mlvljr

-1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接