Modbusとは?現場で役立つ基本と実装のポイントを徹底解説

日本

Modbusは、産業機器で長く使われてきた代表的な通信プロトコルです。仕様書が一般公開されており、無償で利用できることから、現在も工場の制御ネットワークや設備監視など、さまざまな産業用途で広く採用されています。
現場でネットワークの設計・立ち上げ・保守に携わるエンジニアはもちろん、産業用機器を扱う方にとっても、基本を押さえておくことで実務の判断がしやすくなります。
本記事では、Modbusの基本仕様、通信方式の種類、実装時につまずきやすいポイントなどを整理し、Modbusの入門編として必要な情報をわかりやすく解説します。

Modbusとは?

Modbusは、1979年にModicon社が開発した産業用の通信プロトコルです。通信プロトコルとは、異なる機器同士がデータをやり取りするための“共通ルール(約束事)”のことです。この共通ルールが公開されているため、特定メーカに依存せず、PLC・センサ・計測器・リモートI/Oなど幅広い産業機器で採用されています。
たとえば、PLCが温度センサの測定値を読み取り、その結果に応じてバルブの開閉指令を出す場合、どのデータをどの形式で読み書きするか、要求と応答の手順、異常時の返し方といった取り決めを定義するのがModbusです。
また、構造が比較的シンプルで、ハードウェア・ソフトウェアの実装負荷を抑えやすい点も特長です。そのため、現在も扱いやすい通信プロトコルの1つとして利用されています。

Modbus通信の基本

Modbus通信の基本は、
1.クライアントが要求を送り、サーバが応答を返す「要求/応答方式」、
2.機器内部のデータをレジスタで管理し、その位置を指定して読み書きする仕組み、
3.RTU・ASCII・TCPといった異なる通信方式が存在する、という3点に整理できます。
ここからは、この基本動作を前提に仕組みを解説します。

1.クライアント・サーバ構成の基本

Modbus通信では、要求を送る側をクライアント(旧称マスタ)、要求に応答する側をサーバ(旧称スレーブ)と呼びます。
クライアントが通信を開始し、特定のサーバに対してデータの読み出しや書き込みを要求すると、サーバはその要求を処理し、結果を応答として返します。
クライアント側で代表的な機器には、PLC・産業用PC・ゲートウェイなどがあり、サーバ側の機器には、リモートI/O・計測器・温度センサ・電力計などがあります。

たとえば、クライアントが温度センサに現在の温度の読み出しを要求した場合、サーバは保持している温度データを応答として返します。
なお、Modbus通信はクライアントが要求してはじめてサーバが応答する方式です。そのため、サーバからクライアントへ状態を自発的に通知することはありません。読み出しか書き込みかは、クライアントが送る要求の種類で決まります。

2.レジスタで情報を管理する仕組み

Modbus通信では、機器内部のデータをレジスタという単位で整理し、その種類と位置を指定して値を読み書きします。レジスタ構成は機器ごとに異なるため、実装やトラブル対応ではレジスタマップの把握が欠かせません。この章では、その仕組みと代表的なデータ領域を整理します。
Modbusでは、機器が扱うデータをレジスタとして整理し、クライアントが読み出しや書き込みの対象を指定して通信します。
レジスタとは、機器内部の値を参照するための管理単位であり、温度・回転数・設定値・入出力の状態などがそれぞれ割り当てられています。
通信では、クライアントが対象のデータ領域と位置を指定し、読み出しまたは書き込みの要求を送ります。サーバは要求の種類に応じて、読み出しでは値を応答として返し、書き込みでは処理結果を返します。
なお、どのデータがどのレジスタに割り当てられているかは機器ごとに異なります。実装やトラブルシューティングでは、対象機器のレジスタマップ(データ一覧)を確認し、読み書き対象と意味を対応付けることが必要になります。

代表的なデータ領域の種類は、以下の表の通りです。

  • 「Discretes Input」は仕様書によっては「Discrete Inputs」と記載されることもあるため注意が必要

Modbusの種類|RTU・ASCII・TCPの3つを押さえる

Modbusには、同じ通信ルールを共有しながらも、使用する通信媒体やデータの表現方法の違いによって「RTU」「ASCII」「TCP」という3つの方式があります。
RTU・ASCIIはRS-485などのシリアル通信を用いるのに対し、TCPはEthernet(LAN)を利用する点が大きく異なります。また、RTUは機器間の近距離通信、TCPは上位システムやネットワーク連携、ASCIIは解析しやすい保守用途など、用途にも明確な違いがあります。

    Modbusで代表的な方式は以下の3つです
  • Modbus-RTU
  • Modbus ASCII
  • Modbus-TCP

以降では、それぞれの特長と主な用途を解説します。

Modbus-RTU(Remote Terminal Unit)

Modbus-RTUは、RS-485などのシリアル通信ハードウェアを使用して、バイナリ形式(機器向けの0/1のデータ)で通信を行う方式です。
シリアル通信は、限られた本数の信号線でデータを順に送る通信方式で、産業機器では機器間の接続に広く用いられています。
バイナリ形式で送受信することで通信の電文が短くなり、高速かつ効率よく通信しやすい点が特長です。
RS-485などの通信ケーブルを使用した構成は配線距離を取りやすく、ノイズの影響も受けにくいため、工場設備や制御盤内の機器間通信などの環境でも広く利用されています。
またRTUでは、通信データの整合性を確認するため、メッセージの末尾に16ビットのCRC(巡回冗長検査)というチェック値を付けて送信し、受信側で照合します。

Modbus ASCII

Modbus ASCIIは、Modbus-RTUと同様に、RS-232・RS-485などのシリアル通信ハードウェアを使用して通信を行う方式です。
RTUがバイナリ形式でデータを扱うのに対し、ASCIIは英数字などの文字でデータを表現し、「:」(コロン)で始まりCR/LF(改行コード)で終わる形式で送受信します。
また、データ検証にはLRC(縦方向冗長検査)というチェック値を用い、受信側で照合する点が特長です。
文字として表現されるため通信内容を目で追いやすく、解析やデバッグを行いやすい点がメリットです。 一方でRTUと比べて電文が長くなりやすく、伝送効率や通信速度の面では不利になる傾向があります。
そのため、現場ではRTUを主に用い、保守・点検やトラブル時の確認用途としてASCIIを選択するなど、目的に応じて使い分けられる場合があります。
RTUと比べると使用頻度は低いものの、一部の機器ではModbus ASCIIが引き続き採用されているケースもあります。

Modbus-TCP

Modbus-TCPは、ModbusをEthernet(イーサネット)上で利用できるようにした方式です。
LANで広く使われる通信の仕組みであるTCP/IPを利用するため、LAN配線やスイッチングハブなど一般的なネットワーク機器を活用でき、既存の構成に組み込みやすい点がメリットです。
また、接続機器をIPアドレスで管理できるため、機器台数が多い構成でも整理しやすく、上位システムとの連携やデータ収集などにも適しています。
通信データはバイナリ形式のため電文をそのまま目で追うことは難しく、確認には解析ツールの利用が一般的です。一方、Ethernet(LAN)を利用できるため、シリアル通信と比べて高い通信速度を確保しやすい点も特長です。
なお、Modbus-TCPではデータ検証をTCP/IP側の仕組みで扱うため、Modbus-RTUで用いるCRC(巡回冗長検査)は通常使用しません。

Modbusが選ばれる5つの理由

Modbusが産業分野で選ばれ続けるのは、導入のしやすさ、扱いやすさ、互換性、柔軟性、拡張性という5つの実務的理由があるためです。コストを抑えつつシンプルに構築でき、メーカ混在環境でも使いやすく、RTU/TCPの両方式に対応できる点は設備の維持・更新にも強みを発揮します。

    Modbusが産業用途で広く採用されている理由

  1. 無料のオープン規格で導入しやすい
  2. シンプルなプロトコルで実装とデバッグが容易
  3. マルチベンダー環境で高い互換性を持つ
  4. RTUとTCPの両方式を選べる柔軟性
  5. リモートI/Oと相性がよく拡張性に優れる

以降では、各ポイントを順番に解説します。

1.無料のオープン規格で導入しやすい

Modbusは仕様が公開されているオープン規格であり、利用にあたって有償ライセンスを必要としません。そのため、特定ベンダーの製品や契約に縛られず、必要な機器を選んで構成しやすい点がメリットです。
通信規格の導入に伴うライセンス費用が発生しないため、初期費用を抑えやすく、拡張や機器追加のたびにコストが膨らみにくい点も実務上の強みです。
設備の立ち上げから運用、更新までを見据えた場合でも、導入・運用・維持の各コストを抑えやすい通信方式として選ばれています。

2.シンプルなプロトコルで実装とデバッグが容易

Modbusは通信の手順やデータの扱い方が比較的シンプルで、エンジニアが理解しやすい点が特長です。
レジスタを指定して読み出し・書き込みを行う動作が基本となるため、実装時の設計や設定の見通しを立てやすく、トラブル時も切り分けが行いやすくなります。
通信は要求と応答が基本となるためログを追いやすく、通信ログや解析ツールで内容を確認しながら、設定ミスや配線不良などの原因を特定しやすい点も実務上のメリットです。
これらの特長は、RTU・ASCII・TCPのいずれの方式でも共通して活かせます。

3.マルチベンダー環境で高い互換性を持つ

Modbusは特定のメーカの独自仕様に依存しにくく、異なるメーカの機器同士でも同じ通信ルールで連携しやすい点が強みです。
たとえば、PLCはA社、リモートI/OはB社、計測器はC社といった構成でも、接続方式やデータの読み出し・書き込み手順を揃えやすく、メーカ混在のシステムを組みやすくなります。
機器の追加や置き換えも容易に行えるため、既設設備の段階的な更新にも向いています。

4.RTUとTCPの両方式を選べる柔軟性

既設設備で多く使われてきたRTUと、Ethernet(LAN)を活用するTCPを、状況に応じてどちらでも選択可能な点が強みです。
既存の配線や機器構成を活かしてRTUで運用を続けつつ、増設や更新のタイミングでTCPを取り入れるといった段階的な移行がしやすく、設備投資を抑えながらシステムを拡張できる点もメリットです。
TCPは上位システムやIoTゲートウェイと連携しやすく、設備データの収集・可視化に加えて、異常の兆候監視や保守計画への活用など、工場のDX推進にもつなげやすい方式です。

5.リモートI/Oと相性がよく拡張性に優れる

ModbusはリモートI/O機器と組み合わせやすく、小規模な装置から設備全体まで段階的に拡張しやすい点も優れています。
リモートI/Oとは、センサやスイッチなど現場の入出力機器の信号を集約し、ネットワーク経由で産業用PCやPLCなどの制御コントローラと通信できる機器です。
Modbusはデータの参照や設定を一定の手順で扱えるため、リモートI/Oを増設して入出力点数を増やす場合でも、追加対象を整理しながら構成を拡張しやすくなります。
リモートI/Oについて詳しく知りたい方は、下記の記事もご参照ください。

関連記事:工場の省配線を実現するリモートI/O入門|耐環境に強い「Robust I/O」で実現する次世代制御

実務で押さえるModbusの注意点

Modbusはシンプルな通信方式ですが、設定や配線の前提を誤ると通信が途端に不安定になります。レジスタ番号の表記ゆれ、サーバIDの衝突、通信周期の設定ミス、RS-485配線の不備など、実務で押さえておきたい注意点について解説します。

レジスタ番号の0始まりと1始まりに注意

Modbusの実装でつまずきやすいポイントが、レジスタ番号の数え方です。
機器のマニュアルや設定画面では「1から数える」表記が使われる一方で、実際の通信では「0から数える」前提で扱われる場合があります。
数え方を取り違えると、読み書きする位置が1つずれ、想定と異なる値を参照したり設定を書き込んでしまう原因になります。
実装時は、対象機器のマニュアルでレジスタ番号の起点が0始まりか1始まりかを確認し、通信設定で指定する番号と一致しているかを必ず確認しましょう。
値が合わない場合、まずは起点のずれを疑うと問題の切り分けがスムーズです。
なお、メーカによっては、レジスタ番号の表記が10進数(decimal)と16進数(hex)で異なる場合があります。同じアドレスを指していても、10進の100が16進では0x0064のように表記が変わるため、通信ソフト側に入力する値とマニュアルの表記が一致しているかを必ず確認する必要があります。
また、アドレスに固定のオフセット(+1や +40001など)を加えて表記するメーカもあるため、表示されている数値をそのまま通信要求のアドレスとして指定すると、読み書き位置がずれる原因になります。
マニュアルのアドレス表記が
・「実際のアドレスそのもの」なのか
・「オフセット付きの表示番号」なのか
を事前に確認しておくことが重要です。

サーバIDの重複

サーバID(旧称スレーブID)とは、複数の接続機器の中から、クライアントが通信相手を識別するために用いる番号です。
機器ごとに割り振られる「識別番号」と考えると理解しやすいでしょう。
同一回線上で同じサーバIDの機器が複数存在すると、クライアントからの要求に対して複数の機器が応答し、通信が成立しない原因になります。
こうしたトラブルを避けるため、同一回線上では各機器に重複しないサーバIDを設定し、一覧として管理することが重要です。

通信周期・タイムアウト設定

Modbus通信では、クライアントがサーバに対して定期的に要求を送るため、通信周期とタイムアウト設定のバランスには注意が必要です。
通信周期を短くしすぎると、サーバが応答を返す前に次の要求が重なり、処理待ちが増えることでタイムアウトや通信エラーが発生しやすくなります。
トラブルを防ぐには、サーバの応答時間や接続台数を踏まえて通信周期を設定し、タイムアウトには一定の余裕を持たせることが重要です。
特に接続台数が多い構成では、通信周期を長めに設定すると安定しやすくなります。

RS-485の終端抵抗・配線距離

RS-485は産業用途で広く使われるシリアル通信規格の1つで、配線距離を取りやすくノイズにも比較的強い点が特長です。Modbus-RTUでは、このRS-485回線がよく使用されます。
配線は直線の数珠つなぎ(デイジーチェーン)構成を前提としており、配線の両端に「終端抵抗(しゅうたんていこう)」と呼ばれる抵抗器を入れて信号の反射を抑えるのが基本です。
終端抵抗が適切でない場合や、配線が想定と異なる場合、通信が不安定になりやすくなります。
現場で多い要因が、配線距離の取り過ぎと分岐の作り過ぎです。RS-485の伝送距離は目安として最大約1,200m(低速時)とされますが、通信速度や設置環境の影響を受けるため、安定運用のためには配線距離を必要以上に長くしないことが重要です。
また、中央から放射状に分岐するスター配線は信号反射や波形の乱れが起きやすく、通信不良の原因になりやすいため避けるのが基本です。

    安定した通信のためには、配線設計で次の点を意識しましょう。
  • 配線は可能な限り直線の数珠つなぎとし、分岐は最小限に抑える
  • 分岐が必要な場合も、枝線はできるだけ短くする
  • 終端抵抗は配線の両端にのみ配置する
  • 配線距離や接続台数は、通信速度と設置環境を踏まえて余裕を持たせる

Modbus入門の次ステップ:機器選定と接続設計

Modbus導入では、通信方式・機器の配置・クライアント選定といった基本設計を誤ると、運用後のトラブルや拡張時の手戻りにつながります。
そのため、導入時点で構成をどこまで柔軟にできるか、現場の制約と将来の拡張性を踏まえて判断することが重要です。
Modbusは扱いやすく導入が容易な通信プロトコルですが、実際の導入では機器の選び方と接続構成によって運用性が大きく変わります。
現場の制約に合わない構成では、立ち上げ後に通信品質が不安定になりやすく、増設や更新の際に設計変更の手戻りが発生しやすくなります。
そのため、機器選定と接続設計は初期段階で整理しておくことが重要です。
特に以下の項目は、要件と現場条件を踏まえて慎重に判断しましょう。

  • TCPとRTUのどちらを主体で構成するか
    設備データを上位システムへ収集したい場合はTCPを取り入れるメリットが大きく、既存のLAN機器を活用しやすい点も強みです。一方で既設設備では、RTUを継続した方が配線や改修の負担を抑えられるケースもあります。
  • リモートI/Oをどこに設置するか
    設置位置によって配線距離や保守性、増設のしやすさが変わるため、現場のレイアウトや将来的な拡張計画と合わせて検討する必要があります。
  • 産業用PCとPLCのどちらを採用するか
    クライアント側の機器は産業用PCとPLCのどちらを選ぶかで、制御を中心にするか、データ収集・可視化まで担うかといった役割分担が変わります。運用体制や必要な機能に合わせて選定しましょう。

これらの判断を誤ると、後々の拡張性やメンテナンス性に影響が出やすくなります。検討時は、既設配線や機器構成など導入時点で動かせない制約を先に整理したうえで、今後の増設・更新やデータ活用の方針まで見据えて構成を決めましょう。
あわせて、点検の頻度や対応者、トラブル時の手順など運用ルールも想定しておくと、立ち上げ後の手戻りや保守負荷を抑えやすくなります。

Modbusと相性の良いコンテック製品の紹介

Modbusは汎用性が高く扱いやすい一方で、実際の運用では「どの機器を組み合わせるか」によって、拡張のしやすさや保守負荷が大きく変わります。
本章では、Modbus環境で使いやすいコンテック製品を例に取り上げ、特長や導入イメージを整理します。機器選定や構成検討の参考としてご覧ください。

CONPROSYS® Robust I/Oシリーズ

CONPROSYS® Robust I/Oシリーズは、過酷な現場環境での利用を想定した耐環境性を備えるリモートI/Oです。
-25~70°Cの広い温度範囲で使用でき、過電圧・過電流保護に加えて、ESD/EFT耐性や耐サージ性能も備えています。 また、LANバイパスに対応しており、配線や保守の観点でも扱いやすい点が特長です。
I/Oはデジタル入出力やアナログ入出力などのラインアップが用意されており、用途に応じて選定できます。
Ethernetタイプでは、モデルによってLANポートを複数搭載するモデルもあります。
Modbus-TCP/RTUにも対応しているため、既設設備を含むさまざまな構成に組み込みやすく、メーカの異なる機器が混在する環境でも導入しやすい点がメリットです。

参考: CONPROSYS® Robust I/Oシリーズ

CONPROSYS® nanoシリーズ

CONPROSYS nanoシリーズは、10億分の1の単位を意味する「nano」を冠した、手のひらサイズのモジュール型I/Oです。
必要な機能に絞ったEthernetベースの低価格リモートI/Oで、省スペースな構成が可能です。必要なI/O点数に合わせてユニットを組めるため、無駄のないノード構成にしやすく、装置構成や増設の方針に合わせて柔軟に拡張できる点が強みです。
使用周囲温度は-20~60°Cに対応しており、コンパクトな筐体で狭い場所にも難なく設置できます。Modbus-TCPのクライアント・サーバに対応するモデルも用意されています。

参考: CONPROSYS® nano シリーズ

CPSL-08P1EN

CPSL-08P1ENは、8チャネルのIO-Linkポート(Class A)を備えたIO-Linkマスタです。
複数の産業用イーサネット・プロトコルに対応しており、本体スイッチの切り替えによりPROFINET、EtherNet/IP、Modbus-TCP、CC-Link IE Field Basic、EtherCAT、OPC UAのネットワークに接続できます。
Modbus-TCPを選べば、IO-Link機器の情報をModbus-TCPのネットワーク側に取り込みやすく、既存のModbus環境に統合する用途にも適しています。
またWebサーバ機能を搭載しているため、専用ツールを使わずにWebブラウザからネットワーク設定や状態確認、各種設定を行えます。

参考: CPSL-08P1EN

DAQ-LIBMB-WIN

DAQ-LIBMB-WINは、Windows PCからModbusサーバ機器を通信制御するための無償ライブラリソフトウェアです。
Modbus通信のクライアント機能をWindows APIとして提供しており、Modbus-TCP(イーサネットベース)とModbus-RTU(RS-485ベース)の両方に対応します。他社製を含むマルチベンダ ーのModbus機器 と接続して動作検証・実装を進められます。
また、フリーソフトウェアライブラリのlibmodbusを扱いやすくパッケージ化し、オンラインヘルプ形式のAPI関数リファレンスマニュアルを付属している点も特長です。
Visual C++/Visual C#/Visual BasicのGUIサンプル、PythonのCUIサンプルも用意されているため、実装の検討や動作確認を進めやすくなります。コンテックのIoT/M2M通信機器にも対応しており、Windows上でのデータ連携用途でも活用しやすい構成です。

参考: DAQ-LIBMB-WIN DAQfast Modbus通信ライブラリ for Windows

まとめ

本記事では、Modbusの基本的な考え方や、実務で選ばれやすい理由、導入時に注意したいポイントなどを紹介しました。
Modbusは、決められた手順でデータを読み出し・書き込みできるため、機器間通信を比較的シンプルに構成できる点が最大の特長です。
一方で、設定や配線の前提を取り違えると通信が不安定になりやすいため、導入前に機器選定と接続構成の方針を整理し、現場条件を考慮した設計にすることが重要です。
Modbus対応機器や関連ソフトウェアを活用すれば、既設設備を活かしながら段階的に拡張し、データ収集や可視化といった用途でさらに効率化を図れます。
ぜひ本記事を参考に、Modbus環境の構築を進めてみてください。

関連コンテンツ

お問い合わせ・資料請求

カタログ

ダウンロード

お問い合わせ、ご相談など

ソリューションお問い合わせ

  • 記載の会社名、製品名は、一般に各社の商標または登録商標です。

技術コラムへ戻る

新着お知らせ

お知らせ一覧