2011-08-16 22 views
1

私は、ウェブ上に読んでいると洞察力のビットを与えるためにC#C#のSERIALPORTマルチドロップ接続

でRS485マルチドロップ接続での作業上の任意の情報を見つけることができません。 MODBUS RTUプロトコルを使用してシリアルデバイスと通信するアプリケーションを作成しました。クライアントは、マルチドロップ通信リンクを使用してデバイスが接続されている可能性があることを通知しました。シリアルデバイスで作業する場合、初心者であるため、私はここで少し失われています。

私の質問は簡単です:どこから始めますか? Googleの検索ではこれまで、さまざまなシリアル通信規格のハードウェアコンバーターとウィキペディアのエントリしか製作されていませんでした。

ありがとうございます!

答えて

1

RS485は、特定のマルチドロップネットワーク構成の電気的特性を定義する標準です。私はこれを一度、機器の内部バスとして使用しました。メインコントロールボードは、RS485ネットワーク上に配置されたさまざまなポンプを駆動しました。

半二重と全二重の設定(半分は、1つのデバイスが一度に話すことができることを意味します。完全な送信と受信は同時に発生します)。

実際にはRS232またはシリアルポートを使用するのとは全く違うものではありません。見たように、RS485コンバータにシリアル接続することもできます。シリアルポートドライバを使用してC#で使用することができます。そのかなり低いレベルの電気仕様では、それはあなたがコミュニケーションを実現するためにそれを使用する方法を定義していない -

SerialPort Class

あなたの主な問題は、RS485は本当にそれがどのように使用するか対応していないということです。

あなたが考慮する必要がある主な問題は、このすべてをどのように調整するかです。 RS232には2つのものが接続されています。これにより、通常はコンピュータとデバイスが簡単になります。 RS485では、多くのものが接続されています。したがって、各デバイスに対処する方法が必要です。ここで言及されている「デバイス」についての詳細は述べていませんが、RS485に接続する予定の場合は、そのデバイスに対処する方法があります。しかし、これがうまくいくいくつかの方法があります - 私は詳細なしで詳細についてあなたを助けることができません。私が開発したシステムでは、すべての通信は「マスタ」デバイス(たとえばコントロールボードまたはC#アプリケーション)によって開始され、送信された各メッセージには受信者のアドレスが記載されていたため、それのための。

私はこれが助けになることを望みます。実際にはそれほど複雑ではありませんが、これらのデバイスが何をしているのか、どのように対処しているのか、前後に送るメッセージについて考える必要があります。 C#SerialPortクラスを使用して実際に作業を行うことができます。

他の回答に記載されている本は素晴らしい方法です。これがあなたにとって全く新しいものなら、私は本当にそれを買うことを検討するだろう。シリアルポート通信を扱い、RS485に関する章があります。

+0

私は、USB自体はシリアルポートのようなものではないことを指摘しておきます。はい、USBシリアルポートコンバータを入手できますが、これらはUSBポートに接続するデバイスですが、アプリケーションソフトウェアのシリアルポートのように見えます。 – iandotkelly

+0

ありがとうございました。私の「デバイス」は、私の会社が生産する自動化制御デバイスです。あなたが見つけることができるような仕様はありません。 MODBUS RTUプロトコルを使用して通信しています。私が与えられていた用語が間違っていたので、私は混乱しました。彼らは、利用可能なスレーブのリストから異なるスレーブデバイスを選択する機能を望んでいました。私のアプリケーションはマスターです。あなたの答えはよく書かれ、有益です。チェックマーク。 – rlemon

0

私はRS485で作業していませんが、this bookはシリアルポートとUSBの理解に役立ちます。

hereは、仕様を議論する別のリンクであり、hereは別です。私は彼らがC#で簡単に実装されるとは思っていませんが、可能性があります。