OT Hack

【実践】Modbusシミュレータを使ってみた!

Jun 17, 2025

【実践】Modbusシミュレータを使ってみた!
執筆者:望月 秀人
Principal Technical Engineer

こんにちは、テクニカルエンジニアの望月です。

今回はTXOne ネットワーク防御ソリューション ”Edgeシリーズ”の検証等にも活用できるOTプロトコルの通信シミュレータのModbusToolの使い方をご紹介します。

 

 

ModbusToolとは

ModbusToolとは、産業用デバイス間のデータをやり取りするために使われている通信プロトコル“Modbus”のシミュレーションに用いることができるWindows用ソフトウェアです。

なお、Modbusプロトコルの通信方式がマスタ・スレーブ方式であるため、ModbusToolもマスタ用PCとスレーブ用PCにそれぞれにインストールして使用します。
※同一PCでマスタ用プログラムとスレーブ用プログラムを起動して、一台のPCでシミュレーションを行う事も可能です。

 

今回構築する環境の構成

VMware上にWindows仮想マシンを二つデプロイして、それぞれModbusToolのマスタ端末、スレーブ端末として使用します。

図:環境構成図

図:環境構成図

 

ModbusToolの入手

ModbusToolのインストーラ”ModbusTool.msi”は、GitHubから入手することができます。

 

ModbusToolのインストール

GitHubから入手したインストーラ”ModbusTool.msi”をマスタ端末、スレーブ端末にて、それぞれで実行してインストールを行います。

図:ModbusToolインストーラ

図:ModbusToolインストーラ

 
インストーラ実行後、ウィザードに沿ってインストールを行います。
*ここでは詳細な手順は割愛します。

図:ModbusToolインストールウィザード

図:ModbusToolインストールウィザード

 

インストールが完了すると、デスクトップ上に”ModbusMaster(Active)”と”ModbusSlave(Active)”の二つのアイコンが表示されます。

図:インストール完了後のデスクトップ

図:インストール完了後のデスクトップ

 

ModbusToolを用いた通信

ModbusToolを用いた通信は、次の流れで確立します。

  1. マスタ端末でマスタサービスを起動
  2. スレーブ端末でスレーブサービスを起動
  3. スレーブ端末をリッスン状態に設定
  4. マスタ端末からスレーブ端末に接続
  5. Read coilを実行し、スレーブ端末からマスタ端末に読み込み

 
1 ModbusToolを用いて通信するときは、マスタ端末で”ModbusMaster(Active)”アイコンをダブルクリックしてマスタサービスを起動します。

図:マスタ端末で実行するアイコン

図:マスタ端末で実行するアイコン

 
2 スレーブ端末では”ModbusSlave(Active)”アイコンをダブルクリックしてスレーブサービスを起動します。

図:スレーブ端末で実行するアイコン

図:スレーブ端末で実行するアイコン

 
3 スレーブ端末をリッスン状態に設定するために、スレーブ端末の操作画面、右上の”Listen”(赤枠箇所)をクリックします。

図:スレーブ端末操作画面 その1

図:スレーブ端末操作画面 その1

 
4 マスタ端末からスレーブ端末に接続するために、マスタ端末の操作画面 左上の”IP Address”(緑枠箇所)にスレーブ端末のIPアドレスを入力し、右上の”Connect”(赤枠箇所)をクリックします。

図:マスタ端末操作画面 その1

図:マスタ端末操作画面 その1

 
5 実際にRead Coilコマンドを実行して通信を行ってみます。
最初にスレーブ端末側にCoil値を設定します。ここでは、0番フィールドに”22”という値を入力(緑枠箇所)し、”Apply”(赤枠箇所)をクリックします。

図:スレーブ端末側操作画面 その2

図:スレーブ端末側操作画面 その2

 
次に、マスタ端末にて”Read coils”(赤枠箇所)をクリックします。するといかがでしょうか、マスタ端末側の0番フィールドの値(緑枠箇所)が”0”→”22”に変わったかと思います。これはスレーブ端末側の値を通信して読み込んだためです。

図:マスタ端末側操作画面 その2

図:マスタ端末側操作画面 その2

 

まとめ

今回ご紹介した通り、ModbusToolを用いると簡単にModbus通信のシミュレートを行うことができます。今回は”Read coils”コマンドを用いたシミュレーション方法を用いましたが、他にも”Write single coil”等、Modbusのいくつかのコマンドを模すことができるので、これらの通信制御を実装しているTXOne Edgeシリーズの評価・検証にもご利用いただけるツールの一つと考えております。

次回は、実際にEdgeシリーズを接続して制御するケースをご紹介させていただきたいと思いますので、お楽しみに!

TXOne image
TXOne Networks

OTセキュリティに関する課題をお持ちですか?

OTセキュリティに関するご相談や、ソリューション導入のご質問など、お気軽にお問い合わせください。