Modbus Constructor 简介
Modbus Constructor 是由 KurySoft 公司开发的一款 Modbus 设备建模和测试工具。官网:www.kurysoft.com/download.shtml。它不仅是一个简单的数据读取工具,更是一个完整的 Modbus 设备模型编辑器——你可以用它来创建 Modbus 设备的”数字孪生”,包括所有的寄存器映射、数据格式、单位和缩放因子。
Modbus Constructor 核心功能
- 设备建模:可视化创建 Modbus 设备的完整寄存器映射表,包括地址、数据类型、单位、缩放因子、读写属性等元数据
- 数据监视:连接到真实设备后,按照建立的模型实时监视和显示数据
- 数据导出:将监视数据导出为 Excel、CSV 等格式
- 模型保存:设备模型保存为独立的模型文件,可重复使用和分享
Modbus Reader —— 免费的配套数据监视工具
Modbus Reader 是 Modbus Constructor 的免费配套工具。它本身不能创建模型,但可以加载用 Modbus Constructor 创建的模型文件,然后按照模型定义的格式连接设备并显示数据。
这意味着:一个人用 Modbus Constructor(收费)创建好设备模型后,现场工程师和技术人员可以免费使用 Modbus Reader 来连接设备、查看数据。这在团队协作中非常实用。
创建设备模型
以创建一个三相电表的 Modbus 模型为例:
- 启动 Modbus Constructor,点击 New Project
- 设置设备基本信息:名称”三相多功能电表”,协议类型 Modbus TCP
- 添加寄存器组:
| 地址 | 名称 | 类型 | 单位 | 缩放 |
|---|---|---|---|---|
| 40001 | A相电压 | 16-bit UInt | V | ×0.1 |
| 40002 | B相电压 | 16-bit UInt | V | ×0.1 |
| 40003 | C相电压 | 16-bit UInt | V | ×0.1 |
| 40004 | A相电流 | 16-bit UInt | A | ×0.01 |
| 40007 | 总有功功率 | 32-bit Float | kW | ×1.0 |
| 40009 | 总电能 | 32-bit UInt | kWh | ×0.1 |
| 40011 | 功率因数 | 16-bit UInt | – | ×0.001 |
| 40012 | 频率 | 16-bit UInt | Hz | ×0.01 |
- 保存模型文件(.mcm 格式)
- 打开 Modbus Reader,加载模型文件
- 连接设备 IP 和端口
- 即可看到按模型格式化后的实时数据
为什么需要设备建模?
在没有设备模型的情况下,你用 Modbus Poll 或 Modpoll 看到的是这样的数据:
地址 0: 2305 (这是多少伏?)
地址 1: 1198
地址 7: 0x428B0CCD (这是什么?)
有了设备模型后,同样是这些原始数据,Modbus Constructor/Reader 会按照你定义的元数据自动解析和显示:
A相电压: 230.5 V
B相电压: 119.8 V
总有功功率: 69.525 kW
这种”从原始寄存器值到有实际含义的物理量”的转换,是 Modbus Constructor 区别于普通调试工具的核心价值。
Modbus Constructor 在团队协作中的应用
典型的协作流程:
- 系统工程师用 Modbus Constructor 为项目中的所有 Modbus 设备创建模型文件
- 将模型文件分发给现场调试工程师
- 现场工程师用免费的 Modbus Reader 加载模型,连接设备进行调试和验收
- 不需要现场工程师记忆每个寄存器的地址、数据类型和缩放因子
免费替代方案
如果你不想购买 Modbus Constructor 的商业许可,可以考虑以下免费替代:
- Node-RED + Modbus 节点:通过拖拽流程节点配置 Modbus 读取和数据转换,可视化程度高
- Python + pymodbus + Pandas:编写 Python 脚本定义寄存器映射表,用 Pandas 处理和显示数据
- Excel + MBServer ActiveX:用 VBA 调用 MBServer 读取数据,Excel 中定义映射公式
总结
Modbus Constructor 解决了一个 Modbus 工程中非常实际的问题:如何让原始的无单位数字变成有实际含义的工程数据。通过创建可复用的设备模型文件,它大大降低了现场调试时对设备手册的依赖,也减少了因地址记错、数据格式搞混导致的人为错误。配合免费的 Modbus Reader,它是一个高效、实用的团队协作方案。
发表回复