HMI 可视化配置教程(KTP700 Basic PN)
KTP700 面板映像、交换机端口状态、PLC 分项目开发与环网冗余显示。
基于
07_HMI.md中 1 条对话内容整理 对话涵盖:KTP700 面板映像缺失解决、HMI 端口变量映射方法
一、KTP700 Basic PN 面板映像缺失问题#
问题现象#
TIA Portal V21 下载 HMI 页面时提示:
"由于缺少面板映像,下载失败(Download failed due to missing panel image)"
原因#
电脑中没有安装与 KTP700 Basic PN 固件版本对应的 Panel Image(面板映像/固件镜像)。
四种解决方法#
方法一(最推荐):安装对应版本的 Panel Image
1. 确认 HMI 设备版本
项目树 → HMI → 右键 → 更改设备版本(Change device version)
查看当前设备版本号(如 V17/V18/V19/V20/V21)
2. 使用 HMI PIU Installer 安装 Panel Image
- Basic Panels → KTP700 Basic PN → 选择对应版本
- 安装完成后重新打开 TIA Portal
方法二(最快):修改工程版本匹配 HMI 固件
项目树 → HMI → 右键 → 更改设备版本
将工程版本改为与 KTP700 面板当前固件一致的版本
无需升级固件,直接下载画面
方法三:重新安装 TIA 组件
重新运行 TIA Portal 安装程序 → Modify(修改)
勾选 HMI Panel Images 组件
补装缺失的 Panel Image
方法四:使用 ProSave 做 OS Update
ProSave → OS Update
重新下载系统镜像到 HMI
(一般不需要走到这一步)
检查清单#
- [ ] 博图版本(如 TIA Portal V21 Update 2)
- [ ] KTP700 型号(如
6AV2123-2GB03-0AX0) - [ ] 当前面板固件版本(在 KTP700 上:Control Panel → Version)
- [ ] 工程版本与面板固件是否匹配
二、HMI 交换机端口状态可视化#
需求描述#
在 KTP700 Basic PN 上使用 XM408-8C 图形,对每个端口映射 PLC 从 SNMP 获取的变量(8 个端口状态 Link Up/Down)。
快速实现方法#
方法一:统一数组变量绑定(最推荐)
1. 在 PLC 中建立统一端口状态数组,如:
"RS"."408"[i].value[0] (i = 端口索引 0~7)
2. HMI 变量表中建立 8 个变量,绑定 PLC 数组元素
3. XM408-8C 图形中每个端口绑定对应变量:
- 颜色动画:Link Up 时绿色,Down 时灰色
- 可见性动画:可选
方法二:复制对象快速绑定
1. 配置好第一个端口的变量绑定
2. 复制该端口对象
3. 修改粘贴对象的变量索引
4. 重复 7 次完成所有端口
方法三:使用 UDT/结构体
1. PLC 中定义 UDT,包含 8 个端口的状态结构
2. HMI 中使用结构变量绑定 UDT 成员
3. 可配合 Faceplate 复用
HMI 变量表建议#
| HMI 变量名 | PLC 地址 | 类型 | 说明 |
|---|---|---|---|
| Port1_Status | DB100.DBX0.0 | Bool | 端口 1 Link |
| Port2_Status | DB100.DBX0.1 | Bool | 端口 2 Link |
| ... | ... | ... | ... |
| Port8_Status | DB100.DBX0.7 | Bool | 端口 8 Link |
动画配置#
每个端口图形配置:
- 外观(Appearance)
变量值 = 1 → 绿色(Link Up)
变量值 = 0 → 灰色(Link Down)
- 闪烁可选(数据通过时闪烁表示流量)
使用脚本或 TIA Openness 批量生成#
对于大量端口(如 XM408 的 8 个端口 + XB208 端口):
- 编写 TIA Openness 脚本批量创建 HMI 变量和绑定
- 或使用 Excel 生成变量表后导入 TIA Portal
三、HMI 与 PLC 分项目开发#
场景#
PLC 与 HMI 分别放在两个 TIA 项目,由不同人员开发。
配置要点#
方案一:使用 Device Proxy(推荐)
1. PLC 工程导出 Device Proxy Data / IPE 文件
2. HMI 工程导入该 Proxy
3. HMI 基于真实 PLC 接口画画面
方案二:统一接口 DB 标准表
1. 双方预先约定 HMI 交换数据块(DB_HMI)
2. 固定 DB 号、变量名称、类型和地址
3. 建议使用非优化 DB(便于跨项目绝对寻址)
方案三:使用绝对地址
HMI 变量使用绝对地址(如 DB10.DBX0.0)
不依赖 PLC 符号信息
注意:地址改变时 HMI 不会自动更新
注意事项#
- 不要将 HMI 工程的"空 PLC"下载到真实 PLC(会覆盖 PLC 程序)
- HMI 连接的 PLC IP 地址必须指向真实 PLC
- HMI 按钮建议写入 DB_HMI.Request 位,而非直接控制 Q 点
- PLC 程序判断安全条件后再输出到真实 Q 点
四、HMI 环网冗余状态显示#
需求#
在 HMI 上用一个指示灯显示 MRP 环网状态(闭合/断开)。
推荐架构#
LPNDR_ReadMRPState(读取 MRP 环网状态)
↓
PLC 内部转换成 Bool 变量 → DB_HMI.MRP_OK
↓
HMI 指示灯绑定 DB_HMI.MRP_OK
PLC 侧实现#
"DB_HMI".MRP_OK := (#mrpRingState = 1) AND #done AND NOT #error;
"DB_HMI".MRP_Open := (#mrpRingState = 0) AND #done AND NOT #error;
"DB_HMI".MRP_Error := #error;
HMI 侧配置#
1. 建立 S7-1200 连接,IP 指向真实 PLC
2. 建外部变量 MRP_OK,地址 DB100.DBX0.0
3. 圆形指示灯绑定 MRP_OK
- 绿色:环网闭合(MRP_OK = 1)
- 红色:环网断开(MRP_OK = 0)
- 黄色:读取异常(MRP_Error = 1)
建议接口变量表#
| HMI 变量 | PLC 地址 | 类型 | 说明 |
|---|---|---|---|
| MRP_OK | DB100.DBX0.0 | Bool | 环网闭合 |
| MRP_Open | DB100.DBX0.1 | Bool | 环网断开 |
| MRP_Error | DB100.DBX0.2 | Bool | 读取错误 |
| MRP_State | DB100.DBW2 | Word | 原始状态值 |
| MRP_Status | DB100.DBW4 | Word | 块状态码 |