ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Proface触摸屏GP-Pro EX实战:空压站监控界面与历史报警开发

Proface触摸屏GP-Pro EX实战:空压站监控界面与历史报警开发 干工控这行的谁还没被触摸屏折磨过几回。前段时间朋友厂里空压站改造两螺杆机一台冷干机原来的按钮柜拆了让我上一套Proface触摸屏监控界面要求一看压力温度、二有历史报警、三能在几个画面之间来回切。项目做完把GP-Pro EX从头到尾捋了一遍今天把这些东西写出来算是给想做Proface触摸屏项目的同行一份完整的实战参考尤其是历史报警和画面跳转这两块真不是光拖几个控件就完事的事。这套界面不复杂但它们能一直稳定跑在生产线上靠的是前期把需求拆明白、把变量表定清楚、把报警存储和跳转逻辑设计得贴近操作习惯。文章里我会把每一步怎么做、为什么这么做、容易踩的坑都讲一遍。适合刚接触GP-Pro EX的新人也适合已经做过几个项目但想规范一下流程的工程师。1. 先聊清楚这套监控界面到底在解决什么问题1.1 空压站监控的真实需求拆解很多人一上来就打开GP-Pro EX拖按钮、画管道这是最常见的错误。做HMI项目第一件事不是画画而是把现场需求翻译成“地址、数据、动作”三件事。这个空压站的实际需求拆下来无非四类实时监控两台空压机的排气温度、排气压力、油压、运行电流冷干机的蒸发压力、露点温度三台电机的启停状态和故障状态。操作控制操作员要能实现单机启停、模式切换、参数设定触摸屏上必须给出明确的按钮反馈防止重复触发和误触发。历史报警排气温度过高、油压过低、电机过载、滤芯堵塞、门开关异常等故障必须带时间戳记录下来既能实时弹出也能事后翻查。画面组织监控界面不能只有一页死画面需要主画面、单机详情、报警总览、历史趋势、参数设置几个页面之间自由跳转还要能记录“你从哪个页面跳过来的”方便一键返回。把这些需求落成表格就是一张简单的IO清单。我给每个点位起好名字比如AI_T_Comp1_Exhaust表示1号空压机排气温度DO_Pump_Run表示水泵运行指令后面所有画面、报警、趋势图都引用这些逻辑名而不是直接用裸地址。哪怕PLC程序后面改了点位只要变量名不动画面和报警几乎不用重做。1.2 为什么我选Proface GP-Pro EX而不是别的软件客户点名要Proface这当然是最直接原因但抛开客户要求我自己也认可GP-Pro EX这套软件。原因有三个。第一它的开发环境是集成式的画面编辑、数据管理、报警设置、逻辑脚本、通信配置全在一个工程里不需要像有些牌子那样画面一个软件、通信一个软件、配方又是一个软件。工程文件保存后整体打包后续维护非常方便。第二它的模拟器做得比较成熟。GP-Pro EX可以在没有真实触摸屏、甚至没有PLC的情况下把工程编译后在电脑上跑起来变量状态也可以手动强制画面跳转和报警逻辑都能提前验证。这个能力对工期紧的项目太关键了我后面专门有一节讲模拟器联调。第三GP-Pro EX对Modbus TCP、三菱、西门子这些主流协议都有现成驱动而且驱动更新比较及时。以前有个项目用的老款Proface屏软件版本太老驱动怎么都不认新PLC后来升级到V4.8就解决了。所以这事我后来养成了习惯收到触摸屏先确认软件版本别等联调了才发现驱动不匹配。另外说一句热词里有人提到西门子的触摸屏不会用我的建议是换品牌之后千万别拿着原来的操作习惯硬套。Proface的GP-Pro EX和西门子WinCC的工程结构、变量机制完全不一样老老实实新建工程、看一遍驱动手册比啥都强。2. 工程起步软件安装、型号选择与变量规划2.1 软件安装与工程创建GP-Pro EX的安装包比较大V4.8版本在Windows 10和Windows 11上都能跑但有几个细节要注意。装之前先把杀毒软件退掉不然安装时模拟器组件和USB传输驱动很容易被拦掉安装路径不要带中文否则后面打开工程偶尔会出奇怪问题装完以后建议右键“以管理员身份运行”启动开发软件特别是用USB线传输工程的时候权限不足会找不到设备。新建工程第一步是选触摸屏型号。这个项目用的是GP4402WW10.4寸分辨率800x600带以太网口和串口整体性价比合适。选型号的时候要提前确认三件事分辨率是否匹配画面尺寸别把1280x800的工程下到800x600的屏上。通信口数量够不够如果同时要接PLC、打印机、条码枪就必须选多串口型号。存储方式支不支持SD卡或U盘这事直接决定历史报警能不能外存备份。工程建好后先把“系统设置”里的时钟来源、语言、字体指定好。我当时把中文设为界面语言并把触摸屏的实时时钟设置为上电自动校准这个动作看起来不起眼实际上直接关系到后面历史报警的时间戳准不准。很多人报警查不出来原因最后发现是触摸屏电池没电、时间永远停在2000年画面再好看都白搭。2.2 变量命名和地址映射表后面所有报警和跳转都靠它GP-Pro EX里变量的载体是地址你可以直接用PLC地址落在画面上也可以把PLC地址映射到触摸屏内部地址上。我的习惯是建一张完整的变量映射表不直接裸用地址。这张表是整个工程的骨架所有画面部件、报警设置、D脚本都从这张表取名字。简单列几条当时用的地址映射给你一个参考逻辑变量名PLC地址数据类型触摸屏内部地址说明AI_T_Comp1_Exhaust400011有符号16位D01001号空压机排气温度AI_T_Comp2_Exhaust400021有符号16位D01102号空压机排气温度DI_Comp1_Run0x0001BoolLM00001号空压机运行状态DI_Comp1_Fault0x0002BoolLM00011号空压机综合故障MW_Alarm_Sum400101无符号16位D0200报警汇总字MW_Page_Return内部寄存器无符号16位D0201返回画面ID变量名我用的是“类型_设备_测点_属性”的格式比如AI表示模拟量输入DI表示开关量输入MW表示中间字。这套命名规则在程序大了以后特别有用哪怕过半年再打开工程一眼就能看出这个变量是干什么的。触摸屏内部地址D区是非易失性的断电不丢适合存报警记录指针、画面返回ID这类需要保持的数据。LM区是易失性的适合存运行状态、临时标志位断电报错也没关系。把这两类数据区分清楚能少踩很多掉电丢失的坑。2.3 通信参数先把PLC和触摸屏打通通信配不通后面一切都是空谈。这个项目PLC支持Modbus TCP触摸屏作为Modbus TCP客户端去轮询PLC。GP-Pro EX里新建驱动时选择标准Modbus TCP/IP驱动填写PLC的IP地址和端口号。当时PLC的IP设的是192.168.1.10触摸屏是192.168.1.20子网掩码255.255.255.0。这里有个非常容易忽略的点很多PLC做Modbus TCP从站时端口并不是默认的502而是厂商自定义端口。如果现场联调时触摸屏一直报通信错误先用电脑上的Modbus调试工具测一下PLC到底在哪个端口响应再回来填GP-Pro EX的通信端口。通信轮询周期也不要一味调快。这个项目有二十多个模拟量、三十多个开关量我把一般数据的轮询周期设在200ms报警汇总字单独建了一条高优先级通信组周期设为50ms。这样既保证报警能秒级弹出又不会把CPU和网络带宽吃满。GP-Pro EX里还有通信超时和重试次数的设置我的经验是超时不要设太短尤其现场有线缆老化或者干扰的情况下建议超时500ms、重试2次。设得太短会频繁触发通信故障提示反而干扰操作员注意力。3. 画面跳转从按钮层面到自动层面的实现3.1 手动跳转按钮动作设置里的“画面切换”画面跳转听着简单就是按个按钮换一页。但真做起来细节决定体验。首先我建议把导航按钮统一放在画面上方的公共区域高度大概60像素左右排开主监控、1号空压机、2号空压机、冷干机、报警记录、趋势曲线、参数设置。每页都放同一组按钮操作员不用想“我现在在哪”随手就能跳。GP-Pro EX里给部件添加动作时选择“画面切换”指定目标画面ID。这里有个小细节触发方式不要选“按下时”要选“释放时”。原因很现实操作员手指按上去的时候还没想好可能想取消如果按下立即跳转就会误切页面。释放时执行意味着必须按到底再松开才触发误碰一下不会跳。其次画面切换效果不要花哨。GP-Pro EX支持淡入淡出、滑动切换这些效果但工业触摸屏的CPU资源有限动画效果在高负载时会引起画面撕裂甚至短暂黑屏。我全部选了“无效果”或“直接切换”实测最稳。最后一个实用技巧每个画面都放一个“返回主画面”的按钮但真正好用的做法是“返回上一页”。我在内部寄存器D0201里保存来源画面ID跳转之前先记录然后返回按钮读这个ID跳回去。比如操作员正在1号空压机详情页突然弹出报警他点了报警跳转去了报警页处理完点“返回”就回1号空压机详情页而不是回主画面。这个细节会让操作员觉得这套界面“懂我”。3.2 报警自动跳转与弹窗交互用D脚本实现手动跳转好做真正考验水平的是“报警来了怎么办”。如果你只配了报警显示部件操作员盯着主画面是看不到报警信息的所以必须做自动跳转或弹窗。我的做法分两级。第一级报警发生时画面顶部公共区域闪烁显示最新报警内容用一个小的报警显示部件专门显示当前激活报警红色字体、白底闪烁想忽略都难。第二级对于紧急报警直接用数据触发器监视PLC汇总位。比如MW_Alarm_Sum的第0位是1号空压机综合故障我建一个数据触发器条件为“位上升沿”动作设为画面跳转到报警总览页。这里不建议把每一条报警都配成自动跳转否则一个设备多点故障画面就会在几个页面之间来回跳操作员根本没法正常工作。正确做法是普通报警只闪烁提示紧急报警或者某一类汇总报警才自动跳转。如果想做更复杂的逻辑比如“连续三次温度高才跳详情页”就要用GP-Pro EX的D脚本。类似这样// D脚本示例报警次数累计超过3次跳转画面 if (D0200 0x0001) { D0202 D0202 1; if (D0202 3) { SetScreen(2); // 跳转到1号空压机详情页 D0202 0; } }D脚本的语法和C语言很像GP-Pro EX里有专门的编辑窗口可以直接引用之前变量表里的地址。写脚本之前强烈建议先想清楚触发条件这个项目里脚本都是“事件型”的尽量不要写死循环否则触摸屏扫描周期会变慢。3.3 画面资源管理跳转黑屏往往不是逻辑问题画面跳转出黑屏或者卡顿大多数人第一反应是程序逻辑错了但其实大部分是资源问题。GP-Pro EX里一个画面能放的部件数量没有绝对上限但触摸屏渲染不过来的时候跳转就会出现“闪一下黑屏再出来”。我做这套界面时定了几条规矩静态背景图统一转成JPG或者PNG分辨率不要超过画面实际分辨率的2倍不要在工程里塞1920x1080的大图当背景。一个画面上同时显示的动画部件控制在30个以内比如电机旋转、管道流动效果这些东西能少则少。需要频繁刷新的数字显示部件不要用复杂字体使用系统默认字体自定义字体重新加载时会明显卡顿。隐藏的部件会照常占用系统资源尤其重叠放置的部分尽可能删干净。如果工程已经做大了、现场跳转还是卡可以升级触摸屏的Runtime固件。GP-Pro EX的模拟器里能直接查看工程占用的内存并给出建议。我常年保持习惯画面做完先看资源占用超标了就压缩图片、删冗余部件而不是等现场被甲方骂了再改。4. 历史报警从配置到查询的完整链路4.1 报警数据从哪来报警组与消息定义历史报警是整个项目里客户最看重的功能也是配置起来最需要耐心的部分。GP-Pro EX里的报警分为当前报警和历史报警历史报警本质上是“当前报警发生时把时间、消息、状态存到存储区之后可以翻查注销记录”。打开GP-Pro EX的报警设置第一步是建报警组。我把报警分了三组第一组是空压机本体报警第二组是冷干机报警第三组是系统通用报警。分组的好处是报警显示部件可以按组过滤操作员可以选择只看某一台的报警记录不用在一堆记录里大海捞针。然后定义报警消息和触发条件。GP-Pro EX支持位报警和字报警两种方式位报警某个BOOL地址变为ON时触发适合电机过载、门开关异常、综合故障这类离散信号。字报警某个字地址的数值大于、小于或等于设定值时触发适合温度高、压力低这类模拟量超限。这个项目里1号空压机排气温度高我就是用字报警做的数据源选AI_T_Comp1_Exhaust条件设为大于105报警消息“1号空压机排气温度高”报警级别设为1级颜色设为红色。2号空压机、冷干机蒸发压力低等报警同理。报警消息一定要写给操作员看得懂的话不要写类似“X001105”这种工程师语言。“排气温度高请检查散热器”比“Temp High”有用一万倍关键时刻能少误操作。4.2 存储策略报警记录写到哪、写多少、怎么不丢历史报警要保存就要考虑存储介质和容量。GP-Pro EX可以将报警历史保存在触摸屏的内部非易失存储区也可以保存到连接的SD卡或U盘。内部存储速度快、无需额外硬件但容量有限外部存储容量大、方便导出但多一个容易松动的SD卡。我将报警历史同时启用内部存储和SD卡存储内部存最近2000条SD卡存全部记录满了自动循环覆盖。报警记录单条约128字节2000条约256KB对内部存储来说完全没压力。SD卡建议用工业级普通消费卡在振动大、温度高的柜体里寿命会明显缩水。这里有一个极其重要的设置报警历史保存的“写入周期”。GP-Pro EX默认可能不会实时把每条报警落盘如果设置成定时批量写入一旦现场突然断电缓冲区里还没写进去的报警记录就全丢了。我把写入策略设为“每条报警立即写入”牺牲一点点存储寿命换掉电不丢报警。另外一个容易忽略的是报警确认和恢复状态的记录。历史报警里最有用的是三段时间发生时间、确认时间、恢复时间。配置报警部件时一定要把这些时间列全部显示出来这样操作员或者设备厂家查故障时才能还原完整过程“这报警14:02发生了14:05操作员确认14:18温度降下来自己恢复了。”这一段时间线能让维修少走很多弯路。4.3 画面上怎么查报警显示部件与翻页报警数据存好之后最终要在画面上呈现。GP-Pro EX里用报警显示部件我给报警总览页放了一个能显示200条历史记录的表格按时间倒序排列最上面是最新一条。部件属性里我做了这些配置列顺序是时间、消息、状态超出显示范围加滚动条并配了上翻、下翻、首页、末页四个按钮操作员用触摸笔或手指就能翻页不同类型报警用颜色区分1级报警红色、2级报警黄色、3级报警绿色一眼就能看出故障严重程度。还有两个功能强烈建议启用一是报警确认按钮操作员确认后报警状态从“闪烁”变为“保持”表示有人处理过了但故障没恢复前记录还在二是当前报警和历史报警切换按钮当前报警页显示现在还有哪些故障没消除历史报警页显示曾经发生过的所有记录。这两页的逻辑不能混很多新手把当前报警当历史报警用结果报警恢复后记录消失甲方自然不买账。4.4 报警时间戳是这个流程里最容易被忽略的坑报警记录里最坑的事不是报警没触发而是触发后时间不对。之前有一次项目调试报警明明下午三点发生触摸屏上的时间戳却写着早上七点查了半天发现是触摸屏内部时钟的时区设置不对GPS时间同步又没做导致偏移了8个小时。GP-Pro EX在系统设置里有时钟来源选项可以选本地时钟、PLC时钟或者电脑时钟。我的建议是如果现场有PLC并且PLC自身时钟可靠让触摸屏在上电时主动从PLC读取一次时间校准没有PLC时就定期手动校准触摸屏。还有一个小细节触摸屏背后的电池是给RTC供电的电池没电时断电时间一长时间就会回到出厂值。所以每次交货前我都会确认电池电压并且在启动画面里放一个时间显示操作员能直观看到当前时间是否正常。5. 联调与常见问题从模拟器到真机的坑5.1 先用模拟器把报警和跳转跑通GP-Pro EX最实用的功能就是模拟器我用它把整个项目联调时间压缩了至少一半。工程写完后在开发软件里启动模拟器电脑上就能看到和真机一样的画面按钮能按、页面能跳、报警能显示。但官方模拟器的变量状态是死的没有PLC给它数据。我的土办法是在调试阶段把报警触发地址临时从PLC地址改到触摸屏内部地址LM区或D区然后在模拟器里手动强制这些内部地址的ON/OFF测试报警是否触发、跳转是否正常。测试通过后再把地址批量改回PLC地址。这一步看起来多此一举实际非常管用因为报警逻辑、页面跳转、画面显示这套东西完全和PLC无关没必要等现场PLC就位再调。还要提一个经验模拟器证明程序没问题不代表真机就没问题。模拟器跑的是开发电脑的CPU资源占用和真机完全不同。所以我平时把模拟器当作“逻辑验证工具”真机上电后一定会再花两个小时把每条报警、每个画面跳转完整过一遍。5.2 下载工程保留与系统区的雷区GP-Pro EX把工程下载到触摸屏时通常有选项问你是否要同时格式化或覆盖系统区。很多工程师图省事一路点下一步结果下载完成后发现报警历史被清了、屏幕校准也不准了甚至触摸屏的IP地址被重置了还得重新改。下载前要做两件事一是把触摸屏里已有的报警历史、配方数据、系统设置全部备份出来尤其现场已经投运过的屏不能想当然覆盖二是在传输工具里选择“保留数据区”这种选项只更新用户程序和画面不动系统区。我经历过的教训是停机维护就两个小时下载完还要重新设IP、重新校准触摸、恢复配方时间全浪费在恢复上还容易被甲方认为你不专业。顺便说一句工程文件一定要经常另存版本。GP-Pro EX的工程是带版本关系的旧版软件打不开新版工程新版软件打开旧工程一般没问题。出差时最好带最新版安装包不然现场电脑版本不对工程打不开就尴尬了。5.3 真机常见问题速查根据这几年经手的项目我把Proface触摸屏最常见的现场问题整理成一个表方便你照着排查现象常见原因解决办法报警记录时间差8小时时区设置错误或RTC电池没电校准时钟来源更换电池下载后报警历史丢失覆盖了系统区或数据区传输时保留数据区先备份再下载中文报警消息显示方框工程未加载中文字体画面设置中指定中文字库画面跳转偶尔黑屏图片资源过大、控件重叠过多压缩图片、清理隐藏部件触摸点击位置偏移屏幕校准数据异常进入系统菜单重新校准通信频繁断开IP冲突或驱动版本不匹配固定IP升级GP-Pro EX驱动上电后停在启动LOGO系统文件损坏用SD卡恢复固件这里单独说一下触摸校准。触摸屏用久了或者下载工程以后经常会出现按键偏位这不是硬件坏了而是校准参数丢了。GP-Pro EX里有校准入口跟着十字光标点一遍就回来了。但如果你下载工程时把系统区格式化了校准数据也会被清掉。所以“下载前备份下载时不覆盖系统区”这条规则无论如何都要记住。6. 项目交付后我还会做的事扩展与维护6.1 从本地报警到数据导出项目交付不代表结束甲方后面一定会提新需求最常见的是“能不能把报警记录导出来”。GP-Pro EX可以把报警历史通过SD卡或U盘导出成CSV文件操作员在触摸屏上按一个按钮就能导出不用电脑连上来读。我在报警页右上角放了一个“导出报警”按钮点击后把所有历史报警记录按CSV格式写入U盘文件名自动带当天日期比如ALARM_20250621.CSV。操作员只要每周插一次U盘点一下按钮就能把一周的报警记录带走。这个功能成本极低但甲方非常喜欢因为设备维保分析都靠这份数据。更进一步如果现场有企业内网可以考虑使用GP-Pro EX的画面监控功能在工程师站上直接通过浏览器看触摸屏画面这就相当于做了一台轻量级的SCADA。前提是网络规划好不要让触摸屏IP段和办公网络冲突。6.2 维护要点备份、时钟、SD卡最后聊几句后续维护。触摸屏这种设备只要供电稳定、环境温度不过高、面板不做暴力操作基本不会坏。最容易出问题的反而是小地方SD卡接触不良导致报警导不出去、RTC电池耗尽导致时间不断回退、柜内灰尘堵塞了散热孔导致屏体过热。我一般会在交付时给甲方一份维护清单写清楚每月检查一次SD卡剩余容量、每季度备份一次工程文件和报警数据、每两年检查一次RTC电池、不要随意格式化触摸屏。这些动作看起来琐碎但能把故障率压得很低。最后再分享一个自己的习惯每个项目交付后我都会把GP-Pro EX工程文件、PLC程序、地址映射表、报警清单、操作说明书一起打包命名带日期放到网盘和现场电脑各一份。半年后甲方再叫我改画面加按钮我打开工程对照地址表半小时就能改完。反过来我接过一个前任离职的项目工程文件版本混乱、地址表缺失、报警消息写得莫名其妙硬是花了两天才理清楚。一个靠谱的工程师不光要把功能做出来还要把项目资料留明白这才是这个行业的“长期主义”。
返回列表