我一直在网上阅读,无法找到有关在c#中使用RS485 MultiDrop连接的任何信息
提供一些见解。我编写了一个使用MODBUS RTU协议与串行设备通信的应用程序。现在,客户已通知我,可以使用多点通信链接连接设备。在使用串口设备时,作为一个新手我在这里有点迷失。
我的问题很简单:我从哪里开始?到目前为止,谷歌搜索只为不同的串行通信标准生成硬件转换器和维基百科条目。
谢谢!
答案 0 :(得分:1)
RS485是一种标准,用于定义特定多点网络布置的电气特性。我曾经用它作为仪器的内部总线 - 主控制板驱动各种泵安装在RS485网络上。
您可以获得半双工和全双工安排(一半意味着一个设备可以一次通话 - 完全意味着发送和接收可以同时发生)。
真正使用它与使用RS232或串口并没有太大区别,正如您所见,您可以连接到RS485转换器。您可以使用C#中的串行端口驱动程序来使用它。
你的主要问题是RS485并没有真正解决它应该如何使用 - 它是一个相当低级别的电气规范,它没有定义你应该如何使用它来进行通信。
您需要考虑的主要问题是如何协调所有这些。使用RS232 - 有两个连接的东西,这很容易 - 通常是一台计算机和一些设备。使用RS485,有很多东西可以连接。所以你需要一些方法来解决每个设备。您没有提供有关此处提到的“设备”的任何详细信息 - 但如果它们打算在RS485上连接 - 那么将有一种解决方法。然而,有几种方法可以工作 - 所以我无法在没有更多细节的情况下帮助您。使用我开发的系统,所有通信都由“主”设备(例如我的控制板 - 或您的c#应用程序)启动,并且每个发送的消息都有接收器的地址 - 因此正确的泵知道该指令是预期的为了它。
我希望这有一些帮助。真的不是那么复杂,但你需要考虑这些设备的作用,它们是如何处理的,并考虑你需要来回发送的消息。您可以使用C#SerialPort类来实际完成工作。
另一个答案中提到的那本书看起来很棒。我真的会考虑购买它,如果这对你来说是全新的。它涵盖了串口通信,并有一章关于RS485。
答案 1 :(得分:0)