2011-08-16 26 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#中實現,但可能會。