1

Modbus プロトコル データ モデルのレジスタ間の正確な違いは何ですか?

プロトコルは、次のデータ モデルを定義します。

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

誰が正確に読み書きを許可されていますか? マスター(クライアント)またはスレーブ(サーバー)に適用されますか。アクセス制限がマスターに適用される場合、読み取り専用レジスターの「入力」という言葉は私にはあまり意味がありません。逆の場合、スレーブが変更できないレジスタを持っているのはなぜですか?

公式のプロトコル仕様ドキュメントはその問題について明確ではないので、助けてください。

ありがとう

4

3 に答える 3

1

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

読み取り/書き込みエレメントは、コントローラー出力に表示される状態情報をスレーブに送信できるようにするレジスターです。状態を制御できるように書き込み可能であり、書いたものが実際にそこに到達したことを確認できるように読み取り可能です。

道路の下に交通センサーを備えた交通信号コントローラーの例。センサーは読み取り専用で、ライト コントロール (赤、アンバー、グリーン) は読み取り/書き込み可能なため、照明の状態を設定および確認できます。

于 2011-07-01T09:13:07.047 に答える
0

Modbus データ モデルの正式な説明は、次のリンクから modbus.org から入手できる Modbus アプリケーション プロトコル仕様のセクション 4.3 にあり ます。

仕様には、Modbus データ モデルの実装例が 2 つ示されていることに注意してください。1 つは各レジスタ タイプが異なるメモリ ロケーションに配置され、もう 1 つはすべて同じメモリに配置されます。後者の場合、入力レジスタ #1 (16 ビット) にはディスクリート入力 #1 から #16 のステータスが含まれます。

于 2011-09-06T12:24:07.713 に答える
0
  1. ディスクリート入力 - ブール入力の読み取り (0V/5V、0V/24V、デジタル出力付きセンサー、閉回路など)
  2. コイル - ブール出力を書き込みます (出力に電圧を強制し、リレーをオン/オフします...)
  3. 入力レジスタ - アナログ入力を読み取る (生の温度、流量、圧力を読み取る... 通常は電圧または電流を介して)
  4. 保持レジスタ - アナログ出力を書き込みます (生の出力値を強制します... 通常は電圧または電流)

自分でスケーリングする必要がある生の値、または工学単位で表された既にスケーリングされた値を処理する可能性があることに注意してください。ワード型はそれにはあまり適していないため、通常は 2 つの 16 ビット レジスタを組み合わせて 1 つの浮動小数点 32 ビット レジスタを取得します。

于 2011-09-06T13:14:36.203 に答える