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