2f28447a168634bb66505cda1b65d47ed4319a69
EMS Modbus 模拟器
一个基于 JavaFX 的 Modbus TCP 从站模拟器,监听端口固定为 4567。
功能
- 图形界面查看四类数据区:
Holding RegisterInput RegisterCoilDiscrete Input
- 手动写入四类数据区(支持地址和值边界限制)
- 设备场景模拟(可启停):
- 温度波动
- 压力变化
- 告警联动
- 泵状态联动
- 场景脚本编辑器(界面内可配置波形、阈值、联动输出地址)
- 故障注入:
- 响应延迟
- 强制异常码(按功能码或全部功能码)
- 收到请求后断开连接
- 点位配置导入:支持
CSV/XLSX - 通信日志 + 报文 HEX 明细(
RX/TX) - 支持标准 Modbus TCP 功能码:
0x01读 Coil0x02读离散输入0x03读保持寄存器0x04读输入寄存器0x05写单个 Coil0x06写单个保持寄存器0x0F写多个 Coil0x10写多个保持寄存器
运行
要求:
- JDK 17+
- Maven 3.9+
在项目目录执行:
mvn javafx:run
测试连接参数
- Host:
127.0.0.1 - Port:
4567 - Unit ID:
1(可自定义)
点位导入格式
CSV/XLSX 列
areaaddressvalue
area 可用值
holding/holding_register/hrinput/input_register/ircoildiscrete/discrete_input/di
示例(CSV)
area,address,value
holding,10,350
input,1,1015
coil,0,1
discrete,0,0
场景脚本示例
temp.base=25
temp.amplitude=12
temp.step=0.22
pressure.base=1000
pressure.amplitude=20
pressure.factor=0.8
threshold.mode=holding
threshold.holding.addr=10
# threshold.fixed.value=320
pump.margin=20
output.temp.input=0
output.temp.holding=0
output.pressure.input=1
output.pump.coil=0
output.alarm.discrete=0
Description
Languages
Java
100%