Modbusとは何? わかりやすく解説 Weblio辞書 (original) (raw)

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: "Modbus"ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2025年12月)

ModbusはModicon社が1979年、同社のプログラマブルロジックコントローラ (PLC) 向けに策定したシリアル通信プロトコルである。産業界におけるデ・ファクト標準の通信プロトコルとなり、現在では産業用電子機器を接続する最も一般的手段となっている。Modbusが他の通信プロトコルより普及した理由は以下の通りである。

Modbusは同じネットワークに多数の機器を接続して通信可能である。例えば、温度と湿度を測定するシステムがその測定結果をコンピュータと通信するといった使い方がある。ModbusはSCADAシステムにおける監視コンピュータと遠隔端末装置 (RTU) の接続に使われることが多い。

プロトコルのバージョン

Modbusプロトコルには、シリアルポート向けバージョン、イーサネットその他のインターネット・プロトコル・スイートをサポートしたネットワーク向けバージョンがある。

Modbus機器の多くはシリアルのEIA-485物理層上で通信する[1]

シリアルコネクションは2種類あり、数値データの表現が異なり、プロトコルの詳細も若干異なる。Modbus RTU はデータのコンパクトなバイナリ表現である。Modbus ASCII は人間が読める表現で、より冗長である。これらはいずれもシリアル通信を用いる。RTUフォーマットではコマンドやデータに巡回冗長検査 (CRC) チェックサムが付き、ASCIIフォーマットは水平冗長検査 (LRC) チェックサムを用いる。各ノードはRTUを使うかASCIIを使うかが設定されており、異なるフォーマット同士では通信できない。

TCP/IP(例えばイーサネット)上のコネクションでは、より新しい Modbus/TCP を使う。こちらではチェックサムは下位層に任せている。

データモデルとファンクションコールはこれら3種類のプロトコルで同一である。カプセル化方式だけが異なる。

拡張バージョンである Modbus Plus (Modbus+ or MB+) もあるが、Modicon 社の独自仕様である。高速なHDLC風トークンローテーションを扱うために専用のコプロセッサを必要とする。撚り線対で1Mbit/sの通信を行い、レベルトリガではなくエッジトリガで通信する。Modbus Plus をコンピュータに接続するには特殊なインタフェースが必要であり、一般にISAやPCIやPCMCIAの専用カードを使う。

通信と機器

Modbusを使って通信する各機器には一意なアドレスが与えられる。シリアルおよびMB+のネットワークでは、マスターとされたノードだけがコマンドを発行できる。イーサネットでは任意のノードがコマンドを発行できるが、一般に唯一のマスターノードがコマンドを発行する。Modbusコマンドには、それを実行させたい機器のModbusアドレスが含まれている。指定された機器だけがそのコマンドを実行し、他の機器はたとえ受信しても何もしない(ただし、ブロードキャスト型のコマンドもある)。Modbusコマンドにはチェック情報が含まれ、受信したコマンドが壊れていないことを確認できる。基本Modbusコマンドは、RTUに対してそのレジスタの1つの値を変更させたり、I/Oポートの読み書きをさせたりできる。さらに機器に対してそのレジスタ内の値を送り返させることができる。

Modbusは非常に単純なプロトコルでコピー規格もあるため、これをサポートするモデムやゲートウェイは多数存在する。また、Modbusプロトコル専用の機器も存在する。有線だけでなく無線通信による実装や、SMSGPRSによる実装もある。そのような設計では、高レイテンシとタイミングを考慮する必要がある。

実装

ほとんど全ての実装において、公式の規格からの逸脱が見られる。したがって、異なるベンダーの機器同士では正しく通信できない可能性がある。違いがよく見られるのは以下の点である。

制限

脚注

  1. ^ Technote 27 - Modbus/RS485 Questions Obvius Holdings LLC

外部リンク

オープンソース

インダストリアルオートメーション通信プロトコル
プロセスオートメーション AS-i(英語版) BSAP(英語版CC-Link CIP(英語版CAN bus CANopen DeviceNet(英語版) ControlNet(英語版) DF-1(英語版) DirectNET(英語版EtherCAT EGD(英語版) Ethernet Powerlink(英語版EtherNet/IP FIP(英語版) FINS(英語版) Fieldbus FOUNDATION fieldbus(英語版) H1(英語版) HSE(英語版) GE SRTP(英語版) HART Protocol(英語版) Honeywell SDS(英語版) HostLink(英語版INTERBUS IO-Link メカトロリンク MelsecNet(英語版) Modbus Optomux(英語版) PieP(英語版PROFIBUS PROFINET(英語版) RAPIEnet(英語版) SERCOS interface(英語版) SERCOS III(英語版) Sinec H1(英語版) SynqNet(英語版) TTEthernet(英語版
ファクトリーオートメーション FL-net MTConnect(英語版OPC OPC DA(英語版) OPC HDA(英語版) OPC UA(英語版SCADA
ビルオートメーション‎ 1-Wire BACnet BatiBUS(英語版) C-Bus(英語版) CEBus(英語版) DALI(英語版) DSI(英語版) DyNet(英語版EnOcean EHS(英語版) EIB(英語版) FIP(英語版KNX LonTalk Modbus oBIX(英語版) VSCP(英語版X10 xAP(英語版) xPL(英語版Z-Wave ZigBee
電源システムオートメーション(英語版)(スマートグリッド) IEC 60870(英語版) IEC 60870-5(英語版) IEC 60870-6(英語版) DNP3(英語版) FIP(英語版) IEC 61850(英語版) IEC 62351(英語版) Modbus PROFIBUS
自動メーター測定(英語版)(スマートメーター) ANSI C12.18(英語版) IEC 61107(英語版) DLMS/IEC 62056(英語版) M-Bus(英語版) Modbus ZigBee
自動車電子技術 AFDX(英語版) ARINC 429(英語版CAN bus ARINC 825 SAE J1939(英語版) NMEA 2000(英語版) FMS(英語版) FIP(英語版FlexRay IEBus(英語版SAE J1587(英語版) J1708(英語版KWP2000 UDS LIN(英語版MOST VAN(英語版) UAVCAN(英語版
関連項目 通信プロトコル 産業用イーサネット PLC シーケンス制御 ラダー・ロジック IEC 61131-3 分散制御システム 自動化情報システム 製造実行システム M2M メカトロニクス インダストリー4.0 スマートファクトリー インダストリアルインターネット コンピュータ統合生産 第四次産業革命 ソサエティー5.0 ホームオートメーション BIM デジタルツイン IoT
カテゴリ オートメーション 通信プロトコル 組み込みシステム ファクトリーオートメーション ビルオートメーション 自動車電子技術 情報システム 制御工学