我々はModbusプロトコルを読むと、常にいくつかの混乱しやすい用語に遭遇し、プロトコルの解釈に問題が発生しますが、この記事では、我々は皆に混乱を引き起こす可能性のあるModbusプロトコルの用語について説明します。

1.機能コード:
modbusプロトコルの機能コードは、情報フレーム機能を表すために使用され、一般的に使用される機能コードは0 3、0 4、0 6、16などであり、0 3機能コードの役割は、保持レジスタの内容を読み取ることであり、0 4機能コードの役割は、入力レジスタの内容(入力レジスタと保持レジスタの違いは以下を参照)を読み取ることであり、0 6機能コードの内容は、単一の保持レジスタをプリセットし、16機能コードの内容は、複数の保持レジスタをプリセットすることです。
2.入力レジスタとホールドレジスタ:
0 4機能コードの役割は、入力レジスタを読み取ることであり、0 3機能コードの役割は、レジスタを保持することであり、2つの機能コードを見て多くの人々は、常に2つの機能コードの違いを見つけたい、レジスタと入力レジスタを保持し、違いは何ですか、modbusプロトコルは、PLC通信プロトコルの問題を解決するために最初に使用され、主に入出力デジタル信号とアナログ信号に使用され、いわゆる入力レジスタは、アナログ信号入力から派生したものです。すなわち,入力レジスタはアナログ信号入力端からのみレジスタを変更でき,ホストは入力レジスタのデータをダウンコマンドで変更できず,ホールドレジスタはアナログ信号を出力するために使用され,ホストはレジスタデータを変更できます,つまりホストにとって入力レジスタは読み取り専用であり,ホールドレジスタは読み書きが可能であり,ホストは06,16関数コードの命令で入力レジスタをプリセットする場合,このデバイスは、読み取り専用レジスタへの書き込みを試みたコード0 x 81のエラーコードを返します。
Modbusのデータアドレス形式:
Modbusプロトコルでは、3 xxxx,4 xxxxレジスタと同様のレジスタがしばしば存在し、レジスタがサポートするデータ型を表します。リストを使用して、0から始まるModbusデータアドレスフォーマットもあります。例えば、次のレジスタ40009、つまり、レジスタアドレスは0 0 0 8であり、同様のデータアドレスフォーマットは設定ソフトウェアやPLCシステムでよく使用されます。
| マップアドレス | 使用した機能コード | アドレスの種類 | アクセス方法 | 説明する。 |
| 0XXXX | 01,05,15 | ディスクリート出力 | 読み取りと書き込み | 各ボリュームは単一のスイッチビットを表す |
| 1XXXX | 02 | ショップ型入力 | 読み取り専用 | 各ボリュームは単一のスイッチビットを表す |
| 2XXXX | 03,04,06,16 | 浮動小数点レジスタ | 読み取り専用/読み取り専用 | 2つの連続した16ビットレジスタは浮動小数点数を表す。 |
| 3XXXX | 04 | 入力レジスタ。 | 読み取り専用 | 各レジスタは16ビットの符号なし整数を表す。 |
| 4XXXX | 03,06,16 | レジスタを保持する。 | 読み取りと書き込み | 各レジスタは16ビットの符号なし整数を表す。 |
| 5XXXX | 03,04,06,16 | ASCII文字 | 読み取りと書き込み | 各レジスタは2つのASCIIコードを表す。 |
4.Modbus RTU/ASCII/TCP:
Modbusプロトコルは当初プログラマブルロジックコントローラ(PLC)間の通信に使用され、そのオープン性のためにフィールドのスマートメーターに多く使用されています。Modbusプロトコルにはいくつかのバリエーションがあり、最も有名なのはModbus RTUModbus ASCIIおよびModbus TCP通信プロトコル。RTU/ASCI Iプロトコルはシリアルポート通信に基づいており、TCPプロトコルはイーサネット通信に基づいています。
Modbusエラーコード表:
Modbusには機能コード、チェックコード、例外機能コード、エラーコードがあり、例外機能コードとエラーコードは非常に混乱しやすい。一般的に、異常機能コードは、対応する異常機能コードが実行される機能コードを指し、一般的には機能コードに基づいて0 x 80を追加します。例えば、0 3機能コードの異常コードは0 x 83異常機能コードであり、16機能コードは異常機能コードに対応する0 x 90であり、エラーコードは、レジスタアドレスが存在しない場合、読み取りまたは書き込みにかかわらず、レジスタアドレスが存在しないなどのエラーの特定の状況を示します。エラーコード0 2
发表回复