ModbusTcpMes2026
Modbus TCP通信試験・サーバーシミュレーター
概略
ModbusTcpMes2026はModbus TCPの通信試験を行うWindows向けツールです。
Modbusコマンドの作成を補助して相手機器に送信し、送受信データを確認できます。
Pro版では、応答の解析表示、コマンドの連続実行に加えて、PCを仮想メモリを持つModbus TCPサーバーにして、PLCなどのクライアント側のプログラムを機器なしで試験できます。
主な機能
- Modbusコマンドの作成と送信(01~06、08、0B、0C、0F、10、11)
- 送受信データのDUMP表示
- 画面の言語 自動/英語/日本語
- 応答の解析表示・例外コードの意味の表示(Pro版)
- コマンドリストの保存と連続実行・OK/NG判定(Pro版)
- Modbus TCPサーバー(仮想メモリ+固定応答)(Pro版)
Free版とPro版
Free版とPro版は同じプログラムです。ライセンスキーを登録するとPro版になります。
Free版の機能はこれまでどおり無料で使えます。
| 機能 | Free版 | Pro版 |
|---|---|---|
| Modbusコマンドの作成・編集・送信 | ○ | ○ |
| 送受信データのDUMP表示 | ○ | ○ |
| 画面の言語(自動/英語/日本語) | ○ | ○ |
| 応答の解析表示(例外コードの意味、レジスタの値、ビットのON/OFF) | - | ○ |
| コマンドリスト(保存・連続実行・OK/NG判定) | - | ○ |
| Modbus TCPサーバー(仮想メモリ+固定応答) | - | ○ |
ライセンスの登録方法と期限
ライセンスの登録
- メニューの[ヘルプ]-[ライセンス...](英語表示では[Help]-[License...])を開きます
- メールで届いたライセンスキーを貼り付けて[登録]を押します(添付の.licファイルを[ファイルから読込...]で読み込むこともできます)
- タイトルバーが「ModbusTcpMes2026 Pro - Licensed to (名義)」になれば登録完了です
- 1回登録すると、同じPCのすべてのOSDツール(ComCom2026、CipMes2026 など)でPro機能が使えます
- インターネットに接続していないPCでも登録・利用できます
ライセンスの期限
ライセンスに使用期限はありません。一度購入すると、そのバージョンはずっとPro版として使えます。
新しいバージョンをPro版として使える期間(更新期限)は、購入後1年です。(バージョンアップできるのは購入後1年間です)
- 更新期限までにリリースされたバージョンは、期限が過ぎてもPro版として使い続けられます
- 更新期限は、メニューの[ヘルプ]-[バージョン情報...](英語表示では[Help]-[About...])で確認できます(「Updates until: 年-月-日」と表示されます)
ModbusTcpMes2026 画面
動作確認環境: Win11
フレームワーク: .NET 10.0
使い方
接続先とポート
接続先はModbus対応機器のIPアドレスを指定します
ポートはModbusは502固定です
ユニットID (HEX)
Modbus対応機器で指定されているユニットIDを16進で指定します
ファンクション
Modbus対応機器によって全てのファンクションに対応しているわけではありません 対応しているファンクションはマニュアルで確認してください
| FC(HEX) | 名称 | 内容 | オペランド |
|---|---|---|---|
| 01 | Read Coil Status | コイルの読出し | アドレス, 個数 |
| 02 | Read Input Status | 入力ステータスの読出し | アドレス, 個数 |
| 03 | Read Holding Register | 保持レジスタの読出し | アドレス, 個数 |
| 04 | Read Input Register | 入力レジスタの読出し | アドレス, 個数 |
| 05 | Force Single Coil | コイルの書込み | アドレス, データ |
| 06 | Preset Single Register | 保持レジスタの書込み | アドレス, データ |
| 08 | Diagnostics | 通信の診断 | 診断サブコード, データ |
| 0B | Fetch Communication Event Counter | 通信イベントカウンタ読出し | なし |
| 0C | Fetch Communication Event Log | 通信イベントログ読出し | なし |
| 0F | Force Multiple Coils | 連続した複数のコイルの書込み | アドレス, 個数, データ |
| 10 | Preset Multiple Registers | 連続した複数のレジスタの書込み | アドレス, 個数, データ |
| 11 | Report Slave ID | スレーブ情報読出し | なし |
| コマンド | データの書き方 | 例 |
|---|---|---|
| (05) Force Single Coil | 0000 = OFF, FF00 = ON | FF00 |
| (06) Preset Single Register | 1ワードを16進で表記 | 12AB |
| (08) Diagnostics | 1ワードを16進で表記 | 0000 |
| (0F) Force Multiple Coils | バイト単位の16進。1バイト目のビット0が先頭のコイル コイル10点に 1100 0000 01 を書込む場合 先頭8点 1100 0000 → ビットを反対から並べて 0000 0011 = 03 残り2点 01 → 0000 0010 = 02 | 個数 10 データ 0302 |
| (10) Preset Multiple Registers | 複数ワードを16進で続けて記載 | 2ワード書き込む場合 個数 2 データ 1234ABCD |
データの区切りに空白や '-' を入れても構いません(例:12 34 AB CD)
アドレスについて
アドレスは0から始まる番号(プロトコル上のアドレス)を10進数で指定します
コイルのアドレスを指定するときに20番地を指定したい場合は20から1引いた19を指定します
同様に入力ステータス、保持レジスタ、入力レジスタの指定も-1した数値で指定します(例:保持レジスタ 400101 → アドレス 100)
コマンド作成手順
- ファンクションを選択します
- オペランドを入力します
-
[Create Command]ボタンを押すと送信コマンド枠にModbusコマンドが作成されます
コマンドはバイト単位で'-'を繋げて表示します -
作成したコマンドはそのまま送信できますが、編集することもできます
編集する場合はバイト単位で'-'で区切ります('-'なしで16進を続けて書いても構いません)
コマンドの送信
[Send]を押すと送信コマンドのデータを送信します
[Send]を押すたびに接続して、応答を受信したら切断します
送信したデータはDUMP枠に送信内容と受信内容を表示します
メニューバー
日本語表示では( )内の名前で表示されます
File - Exit (ファイル - 終了)
アプリケーションを終了します
Tools - Decode Response / Register Format (ツール - 応答の解析表示 / レジスタの表示形式) (Pro版)
応答の解析表示です。「Pro版の機能」を参照してください
Tools - Command List... (ツール - コマンドリスト...) Ctrl+L (Pro版)
コマンドリストの画面を開きます
Tools - Server... (ツール - サーバー...) Ctrl+R (Pro版)
Modbus TCPサーバーの画面を開きます
Tools - Language (ツール - 言語)
画面の言語を 自動(Windowsの設定)/English/日本語 から選びます。初期値は自動です
Help - License... (ヘルプ - ライセンス...)
ライセンスキーの登録・解除を行います
Help - About... (ヘルプ - バージョン情報...)
バージョンとライセンスの情報を表示します
レスポンス
正常時
| ファンクション | バイト数 | データ |
|---|---|---|
| 0x03 | 0x02 | 0x00 0x01 |
異常時
| ファンクション | 例外コード |
|---|---|
| 0x83 | 0x02 |
| コード | 名称 | 内容 |
|---|---|---|
| 01 | Illegal Function | 不正なファンクション(機器が対応していないファンクション) |
| 02 | Illegal Data Address | 不正なデータアドレス(アドレスや、アドレス+個数が範囲外) |
| 03 | Illegal Data Value | 不正なデータ値(個数やデータの値が正しくない) |
| 04 | Server Device Failure | スレーブ機器の異常 |
| 05 | Acknowledge | 受付済み(処理に時間がかかります) |
| 06 | Server Device Busy | スレーブ機器がビジー |
| 08 | Memory Parity Error | メモリパリティエラー |
| 0A | Gateway Path Unavailable | ゲートウェイの経路が使用できない |
| 0B | Gateway Target Device Failed to Respond | ゲートウェイの接続先機器が応答しない |
Modbus通信コマンド 例
Holding Register読出し
送信:
00 01 00 00 00 06 01 03 00 00 00 02
応答:
00 01 00 00 00 07 01 03 04 00 64 00 C8
コマンドの内容はModbusを参照してください
Pro版の機能
応答の解析表示
メニューの[ツール]-[応答の解析表示]でオン/オフを切り替えます。
[Send]で受信した応答のDUMPの下に、例外コードの意味や読み出した値を表示します。
<<-- Decode ファンクション : 03 保持レジスタの読出し MBAP : Transaction ID 0000, Protocol ID 0000, Length 7, Unit ID 01 判定 : 正常応答 バイト数 : 4 アドレス Ref Hex UINT 100 400101 0012 18 101 400102 FFFF 65535
- 「Ref」は参照番号(アドレス+1に種類の数字を付けた6桁。保持レジスタは4xxxxx)です
- レジスタの表示形式:Hex/UINT/INT/BCD/2進数/UDINT/DINT/REAL/LREAL/ASCII
- 2レジスタ以上の値は、ワードの並び(下位ワードが先/上位ワードが先)を選べます
- 例外応答(例:83 02)は「例外コード : 02 不正なデータアドレス」のように意味を表示します
コマンドリスト
メニューの[ツール]-[コマンドリスト...](Ctrl+L)で開きます。
よく使うコマンドを一覧にして保存しておき、上から順に自動で送信して、結果をOK/NGで判定します。
| ボタン | ショートカット | 内容 |
|---|---|---|
| 連続実行 | F5 | 先頭の行から実行 |
| 選択行から実行 | Ctrl+F5 | 選択している行から実行 |
| 停止 | Shift+F5 | 実行を停止 |
- [作成中のコマンドを追加]で、メイン画面で作ったコマンドを追加できます
- 行の間隔、繰り返し回数、NGで停止するかを設定できます
- 一覧を右クリックすると、ツールバーと同じ項目のメニューが出ます
- 判定:OK(正常応答)/NG(例外応答など)/Timeout(応答なし)/Error(接続できないなど)
Modbus TCPサーバー
メニューの[ツール]-[サーバー...](Ctrl+R)で開きます。
PCにPLCやデバイスの仮想メモリを作り、Modbus TCPクライアント(PLCのModbus通信命令、SCADA、ほかのツールなど)からの要求に応答します。
機器が手元になくても、クライアント側のプログラムの読み書きや、異常時の処理を確認できます。
| エリア | 応答するファンクション |
|---|---|
| コイル(0x) | 01 読出し、05 / 0F 書込み |
| 入力ステータス(1x) | 02 読出し(値は画面で設定) |
| 入力レジスタ(3x) | 04 読出し(値は画面で設定) |
| 保持レジスタ(4x) | 03 読出し、06 / 10 書込み、16 マスク書込み、17 読出し・書込み |
- クライアントが書き込んだ値はすぐに画面に表示されます。画面で値を直接編集することもできます
- 範囲外のアドレスには例外02、個数やデータの誤りには例外03、対応していないファンクションには例外01を返します
- メモリの内容はファイル(CSV)に保存・読込できます
- ポート(初期値502)と応答するユニットIDを設定できます。複数のクライアントが同時に接続できます
固定応答
メモリより優先する応答の表です。上の行から照合し、一致した行で応答します。
例外応答、応答の遅れ、無応答、切断を試験したいときに使います。
| 受信 (FC + データ) | 動作 | 応答 | 遅延 | 内容 |
|---|---|---|---|---|
| 03-00-64-??-?? | 応答する | 83-02 | 0 | 保持レジスタ 400101 からの読出しに例外02を返す |
| 06-* | 応答する | (空) | 500 | 06の書込みはメモリに書き込み、500ms 遅れて応答 |
| 01-* | 応答しない | 0 | 01には応答しない(クライアントのタイムアウトの確認) | |
| 10-00-C8-* | 切断する | 0 | 保持レジスタ 400201 への書込みで切断 |
- ?? は任意の1バイト、最後の * は以降の任意のバイトです
- 応答を空にするとメモリから応答します(遅延だけを付けたいとき)
- 返信のMBAPヘッダ(トランザクションID、ユニットID)は受信した要求から自動で作ります
- 表はサーバーを止めずに編集でき、ファイルに保存できます
初めてサーバーを開始するときに、Windowsファイアウォールの許可の確認が表示されることがあります。PLCなどほかの機器から接続する場合は許可してください。
よくある質問
ModbusTcpMes2026は無料ですか?
Free版は無料で利用できます。Modbusコマンドの作成・送信と日本語表示はFree版で使えます。応答の解析表示、コマンドリスト、Modbus TCPサーバーはPro版(有償)の機能です。
PCをModbus TCPのサーバー(スレーブ)にできますか?
Pro版のサーバー機能で、PCにコイル・入力ステータス・入力レジスタ・保持レジスタの仮想メモリを作り、PLCなどのModbus TCPクライアントからの要求に応答できます。例外応答、応答の遅れ、無応答、切断も固定応答の表で試験できます。
Modbus RTUには対応していますか?
本ツールはModbus TCP専用です。
ポート番号は変更できますか?
コマンドの送信は標準ポート502を使用します。サーバー機能(Pro版)では待ち受けるポートを変更できます。
PLC以外にも使用できますか?
Modbus TCP対応機器であれば使用できます。
Pro版を使うにはインターネット接続が必要ですか?
不要です。ライセンスキーはオフラインで確認するため、インターネットに接続していないPCでも登録・利用できます。
ライセンスに有効期限はありますか?
ライセンスに使用期限はありません。新しいバージョンをPro版として使える更新期限は購入後1年で、メニューの[ヘルプ]-[バージョン情報...]で確認できます。期限までにリリースされたバージョンは、期限が過ぎてもPro版として使い続けられます。
関連ページ
関連ツール
Free版は無料。Pro版は1ライセンスで5ツールすべての機能が使えます
通信確認で使っている機材
ネットワーク上のデータを見るには
ダウンロード
ダウンロードされたときは利用規約に同意したものとみなします
インストーラー(セットアップ)は2種類あります。どちらもZipファイルに入っています。
通常はおすすめの「通常版」をお使いください。インターネットに接続できないPCには「フル版」をお使いください。
ModbusTcpMes2026_Setup_2026.1.0.0.zip(1.6MB)
通常版(おすすめ)
.NET 10 デスクトップ ランタイムが必要です。入っていないPCでは、セットアップの途中でMicrosoftの公式サイトからダウンロードしてインストールできます(インターネット接続と管理者権限が必要です)
ModbusTcpMes2026_Setup_2026.1.0.0_Full.zip(35.1MB)
フル版
.NETを同梱しています。.NETのインストールは不要で、インターネットに接続できないPCでもインストールできます
インストールしないで使う場合は、ModbusTcpMes2026.zip を展開して ModbusTcpMes.exe を実行してください(.NET 10 デスクトップ ランタイムが必要です)。
旧ModbusTcpMes.zip(.NET 6)はこちら
インストール方法
- ダウンロードしたZipファイルを右クリックして[プロパティ]を開き、[全般]タブの「許可する」にチェックを入れて[OK]を押します(下の「警告が表示される場合」を参照)
- Zipファイルを展開し、中の ModbusTcpMes2026_Setup_~.exe を実行します
- 画面に従ってインストールします。インストール先のフォルダは変更できます。管理者権限は不要です
- インストール先の初期値は %LOCALAPPDATA%\Programs\ModbusTcpMes2026 です(ユーザーごとのインストール)
- スタートメニューにModbusTcpMes2026が登録されます。デスクトップのアイコンはインストール時に選べます
- 新しいバージョンは、そのまま上からインストールしてください。ライセンスと設定は引き継がれます
- アンインストールは、Windowsの[設定]-[アプリ]-[インストールされているアプリ]から行います。ライセンスと設定は残ります
警告が表示される場合
セットアップにはコード署名をしていないため、ダウンロードしたファイルを実行すると、WindowsのSmartScreenにより「WindowsによってPCが保護されました」と表示されることがあります。
その場合は[詳細情報]をクリックし、アプリ名がModbusTcpMes2026_Setup_~.exeであることを確認してから[実行]をクリックしてください。
展開する前に、Zipファイルのプロパティで「許可する」にチェックを入れておくと、この警告は表示されません。
(Zipファイルの[プロパティ]-[全般]タブの下にある「セキュリティ: このファイルは他のコンピューターから取得したものです。…」の「許可する」)
サーバー機能(Pro版)を初めて開始するときは、Windowsファイアウォールの許可の確認が表示されることがあります。ほかの機器から接続する場合は許可してください。
ファイルの確認(SHA-256)
ダウンロードしたファイルが改ざんされていないことは、SHA-256ハッシュ値で確認できます。
ModbusTcpMes2026_Setup_2026.1.0.0.zip SHA-256: 6A322DD2BFF0F0284F7260167A5CEB81A28C5C45E57C291D88B29A18EA2961F0 ModbusTcpMes2026_Setup_2026.1.0.0_Full.zip SHA-256: C2D52A8F7813AA26C2201FBFD0F62EEB325F3907CBEA202F61D218BFE31267B0
PowerShellで次のコマンドを実行し、表示された値(Hash)が上の値と一致することを確認してください。
Get-FileHash .\ModbusTcpMes2026_Setup_2026.1.0.0.zip -Algorithm SHA256
Pro版について
Pro版はFree版と同じプログラムに、ライセンスキーを登録して使います。ダウンロードし直す必要はありません。
Pro版の詳しい使い方は、同梱の ModbusTcpMes2026_Pro.md(英語は ModbusTcpMes2026_Pro_en.md)を参照してください。
OSD Tools Pro ライセンス
ModbusTcpMes、ComCom、CipMes など OSD ツールの Pro 版機能が使えるようになります。
- 1ライセンスで1台のパソコンに登録できます
- 購入日から1年間のアップデート付き(期限後も、それまでの版はずっと使えます)
- 購入後すぐに、画面とメールでライセンスキーをお届けします
5,500円(税込)
ご購入前に、無償版で動作をご確認ください。お支払いはクレジットカード・Apple Pay・Google Pay です。




