- 1. Free Modbus Simulator(ModRSsim2)简介
- 2. Function特性
- 3. Download与安装
- 4. 创建 TCP 从站
- 5. 创建 RTU 串口从站
- 6. 通信日志与诊断
- 7. CSV 批量loadregister value
- 8. ModRSsim2 vs 其他free模拟器
- 9. 总结
Free Modbus Simulator(ModRSsim2)简介
Free Modbus Simulator(最新版本命名为 ModRSsim2)是一款 Windows 平台上的free Modbus RTU 和 TCP 从站(Slave/Server)模拟器,项目托管在 SourceForge:sourceforge.net/projects/modrssim2。
ModRSsim2 是原版 “Free Modbus Simulator” 的一个分支(fork)和扩展版本,由社区developer维护。使用 Visual Studio C++ 2010 编写,完整源码开源。它在原版基础上增加了More诊断Function和脚本支持。
Function特性
- 全address空间模拟:支持四种 Modbus data type(0xxxx 线圈、1xxxx 离散输入、3xxxx 输入register、4xxxx 保持register)的完整address范围
- 多设备模拟:可同时模拟多个不同的 Device ID(Slave Address)
- 双协议:同时支持 Modbus RTU(串口)和 Modbus TCP(以太网)
- 流量捕获:完整的byte级通信捕获和日志记录,带人工可读的解码描述
- CSV load:从 CSV 文件批量loadregister初始值
- 脚本环境:支持测试脚本,自动化修改register value
- HTML Customization显示:可以使用 HTML 模板Customizationdata显示界面
- 完整源码:C++ 源码可用,便于二次开发
Download与安装
# 从 SourceForge Download
# https://sourceforge.net/projects/modrssim2/
# 直接Download最新版本的 EXE 安装包,运行安装即可
安装后启动 ModRSsim2,主界面提供以下Operation区:
- 顶部菜单栏:配置、connect、脚本、日志等
- 左侧设备树:管理模拟的多个从站设备
- 中间data area:显示和Editregister/线圈的值
- 底部日志区:显示通信流量和解码信息
创建 TCP 从站
- 菜单栏点击 Connection → TCP/IP
- 设置监听端口(默认 502)
- 设置slave address(Device ID):1
- 在data area选择 Holding Registers (4xxxx) Tags页
- 直接在表格中填入想要返回的register value
- Click Start button启动模拟
用 Modbus Poll 或 Modpoll connect 127.0.0.1:502 测试,即可读取到设定的值。
创建 RTU 串口从站
- 菜单栏点击 Connection → Serial (RTU)
- Select serial port号(如 COM3)
- 设置Baud rate(9600)、data bit(8)、check digit(None)、stop bit(1)
- 设置slave address
- Click Start 启动
⚠️ ModRSsim2 使用串口时,该串口会被独占。不要同时用其他软件打开同一个串口,否则会出现”端口被占用”Error。
通信日志与诊断
ModRSsim2 的通信日志Function非常详尽,对于debug Modbus 通信问题非常有价值:
- byte级捕获:显示原始的hexadecimal通信byte
- 解码描述:自动Parse每帧的含义(如 “FC03: Read Holding Registers from address 0, count 10″)
- time戳:每条记录带有精确的time戳
- 日志export:可export为Text文件进行分析
CSV 批量loadregister value
如果你需要模拟一个有几十上百个registerequipment,逐一手动填写值是不现实的。ModRSsim2 支持 CSV 文件批量导入:
# CSV format示例(holding_registers.csv)
Address,Value,Description
40001,1234,A相电压(mV)
40002,1198,B相电压(mV)
40003,1205,C相电压(mV)
40004,850,A相电流(mA x100)
40005,830,B相电流(mA x100)
40006,845,C相电流(mA x100)
40007,1020,频率(Hz x100)
40008,500,有功功率(W)
菜单 → File → Import CSV → 选择文件 → 导入Complete。
ModRSsim2 vs 其他free模拟器
| Tools | 平台 | 特点 | 活跃度 |
|---|---|---|---|
| ModRSsim2 | Windows | 全address空间、通信日志、CSV导入、开源 | 低 |
| ModbusPal | 跨平台(Java) | Python脚本动态生成data | 低 |
| Modbus Slave | Windows | 商业软件,Function最完善 | 活跃 |
| Unslave | 跨平台 | 现代 UI,仍在开发中 | 中 |
总结
ModRSsim2 是 Windows 平台上最实用的free Modbus 从站模拟器之一。它虽然没有 ModbusPal 那样的 Python 脚本动态data能力,但在静态模拟Scene(按照已知的data表模拟一个固定的从站设备)中更加简单直接。特别是它的通信日志解码Function和 CSV 批量导入Function,非常适合在 Modbus 主站开发阶段进行联调测试。
发表回复