2011-08-16 27 views
1

我一直在网络上阅读起来,无法找到与C#C#中的SerialPort多点连接

一个RS485多点连接工作要给予洞察力位的任何信息。我已经编写了一个应用程序来使用MODBUS RTU协议与串行设备进行通信。现在,客户已通知我,可能使用多点通信链接连接设备。当谈到使用串口设备时,作为新手我有点迷路了。

我的问题很简单:我从哪里开始?迄今为止Google搜索仅针对不同的串行通信标准生成硬件转换器和维基百科条目。

谢谢!

回答

1

RS485是一个标准,它定义了特定多点组网布局的电气特性。我曾将它用作仪器的内部总线 - 主控制板驱动布置在RS485网络上的各种泵。

您可以获得半双工和全双工安排(一半意味着一个设备可以同时通话 - 完整意味着发送和接收可以同时发生)。

真正使用它与使用RS232或串口没有太大的不同,正如您所见,您可以获得串口到RS485转换器。您可以使用C#中的串行端口驱动程序来使用它。

SerialPort Class

你的主要问题是,485并没有真正解决这个问题应该如何使用 - 它是一个相当低的水平的电气规格,它没有定义,你应该如何使用它来使通信发生。

你需要考虑的主要问题是你如何协调所有这些。使用RS232 - 有两件事情连接起来,这很容易 - 通常是一台电脑和一些设备。使用RS485,连接了很多东西。所以你需要一些解决每个设备的方法。你没有提供关于这里提到的'设备'的任何细节 - 但是如果它们打算用RS485连接 - 那么将有一种解决它们的方法。然而,有几种方法可以工作 - 所以我无法帮助你了解细节,而没有更多细节。使用我开发的系统,所有通信都是由'主'设备启动的(例如,我的控制板 - 或者您的c#应用程序),并且发送的每条消息都有接收器的地址 - 所以正确的泵知道该指令是有意的为了它。

我希望这有些帮助。其实它并不那么复杂,但你需要考虑这些设备的功能,如何解决这些设备,以及思考需要来回发送的消息。您可以使用C#SerialPort类来实际完成这项工作。

在另一个答案中提到的书看起来不错。如果这对你来说全新的话,我真的会考虑购买它。它涵盖了串口通信,并且有关于RS485的一章。

+0

我还应该指出,USB本身并不像串行端口。是的,您可以获得USB串行端口转换器,但是这些设备可以插入USB端口,但看起来像应用程序软件的串行端口。 – iandotkelly

+0

非常感谢您的帮助。我的'设备'是我公司生产的自动化控制设备...所以没有任何规格可供您查找。我正在使用MODBUS RTU协议进行通信。我很困惑,因为我所接受的术语是错误的。他们只是希望能够从可用从站列表中选择不同的从站设备。我的应用程序是主人。你的答案写得很好,内容翔实。复选标记。 – rlemon

0

我没有使用RS485,但this book可以帮助理解串口和USB。

here是另一个讨论规范的链接,here是另一个链接。我不认为他们会很容易在C#中实现,但可能会。