返回案例库
工业 HMI 与 PLC 协同测试:触摸屏按钮 → Modbus TCP 写线圈 → DI 读取验证
场景:GUI 与通信协议/底层接口交联测试 (S06) 适用行业:工业控制 产品:天工-UTP、天工-AutoTest 标准:IEC 61131-3、Modbus/TCP
测试背景与目标
工业自动化系统中,HMI触摸屏与PLC的协同工作是人机交互的核心。在产线部署前,需验证三大关键问题:触摸屏操作是否能正确触发PLC逻辑,PLC执行结果是否能正确反馈到HMI显示,以及异常情况下(如Modbus TCP通信中断)的界面提示与安全停机是否正确。传统人工验证方式覆盖率低、难以复现通信异常,本方案基于天工-UTP平台实现三层自动化验证,确保HMI-PLC系统的可靠性与一致性。
测试方案概述
采用三层自动化验证架构,基于天工-UTP与AutoTest平台实现:
- 协议层:通过Modbus TCP直接读写PLC线圈(0x0000-0x0010)和保持寄存器(4x),验证底层通信的实时性与数据一致性;支持同时验证PROFINET IO周期数据交换。
- 功能层:通过触摸屏自动化操作(或模拟GPIO触摸信号)触发启动/停止/急停按钮,验证完整业务流程的闭环响应。
- 显示层:通过屏幕捕获+OCR识别HMI界面文字/颜色变化,验证PLC状态反馈在HMI上的显示准确性,支持中英双语界面。
本方案符合IEC 61131-3(PLC编程标准)与Modbus/TCP协议规范,可直接适配西门子S7-1200、三菱FX5U等主流PLC。
关键测试步骤
- 建立通信连接:通过Modbus TCP连接PLC(西门子S7-1200/三菱FX5U),配置线圈(0x01功能码读线圈状态、0x05写单个线圈)和保持寄存器(0x03读保持寄存器、0x06写单个寄存器)映射表,确认连接建立时间≤500ms。
- HMI自动化操作配置:配置触摸屏的自动化操作序列,模拟点击启动/停止/急停按钮,输入设定参数(如目标速度、运行时间),记录操作到PLC响应的延迟。
- PLC执行验证:发送启动指令后,通过Modbus读取PLC数字量输入(DI)确认电机接触器吸合状态,读取模拟量输入(AI)确认电流从0A上升至额定值;同时验证HMI画面是否跳转至"运行中"状态。
- OCR显示验证:通过屏幕捕获+OCR识别HMI上的运行状态文字(如"运行中"、"故障"、"急停"),与预期字符串比对,验证状态反馈的准确性;同步检测LED指示灯颜色变化。
- 异常工况测试:模拟Modbus TCP通信中断(拔网线5秒后恢复),验证HMI在3秒内显示超时提示,PLC在200ms内执行安全停机逻辑(输出线圈复位、电机接触器断开)。
- 回归测试:保存测试序列,支持PLC固件升级后一键重测,确保HMI-PLC兼容性不变。
测试结果与价值
发现HMI在通信恢复后未自动刷新状态的问题
推动HMI固件升级,避免产线误报警停机
OCR识别准确率达到99.2%
支持中英双语界面验证,误识率<0.8%
完整业务流程测试时间从15分钟/轮降至2分钟/轮
效率提升7.5倍,支持夜班无人值守自动化执行
通信中断场景下的安全停机响应时间验证为120ms(规格<200ms)
满足IEC 61131-3安全响应要求,余量充足
测试架构拓扑
graph LR
A[天工-UTP] --Modbus TCP--> B[PLC S7-1200]
A --屏幕捕获+OCR--> C[HMI触摸屏]
A --GPIO模拟--> C
B --数字量输出--> D[电机接触器]
D --数字量输入--> B
style A fill:#eef6ff,stroke:#1a5fb4
UTP同时连接PLC(协议层)和HMI(显示层),实现端到端闭环验证。