ModbusはアメリカのModicon Inc.により開発されたPLC用のネットワークです。仕様は一般に公開されており、FA業界では汎用的に採用されているネットワークの一つです。他のネットワーク規格と異なり、組織的に運用されていないため、対応機器同士を実際に接続できるかは実機による検証が必要になります。
Modbusはマスタ・スレーブ方式で通信をしており、すべてマスタ側からコマンドを送信して通信します。Modbus通信には一般的に、コイル、入力ステータス、入力レジスタ、保持レジスタの4種類のデータ領域に対してコマンドを使用して読み書きします。各データに対する読み書き用のファンクションコードは固定で用意されており、固定で用意されたファンクションコード以外に、独自に定義したファンクションコードを使用することもできます。
配線方法
Modbusは通信プロトコルの規定のみであり、通信ケーブルは規定されていません。一般的にModbusとだけ記載されている場合はRS-232CやRS-485などシリアル通信をベースに接続するケースが多くなっています。イーサネット上で通信する場合はModbus/TCPと明示されていることもあります。
通信プロトコル
マスタ・スレーブ方式で通信しており、マスタのみが通信開始を実行することができます。マルチスレーブ方式のため、複数のスレーブに対して一括で指令を送信することもできます。信号を受信したスレーブは自分に対する指令の場合のみレスポンスを返し、それ以外の場合は無応答状態となります。伝送フォーマットは局番号、データ、チェックコードで構成されています。伝送モードを選択すると、伝送データをASCII文字列とバイナリデータのどちらにするかを選択できます。ASCII文 字 列 の 場 合、ASCI(I American Standard Code for Information Interchange)モード、バイナリデータの場合、RTU(Remote Terminal Unit)モードを選択します。伝送モードは接続するスレーブ局で共通にする必要があります。
Modbus/TCP
イーサネット(TCP/IP)ベースのネットワークです。
Modbus RTU
バイナリデータでデータ伝送するネットワークです。