QModMaster使用チュートリアル:無料开源Modbus Debugging利器 TCP/RTU全機能コード与バス监视器実践

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

QModMaster是一款基于Qt框架开发的無料开源Modbusマスターデバッグツール,サポートModbus TCP和Modbus RTU两种协议,内置バス监视器(Bus Monitor)可实时表示元のHEXデータパケットは,是工业自動化エンジニアデバッグModbusデバイス的必备利器。本記事详细介绍QModMaster的下载インストール、界面操作、TCP/RTU连接設定、レジスタ読み書き、データ格式設定、バスモニタリング以及よくある質問トラブルシューティング,帮助エンジニアスピードマスター。这款强大的Modbus debugging tool。

一、QModMaster概述

1.1 什么是QModMaster

QModMaster是一个無料的、开源的Modbusmaster(Master)模拟软件,由Qt框架开发,底层基于libmodbus通讯库。它提供直观的图形界面,让エンジニア无需编写代码即可与Modbusスレーブデバイス进行通讯测试,サポート読み取り和写入コイル、ショップ型入力、レジスタを保持する。、入力レジスタ。四种標準Modbusdata type。

1.2 核心功能特性

  • 双协议サポート:同时サポートModbus TCP(Ethernet)和Modbus RTU(serial portRS485/RS232)
  • 全機能コードカバー:サポート機能コード01-06、15、16等すべての標準Modbusfunction code
  • バス监视器:实時に表示元のHEXデータパケットは,自动解析スレーブID、function code、データ载荷和CRC check
  • 多データ格式:サポート十进制、hexadecimal、記号付き。/Unsigned 16 bit integer、32ビット整数、32ビット浮動小数点数表示
  • 连续扫描:可設定扫描間隔,自动周期性読み取り設備のデータ
  • 跨プラットフォーム:サポートWindows、Linux、macOSオペレーティングシステム
  • 完全無料:开源無料,无功能限制,无使用时长限制
  • 轻量级:单文件绿色版,No installation required, 解压即用

1.3 与其他Modbus debugging tool对比

Tools开源TCPRTUバスモニタリングdata formatPrice
QModMasterサポートサポートサポートInt/Float/Hexfree
Modbus Pollサポートサポートサポート丰富有料($129)
Modbus Slaveサポートサポートサポート丰富有料($129)
ModScanサポートサポートサポートなし。一般有料
CAS Modbus Scannerサポートサポートサポートなし。一般free
pymodbus REPLサポートサポートサポートなし。代码free

二、下载与インストール

2.1 官方下载アドレス

  • 官方网站:https://qmodmaster.com/
  • SourceForgeDownload:https://sourceforge.net/projects/qmodmaster/
  • GitHubsource code:https://github.com/mirror/qmodmaster

2.2 Windowsインストール

# Windowsインストール步骤
1. アクセス https://sourceforge.net/projects/qmodmaster/
2. click "Download" 最新のダウンロード版本(通常为 qmodmaster-x.x.x.zip)
3. 解压到任意目录,例如 C:\Tools\QModMaster\
4. 双击 qmodmaster.exe 启动程序
5. 如提示缺少VC++运行库,インストール Microsoft Visual C++ Redistributable

# 注意:QModMaster是绿色软件,必要なし。インストール,解压即可使用

2.3 Linuxインストール

# Ubuntu/Debian インストール依赖
sudo apt-get update
sudo apt-get install libqt5core5a libqt5gui5 libqt5widgets5 libmodbus5

# 下载并解压
wget https://sourceforge.net/projects/qmodmaster/files/latest/download -O qmodmaster.zip
unzip qmodmaster.zip -d qmodmaster
cd qmodmaster

# run
chmod +x qmodmaster
./qmodmaster

# 或从源码编译
sudo apt-get install qt5-default libmodbus-dev
git clone https://github.com/mirror/qmodmaster.git
cd qmodmaster
qmake
make
sudo make install

三、界面布局详解

QModMaster主界面分为四个主要エリア,了解各エリア功能是高效使用的基础。

3.1 菜单栏

菜单Function
File新建连接、保存設定、加载設定、退出
OptionsChoiceModbus TCP或Modbus RTUモード,設定接続パラメータ
View表示/非表示Bus Monitor、設定データ表示格式
Helpについて、版本信息

3.2 工具栏

  • Connect/Disconnect:connect/断开Modbusdevice
  • Read/Write:执行一次読み取り或写入操作
  • Scan:Open/关闭连续扫描モード
  • 設定图标:快速打开连接設定对话框

3.3 データ表示区

主エリア以表格形式表示レジスタのデータ,包含以下列:

  • Address:register address(0-based)
  • Value(Hex):十六进制值
  • Value(Dec):Decimal value
  • Value(Float):浮動小数点数值(需手动开启)
  • Description:用户自定义説明(可編集)

3.4 Bus Monitor(バス监视器)

底部エリア表示实时通讯データパケットは,这是QModMaster最强大的功能之一。経由 View → Bus Monitor Open。每件のレコード包含:

  • 时间戳:精确到毫秒的收发时间
  • 方向:Tx(send)或 Rx(receive)
  • 元のHEXdata:完全的Modbus ADUデータパケットは
  • 自动解析:slaveID、function code、データ字段、CRC check码

四、Modbus TCP连接設定

4.1 設定步骤

# Modbus TCP连接設定步骤

1. open Options → Modbus TCP...
2. 在弹出的对话框中填写:
   - IP Address:deviceIPaddress,例如 192.168.1.100
   - Port:ポート番号,デフォルト 502
   - Slave ID:slave address(Unit ID),通常为 1
   - Timeout:タイムアウト時間(毫秒),デフォルト 1000
3. click OK 保存設定
4. 点击工具栏 Connect 按钮建立连接
5. 接続成功です。后,ステータス栏表示 "Connected"

# Precautions
- 确保电脑和デバイス在同一网段
- 关闭电脑ファイアウォール或放行502ポート
- 部分デバイス需要先在デバイス端有効Modbus TCPFunction
- Slave ID(Unit ID)对于纯TCPデバイス通常为0或1,
  経由ゲートウェイ连接RTUデバイス时填写对应RTUslave address

4.2 TCP连接故障トラブルシューティング

故障现象可能原因トラブルシューティング方法
接続タイムアウトIPError/网络通信不可pingdeviceIP,チェックネットワークケーブル和スイッチ交換機
连接被拒绝ポートエラー/服务未启动用telnet测试502ポート:telnet 192.168.1.100 502
接続成功です。但无データSlave IDError尝试Slave ID=0,1,255,表示デバイス手册
例外コードを返す02アドレス超出範囲デバイスサポートの確認的レジスター·アドレス範囲
例外コードを返す01機能コードサポートなし。デバイスサポートの確認该機能コード

五、Modbus RTU连接設定

5.1 硬件准备

Modbus RTU需要USB转RS485変換器です。(如CH340、FT232芯片的モジュール),将电脑的USB接口转换为RS485バス信号。

# 硬件配線(USB转RS485モジュール)
USB转RS485モジュール A端  -->  deviceRS485 A端(D+ / + / 非反相)
USB转RS485モジュール B端  -->  deviceRS485 B端(D- / - / 反相)
USB转RS485モジュール GND -->  deviceGND(建议连接,减少コモンモード干渉)

# 注意
- A/B线不要接反,接反会导致応答なし。
- バス両端に接続。120Ω終端抵抗
- シールドツイストペアの使用,シールドシングルエンド接地
- 多个デバイス并联在バス上,手をつないで菊花链トポロジー

5.2 软件設定

# Modbus RTU连接設定步骤

1. 插入USB转RS485変換器です。,在デバイスマネージャ(device manager)中表示COM口号
   (Windows:デバイスマネージャ(device manager) → ポート(COM和LPT))
   (Linux:ls /dev/ttyUSB* 或 /dev/ttyACM*)

2. open Options → Modbus RTU...
3. 設定シリアルパラメータ:
   - Port:COM portNo.,例如 COM3 或 /dev/ttyUSB0
   - Baud Rate:Baud rate,必须与デバイス一致(9600/19200/38400/115200)
   - Data Bits:data bit,通常为 8
   - Stop Bits:stop bit,通常为 1
   - Parity:check digit,None/Even/Odd,必须与デバイス一致
   - Slave ID:slave address,1-247
   - Timeout:タイムアウト時間,建议 1000-3000ms

4. click OK 保存
5. click Connect connect

# 常见シリアルパラメータ组合
- 9600, 8, N, 1(最も一般的な)
- 9600, 8, E, 1(部分PLC)
- 19200, 8, N, 1
- 38400, 8, N, 1
- 115200, 8, N, 1(短距離·高速)

5.3 RTU连接故障トラブルシューティング

故障现象可能原因解決方法
シリアルポート打不开COM口被占用/驱动未装关闭其他シリアルポート软件,重装CH340驱动
完全に無反応。A/Bライン·リバース交換A/B线再试
完全に無反応。駅からの住所エラー表示デバイス拨码开关或软件設定
CRCErrorBaud rate/チェックビット不マッチング逐项核对シリアルパラメータ,与デバイス完全一致
偶尔丢包干渉/无終端抵抗バス两端加120Ω电阻,使用シールド線
データ乱码ストップ·ビット不マッチング確認ストップ·ビット是1まだ2

六、Read and hold register(function code03)

レジスタを保持する。(Holding Registers)是Modbus中最もよく使われるデータ型,function code03,アドレス範囲通常为40001-49999(对应0-basedaddress0-9998)。

# リードホールドレジスタ操作步骤

1. 確認接続しましたデバイス(ステータス栏表示Connected)
2. 在主界面設定読み取り参数:
   - Slave ID:slave address(如已在连接設定中に設置。可省略)
   - Function Code:Choice "Read Holding Registers (03)"
   - Start Address:starting address(0-based,例如 0)
   - Quantity:Reading quantity(例如 10)
3. click Read/Write 按钮执行一次読み取り
4. データ表格中表示読み取り到的レジスタの値

# アドレス説明
- QModMaster使用0-basedaddress(Start from 0)
- デバイス手册中的40001对应QModMasteraddress0
- デバイス手册中的40010对应QModMasteraddress9
- 转换公式:QModMasteraddress = 手册アドレス - 40001

# example
読み取り温度センサーデータ:
- 手册説明:温度在40101,占21つのレジスタ,浮動小数点数
- QModMaster設定:Start Address=100, Quantity=2
- 読み取り后アドレス100和101表示元の值
- 切换到Float视图表示实际温度值

七、リードコイル与ショップ型入力

7.1 リードコイル(function code01)

# リードコイル(Coils)- function code01
# コイル是読み書きができる。的布尔量,アドレス範囲00001-09999

操作步骤:
1. Function Code Choice "Read Coils (01)"
2. Start Address:starting address(0-based)
3. Quantity:Reading quantity(最多2000个)
4. click Read/Write
5. 表格中表示每1つのコイル的ON/OFFstatus

# アドレス変換
- 手册00001 → QModMasteraddress0
- 手册00010 → QModMasteraddress9

7.2 Read discrete inputs(function code02)

# Read discrete inputs(Discrete Inputs)- function code02
# ショップ型入力是読み取り専用布尔量,アドレス範囲10001-19999

操作步骤:
1. Function Code Choice "Read Discrete Inputs (02)"
2. Start Address:starting address
3. Quantity:Reading quantity
4. click Read/Write

# 典型用途
- 読み取り开关ステータス、按钮ステータス、限位开关
- 読み取りデバイス运行/故障ステータス
- 読み取り门禁、センサーは触发ステータス

# アドレス変換
- 手册10001 → QModMasteraddress0
- 手册10005 → QModMasteraddress4

7.3 Read input register(function code04)

# Read input register(Input Registers)- function code04
# 入力レジスタ。是読み取り専用16ビット·データ,アドレス範囲30001-39999

操作步骤:
1. Function Code Choice "Read Input Registers (04)"
2. Start Address:starting address
3. Quantity:Reading quantity
4. click Read/Write

# 典型用途
- 読み取り模拟量入力(AI):temperature、压力、トラフィック
- readADC采样值
- 読み取りデバイス内部ステータス参数

# アドレス変換
- 手册30001 → QModMasteraddress0
- 手册30100 → QModMasteraddress99

八、写入操作

8.1 write single coil(function code05)

# write single coil(Force Single Coil)- function code05

操作步骤:
1. Function Code Choice "Write Single Coil (05)"
2. Start Address:Coil address
3. 在データ表格中找到对应アドレス行
4. 双击 Value 列,入力:
   - 0xFF00 表示 ON(吸合)
   - 0x0000 表示 OFF(断开)
5. click Read/Write 执行写入
6. Bus Monitor中可看到写入リクエスト和デバイスレスポンス

# 注意
- QModMaster中写コイル使用0xFF00/0x0000,
  这是Modbusプロトコル標準规定的值
- 写入成功后デバイス会回显相同的リクエストフレーム

8.2 write single register(function code06)

# write single register(Preset Single Register)- function code06

操作步骤:
1. Function Code Choice "Write Single Register (06)"
2. Start Address:register address
3. 双击データ表格中对应行的 Value 列
4. 入力要写入的值(十进制或十六进制)
5. click Read/Write 执行写入

# example:温度を設定する。
- 温度の設定值在40100,範囲0-100,分辨率0.1
- 要设定25.5°C,write value=255
- Start Address=99, Value=255
- 点击写入

8.3 write multiple coils(function code15)

# write multiple coils(Force Multiple Coils)- function code15

操作步骤:
1. Function Code Choice "Write Multiple Coils (15)"
2. Start Address:starting address
3. Quantity:Write quantity
4. 在データ表格中逐个設定每1つのコイル的值(0xFF00/0x0000)
5. click Read/Write 一括書き込みき込み入

# 注意
- 1回限り。写入19681つのコイル
- すべてのコイル値会一次性送信到デバイス

8.4 write multiple registers(function code16)

# write multiple registers(Preset Multiple Registers)- function code16

操作步骤:
1. Function Code Choice "Write Multiple Registers (16)"
2. Start Address:starting address
3. Quantity:Write quantity
4. 在データ表格中逐个設定すべてのレジスタ。的值
5. click Read/Write 一括書き込みき込み入

# example:批量設定PIDparameter
- P在40200,I在40201,D在40202
- Start Address=199, Quantity=3
- 分别設定P=100, I=50, D=20
- 点击写入,一次性更新三个参数

九、データ格式設定

QModMasterサポート多种データ表示格式,経由 View 菜单切换。正确設定データ格式是解读設備のデータ的关键。

9.1 サポート的データ格式

format説明適用可能なシーン
Unsigned Int 1616ビット符号なし整数(0-65535)ステータス字、计数、元のADC值
Signed Int 1616ビット符号付き整数(-32768~32767)temperature、压力等可能为负的量
Unsigned Int 3232ビット符号なし整数(占21つのレジスタ)大计数、累计量
Signed Int 3232ビット符号付き整数(占21つのレジスタ)大範囲模拟量
Float 32IEEE 754 Single Precision Floating Point Numbers(占21つのレジスタ)temperature、压力、トラフィック等物理量
Hex十六进制元の值debug、协议分析
Binary二进制位表示ステータス字逐位分析

9.2 浮動小数点数表示方法

# View32ビット浮動小数点数

1. 先読み取り2个连续保持レジスタです。(function code03)
2. open View 菜单
3. Choice "Float" 或 "32-bit Float"
4. データ表格会自动将相邻的两1つのレジスタ
   组合为一个浮動小数点数表示

# 浮動小数点数バイトオーダー問題
不同デバイス的浮動小数点数存储顺序可能不同:
- ABCD(ビッグエンディアン序):reg[0]=高16位, reg[1]=低16位(最も一般的な)
- CDAB(Word exchange):reg[0]=低16位, reg[1]=高16位
- DCBA(リトルエンディアン序):完全反转

もしFloat表示的值明显正しくない(如NaN、超大数),
説明バイトオーダー不マッチング,需要:
1. 用計算器手动转换验证
2. または使用其他工具(如Modbus Poll)切换バイトオーダー
3. 记录デバイス的正确バイトオーダー,在后续开发で使用する。

十、Bus Monitorバス监视器详解

Bus Monitor是QModMaster最有价值的デバッグ功能,它表示バス上传输的生データ包,帮助エンジニアポジショニング通讯問題。経由 View → Bus Monitor Open。

10.1 データパケットは解析サンプル

# Modbus RTUデータパケットはサンプル

# return response(Tx):駅から読む。1保持レジスタです。0-9
Tx: 01 03 00 00 00 0A C5 CD
    │  │  │     │     │  │
    │  │  │     │     │  └─ CRC check低バイト数
    │  │  │     │     └──── CRC checkhigh byte
    │  │  │     └────────── Reading quantity=10
    │  │  └──────────────── 開始アドレスハイバイト=0
    │  └─────────────────── 開始アドレス低バイト数=0
    └────────────────────── function code03=read holding registers
    └──────────────────────── slave address=1

# 受信レスポンス(Rx):スレーブ戻る10个レジスタの値
Rx: 01 03 14 00 64 00 C8 01 2C 01 90 01 F4 02 58 02 BC 03 20 03 84 03 E8 7B 6E
    │  │  │  │
    │  │  │  └─ register0值=0x0064=100
    │  │  └──── byte count=20(101つのレジスタ×2バイト)
    │  └─────── function code03
    └────────── slave address=1

# Modbus TCPデータパケットはサンプル
# TCPモード比RTU多了MBAP Head(7バイト)

Tx: 00 01 00 00 00 06 01 03 00 00 00 0A
    │  │  │  │  │  │  │  │  │     │
    │  │  │  │  │  │  │  │  │     └─ Quantity=10
    │  │  │  │  │  │  │  │  └─────── starting address=0
    │  │  │  │  │  │  │  └────────── function code03
    │  │  │  │  │  │  └───────────── slaveID=1
    │  │  │  │  │  └──────────────── Length=6バイト
    │  │  │  │  └─────────────────── ProtocolID=0(Modbus)
    │  │  │  └────────────────────── ProtocolIDhigh byte=0
    │  │  └───────────────────────── トランザクションID低バイト数=1
    │  └──────────────────────────── トランザクションIDhigh byte=0
    └─────────────────────────────── トランザクションID=1(用于マッチングリクエストレスポンス)

10.2 異常な応答解析

# Modbus例外応答形式
# function code = オリジナル機能コード + 0x80
# Exception Code = 1バイト

Rx: 01 83 02 C0 F1
    │  │  │  │
    │  │  │  └─ CRC check
    │  │  └──── Exception Code=02(Illegal data address)
    │  └─────── 異常な機能コード=0x83(原03+0x80)
    └────────── slave address=1

# 通常の異常コード
01 - Illegal Function(違法な機能コード):デバイスはこの機能をサポートしません码
02 - Illegal Data Address(Illegal data address):アドレス超出範囲
03 - Illegal Data Value(Illegal data value):値の書き込み不合法
04 - Slave Device Failure(Substation equipment malfunction):デバイスの内部エラー
05 - Acknowledge(Confirm):已接受,処理中
06 - Slave Device Busy(駅から忙しい。):後でもう一度お試しください

# Bus Monitor使用技巧
- 勾选 "Show Timestamp" 表示精确时间
- 对比Tx和Rx的时间差,計算デバイスレスポンス速度
- 異常な応答时重点表示異常コード。
- 无Rx表示デバイス未レスポンス,チェック配線和アドレス

十一、连续扫描モード

# 连续扫描(Scan)Function

1. 設定好読み取り参数(function code、address、Quantity)
2. 点击工具栏 Scan button(或按F5)
3. QModMaster按设定間隔周期性読み取りデータ
4. データ表格实时更新最新值
5. 再次点击 Scan 停止扫描

# 扫描間隔設定
- Options → 設定扫描間隔(Scan Rate)
- 常用間隔:100ms, 500ms, 1000ms, 2000ms
- 間隔短すぎる可能导致デバイスレスポンス不过来
- 建议从1000ms开始,根据デバイスレスポンス速度调整

# 扫描モード用途
- リアルタイムモニタリングセンサーはデータ变化
- 观察デバイス実行状態の状態
- 测试デバイスレスポンス速度和稳定性
- 记录データ变化趋势(配合截图或第三方工具)

# 注意
- 扫描期间不要频繁切换機能コード或アドレス
- RTUモード下扫描間隔建议≥500ms
- 长时间扫描可能导致デバイス发热,注意散热

十二、实际応用ケース

12.1 案例一:デバッグ温湿度センサー

# device:RS485温湿度トランスミッタ
# 手册参数:
#   - slave address:1
#   - Baud rate:9600, 8N1
#   - temperature:30001,16ビット符号付き整数,分辨率0.1°C
#   - 湿度:30002,16ビット符号なし整数,分辨率0.1%RH

# QModMasterOperation:
1. Options → Modbus RTU → COM3, 9600, 8, N, 1, Slave=1
2. Connect
3. Function Code = Read Input Registers (04)
4. Start Address = 0, Quantity = 2
5. Read/Write
6. 查結果を見る。:
   - address0值=253 → temperature=25.3°C(Signed Int 16)
   - address1值=652 → 湿度=65.2%RH(Unsigned Int 16)
7. OpenScan,观察温湿度实时变化

12.2 案例二:控制继电器モジュール

# device:8路Modbus继电器モジュール
# 手册参数:
#   - slave address:2
#   - Baud rate:9600, 8N1
#   - Relay1-8对应コイル0-7
#   - 写コイル0xFF00=吸合,0x0000=断开

# QModMasterOperation:
1. Options → Modbus RTU → COM3, 9600, 8, N, 1, Slave=2
2. Connect
3. 読み取り继电器ステータス:
   Function Code = Read Coils (01)
   Start Address = 0, Quantity = 8
   Read/Write → 表示8路继电器当前ステータス
4. 控制继电器1吸合:
   Function Code = Write Single Coil (05)
   Start Address = 0
   双击アドレス0的Value列,入力 FF00
   Read/Write → 听到继电器吸合声
5. 控制继电器1断开:
   Value改为 0000 → Read/Write
6. バッチ制御:
   Function Code = Write Multiple Coils (15)
   設定前4路为FF00,后4路为0000
   Read/Write → 前4路同时吸合

12.3 案例三:デバッグ周波数変換器

# device:Modbus TCP周波数変換器
# 手册参数:
#   - IP:192.168.1.50,ポート502
#   - slaveID:1
#   - 動作頻度は:40001,16ビット整数,分辨率0.01Hz
#   - 出力電流は:30001,16ビット整数,分辨率0.1A
#   - スタートアップコマンド:40100,写1=启动,写0=Stop
#   - 频率设定:40101,範囲0-5000(0.00-50.00Hz)

# QModMasterOperation:
1. Options → Modbus TCP → IP=192.168.1.50, Port=502, Slave=1
2. Connect
3. 読み取り動作頻度は:
   FC=Read Holding Registers(03), Addr=0, Qty=1
   值=2500 → 频率=25.00Hz
4. 読み取り出力電流は:
   FC=Read Input Registers(04), Addr=0, Qty=1
   值=135 → 电流=13.5A
5. 设定频率30Hz:
   FC=Write Single Register(06), Addr=100
   Value=3000 → Write
6. 启动周波数変換器:
   FC=Write Single Register(06), Addr=99
   Value=1 → Write
7. OpenScanモニタリング実行状態の状態

十三、エキスパート技巧

13.1 設定文件保存与加载

# 保存当前設定
File → Save As → 選択保存路径和文件名
設定文件包含:接続パラメータ、機能コード設定、data format、説明信息

# 加载設定
File → Open → 選択之前保存的設定文件
快速切换不同デバイス的デバッグ設定

# 建议
为每个项目/デバイス保存独立的設定文件,
命名格式:项目名_デバイス名_日期.qmm
例如:FactoryA_TempSensor_20260917.qmm

13.2 アドレス扫描技巧

# 不知道デバイスレジスター·アドレス时的扫描方法

方法1:大範囲読み取り
- 設定Quantity=125(Modbus最大单次読み取り量)
- 住所から。0开始,每次偏移125
- 记录哪些アドレス有普通の反応(非異常コード。02)

方法2:Bus Monitor观察
- OpenScan,大範囲読み取り
- 在Bus Monitor中观察哪些リクエスト戻る正常データ
- Exception Code02表示该アドレス範囲不存在

方法3:参照同类デバイス
- 同ブランド同系列デバイス的レジスタ表通常相似
- 先按已知アドレス测试,再逐步扩展

# 注意
- 不要对デバイス进行全アドレス空间暴力扫描
- 部分デバイス对频繁異常リクエスト会触发保护
- 扫描間隔建议≥500ms

13.3 与Wireshark配合抓包

# Modbus TCP网络バッグの分析。

1. openWireshark,選択网卡,开始抓包
2. 在QModMaster中执行读書き込み操作。
3. Wireshark中过滤:modbus
4. 表示完全的TCPデータパケットは
5. Wireshark会自动解析Modbusプロトコル字段

# 適用可能なシーン
- 分析网络延迟和丢包
- トラブルシューティング多マスター冲突
- 验证ゲートウェイプロトコル変換正确性
- 学习Modbus TCP协议细节

# RTU抓包
- 使用带监听功能的USB转RS485モジュール
- または使用专用RS485バス分析仪
- QModMaster的Bus Monitor已足够应对大多数场景

十四、common problemsFAQ

Q1:QModMasterサポートModbus ASCII吗?

サポートなし。。QModMaster仅サポートModbus TCP和Modbus RTU。Modbus ASCII是较老的协议,目前已很少使用。如需ASCIIProtocol,可使用Modbus Pollまたは他の工具。

Q2:なぜか。読み取り到的值都是0?

可能原因:①アドレスエラー,読み取り了未使用的アドレス;②デバイス未上电或未运行;③データ型設定エラー,浮動小数点数被当作整数表示;④slaveID不マッチング。解決方法:ViewBus Monitor確認ありますか?普通の反応,核对デバイス手册的アドレス表。

Q3:QModMaster可以做スレーブ(Slave)模拟吗?

不可以。QModMaster是纯マスター(Master)Tools,只能主动読み書きスレーブデバイス。如需模拟スレーブ,可使用Modbus Slave(有料)或pymodbus的サーバー側。功能(free)。

Q4:最大可以読み取り多少1つのレジスタ?

Modbusプロトコル规定最大のシングル。読み取り125レジスタを保持する。/入力レジスタ。,20001つのコイル/ショップ型入力,写入最多1231つのレジスタ/19681つのコイル。QModMaster遵循此限制。

Q5:Windows 11下QModMaster闪退怎么办?

尝试:①以管理者のこと身份运行;②インストール最新版VC++运行库;③右のプロパティ→兼容性→Windows 7兼容モード;④最新のダウンロード版本。

Q6:如何同时连接多个デバイス?

QModMaster单实例只能连接一个デバイス。可同时打开多个QModMaster实例,每个实例连接不同的デバイス或不同駅からの住所。RTUモード下多个スレーブ在同一バス上,只需切换Slave ID即可。

十五、学习リソース

  • QModMaster官网:https://qmodmaster.com/
  • SourceForgeDownload:https://sourceforge.net/projects/qmodmaster/
  • Modbusプロトコル官方规范:https://modbus.org/specs.php
  • libmodbusDocument:https://libmodbus.org/documentation/
  • Modbus TCP抓包チュートリアル:Wireshark官方ドキュメント検索"Modbus"
  • RS485硬件设计ガイド:TI应用笔记SLVA677

QModMaster作为一款無料开源的Modbus debugging tool,凭借其直观的界面、强大的バス监视器和双协议サポート,成为工业自動化エンジニア不可或缺的デバッグ利器。掌握QModMaster的使用,能够快速验证デバイス通讯、トラブルシューティング协议問題、読み取り和写入レジスタのデータ,大大提高オンサイトデバッグ效率。建议配合デバイス手册和Bus MonitorFunction,从简单的リードホールドレジスタ开始,逐步掌握すべて関数コードとエキスパートデバッグスキル。

📦

VIP专属:QModMasterチュートリアルと構成パッケージの使用

Qt+libmodbusグラフィカルなデバッグツール完全チュートリアル:Bus Monitor、RTU/TCP設定、3実際の応用例。

Activate VIP即可下载完全代码,同时解锁 30+ 工程実践パッケージの内容:スクリプトのデバッグ、クイックチェック·テーブル、项目模板、トラブルシューティング案例……

前往VIP资料库下载 → 月费仅9.9元 / 年费199元
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support