软件用途Modbus Studio 是一个用于 Modbus RTU / Modbus TCP 调试的桌面工具主要用于作为 Client 连接真实设备并读取、写入点位。作为 Server 模拟从站供其他主站软件或设备读取、写入。使用寄存器字典统一管理地址、名称、数据类型、倍率、单位、权限和备注。保存工程文件恢复 Client 数据、Server 数据、寄存器字典、连接配置和报文日志。2. 为什么要做这个软件在日常上位机、控制器、传感器和 PLC 调试中很多工程师会使用 Modbus Poll 和 Modbus Slave 这类工具。它们很经典也很稳定但在实际项目交付和反复联调时会遇到一些不方便的地方。2.1 Modbus Poll 的常见问题Modbus Poll 适合快速读取某一段寄存器但它更偏“地址段调试”不是“工程点位调试”。项目点位多了以后常见问题包括点位含义需要额外查表地址40001到底是什么变量、单位是什么、倍率是多少不在工具里形成统一上下文。多种数据类型需要人工切换或手动换算例如UINT16、INT16、FLOAT_ABCD、倍率0.1等容易算错。每次调试不同设备时都要重新配置功能码、起始地址、数量和显示格式。读取和写入更关注原始寄存器不够贴近“温度、压力、状态、设定值”这类工程变量。工程资料、报文日志、点位说明通常散落在 Excel、截图、聊天记录和测试记录中后续复现困难。2.2 Modbus Slave 的常见问题Modbus Slave 适合临时模拟从站但它通常更关注四个数据区本身而不是项目字典。实际模拟设备时会遇到Server 模拟数据和 Client 读取点位往往需要分别配置两个工具之间不能自然复用同一份点位表。模拟保持寄存器、输入寄存器、线圈、离散输入时点位名称、单位、倍率和备注不够直观。外部主站写入后虽然寄存器值变化了但不容易直接看出对应的是哪个业务变量。项目切换后模拟数据、连接参数和点位说明不容易完整恢复。Client 调试和 Server 仿真分属两个工具报文日志、工程配置和测试状态无法统一管理。2.3 Modbus Studio 要解决什么Modbus Studio 的目标不是简单复制 Modbus Poll 或 Modbus Slave而是把常见 Modbus 调试过程整理成一个完整工程用一份“寄存器字典”同时驱动 Client 和 Server。Client 只读取字典里定义的点位不读无关地址。Server 只模拟字典里定义的点位不生成无意义的固定地址表。每个点位都有地址、名称、数据类型、长度、读写权限、倍率、单位和备注。原始 HEX 和工程解析值同时显示写入解析值时自动反算为设备原始值。TCP / RTU Client、TCP / RTU Server、报文日志和工程管理放在同一个软件里。工程文件可以保存连接配置、Client 数据、Server 数据、寄存器字典和报文日志方便下次继续调试或交付给同事。简单来说Modbus Poll 和 Modbus Slave 更像“协议调试工具”而 Modbus Studio 更想做成“项目调试工作台”。它让一次调试留下完整的工程上下文而不是只留下几个临时地址和一堆零散截图。3. 启动软件Modbus Studio\Modbus Studio.exe4. 基本使用流程推荐按以下顺序使用在“寄存器字典”中配置点位。在“Client”中连接设备软件会按字典自动循环读取。如需模拟从站在“Server”中按同一份字典配置数据并启动服务。在“报文日志”中查看 TX/RX 原始报文和解析结果。在“工程管理”中保存为.mbs工程文件。5. 寄存器字典寄存器字典是软件的核心。Client 和 Server 都会根据字典中的地址和长度工作不会读取或显示字典之外的点位。5.1 字典字段说明字段说明分组用于分类点位例如“温度传感器”“系统状态”。地址Modbus 显示地址例如40001。名称点位名称例如“设定温度”。数据类型解析原始值时使用的数据格式。长度占用的 16 位寄存器数量位区通常为 1。读写权限R只读、W只写、RW读写。比例因子用于工程值换算。单位显示单位例如℃、kPa、%。备注点位用途、范围或调试说明。5.2 地址范围地址范围Modbus 区域Client 行为Server 行为00001-09999线圈 Coil可读取可写线圈可模拟可切换开关值10001-19999离散输入 Discrete Input可读取只读可模拟只读区30001-39999输入寄存器 Input Register可读取只读可模拟寄存器值40001-49999保持寄存器 Holding Register可读取可写寄存器可模拟寄存器值说明界面中填写的是常见 Modbus 显示地址协议报文会自动转换为零基地址。例如40001会转换为协议地址0。5.3 数据类型支持的数据类型UINT16INT16UINT32INT32FLOAT_ABCDFLOAT_CDABFLOAT_BADCFLOAT_DCBABCDBIT选择数据类型后软件会自动给出推荐长度用户也可以手动修改。5.4 比例因子界面显示的解析值与设备原始值之间按比例因子换算解析值 原始值 × 比例因子 原始值 解析值 ÷ 比例因子示例原始值比例因子界面解析值2500.12512340.0112.34写入“解析值”时软件会自动反算为原始寄存器值再发送。6. Client 使用Client 页面用于连接真实 Modbus 设备。6.1 连接 RTU 设备在左侧“连接配置”选择协议类型为Modbus RTU。点击“刷新”获取串口列表。选择端口、波特率、数据位、停止位、校验位和超时时间。点击“连接 RTU”。连接成功后状态会显示为已连接。6.2 连接 TCP 设备在左侧“连接配置”选择协议类型为Modbus TCP。输入主机地址例如127.0.0.1。输入端口例如502。设置超时时间。点击“连接 TCP”。6.3 自动读取Client 不再依赖手动输入功能码、起始地址和数量。连接成功后软件会根据寄存器字典自动循环读取线圈区使用01。离散输入区使用02。保持寄存器区使用03。输入寄存器区使用04。可在顶部设置“循环周期”单位为毫秒。6.4 合并读取“合并读取”开启后软件会尝试把相邻或接近的字典点位合并为较少的读取请求减少报文数量。适合
Modbus Studio (免费的Modbus主从机软件)
软件用途Modbus Studio 是一个用于 Modbus RTU / Modbus TCP 调试的桌面工具主要用于作为 Client 连接真实设备并读取、写入点位。作为 Server 模拟从站供其他主站软件或设备读取、写入。使用寄存器字典统一管理地址、名称、数据类型、倍率、单位、权限和备注。保存工程文件恢复 Client 数据、Server 数据、寄存器字典、连接配置和报文日志。2. 为什么要做这个软件在日常上位机、控制器、传感器和 PLC 调试中很多工程师会使用 Modbus Poll 和 Modbus Slave 这类工具。它们很经典也很稳定但在实际项目交付和反复联调时会遇到一些不方便的地方。2.1 Modbus Poll 的常见问题Modbus Poll 适合快速读取某一段寄存器但它更偏“地址段调试”不是“工程点位调试”。项目点位多了以后常见问题包括点位含义需要额外查表地址40001到底是什么变量、单位是什么、倍率是多少不在工具里形成统一上下文。多种数据类型需要人工切换或手动换算例如UINT16、INT16、FLOAT_ABCD、倍率0.1等容易算错。每次调试不同设备时都要重新配置功能码、起始地址、数量和显示格式。读取和写入更关注原始寄存器不够贴近“温度、压力、状态、设定值”这类工程变量。工程资料、报文日志、点位说明通常散落在 Excel、截图、聊天记录和测试记录中后续复现困难。2.2 Modbus Slave 的常见问题Modbus Slave 适合临时模拟从站但它通常更关注四个数据区本身而不是项目字典。实际模拟设备时会遇到Server 模拟数据和 Client 读取点位往往需要分别配置两个工具之间不能自然复用同一份点位表。模拟保持寄存器、输入寄存器、线圈、离散输入时点位名称、单位、倍率和备注不够直观。外部主站写入后虽然寄存器值变化了但不容易直接看出对应的是哪个业务变量。项目切换后模拟数据、连接参数和点位说明不容易完整恢复。Client 调试和 Server 仿真分属两个工具报文日志、工程配置和测试状态无法统一管理。2.3 Modbus Studio 要解决什么Modbus Studio 的目标不是简单复制 Modbus Poll 或 Modbus Slave而是把常见 Modbus 调试过程整理成一个完整工程用一份“寄存器字典”同时驱动 Client 和 Server。Client 只读取字典里定义的点位不读无关地址。Server 只模拟字典里定义的点位不生成无意义的固定地址表。每个点位都有地址、名称、数据类型、长度、读写权限、倍率、单位和备注。原始 HEX 和工程解析值同时显示写入解析值时自动反算为设备原始值。TCP / RTU Client、TCP / RTU Server、报文日志和工程管理放在同一个软件里。工程文件可以保存连接配置、Client 数据、Server 数据、寄存器字典和报文日志方便下次继续调试或交付给同事。简单来说Modbus Poll 和 Modbus Slave 更像“协议调试工具”而 Modbus Studio 更想做成“项目调试工作台”。它让一次调试留下完整的工程上下文而不是只留下几个临时地址和一堆零散截图。3. 启动软件Modbus Studio\Modbus Studio.exe4. 基本使用流程推荐按以下顺序使用在“寄存器字典”中配置点位。在“Client”中连接设备软件会按字典自动循环读取。如需模拟从站在“Server”中按同一份字典配置数据并启动服务。在“报文日志”中查看 TX/RX 原始报文和解析结果。在“工程管理”中保存为.mbs工程文件。5. 寄存器字典寄存器字典是软件的核心。Client 和 Server 都会根据字典中的地址和长度工作不会读取或显示字典之外的点位。5.1 字典字段说明字段说明分组用于分类点位例如“温度传感器”“系统状态”。地址Modbus 显示地址例如40001。名称点位名称例如“设定温度”。数据类型解析原始值时使用的数据格式。长度占用的 16 位寄存器数量位区通常为 1。读写权限R只读、W只写、RW读写。比例因子用于工程值换算。单位显示单位例如℃、kPa、%。备注点位用途、范围或调试说明。5.2 地址范围地址范围Modbus 区域Client 行为Server 行为00001-09999线圈 Coil可读取可写线圈可模拟可切换开关值10001-19999离散输入 Discrete Input可读取只读可模拟只读区30001-39999输入寄存器 Input Register可读取只读可模拟寄存器值40001-49999保持寄存器 Holding Register可读取可写寄存器可模拟寄存器值说明界面中填写的是常见 Modbus 显示地址协议报文会自动转换为零基地址。例如40001会转换为协议地址0。5.3 数据类型支持的数据类型UINT16INT16UINT32INT32FLOAT_ABCDFLOAT_CDABFLOAT_BADCFLOAT_DCBABCDBIT选择数据类型后软件会自动给出推荐长度用户也可以手动修改。5.4 比例因子界面显示的解析值与设备原始值之间按比例因子换算解析值 原始值 × 比例因子 原始值 解析值 ÷ 比例因子示例原始值比例因子界面解析值2500.12512340.0112.34写入“解析值”时软件会自动反算为原始寄存器值再发送。6. Client 使用Client 页面用于连接真实 Modbus 设备。6.1 连接 RTU 设备在左侧“连接配置”选择协议类型为Modbus RTU。点击“刷新”获取串口列表。选择端口、波特率、数据位、停止位、校验位和超时时间。点击“连接 RTU”。连接成功后状态会显示为已连接。6.2 连接 TCP 设备在左侧“连接配置”选择协议类型为Modbus TCP。输入主机地址例如127.0.0.1。输入端口例如502。设置超时时间。点击“连接 TCP”。6.3 自动读取Client 不再依赖手动输入功能码、起始地址和数量。连接成功后软件会根据寄存器字典自动循环读取线圈区使用01。离散输入区使用02。保持寄存器区使用03。输入寄存器区使用04。可在顶部设置“循环周期”单位为毫秒。6.4 合并读取“合并读取”开启后软件会尝试把相邻或接近的字典点位合并为较少的读取请求减少报文数量。适合