Modbus は、マスター・スレーブ アーキテクチャを使用してシリアル接続間でデータを交換する、広く使用されている産業用通信プロトコルです。これらの接続には、RS-485、RS-422、RS-232、および TCP/IP ネットワークがあります。
このガイドでは、プロ向けプラットフォームから広く使用されている無料の代替手段まで、最適な Modbus テストソフトウェアツールを比較し、ニーズに合ったものを見つけられるようにします。
Modbusとは何ですか?基本原理を解説
- Modbus RTU:バイナリのシリアル通信向け
- Modbus ASCII:文字ベースのデータ交換とトラブルシューティングの容易化向け
- TCP:MBAPヘッダー付きのイーサネットベース通信向け
Modbusネットワークは通常、通信を開始する責任を持つ単一のマスターと、コマンドに応答する最大247台のスレーブで動作します。
| タイプ | 機能 |
| 監視/アナライザー | 稼働中のModbus通信を分析し、既存の接続に干渉することなくトラフィックをデコードします |
| スプリッター | 1つのCOMポートのデータストリームを複製し、複数のアプリケーションが同時にアクセスできるようにします |
| マスター&スレーブシミュレーター | 物理的なハードウェアを必要とせずにワークフローをテストできるModbusデバイスのエミュレーションを提供します |
| TCP共有 | TCP/IP経由で利用可能にすることで、ローカルのシリアルデバイスにリモートから接続できるようにします |
テストおよび診断用Modbus監視ソフトウェア
ライブのModbus RTUおよびASCIIトラフィックを効果的に監視するには、既存の接続を維持しながらCOMポートのアクティビティをリアルタイムで傍受できる専用ソフトウェアが必要です。
以下に、利用可能な主要ツールを示します:
シリアルポートモニター
最適な対象: アクティブな接続に影響を与えずに、シリアルポート上のライブなModbus RTU/ASCII通信をリアルタイムで監視および分析する必要がある開発者およびエンジニア。
Modbusプロトコルアナライザーは、アプリケーションやドライバーの開発中に起こり得る問題を追跡し、シリアルデバイスのテストと最適化などを行うための便利な方法を提供します。
主な機能:
- 別のプログラムで既に使用中のシリアルポートに接続し、その場で監視を開始できます。ポートが受信するすべてのデータがリアルタイムで表示され、起こり得る問題を即座に追跡できます。
- 複数のシリアルポートを同時に監視できます。1つのセッションで複数のModbusポートのアクティビティを同期して分析できます。両方向に流れるデータは、先入れ先出し方式で単一のログに便利に記録されます。
- キャプチャしたデータを、テーブル、ターミナル、ライン、ダンプの各ビューで同時に確認できます。正確な監視のために各種フィルターを使用できます。
- シリアルデバイスへのデータ転送をエミュレートして、特定のコマンドに対してどのように反応するかを正確に確認できます。
Modbusメッセージのデコード方法はこちらをご覧ください。
プロトコル: RS-232、RS-422、RS-485上で動作するModbus RTUおよびModbus ASCIIプロトコル。
プラットフォーム: 32ビット版および64ビット版のWindows 7/8/8.1/10/11、ならびにWindows Server 2012、2016、2019、Windows on ARMに対応。
価格: Standard、Professional、Companyエディションの有償ライセンスで提供され、無料トライアルが含まれます。
長所
- 既に開いているポート上での非侵入型監視をサポートします
- 複数のポートを同時に操作する能力
- 内蔵のModbusデコーダーと、専用のModbus監視ビューを備えています
- セッション再生機能を含む
- すべてのCOMポートタイプ(USB-to-RS232およびRS485アダプターなど)で動作します
短所
- Windows システムのみに限定されます
- シリアルポート監視専用として設計されており、Modbus TCP はサポートされていません
Modbus ポーリング
最適な対象: 信頼性の高いマスターModbusデバイスシミュレーターで、リアルタイムのグラフ表示、複数ウィンドウでの監視、データロギングを必要とする技術者および自動化エンジニア。
Modbus Poll は、Modbus のライブ監視およびマスターシミュレーション向けの人気のある Windows アプリケーションです。Modbus RTU、ASCII、TCP/IP に対応しており、ユーザーはレジスタの読み書き、リアルタイムでのデータ可視化、スレーブデバイスのポーリングを行えます。
マルチドキュメントインターフェースにより、複数の独立したポーリングウィンドウを同時に開くことができ、それぞれが異なるスレーブやレジスタグループに焦点を当てられます。業界で 20 年以上の実績を持ち、世界中のオートメーションエンジニアにとって事実上の標準ツールとなっています。
機能
- 複数のスレーブを同時に別々のウィンドウで監視できるマルチドキュメントインターフェースをサポート
- プロット、ゲージ、グラフによるリアルタイムのデータ可視化を提供
- CSVおよびExcelのエクスポートオプションを備えたデータロギング機能を搭載
- Modbusファンクションコードを完全に網羅
- スレーブのエラーハンドリングのテストおよび分析のためのエラー注入を可能に
- 自動化シナリオをサポートするためのコマンドラインアクセスとDLL統合を提供
プロトコル: Modbus RTU、ASCII、TCP/IP、およびUDPの通信規格に対応。
プラットフォーム: Windows。
価格: 14日間の無料トライアルが利用可能で、シングルユーザーライセンスは約99ドル。
長所
- テストおよび診断のための業界標準ソリューションと見なされています
- 同時監視のためのマルチウィンドウポーリングをサポート
- 多機能な可視化ツール
- すべてのModbusファンクションコードに対応
- 信頼性と充実したドキュメントで知られる
短所
- Windows のみで利用可能
- インターフェースは見た目が古く感じられるかもしれません
- スクリプトに不慣れなユーザーには学習が難しい場合があります
- 受動的な監視ツールとして機能するのではなく、アクティブなModbusマスターとして動作します
QModマスター
最適な対象: Windows および Linux をサポートするバス監視機能を備えた、信頼性が高く無料の Modbus マスターを求める開発者およびエンジニア。
QModMaster は、Windows および Linux システム全体で Modbus TCP/IP、RTU、ASCII プロトコルを扱うための、無料かつオープンソースの Qt ベース環境を提供します。エンジニアや開発者は、コイル、保持レジスタ、入力レジスタ、ディスクリート入力のデータを監視し、読み取りまたは書き込み操作を実行し、Modbus スレーブデバイスに接続できます。
QModMaster は、バス上のすべてのトラフィックを分析するための内蔵バスモニターを提供し、リアルタイムのレジスタをプロットし、自動テストシーケンスを実行するための Perl スクリプトを組み込むことができます。
機能
- すべてのModbusバストラフィックをリアルタイムで表示するための内蔵モニターを搭載
- コイル、保持レジスタ、入力レジスタ、ディスクリート入力に対する読み取りおよび書き込み操作をサポート
- レジスタ値のリアルタイム可視化を提供
- 統合されたPerlスクリプトエンジンにより自動テストシーケンスをサポート
- インストール不要でWindows上で動作し、ユーザーは解凍してすぐに使用可能
プロトコル: Modbus RTU、ASCII、およびTCP/IP通信規格に対応。
プラットフォーム: WindowsおよびLinux。
価格: GPLライセンスの下で無料のオープンソースソフトウェアとして提供。
長所
- 無料で利用可能
- 複数のオペレーティングシステムで動作します
- バス監視機能が付属しています
- スクリプト機能を含む
- インストール不要ですぐに使用できます
短所
- 商用ソフトウェアと比べて、よりシンプルで洗練されていないUIを提供しています
- 開発者からの公式サポートは限定的です
- セッション再生や高度なデータエクスポート機能は含まれません
Modbusデータ分割ソフトウェアソリューション
実際には、単一の物理COMポートが、複数のアプリケーションが同時に処理する必要のあるModbusデータを受信する場合があります。しかし、シリアルポートでは一度に1つのアプリケーションしかポートにアクセスできないため、これはネイティブではサポートされていません。専用のModbusスプリッターソフトウェアは、ポートの複数の仮想コピーを作成し、受信データを複製して各アプリケーションがそれを受け取れるようにすることで、この問題に対処します。
仮想シリアルポートドライバー
最適な用途: 1つの物理COMポートから複数のアプリケーションへ同時にModbus RTUデータを配信する必要がある開発者およびエンジニア。
Electronic Team の Virtual COM Port Driver は、おそらくこのタスクに最も適したソリューションです。このプログラムはシリアルポートスプリッターとして動作し、1つのCOMポートに入ってくるデータを無制限の数の実在および仮想シリアルインターフェースに複製できます。Virtual COM Port Driver は、システム内で必要な数の仮想 RS485(RS232、RS422)ポートを作成するのに役立ちます。したがって、Modbus トラフィックを複数のアプリで同時に受信したい場合は、マスターの受信COMポートの仮想コピーを簡単に作成し、必要なアプリをそれらに接続するだけで済みます。Virtual COM Port Driver は実COMポートのすべての仮想コピーにトラフィックを複製するため、この方法で複数のアプリが同時に同じデータを受信できるようになります。
機能
- PC上で複数の仮想COMポートペアを設定
- 単一の物理COMポートで同じModbusデータを複数のアプリケーションに並列で配信可能
- ループバック接続および最新のモデム/ハンドセット回線信号のエミュレーションをサポート
- 複数のCOMポートを統合された仮想インターフェースに集約
プロトコル: RS-232、RS-422、RS-485を使用するModbus RTUおよびModbus ASCIIに対応。
プラットフォーム: Windows XP、Vista、7、8、8.1、10、11(32ビットおよび64ビット)および Windows Server 2003~2019で動作。
価格: Standard版およびPRO版の商用ソフトウェアで、無料トライアルも利用可能。
長所
- 仮想COMポートペアの作成数に制限はありません
- 複数のアプリで同時にライブデータの複製をサポートします
- ループバックおよび通信回線エミュレーションをサポート
- 完全にソフトウェアベース。ハードウェアは不要です
- 信頼性の高いドライバーレベルの運用のために構築
短所
- Windows プラットフォーム専用に設計されています
- シリアルポート通信に限定されており、Modbus TCP はサポートされていません
com0com
最適な対象: シンプルなテストや開発用途のために、無料の仮想ヌルモデム・エミュレーターを探している開発者。
com0com は、無料でオープンソースの Windows カーネルモード仮想シリアルポートドライバーです。仮想 COM ポートのペアを作成し、それらを仮想ヌルモデムケーブルで接続します。これにより、2 つのアプリケーションが実際のシリアル接続を介する場合と同じように相互に通信できます。コマンドラインまたはシンプルな GUI インストーラーのいずれかでセットアップできます。
機能
- COM5 ↔ COM6 のような仮想 COM ポートのペアを生成
- 低レベルの互換性をサポートするためにカーネルモードドライバーを使用
- シンプルな GUI によるインストールと、コマンドラインによる設定をサポート
プロトコル: Modbus RTU や ASCII など、あらゆるシリアルプロトコルと互換性があります。
プラットフォーム: Windows。
価格: 無料かつオープンソースで利用可能。
長所
- 費用は不要です
- 信頼性の高いカーネルレベルの安定性のために構築されています
- ソフトウェア開発環境で一般的に使用される
短所
- 単一宛先への出力のみをサポートしており、複数のターゲットへの分割はできません
- ループバックエミュレーション機能がありません
- 管理用のグラフィカルインターフェースは提供されていません
- 公式ベンダーサポートは含まれていません
- 本番環境のModbusユースケース向けに設計されていません
- ドライバー署名の強制を無効にするか、Windows テスト モードを有効にする必要がある場合があります
ネットワークベースのシリアルデバイス共有向け Modbus TCP ソフトウェア
産業環境では、Modbus RTUデバイスがシリアルポートを介して物理的に1台のPCに接続されている一方で、複数のネットワークユーザーやシステムが同時にアクセスする必要があります。Modbus TCPは、シリアルRTU接続をTCP/IPストリームに変換することでこれに対応します。これにより、ネットワーク上のすべてのクライアントがそのデバイスを利用できるようになります。
シリアル-イーサネットコネクタ
最適な用途: 複数のリモートユーザーやアプリケーション向けに、ローカル接続されたModbus RTUシリアルデバイスへのTCP/IPアクセスを提供する必要があるエンジニア。
Electronic TeamのSerial to Ethernet Connectorは、ローカルに接続されたModbusシリアルデバイスからのデータをEthernetネットワーク経由で共有するために設計された、人気のソフトウェアアプリケーションです。ネットワークユーザーは、自分のコンピューター上の仮想COMポートを使用して、あたかもローカル接続されているかのようにデバイスと通信できます。
Serial to Ethernet Connectorは、255台を超えるシリアルポートデバイスの共有を同時に処理できます。バックグラウンドでWindowsサービスとして動作するため、アプリケーションを開いたままにする必要はありません。システムは再起動後にすべての接続を自動的に再構成します。
機能
- ローカルに接続された Modbus RTU シリアルデバイスを UDP または TCP/IP 経由で共有する機能を提供します
- リモートクライアントからの接続は仮想 COM ポートを介して行われ、デバイスの機能をすべて保持します
- 単一のポートで複数のクライアントに同時対応でき、クライアントごとに読み取り/書き込み権限を設定できます
- 接続が失われた際にデータをバッファし、接続が復旧すると自動的に送信します
- アプリケーションを開いたままにしなくても、Windows サービスとしてバックグラウンドで実行します
- ユーザー定義のタイムアウト期間内に接続を自動的に復元します
- RAW および Telnet(RFC 2217)データ通信プロトコルをサポートします
- 安全な通信のための通信暗号化とパスワード保護を含みます
- Windows と Linux の両環境での使用を想定して設計されています
- 設定のエクスポート/インポートが可能で、別のマシンへの移行も容易です
プロトコル: シリアルからネットワークへの通信のために、Modbus RTU から Modbus TCP/IP および UDP への変換をサポートします。
プラットフォーム:
- Windows 7 SP1、8、10、11(32 ビット/64 ビット両対応)Windows Server 2008 R2 SP1~2022、ならびに ARM 上の Windows 10 および 11 で動作します
- 完全な Linux 版(フルエディション)
価格: 有償ライセンスで提供され、14 日間の無料トライアルが含まれます。
長所
- 255台を超えるデバイスを処理します
- Windows サービスとして動作します
- 接続が失われた場合のデータバッファリングをサポートします
- クライアントごとに読み取り/書き込みアクセスを制御します
- トラフィック暗号化をサポートします
- Linux および Windows 環境全体での使用向けに設計されています
- リモート クライアントは仮想 COM ポートを介して完全なシリアル機能を保持します
短所
- ソフトウェアはサーバーおよびクライアントシステムへのインストールが必要です
Modbus マスターおよびスレーブ シミュレーター
開発中、Modbusシミュレーションは不可欠です。物理的なハードウェアを両側で用意することなく、マスターおよびスレーブシステムを仮想の相手に対してテストできます。
Simply Modbus
最適な対象: TCPおよびRTUでModbusマスターとスレーブの両方のシミュレーションをサポートする、シンプルで手頃な価格のWindowsスイートを探しているエンジニア。
Windows向けに構築されたSimply Modbusは、Modbus TCP/IPおよびRTU/ASCIIシリアルプロトコルをテスト、シミュレート、監視するためのツール群を提供します。Modbusマスターシミュレーター、レジスタを継続的にリアルタイムでポーリングするためのポールマネージャー、Modbusスレーブシミュレーター、そしてModbusトラフィックをログ記録するデータレコーダーを備えています。インターフェースはシンプルで最小限に保たれています。接続を設定し、ファンクションコードを選択して、最小限のセットアップで通信を開始するだけです。
機能
- 単一スイートに統合されたModbusマスターおよびスレーブシミュレーター
- レジスタを継続的にポーリングし、リアルタイムで表示するポールマネージャーを搭載
- Modbusトラフィックをファイルに記録するデータレコーダーを搭載
- 各レジスタごとに独立して設定できる複数のデータ形式に対応
- シリアル経由のModbus RTUシミュレーションおよびEthernet経由のModbus TCPシミュレーションをサポート
プロトコル: Modbus RTU、ASCII、およびTCP/IPプロトコルに対応。
プラットフォーム: Windows。
価格: 有償ライセンスで提供され、費用対効果の高いシングルユーザープランと、オプションのサイトライセンスがあります。
長所
- マスターとスレーブの両方が1つのパッケージに含まれています
- シンプルで集中できるインターフェース
- 予算に優しい
- レジスタごとのデータ形式の設定
- サイトライセンスオプションで利用可能
短所
- UIが古臭く見える
- Windows のみで利用可能
- 基本的なスクリプト作成と自動化のサポートを提供します
Modbus スレーブ
最適な対象: マスターソフトウェアの包括的なテストのために、複数のModbusスレーブシミュレーションを並列で実行する必要がある自動化エンジニアおよび開発者。
Witte Software の Modbus Slave は、Modbus Poll に対応するプロフェッショナルグレードの製品です。マルチドキュメントインターフェースで最大 100 個の独立したスレーブウィンドウを同時に実行でき、それぞれが独自のアドレス、レジスタマップ、データ値を保持します。
Modbus Slave は、レジスタ値がスクリプトやデータセットに従う構造化されたテストシナリオを可能にする OLE オートメーションを通じて Excel と統合します。
機能
- 最大100個の同時スレーブウィンドウをサポートし、各ウィンドウは個別に設定可能
- OLEオートメーションによるExcel連携により、スクリプト化されたテストデータを使用可能
- マスターのエラー処理をテストするための例外応答シミュレーションをサポート
- Modbus RTU、ASCII、TCP、UDPプロトコルに対応
- 30日間の無料トライアルを含む
プロトコル: Modbus RTU、ASCII、TCP/IP、UDPに対応。
プラットフォーム: Windows
価格: 30日間の無料トライアルが利用可能で、シングルユーザーライセンスは約99ドル
長所
- 最大100台のスレーブWindowsまでサポート
- OLE を介して Excel との統合を提供します
- すべてのModbusバリアント(RTU、ASCII、TCP/IP、UDPなど)をサポートします
- 信頼できるベンダー
短所
- Windows のみで利用可能
- 有料ライセンスが必要です
- 古いスタイルのユーザーインターフェースを使用します
どのModbusツールがあなたのニーズに合いますか?
利用できるModbusツールは多数あり、最適なものはあなたの具体的な用途によって異なります。シリアル通信のトラフィックを受動的に監視する必要がある場合や、ハードウェアをシミュレートしたい場合、ネットワーク経由でデバイスを共有したい場合、またはデバイスを能動的にテストしたい場合など、それぞれのシナリオに特化したソリューションがあります。
以下の表を確認して、ニーズに合ったものを素早く見つけてください。
| タスク | 最適なツール |
| 接続を中断せずにライブのRTU/ASCIIトラフィックを監視する | Serial Port Monitor |
| リクエストを使用してModbusスレーブデバイスにクエリする | Modbus Poll |
| センサーまたはPLCをシミュレートするためにスレーブデバイスとして動作させる | Simply Modbus Slave |
| 単一のシリアルポートを複数のアプリケーション間で同時に共有する | Virtual Serial Port Driver |
| リモートTCP/IPネットワーク経由でシリアルデバイスに接続する | Serial to Ethernet Connector |
| CRC、ファンクションコード、不正な応答などのModbusフレームエラーを特定して解決する | Serial Port Monitor |
| 簡単なテストや学習目的のための無料ツール | QModMaster |
よくある質問
QModMaster は人気のある無料の Modbus ツールで、RTU と TCP をサポートし、Windows および Linux システムで動作し、内蔵のバスモニターを提供します。ModPoll は軽量で無料の CLI 代替手段です。非侵入型の監視や内蔵の Modbus フレームデコードには、Eltima の Serial Port Monitor が 14 日間の無料トライアルを提供しています。
Modbus RTU は RS-232 や RS-485 などのシリアル通信を使用して、データをバイナリ形式で送信します。一方、Modbus TCP は Ethernet と TCP/IP を使用して同じプロトコルを実行し、シリアルフレーミングを 6 バイトの MBAP ヘッダーに置き換えます。ほとんどの最新ツールは両方のバリアントに対応しています。
Eltima の Serial Port Monitor は、アクティブな COM ポートへの非侵襲的なアタッチをサポートし、ポートを使用しているアプリケーションに影響を与えることなく、Modbus トラフィックをリアルタイムでキャプチャします。
無料のQModMasterやModbus PollのようなModbusマスターシミュレーターを使用して、スレーブデバイスをテストできます。これにより、ホールディングレジスタの読み取り、TCPまたはシリアル経由でのデバイスへの接続、そして応答を期待値と比較することができます。QModMasterには、自動テストシーケンス用のPerlスクリプトが組み込まれています。
シリアルポートは、一度に1つのアプリケーションしかポートを使用できないため、ネイティブではこれをサポートしていません。EltimaのVirtual Serial Port Driverはシリアルポートを複製し、受信データを接続された各アプリケーションにリアルタイムで配信します。
Modbus Poll は、スレーブデバイスにリクエストを送信して応答を表示するためのアクティブなマスターシミュレーターとして機能します。Serial Port Monitor は、リクエストを送信することなく、アクティブなシリアル接続上のトラフィックを傍受してデコードするためのパッシブなアナライザーとして機能します。これらは異なるタスクに対応しますが、開発ワークフローではしばしば組み合わせて使用されます。