1. 项目背景与核心价值
这个威纶通触摸屏程序项目是我在去年为一个自动化生产线改造工程开发的HMI界面解决方案。当时客户需要将老旧的按钮控制面板升级为触摸屏操作,同时保留原有的PLC控制逻辑不变。经过多方对比,最终选择了威纶通EB Pro 6.00作为开发平台,主要考虑到它出色的兼容性和丰富的控件库。
这套UI界面最大的特点就是"开箱即用"——所有页面模板、功能模块和动画效果都经过实际产线验证,下载后只需简单修改PLC地址就能直接投入使用。项目中包含15种典型工业场景的界面设计:
- 设备状态监控面板(带实时曲线图)
- 参数设置向导(带输入验证功能)
- 报警历史查询(支持按日期筛选)
- 用户权限管理(三级操作权限)
- 配方管理系统(最多支持200组配方)
重要提示:所有界面元素都采用相对坐标布局,适配800x480到1280x800等各种常见工业触摸屏分辨率。
2. 开发环境搭建要点
2.1 软件版本选择
虽然标题注明"EB Pro 6.00以上版本均可用",但根据我的实测经验:
- 6.02版本:运行最稳定,推荐作为主力开发环境
- 6.05版本:新增了二维码显示功能,但存在偶尔死机问题
- 6.08版本:修复了内存泄漏缺陷,适合最终部署
建议按这个步骤安装:
- 卸载旧版EB Pro(残留文件会导致冲突)
- 安装主程序时勾选"Allen Bradley DF1驱动"
- 首次启动后进入【工具】-【选项】-【字体】,添加"微软雅黑"和"Arial Unicode MS"
2.2 硬件连接配置
项目中的PLC通讯采用三种典型方案:
vbnet复制' 三菱FX系列PLC配置示例
[PLC_Config]
Model=FX3U
Protocol=MC
COM_PORT=COM3
BaudRate=19200
DataBits=7
Parity=Even
StopBits=1
常见连接问题排查:
- 通讯超时:检查PLC端站号是否与HMI设置一致
- 数据错误:在EB Pro中使用【在线监控】功能抓取原始报文
- 间歇性断开:更换带屏蔽层的通讯电缆
3. 核心界面设计解析
3.1 状态监控页开发技巧
这个项目的核心创新点是采用了"分层式状态显示":
- 底层:设备基础状态(运行/停止/故障)用带阴影的圆形指示灯
- 中间层:关键参数(温度/压力/速度)用柱状图+数字显示
- 顶层:报警信息采用从右向左滑入的动画效果
关键属性设置:
ini复制; 报警弹出动画配置
[Alarm_Animation]
Type=SlideFromRight
Duration=300ms
Background=#FFF0F0
BorderColor=#FF0000
FontSize=14
HoldTime=5000ms
3.2 配方管理实现方案
针对不同产品型号的参数预设需求,开发了这套配方系统:
- 数据结构:每个配方包含30个可调参数
- 存储方式:配方文件保存在HMI的SD卡中
- 操作逻辑:
- 长按"保存"按钮3秒存入新配方
- 双击配方名称加载参数
- 摇动手机(带加速度传感器的机型)可随机生成测试参数
4. 项目移植与优化指南
4.1 跨设备适配方案
要使这套界面适配不同型号威纶通触摸屏,需要检查:
- 【系统参数】-【设备】中选择正确的HMI型号
- 全局替换所有绝对坐标为百分比定位
- 在【画面属性】中设置"自动缩放比例"
4.2 性能优化实测数据
通过以下调整可将画面切换速度提升40%:
- 将JPG背景图转换为PNG8格式(体积减小60%)
- 禁用未使用控件的"实时更新"属性
- 对频繁变化的数值显示启用"变化时刷新"模式
优化前后对比:
| 指标 | 优化前 | 优化后 |
|---|---|---|
| 画面加载时间 | 480ms | 280ms |
| CPU占用率 | 32% | 18% |
| 内存消耗 | 45MB | 28MB |
5. 常见问题解决方案
5.1 字体显示异常处理
当界面文字显示为方框时:
- 检查HMI设备是否内置了相应字体
- 在EB Pro中将文字转换为位图(右键菜单)
- 或者使用"字体映射"功能替换为设备已有字体
5.2 数据记录丢失预防
为确保报警历史记录完整:
- 设置SD卡自动检测功能
- 每次启动时检查存储空间(需大于10MB)
- 实现双备份机制:
- 实时写入SD卡
- 每小时同步到U盘(如有插入)
6. 进阶开发技巧
6.1 自定义控件开发
通过EB Pro的宏指令可以实现特殊功能控件:
basic复制' 圆形进度条控件示例
Sub DrawCircleProgress(x, y, radius, percent)
Const PI = 3.1415926
startAngle = 0
endAngle = 360 * percent / 100
' 绘制背景圆
SetBrushColor RGB(200,200,200)
FillCircle x, y, radius
' 绘制进度弧
SetPenColor RGB(0,120,255)
SetPenWidth 8
Arc x, y, radius, startAngle, endAngle
End Sub
6.2 多语言切换方案
项目内置了中英文双语支持:
- 创建两个字符串表格(中文/英文)
- 在画面切换按钮中添加:
vbnet复制Sub ChangeLanguage(lang)
If lang = "EN" Then
SetGlobalStringTable(2)
Else
SetGlobalStringTable(1)
End If
RefreshAllScreens
End Sub
这套UI框架最让我自豪的是它的扩展性——去年为一个食品包装机开发的界面,经过简单调整后,现在已经被用在了注塑机、贴标机等8种不同设备上。最近正在尝试将部分界面元素移植到EB Pro的新版本中,利用其新增的3D控件功能实现更立体的操作体验。