# modbusSimulation **Repository Path**: hl_tools/modbus-simulation ## Basic Information - **Project Name**: modbusSimulation - **Description**: Modbus Poll 和 Modbus Slave 是两款用于 Modbus 通信协议 测试和仿真的专业工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-11 - **Last Updated**: 2026-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Modbus Poll - **主站模拟器** **作用:** 模拟 **Modbus 主站**(Client/Master),向从站设备发送请求并读取/写入数据。 **典型用途:** - 读取 PLC、仪表、变频器、RTU 等从站设备的数据。 - 测试从站设备是否响应正确。 - 数据监控:以表格、趋势图、仪表盘等形式实时显示寄存器数值。 - 故障排查:发送特定报文,分析从站返回的异常代码。 **支持功能码:** 01(读线圈)、02(读离散输入)、03(读保持寄存器)、04(读输入寄存器)、05(写单线圈)、06(写单寄存器)、15(写多线圈)、16(写多寄存器)等。 **连接方式:** 串口 (RS232/RS485)、TCP/IP、UDP、Modbus over TCP。 ------ ## Modbus Slave - **从站模拟器** **作用:** 模拟 **Modbus 从站**(Server/Slave),响应主站的请求,模拟设备的内部寄存器数据。 **典型用途:** - 在没有真实从站设备的情况下测试主站系统(如 PLC、SCADA、DCS、上位机软件)。 - 仿真各种响应场景(正常数据、边界值、异常码),验证主站的容错逻辑。 - 调试主站程序:观察主站发送的请求报文和轮询机制是否正确。 **核心功能:** - 手动编辑或自动生成寄存器/线圈的值(可设置随机变化、正弦波、递增等模式)。 - 模拟多个从站 ID(1~247)。 - 可强制返回异常码(如非法数据地址、非法功能码等),测试主站的异常处理。 - 实时显示主站发送的原始报文。 **连接方式:** 同 Modbus Poll(串口、TCP等)。 ------ ## 两者对比 | 特性 | Modbus Poll | Modbus Slave | | :--------------- | :--------------------- | :--------------------- | | **模拟角色** | 主站 (Master) | 从站 (Slave) | | **主动发送请求** | 是 | 否(仅响应) | | **数据流向** | 读取/写入从站数据 | 提供数据给主站 | | **典型用户** | 调试从站设备、监控数据 | 调试主站系统、模拟设备 | | **界面侧重** | 数据显示、图表、日志 | 寄存器编辑、响应模拟 | ## 常见使用场景 - **场景一:调试一台新仪表** → 用 Modbus Poll 连接仪表,验证通信参数、寄存器地址是否正确。 - **场景二:开发上位机软件** → 用 Modbus Slave 模拟虚拟仪表,测试上位机的读取和写入逻辑。 - **场景三:现场故障排查** → Poll 连接问题设备,观察是否响应;Slave 替换可疑设备,判断是主站还是从站故障。 - **场景四:学习 Modbus 协议** → 两台电脑或同一电脑的不同端口,一个跑 Poll(主),一个跑 Slave(从),互相通信观察报文。