独立可运行的 S7-1200 信号监控工具,不依赖 MES 服务器连接,直连 PLC 读写 DB200 点位,用于现场调试和验证。
直接运行 com.mes.test.PlcSignalTest 的 main 方法
# 默认 IP: 192.168.1.1
java -cp <classpath> com.mes.test.PlcSignalTest
# 指定 IP
java -cp <classpath> com.mes.test.PlcSignalTest 192.168.1.100
| 点位 | 含义 | 显示 |
|---|---|---|
| DB200.156.3 | A面到位传感器 | 绿点=到位,灰点=未到位 |
| DB200.156.4 | B面到位传感器 | 绿点=到位,灰点=未到位 |
| 推算当前面 | 根据传感器推算 | A / B / -- |
验证方式:手动转动转台,观察灯变化和当前面显示
| 点位 | 含义 | 操作 |
|---|---|---|
| DB200.0.1 | A面MES允许启动 | 置位 true / 复位 false |
| DB200.38.0 | B面MES允许启动 | 置位 true / 复位 false |
显示:
写操作流程:
现场验证步骤:
1. 扫码完成后,正常流程应该看到 A面许可 = true(绿灯)
2. 此时观察 PLC 面板:A面启动按钮应该亮起/解锁
3. 手动点「复位 false」→ 启动按钮应该熄灭/锁定
4. 再点「置位 true」→ 启动按钮重新亮起
| 点位 | 含义 | 显示 |
|---|---|---|
| DB200.34 | A面状态(Int16) | 数值 + 文字 + 状态灯 |
| DB200.72 | B面状态(Int16) | 数值 + 文字 + 状态灯 |
状态含义:
0 空闲 — 灰灯1 运行中 — 黄灯2 完成 — 绿灯应答清零按钮:
验证步骤:
1. PLC 焊接完成 → 状态变为 2(绿灯)
2. 等待 MES 自动应答(正常情况)
3. 如果测试手动应答:点「应答清零」→ 状态变回 0
表格显示 R1~R4 四个焊点的实时参数:
| 列 | 点位偏移 | 数据类型 | 说明 |
|---|---|---|---|
| 焊点 | - | - | R1/R2/R3/R4 |
| 完成标志 | 76.1 / 96.2 / 116.2 / 136.2 | Bool | ● = true, ○ = false |
| 序号 | 78 / 98 / 118 / 138 | Int16 | 错误代码 |
| 电流 | 80 / 100 / 120 / 140 | Float32 | 单位 A |
| 电压 | 84 / 104 / 124 / 144 | Float32 | 单位 V |
| 送丝速度 | 88 / 108 / 128 / 148 | Float32 | m/min |
| 焊接速度 | 92 / 112 / 132 / 152 | Float32 | mm/s |
刷新频率:1 秒
验证步骤:
1. PLC 启动焊接 → 状态变 1(运行中)
2. 观察表格实时更新电流/电压/速度
3. 焊接完成 → 完成标志变 ●(绿点)
4. 对比 PLC 触摸屏上的参数是否一致
底部滚动文本框,记录:
格式:[HH:mm:ss] 消息内容
-- 或 -1原因:
解决:
# 先 ping 测试
ping 192.168.1.1
# 检查网络配置
# S7-1200 默认端口:102(自动使用)
当前代码中 R1 的完成标志是 DB200.76.1(位偏移 .1),而 R2~R4 是 .2。
PlcSignalPanel.WELD_POINTS 数组DB编号.字节偏移.位偏移检查项:
⚠️ 写操作影响真实 PLC
⚠️ 不替代正式 MES 客户端
⚠️ 网络安全
src/
├── com/mes/test/
│ └── PlcSignalTest.java # 测试入口(main)
└── com/mes/ui/
└── PlcSignalPanel.java # 监控面板实现
与正式客户端相同:
iot-communication.jar — S7 PLC 通信库问题反馈:检查日志区输出,记录具体错误信息