2011-06-30 16 views
1

Modbusプロトコルデータモデルのレジスタの違いは何ですか?正確に読み取りと書き込みを許可され
Modbusプロトコルデータモデルのアクセス制限

| Discretes Input | Single bit | Read-only | 
| Coils    | Single bit | Read-write | 
| Input Registers | 16-bit  | Read-only | 
| Holding Registers | 16-bit  | Read-write | 

プロトコルは、以下のデータモデルを定義しますか?これは、マスター(クライアント)またはスレーブ(サーバー)に適用されます。アクセス制限がマスタに適用される場合、読み取り専用レジスタ内の単語「入力」は私にはあまり意味がありません。別の方法であれば、なぜスレーブには変更できないレジスタがあるのでしょうか?

公式のプロトコル仕様書ではその問題が明確ではないので、助けてください。

ありがとう

答えて

1

スレーブデバイスは、通常、監視している外部ユニットへの多数の入力インターフェイスを備えています。これらの入力の状​​態がどのようなものかを知りたいので、その状態に基づいて何らかの決定を行うことができます。これらの入力はあなたによって変更することができないため、読み取り専用です。スレーブは入力状態を取り出し、それらをレジスタ内の読み取り専用値として渡します。スレーブは、入力の物理的状態に基づいてレポートを作成します。

読み書き要素は、コントローラの出力に表示されるスレーブに状態情報を送信できるレジスタです。彼らは書かれているので、自分が書いたことが実際にそこにあることを確認できるように、あなたは自分の状態と読書を制御することができます。

道路の下に交通センサーを搭載した信号機コントローラの例。センサーは読み取り専用で、ライトコントロール(赤色、琥珀色、緑色)は読み取り/書き込み可能なので、照明の状態を設定して確認できます。

+0

したがって、入力方向はスレーブからマスターまでです。それはそれをより明確にします。 – udushu

+0

この回答は、Modbusプロトコル仕様[このリンクに記載されています](http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf)の7ページの例2のように、Modbusデータモデルを実装するデバイスには適用されません。 – helioz

0

のModbusデータモデルの正式な説明は、このリンクを介してmodbus.orgから入手できるのModbusアプリケーション・プロトコル仕様のセクション4.3にあります http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf

仕様がの2つの例を示していることに注意することが重要ですModbusデータモデルの実装。各レジスタタイプが異なるメモリ位置に配置され、他のレジスタタイプがすべて同じメモリ内に配置されるレジスタタイプ。後者の場合、入力レジスタ#1(16ビット)で は、ディスクリート入力は#16

0
  1. にディスクリート入力#1のステータスを含むであろう - (ブーリアン入力を読み取る0V/5V、0V/24V、デジタル有するセンサ等出力、閉回路...)
  2. コイル - 書き込みブール出力(出力にある電圧を印加し、リレーをオン/オフする...)
  3. 入力レジスタ - アナログ入力を読み取ります(未処理の温度、流量、圧力を読み取ります)。 ..通常は電圧または電流を介して)
  4. 保持レジスタ - アナログ出力を書き出します(一部の生の出力値を強制します...通常電圧または電流)

あなたの側でスケーリングしなければならない生の値や、エンジニアリング単位で表された既定のスケーリングされた値を扱うかもしれないことに注意してください。ワードタイプはそれほどうまくないので、通常は2つの16ビットレジスタを組み合わせて1つの浮動小数点32ビットレジスタを取得します。

関連する問題