Free Modbus Simulator (ModRSsim2) tutorial: Free slave simulation and testing tool

freeFree Technical Resource

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

Free Modbus Simulator (ModRSsim2) tutorial: Free slave simulation and testing tool缩略图

Introduction to Free Modbus Simulator (ModRSsim2)

Free Modbus Simulator(最新版本命名为 ModRSsim2)是一款 Windows 平台上的免费 Modbus RTU 和 TCP 从站(Slave/Server)模拟器,项目托管在 SourceForge:sourceforge.net/projects/modrssim2

ModRSsim2 是原版 "Free Modbus Simulator" 的一个分支(fork)和扩展版本,由社区开发者维护。使用 Visual Studio C++ 2010 编写,完整源码开源。它在原版基础上增加了更多诊断功能和脚本支持。

功能特性

  • 全地址空间模拟:支持四种 Modbus 数据类型(0xxxx 线圈、1xxxx 离散输入、3xxxx 输入寄存器、4xxxx 保持寄存器)的完整地址范围
  • 多设备模拟:可同时模拟多个不同的 Device ID(Slave Address)
  • 双协议:同时支持 Modbus RTU(串口)和 Modbus TCP(以太网)
  • 流量捕获:完整的字节级通信捕获和日志记录,带人工可读的解码描述
  • CSV 加载:从 CSV 文件批量加载寄存器初始值
  • 脚本环境:支持测试脚本,自动化修改寄存器值
  • HTML 自定义显示:可以使用 HTML 模板自定义数据显示界面
  • 完整源码:C++ 源码可用,便于二次开发

下载与安装

# from SourceForge Download
# https://sourceforge.net/projects/modrssim2/

# Download the latest version directly EXE installation package,Just run and install

安装后启动 ModRSsim2,主界面提供以下操作区:

  • 顶部菜单栏:配置、连接、脚本、日志等
  • 左侧设备树:管理模拟的多个从站设备
  • 中间数据区:显示和编辑寄存器/线圈的值
  • 底部日志区:显示通信流量和解码信息

创建 TCP 从站

  1. 菜单栏点击 Connection → TCP/IP
  2. 设置监听端口(默认 502)
  3. 设置从站地址(Device ID):1
  4. 在数据区选择 Holding Registers (4xxxx) 标签页
  5. 直接在表格中填入想要返回的寄存器值
  6. 点击 Start 按钮启动模拟

用 Modbus Poll 或 Modpoll 连接 127.0.0.1:502 测试,即可读取到设定的值。

创建 RTU 串口从站

  1. 菜单栏点击 Connection → Serial (RTU)
  2. 选择串口号(如 COM3)
  3. 设置波特率(9600)、数据位(8)、校验位(None)、停止位(1)
  4. 设置从站地址
  5. 点击 Start 启动

⚠️ ModRSsim2 使用串口时,该串口会被独占。不要同时用其他软件打开同一个串口,否则会出现"端口被占用"错误。

通信日志与诊断

ModRSsim2 的通信日志功能非常详尽,对于调试 Modbus 通信问题非常有价值:

  • 字节级捕获:显示原始的十六进制通信字节
  • 解码描述:自动解析每帧的含义(如 "FC03: Read Holding Registers from address 0, count 10")
  • 时间戳:每条记录带有精确的时间戳
  • 日志导出:可导出为文本文件进行分析

CSV 批量加载寄存器值

如果你需要模拟一个有几十上百个寄存器的设备,逐一手动填写值是不现实的。ModRSsim2 支持 CSV 文件批量导入:

# CSV Format Example(holding_registers.csv)
Address,Value,Description
40001,1234,Aphase voltage(mV)
40002,1198,Bphase voltage(mV)
40003,1205,Cphase voltage(mV)
40004,850,Aphase current(mA x100)
40005,830,Bphase current(mA x100)
40006,845,Cphase current(mA x100)
40007,1020,frequency(Hz x100)
40008,500,active power(W)

菜单 → File → Import CSV → 选择文件 → 导入完成。

ModRSsim2 vs 其他免费模拟器

工具平台特点活跃度
ModRSsim2Windows全地址空间、通信日志、CSV导入、开源
ModbusPal跨平台(Java)Python脚本动态生成数据
Modbus SlaveWindows商业软件,功能最完善活跃
Unslave跨平台现代 UI,仍在开发中

总结

ModRSsim2 是 Windows 平台上最实用的免费 Modbus 从站模拟器之一。它虽然没有 ModbusPal 那样的 Python 脚本动态数据能力,但在静态模拟场景(按照已知的数据表模拟一个固定的从站设备)中更加简单直接。特别是它的通信日志解码功能和 CSV 批量导入功能,非常适合在 Modbus 主站开发阶段进行联调测试。

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

Leave a Reply

Your email address will not be published. Required fields are marked *.