资讯动态

HMI触摸屏画面设计:从变量规划到现场排障的工程要点

发布时间:2026/9/27 10:10:27 来源:尧图企业网站定制
一块触摸屏画面做得顺不顺手往往决定了客户对整台设备的评价甚至直接影响下一台设备的复购。别人搞研发我搞设备这行干久了我发现一个规律客户车间里那台设备的操作工每天上班盯得最多的不是机械结构也不是电柜里的PLC而是那块触摸屏画面。你给他做一台设备电气逻辑再漂亮只要HMI画面做得别扭他就会在老板面前抱怨一句“不好用”。老板一听这句话下一台设备还要不要买你家的心里就开始打鼓。这篇东西不是某个品牌软件的操作手册也不讲宣传册上的花哨效果而是把我在HMI画面制作里踩过的坑、总结出的工程门道一条一条掰开说。无论你用的是威纶通、昆仑通态、西门子博图、Proface还是中达优控这类国产屏很多问题都是相通的只是菜单叫法不同。内容更适合刚入行的电气工程师、设备厂做售后的兄弟还有想把设备体验真正做上去的产品负责人。看完你至少能明白一件事画面不是画出来的是设计出来的。1. 一块触摸屏画面凭什么决定客户要不要买下一台1.1 操作工、维修电工、老板谁都离不开这块屏先说操作工。操作工不在乎你的电气图画得多漂亮他在乎的是开机之后能不能三秒内找到启动按钮报警之后能不能马上看懂哪里坏了。以空压机这种设备为例操作工最关心的就是开机压力、运行电流、报警历史。你把这几样放在第一屏最显眼的位置他自然觉得这台设备“好使”车间里口碑就是这么传开的。再说维修电工。设备出故障维修电工到现场第一件事就是翻HMI看报警记录、看当前IO状态、看有没有历史数据。如果画面上每条报警都是“设备异常”这种废话他查半天也查不出所以然心里就会给这台设备记上一笔。合格的报警画面应该告诉他哪个部位、哪个传感器报了警当前测量值是多少大概怎么处理。这些信息做不做体现的是电气工程师有没有真正理解现场。最后是老板。老板不一定亲手操作设备但他会站在车间里看操作工用不用得顺。一台新设备上去之后操作工天天抱怨屏幕卡、点错按钮、换个参数要翻好几页老板对这批设备的评价就不可能高。设备复购这件事往往不是看你宣传册上写了多少技术参数而是看老客户现场那台机器给人的综合感受。HMI就是这条感受链最前端的一环。1.2 画面问题等于设备问题信任就是这样被消耗的很多人把HMI画面当成“画个背景、放几个按钮”的美工活这是最大的误区。画面是设备的人机接口是操作员和机器之间唯一的对话窗口。按钮位置随手乱放、字体忽大忽小、颜色随心情来操作工每次操作都要愣一下时间一长就会积累不信任。更要命的是设备出了问题画面经常背锅。我见过一个真实案例设备厂用的电气元件全是进口大牌结果HMI程序里一个报警互锁逻辑写反了客户车间停产两小时第二年的订单直接黄了。售后兄弟检查了半天最后发现是触摸屏程序里一个脚本状态没复位。一块屏幕表面积不大但它承载的信任重量远比我们以为的大。2. 前期规划变量、页面和逻辑边界一开始就得想清楚2.1 变量表是工程的骨架命名和地址规划决定后面顺不顺很多新手打开HMI编辑软件第一件事就是拖控件、放按钮画得差不多才开始建变量。这个顺序基本是错的。变量表才是一个HMI工程的骨架画面只是骨架外面的皮肤。一块屏上几百个变量如果命名随心所欲项目做到一半你就不知道自己改的是哪个点。我做工程的习惯是设备号_功能_数据类型比如Mixer_RunCmd、Mixer_CurrentTemp、Pump1_Alarm。这样后期维护的时候看到名字就知道是哪个设备、干什么用的不用反查PLC程序。变量地址也要统一规划同一个IO点可能被多个画面页面引用直接在变量表里统一建好别在每个页面上重复建新变量否则以后改地址改到怀疑人生。跟PLC标签对接时也要仔细核对地址。你从博图里往威纶通导入S7-1200的标签导入完之后一定要抽查几个点做地址对应别全信导入结果。有些屏的驱动会把DB号、偏移、数据类型合并成一个字符串稍有出入就容易读写错地址。变量表建得清楚后面不管做报警、趋势、配方还是报表都是顺水推舟的事。2.2 页面层级与窗口编号要有全厂统一的约定页面结构不能想一出是一出。HMI常见的页面层级是金字塔结构最少三层首页主监控、一级功能页手动操作、参数设置、报警记录、产量报表等、二级弹窗参数编辑、用户登录、配方选择等。页面之间不要嵌套太深操作工如果为了改一个参数要连翻五页用不了三天就会开骂。我特别强调窗口编号的约定。像威纶通这类屏窗口编号是固定的数字不同编号代表不同的窗口类型和层级。有些老工程习惯把“7号窗口”固定做系统设置窗口其他页面统一从这里调参数。这个习惯本身没有对错但关键在于全厂统一所有设备都用同一个约定维修电工今天修A设备明天修B设备上手就不会懵。最怕的是这台机器7号窗是设置那台机器3号窗才是设置换台设备跟探险似的。页面跳转逻辑也要提前画出来。比如迪文屏根据变量的值选择主页常见的做法是在脚本里判断一个用户等级或运行模式变量满足条件就切换到对应页面。这种跳转逻辑看似简单但页面多了以后跳转条件容易互相覆盖所以每个页面的进入条件、退出动作、默认返回页最好在一张纸上画清楚再动手。2.3 逻辑放PLC还是放HMI我的原则是HMI只做“脸面”的活这是个老生常谈但永远有人踩的坑。HMI里的脚本功能越来越强什么宏指令、脚本引擎都有于是有人图省事把气缸动作的时序顺序、联锁条件也写在触摸屏脚本里。短期看确实能减少PLC程序量但这是在给未来埋雷。HMI方案千万不能承担安全联锁和核心时序控制。一旦触摸屏重启、通信闪断、固件升级脚本状态就是不可控的设备动作就可能脱节。我接手过一个项目前手把不少顺序控制写在了HMI宏里结果客户换了一台同型号的屏脚本版本没同步设备当场不动了排查了整整一天。HMI适合做的事是显示采集、操作请求下发、配方参数暂存、简单的弹窗判断。真正的联锁保护、顺序控制、安全停车必须放在PLC里。这个边界想清楚后期坑会少一大半。3. 画面布局与交互细节为什么有的屏一上手就会用3.1 信息层级把最重要的数字放在眼睛最常落的地方有一个现象很普遍设备还没开机操作工的眼睛已经在屏幕上了。人的视线习惯是从左到右、从上到下但手部操作主要集中在右下区域。所以主画面的布局要遵循一个基本逻辑顶部放全厂运行的实时状态和报警信息中间放当前最重要的工艺参数底部放导航按钮右下角放运行、停止、急停这类高频操作。举个例子加热炉设备的主画面炉内温度、压力、运行电流这种核心参数要放在正中间用大号数字显示而且单位恒定。曾经有个项目温度显示三位小数压力显示两位小数倍数关系又不统一操作工记录数据时老看错后来统一成固定小数位记录错误率立刻下来了。数字显示不是越精确越好而是让读数一致、省脑。信息量要控制不要一屏塞六十个元件。一个屏最多五到七个主操作区域超过就分页或者做弹窗。做得太挤手指头粗一点的操作工碰错按钮的概率直线上升到时候不是体验问题是安全问题。3.2 按钮、输入框与状态颜色十个细节能挡住九成误操作我见过太多设备上的按钮小到只能用指尖戳工业现场戴手套操作直接抓狂。按钮尺寸至少按厂商推荐尺寸做触摸屏上一般最小建议做到48像素以上相邻按钮之间要留间隙。如果是电阻屏按压力度本来就大按钮小了精确点按很困难。按钮的反馈状态一定要做。按下变色、弹起执行这是个基本动作但很多工程只画了一个静态按钮没有按下状态操作工不知道自己到底按没按上。停止、复位、清零这类动作必须加二次确认弹窗防止误触。参数输入框要设置上下限超范围直接拒绝写入并弹提示而不是让操作工输了个离谱值然后设备乱跳。颜色规范更要全厂统一。我见过最离谱的画面是绿色代表停止、红色代表运行、黄色代表急停跟行业习惯完全相反。统一的做法通常是绿色运行、红色故障、黄色报警、白色待机、灰色禁用。整套设备、整个车间都用同一套规则视觉上才不乱。按钮的文字也要写人话别直接拿PLC点位名称往上怼操作工不懂“M101”是什么他只知道他要按的是“启动”。3.3 多语言、字体与显示组件海外设备的隐形门槛设备出口越来越多多语言切换成了常态。最容易翻车的不是翻译本身而是工程里硬切语言导致字体乱码。正确做法是用HMI的多语言文本列表功能所有显示文本建在文本列表里运行时按语言编号切换而不是在脚本里把字符串变量替换来替换去。字体也要注意工业屏内置字库有限有些中文字体在英文界面下没有对应字库显示出来就是方框。字体大小要兼顾距离。操作工离屏一般几十厘米到一米标题字号最好18磅以上正文信息至少14到16磅。数字和单位要绑在一起别把数值和单位拆成两个独立元件数据显示区域要足够长否则数值一旦变大显示成***根本看不出实际值。这些细节做不好海外客户现场拍一张照片发过来后面就全是麻烦。4. 通信、配方、报表HMI工程里真正见功夫的地方4.1 通信连接与标签导入最容易翻车的环节画面再好看通信不通就是一块废屏。通信配置里最常见的错误是IP网段不一致。PLC是192.168.0.1HMI设成192.168.1.10两边谁也找不到谁。一个最简单的检查方法HMI通信设置里IP地址和PLC放在同一个网段子网掩码保持一致网关看实际网络环境没有特殊需求就统一填路由器或交换机的地址。PLC IP192.168.0.1 HMI IP192.168.0.10 子网掩码255.255.255.0 网关192.168.0.254以威纶通连西门子S7-1200为例走的是以太网S7协议。建好连接后可以直接导入博图导出的标签也可以手动填地址。最坑的一点是1200的DB块默认是“优化的块访问”一旦勾着外部设备读不到DB的绝对地址。解决办法是在博图里把对应DB块改成非优化访问取消勾选“优化的块访问”重新下载到PLCHMI这边才能按绝对地址引用。这个坑我至少帮人远程处理过四五回每次都是客户换了一台新屏就突然读不到DB数据。通信配好之后一定要用软件里的“测试连接”或者“在线模拟”验证一遍别等到设备到现场才发现读写不通。通信变量多的项目建议先接一小部分变量测试通了再继续做画面不要一口气把几百个变量全连完再找问题。4.2 配方、用户登录与按钮加密权限设计要做在前面配方功能在设备上很常见尤其注塑、压装、热处理这类要多组工艺参数的机器。把一组参数打包成一条配方HMI一键下发到PLC省得操作工手动输入几十个参数。配方表的字段规划要提前想清楚参数名称、单位、上下限都要带上有些屏配方存储在内部Flash或SD卡里容量有限别存几百条把空间塞满。用户权限这块最简单的做法是用户登录窗口加宏校验操作工输入用户名和密码脚本里做判断通过就把系统寄存器置位不同角色对应不同操作等级。可以理解成一个最朴素的版本IF UserName admin AND Password admin888 THEN SetLoginLevel(Admin) ELSE ShowMessage(用户名或密码错误) END IF各家脚本语法不一样但思路基本如此。按钮加密就是给按钮加权限条件没登录或者等级不够按钮直接灰显或点了没反应。比如威纶通EBPro里可以给按钮加“安全控制”或“操作权限”设置而不是单纯靠肉眼判断。权限界面只是第一层真正的机械设备安全联锁一定在PLC侧这一点千万不要本末倒置。有些项目涉及Proface这类屏的程序上传下载保护设备厂应该在交机资料里单独登记维护密钥别嫌麻烦否则哪天现场人把工程误传上去程序被覆盖就真麻烦了。4.3 产量报表、扫码枪与数据记录现场离不开的实用功能产量报表看着简单实际做好不容易。一般做法是PLC侧做累加计数HMI负责显示和清零授权。产量需要按班次、按日期、按产品型号分段统计HMI这边要做好数据记录通过资料取样或者存盘数据浏览把历史数据保存到U盘或SD卡再导出成CSV让办公室处理。采样周期要设置合理不是越快越好。采样太快浪费存储空间采样太慢又丢失关键过程数据。PLC记录产量建议用长整形防止每天几十万件产量把16位计数器顶溢出。清零操作一定要做权限管理最好是管理员以上才能清还要留清零日志不然月底对账的时候谁都说不清数据去哪了。扫码枪接HMI在很多设备上已经是标配。串口扫码枪连到HMI串口配置好波特率和数据位条码内容就会像键盘输入一样进入屏。关键在条码枪要设置成“回车后上传”HMI脚本里判断到回车字符再执行查询或记录否则条码扫进去了但触发时机不可控。昆仑通态这类屏接扫码枪还需要配置串口设备构件把扫码数据读取到指定变量里再处理。配合产量报表扫码枪可以把产品条码、批次信息、工位参数关联起来质量追溯就顺了。5. 脚本与动画让画面“活”起来同时把雷留给PLC5.1 常用脚本场景跳转、换行、字符串拼接脚本别滥用但该用的时候一定要用对。最常见的是根据变量值选择主页。比如设备有自动和手动两种模式开机时HMI判断一个启动变量值等于1就自动跳到运行主页面值等于2就跳到参数设置页。迪文屏上经常用变量地址和跳页指令实现威纶通、昆仑通态则通常用if判断加切换窗口指令。逻辑不复杂但要注意跳转条件不能互相覆盖尤其多条件跳同一个目标页时要用优先级明确的if-else结构。另一个实用场景是字符串拼接。昆仑通态脚本里要把设备名称、当前温度、报警信息拼成一行显示就需要拼接函数换行可以用Chr(10)拼进去类似这样!StrSet StringVar, 设备名称 DeviceName Chr(10) 当前温度 NumToStr(Temp, 2)不同HMI的字符串拼接函数名不一样但思路一样先把数值转字符串再用换行符拼接。如果拼完显示不换行先检查显示元件有没有开启多行显示或自动换行属性这一条卡住了多少人。5.2 仿真与调试按钮没反应不一定是你画错了博图HMI仿真按钮无反应是初学者问得最多的问题之一。大部分情况不是按钮画错了而是仿真环境的连接问题。HMI仿真要配合S7-PLCSIM一起用PLC没有下载程序或者没运行按钮对应的变量没有驱动点了自然没反应。排查逻辑是先看PLCSIM里CPU有没有RUN再看HMI仿真连接里选的是不是仿真接口最后查按钮有没有勾选“允许操作”属性按钮连接的变量有没有在PLC程序里被赋值。很多HMI软件的仿真功能也容易出现类似假象画面编译通过了但实际通信没建立按钮按下去变量没变化。调试时可以直接在PLC程序里强制置位按钮对应的输入变量看HMI画面有没有反映反向验证通信链路。这里有个经验在线调试时一定要用“交叉引用”功能看看这个变量在多少个画面、多少个脚本里被引用了防止画面之间的变量互相覆盖。老款昆仑通态MCGS运行环境在部分Windows系统上容易弹“cesvr.exe执行了一个非法操作”多半是版本兼容性、杀毒软件拦截或者工程文件异常。处理思路是先备份工程再升级运行环境软件重装驱动清理临时目录。如果是现场运行中的屏突然弹这个最稳妥的做法是先用U盘把工程上传备份再重新下载一次干净工程。新出的几代屏稳定性已经好很多但这问题网上一搜还有一堆人遇到说明老设备存量真不小。5.3 触摸屏底层的坐标映射做驱动和做应用的分水岭聊到触摸屏大部分电气工程师接触的是应用层不关心底层坐标。但如果你做单片机项目或者将来想往触摸屏驱动工程师方向走就得理解坐标映射。以最经典的四线电阻屏为例上下两层导电膜触摸时形成分压ADC采集到的X、Y坐标和屏幕像素坐标是两套坐标系不是一一对应的。要把触摸点对应到屏幕上内容必须做线性校准。校准公式本质上就是线性变换加缩放偏移比如px (x_adc - x_offset) * 屏幕宽度 / x_range py (y_adc - y_offset) * 屏幕高度 / y_range因为ADC量程、屏幕分辨率、贴合偏差都不一样单点校准不够工程上常用三点校准或五点校准解线性方程组把偏转、缩放、平移都校正过来。这个知识点一般应用工程师用不上但真碰到“触摸点和按钮对不上”的故障你至少能判断是校准参数丢了还是工程文件异常不至于一脸懵。显示方向翻转时坐标映射也要跟着反转这也解释了很多屏竖屏改横屏后触摸位置全乱的现象。6. 现场HMI问题排查速查表6.1 高频故障与处理方向自己做设备这几年把现场最常见的HMI问题整理了一张排查表给售后兄弟做参考能少走很多弯路现场现象常见原因快速排查方向按钮按了没反应变量没连接、PLC未运行、权限不足、有透明控件遮挡检查按钮“允许操作”属性用交叉引用查变量看有没有重叠控件通信时断时续IP冲突、网线接头松动、PLC通讯负载过大、站号重复先Ping设备地址再查网线最后看扫描周期有没有设置过快S7-1200 DB数据读不到DB块勾选了优化的块访问博图里取消优化访问重新下载HMI侧按绝对地址引用博图HMI仿真按钮无反应没有连接PLCSIM、PLC未运行、按钮未勾选允许操作先确认仿真连接和PLCSIM状态再查按钮属性和变量昆仑通态cesvr.exe非法操作版本兼容性、工程损坏、系统环境异常备份工程升级运行环境重装驱动清临时目录字符串显示不换行显示元件未开多行、换行符用错检查多行显示属性脚本里改用Chr(10)拼接扫码枪扫了没反应串口参数不一致、条码枪没发回车、脚本没判断结束符核对波特率、校验位设置条码枪回车上送检查脚本条件产量报表数据不对PLC累加逻辑错误、采样周期太长、数据类型溢出查PLC计数程序和清零权限缩短采样周期换32位累加触摸点与按钮对不上屏校准参数丢失、换过显示方向重新做触摸校准检查显示旋转后的坐标映射6.2 一次典型的远程排查过程记录去年有个客户打电话说新换的触摸屏有时点按钮没反应开始以为是屏坏了远程过去才发现他在按钮区域上方放了一个透明的“指示灯”元件这个元件放在最上层覆盖了整个按钮的位置触摸全被它接走了。把透明元件移到底层按钮立刻正常。这种问题用肉眼看工程文件很难发现就是元件层级问题。HMI画面里所有元件都有上下层关系层叠顺序直接影响操作。透明元件、背景图、装饰框这类不影响操作的控件一律放在底层操作按钮、输入框、滑杆放在顶层。画面做完之后一定要自己点一遍每个按钮都按一次不要只在模拟器里过画面不动逻辑。7. 做画面这些年我最后想说的几个工程习惯7.1 备份、版本与模板一个都不能少HMI工程文件不是一次做完就完事的设备出厂之后还会改配方、加报警、调逻辑。工程文件命名一定要带设备编号和日期比如“空压机控制系统_HMI_V1.2_20250201”改动前先备份千万别在同一个文件名上反复覆盖。我甚至建议在画面角落放一个工程版本号变量现场维护时一眼就知道这个屏里跑的是哪个版本的程序免得拿着旧工程文件瞎对。每个人电脑里都应该有一套自己的HMI模板库里面放着常用的图库、通信模板、脚本块、标准报警布局、权限框架。我一直在用的那套HMI专用工具包已经更新到v6.3了每次重装系统第一件事就是把它恢复回来。这里的v6.3不是哪个官方大版本而是我自己积累的版本习惯但效果是实实在在的接新项目时把模板调出来能省掉将近一半的重复劳动。7.2 少炫技多替操作工想一步画面的核心不是华丽而是可靠。动画、特效、华丽的背景图偶尔点缀可以但工业现场屏幕长期不关机运行复杂动画只会加重CPU负担。我见过一个项目就为了开机画面多一个渐变动画屏幕启动慢了好几秒操作工每天开机都要多等一阵体验反而差了。背景图能用纯色或简单色块就不要用高分辨率大图省下的内存可以多存好几页历史数据。做画面这些年我最大的体会是画面不是画给自己看的也不是画给领导看的而是画给车间里那个每天操作设备的人看的。你坐在办公室想的“好看”和操作工在现场戴着手套点的“好用”经常是两回事。有条件就去现场看几眼操作工怎么用你的屏幕听他吐槽一句“这个按钮为什么不能放大一点”比在办公室里改十稿都管用。HMI画面这块工作表面上没有PLC逻辑那么硬核却在客户体验里占着极大的分量。你替操作工多想一步客户心里就会给你的设备多存一分信任。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑