通信/ネットワーク

エムエスツデー 1999年11月号

計装豆知識

Modbus(モドバス)印刷用PDFはこちら

通信プロトコルとしてModbus Protocolを実装したネットワークを、Modbusと呼んでいます。Modbus Protocolは、Modicon Inc.(AEG Schneider Automation International S.A.S.)がPLC用に開発した通信プロトコルであり、その仕様は公開されています。現在、WEBページ http://www.modicon.com/ で、そのプロトコル仕様書(PI-MBUS-300 Rev.J)を閲覧できます。 Modbus Protocolで定義されているのは、通信プロトコルだけで、通信媒体などの物理レイヤは規定されていません。物理レイヤとしては、RS-232やRS-485が一般に使われています。EthernetやMAPなど他のネットワーク上にModbus Protocolのメッセージを組み入れた通信もあります。この場合には、マスタ/スレーブ通信だけでなく、1対1通信も可能になります。

図1 Modbusマルチアナログ入出力ユニット(形式:60M)

Modbus は、そのプロトコルの仕様が公開されているうえに、非常にシンプルであるため、FAやPAの分野で広く使われています。他のフィールドバスの規格とは異なり、検証や認定の組織はありません。したがって接続にあたっては、接続が可能かどうか実証確認が必要です。図1に、Fisher-Rosemount Systems Inc.社DeltaV Systemとの接続が可能な製品の一例として、エム・システム技研のModbusマルチアナログ入出力ユニット(形式:60M)を示します。

Modbus Protocol

Modbus Protocolの通信方式は、シングルマスタ/マルチスレーブ方式です。マスタだけがクエリー(通信の開始)を発行することができます。スレーブは、このクエリーを見て、指定された機能を実行し、応答メッセージを返します。マスタは、指定のスレーブに対するクエリーまたはすべてのスレーブに対するブロードキャストクエリーのいずれかを発行することができます。ブロードキャストクエリーの場合には、スレーブは、指定の機能を実行するのみで応答メッセージは返しません。スレーブは、自分に対するクエリーのときにだけ応答メッセージを返します。

クエリーの伝送フォーマットは、スレーブのアドレス(またはブロードキャスト)、要求内容を定義するファンクションコード、データおよびエラーチェックフィールドから構成されています。また、応答メッセージの伝送フォーマットは、要求内容の確認フィールド、応答データおよびエラーチェックフィールドから構成されています。クエリーと応答メッセージの伝送フォーマットを図2に示します。

シリアル伝送モードにはASCII(American Standard Code for Information Interchange)モードとRTU(Remote Terminal Unit)モードの2種類があり、選択することができます。ただし、1つのネットワーク上では、すべてのデバイスが同一モードでなくてはなりません。

図2 伝送フォーマット

ASCIIモードでは、1バイト(8ビット)データを2文字のASCIIコードに変換して伝送します。RTUモードでは、1バイト(8ビット)データをそのまま伝送します。ASCIIモードより伝送効率が良いこともあり、RTUモードが主に使用されています。

なお、伝送モードによってエラーチェックフィールドのチェックアルゴリズムが異なります。ASCIIモードの場合にはLRC(Longitudinal Redundancy Check)法が、またRTUモードの場合にはCRC(Cyclical Redundancy Check)法が採用されています。


ページトップへ戻る