Modbusは、業界で一般的に使用されているシンプルで信頼性の高いオープンな通信プロトコルであり、一般的なRS 232、RS 485、イーサネットを含む複数の通信媒体に実装できます。Modbus-TCPの普及に伴い、国際インターネット機構はModbusデバイスへのアクセス専用にTCP/IPプロトコルスタック上のSystem Port 502を指定し、維持した。
以下の図はModbusプロトコルスタックモデルの概要です。

Modbus 通信プロトコルは現在、シリアルリンク、TCP/IPイーサネット、その他のインターネットプロトコルをサポートするネットワークバージョンで使用されている。実際のアプリケーションでは、RS 485とTCP/IP経由で接続することが最も一般的です。以下はModbusプロトコルのバリエーションである。
Modbus RTU
Modbus RTUはModbusの最も一般的な実装であり、シリアル通信バス(RS 232、RS 485など)に基づいており、コンパクトなバイナリデータ形式を使用して通信する。RTUフォーマットは、データの信頼性を確保するために、エラーチェックメカニズムとしてコマンド/データの後に巡回冗長チェックチェックのチェックサムを備えています。Modbus RTUメッセージは文字間の躊躇なく連続的に送信される。Modbusメッセージはアイドル(サイレント)期間で構成(分割)される。

RTUモードの各バイト(11ビット)のフォーマットは次のとおりです。
| フレーム形式 | 説明書は |
|---|---|
| 符号化システム | 8ビット·バイナリ |
| データ·ビット | 1位スタート地点 8ビットのデータビット、最下位ビットを最初に送信 1ビットのパリティ(注:デフォルトの偶数チェックは必須ですが、奇数チェックまたはなしチェックも使用できます) 1ビットのストップビット(注:チェックなしを使用する場合は2ビットが必要) |
| フレーム送信方式 | 各文字またはバイトは左から右に送信されます |
| テスト済み | CRC(巡回冗長検査)、下位バイト先頭 |
| 開始/終了 | メッセージフレームは、少なくとも3.5バイト時間の空き間隔で1フレームのデータを区別します。 |
Modbus ASCII
Modbus ASCI IとModbus RTUはシリアルリンク通信を使用するが、Modbus ASCIIは人間が読める冗長な表現を採用し、データ伝送の完全性を保証するために垂直冗長チェックサムを使用する。Modbus ASCIIメッセージは、先頭のコロン“”および後続の改行CR/LFから構成される。

ASCIIモードの各バイト(10ビット)のフォーマットは次のとおりです。
| フレーム形式 | 説明書は |
|---|---|
| 符号化システム | 16進数、ASCII文字0-9、A-F |
| データ·ビット | 1位スタート地点 7ビットのデータビット、最下位ビットを最初に送信 1ビットのパリティ(注:デフォルトの偶数チェックは必須ですが、奇数チェックまたはなしチェックも使用できます) 1ビットのストップビット(注:チェックなしを使用する場合は2ビットが必要) |
| フレーム送信方式 | 各文字またはバイトは左から右に送信されます |
| テスト済み | LRC(垂直冗長検査)、下位バイト先 |
| 開始する。 | ASCII 16進数3Aに対応するコロンで始まる1つの |
| 終わりだ | キャリッジ-改行 |
フレームフォーマットが異なるため、RTUモードに設定されたノードはASCIIモードに設定されたノードと正常に通信できず、その逆も同様です。
Modbus TCP
Modbus TCP(またはModbus TCP/IP)は、ポート502経由で接続するTCP/IPネットワーク上の通信に使用されるModbusの変種である。前の2つとは異なり、Modbus TCPは下位層のTCP/IPプロトコルスタックがすでにチェックサム保護を提供しているため、チェックサム計算を必要としない。
チェックサムをペイロードに含め、とのフレームを形成するは、/IPと呼ばれる。

その他のバージョン
上記の3つの一般的なModbusプロトコルに加えて、以下のModbus拡張バージョンがあります。
Modbus over UDP
Modbus over TCPがあるので、UDP上でModbusを動作させようとする人も当然でしょう。これの利点は、TCPに必要なオーバーヘッドを排除することです。
Modbus Plus
Modbus Plus(Modbus+、MB+、MBP)プロトコルはシュナイダーエレクトリックが特許を取得しており、他のバリエーションとは異なり、複数のマスターステーション間のポイントツーポイント通信をサポートしている。ただし、HDLCライクな高速トークンローテーションを処理するために専用のコプロセッサが必要です。1 Mbit/sのツイストペアを使用し、各ノードにトランス絶縁を備えているため、電圧/レベルトリガではなく変換/エッジトリガになります。Modbus Plusをコンピュータに接続するには特別なハードウェアが必要で、通常はISA、PCI、PCMCIAバスをサポートするボードが必要である。
Pemex Modbus
Pemex Modbusは標準Modbusの拡張であり、履歴データとトラフィックデータをサポートします。Pemex Oil & Gas社のプロセス制御用に設計されたが、広く採用されることはなかった。
Enron Modbus
Enron Modbusは、Enron Corporationが開発した標準Modbusのもう一つの拡張であり、32ビットの整数変数と浮動小数点変数、履歴データとトラフィックデータをサポートしている。データ型は標準アドレスマッピングを使用します。履歴データは、データの保存方法に関するAPI(American Petroleum Association)の業界標準に準拠するために使用されます。
注意事項について
最初の4つのModbusプロトコル(Modbus RTU、Modbus ASCII、Modbus TCP、Modbus UDP)は、データモデルと関数呼び出しの点で同じであるが、送信されるメッセージのカプセル化方法が異なる。しかし、フレームフォーマットが異なるため、これらのプロトコルのバリエーションは相互運用可能ではない。
发表回复