☰
昆仑通态MCGSPRO透明按钮与权限控制实战:从原理到落地
2026/10/7 5:59:41 网站建设 项目流程

昆仑通态MCGSPRO组态软件里,透明按钮和权限控制这两件事,看着不起眼,现场却是刚需。做设备调试这几年,我见过太多画面被按钮堆满、操作工找启动键找半天的项目,也见过谁都能在触摸屏上改参数、最后设备被调乱的事故。今天这篇就把这两块拉一起讲透,从原理到实操,照着做,一个画面五分钟之内能把透明按钮和权限控制都安排上。

透明按钮解决的是“操作直观性”问题,权限控制解决的是“操作安全性”问题,两者一结合,触摸屏才有资格说自己是“友好又可靠”的人机界面。这篇内容适合刚接触MCGSPRO的电气工程师、设备调试人员,也适合已经在用昆仑通态触摸屏但一直用普通按钮堆界面的老手——看完你就知道,原来触摸屏画面还能这么设计。

1. 这个需求背后,到底在解决什么问题

1.1 透明按钮:按钮“隐身”了,操作反而更直观

先想一个问题:为什么现场操作工不愿意盯着密密麻麻的触摸屏界面找按钮?因为在传统画面里,按钮就是一个个方块,放在画面上方、侧面,或者被塞进某个角落。操作工要做的动作是“看到泵”“找到对应按钮”“确认按对”,三步里面两步是浪费时间的。

透明按钮的思路很简单:既然画面上已经有设备图形,比如一张水泵的照片、一条管道的简图、一台电机的俯视图,那我不需要再单独放一个“启动泵1”的红色方块,直接把一个看不见的按钮盖在水泵图形上,操作工伸手点水泵本身,泵就启动了。这就是透明按钮的本质——一个矩形热区,把外观全部隐藏,保留点击和触发能力。

这个用法在组态软件里一点都不高级,但它解决的是人机交互里最核心的问题:所见即所点。操作工不需要读按钮文字,不需要对照图例,眼睛看着设备、手指点设备,一步完成。

从技术实现上讲,透明按钮就是标准按钮控件的属性变体。按钮本身有热区响应、有按下事件、有权限属性,我们只是把它的可视外观(填充色、边框、文字)全去掉,让它“摸得着、看不见”。这也是为什么我坚持用“按钮”而不是“图片热区”来做透明操作——按钮自带完整的触发逻辑和权限挂载点,比用位图加脚本去模拟点击区域靠谱得多。

1.2 权限控制:谁都能点屏幕,但谁也不能乱点

工业现场的人员构成很复杂:操作工负责日常启停,车间主任可能要修改工艺参数,设备科长要调整配方,厂家售后要维护系统。这么多人共用一块触摸屏,如果没有权限区分,后果我见过太多次了。

最典型的场景是:某天巡检,操作工觉得压力设定不太对,随手把PID参数给改了几个数,设备当时是没事儿,第二天生产的时候整个系统振荡了,排查半天才发现是参数被人动过。这个锅不能全算在操作工头上——画面里根本没限制他改参数,系统也没提示“你无权操作”,那它就是默许了。

权限控制的设计逻辑,说白了就是一句话:给不同身份的人分配不同的操作等级,然后在关键按钮、关键输入框上挂上等级门槛。等级不够,按键要么灰色置灰,要么点击时弹窗提示“无权限”。这样既保留了触摸屏的操作便利性,又把“谁能干什么”约束住。

MCGSPRO的权限体系是经典的“用户-用户组-等级数字”结构。每个用户有用户名和密码,每个用户有权限等级(一个数字),按钮或输入框可以设置“最低操作等级”。运行时,当前登录用户的等级数字如果小于控件要求,操作就会被拦截。这套模型不算复杂,但实际项目里能把等级划分做得清晰的人很少,后面我详细讲怎么设计。

2. MCGSPRO环境准备:先把地基打好

2.1 版本选择和安装那点事

昆仑通态MCGSPRO是MCGS嵌入版之后的“继任者”,界面和工程管理方式比老版清爽不少,现在新项目基本都用它。版本上,我见过现场还在用3.3.6.7041 SP1.3的,也有更新到3.5.1.7267的,注意不同版本工程文件虽然大体兼容,但高版本打开低版本工程的情况更稳,反过来用旧版软件打开新版工程经常报错。所以原则是:触摸屏出厂带的软件版本是多少,你就用同版本或更新的版本来做工程,不要盲目最新,也不要拖着不升级。

安装时有几个坑:一是杀毒软件对组态软件安装包经常误报,装之前先把系统自带杀毒、第三方安全软件临时关掉,装完再开;二是安装路径尽量用英文,虽然MCGSPRO对中文路径兼容性比老版好了不少,但工程里一旦涉及U盘导出、外部数据文件引用,中文路径偶尔会给你来一下“找不到文件”;三是安装完成后用管理员身份打开软件,不然设备窗口里装驱动的时候可能权限不足,驱动列表异常。

驱动选择这块也要提一句:MCGSPRO连接PLC需要正确选择“设备驱动”,现在的版本大多通过“设备窗口”动态加载,选驱动之前先确认触摸屏型号和通讯协议,比如是西门子S7-1200走以太网、还是三菱FX走串口,驱动一旦选错,后面透明按钮再做得好也白搭,数据联不动。

2.2 新建工程与画面基础设置

打开MCGSPRO后新建工程,会要求选择触摸屏型号。这一步千万别随手选,一旦选错,下载到屏上要么分辨率错乱,要么直接报“工程不匹配”。正确做法是打开触摸屏背后铭牌,或者查设备序列号,确认具体型号,比如TPC1062Ti、TPC1071Gi这类。选好型号后,软件会自动匹配画面分辨率和横向/纵向布局。

进入到画面编辑状态,我建议先把画布属性调好:背景色用工业场景常见的深灰或浅灰,网格对齐打开(建议间距10像素或更小),这样后面拖控件对齐底图会轻松很多。画布的分辨率如果和触摸屏原生分辨率不一致,运行时画面会被缩放或裁切,经常出现“按钮跑偏”的假象,这个在工程属性里一眼就能核对。

底图的导入是个容易被忽视的环节。如果是现场设备照片,尽量用PNG格式,抠图之后保留透明通道,这样画面会精致很多。如果是CAD导出图,导出成高清PNG或者JPG都行,但注意比例要跟画面分辨率匹配,不然拉变形了设备图看着很怪。底图导入后最好先锁定位置,免得后面操作时不小心拖走。

2.3 用户管理的初始化

权限控制的根基在用户管理里。MCGSPRO的工程树中一般能找到“用户管理”节点,双击进入后可以看到默认的管理员账号。我的建议是:新建工程第一件事就是进用户管理,把默认管理员密码改掉,然后按项目需要建好用户组和用户。

用户分组的设计,我习惯按岗位来分,而不是按人名来分。比如“操作员”组、“技术员”组、“管理员”组。每个组给一个权限等级数字,等级数字从低到高递增:操作员通常是1级,技术员给3级,管理员给5级。具体数字不重要,重要的是留出后续扩展的余量,比如以后来了个“班长”角色,权限要介于操作员和技术员之间,等级2刚好补上。

每个用户实际登录时用用户名加密码,密码可以由管理员统一设置,也可以让用户自己修改。MCGSPRO支持运行环境下修改密码,这个后面讲到登录功能时再提。用户管理初始化这一步,花不了三分钟,但对整个权限体系来说是最关键的地基,等级数字一旦定死,后期大量按钮的权限都要跟着改。

3. 透明按钮实战:做一个看不见却能用的按钮

3.1 关键操作:让按钮彻底隐身

在MCGSPRO的画面编辑器里,从工具箱拖一个“按钮”控件到画布上。默认状态下它是一个灰色立体方块,要让它变透明,关键是改三个地方:填充颜色、边框线型、文字内容。

具体操作:双击按钮打开属性窗口,找到“外观”相关页签,把填充颜色设置为“无”(有的版本显示为透明色块),边框线型设置为“无”,再把按钮文本清空。这三步做完,运行起来按钮就是一个完全不可见的热区。如果软件版本里有“透明”勾选项,直接勾选更好,没有就靠颜色和边框配置实现,效果一样。

这里要强调一个容易踩的坑:很多人在属性里看不到“无”这个选项。这是因为控件属性里的颜色下拉分两种,一种是给固定色板,一种是给调色板入口,你要选到调色板的最角落,那里通常有一个“无颜色”或“透明”的格子。实在找不到,可以把填充颜色的Alpha值改为0,效果一样是透明。

3.2 让透明按钮干实事:关联点位、切换窗口、执行脚本

透明按钮的“透明”只是外观,它的灵魂在于触发动作。给透明按钮配置动作,常用方式有三种。

第一种是位按钮方式:直接把按钮关联到PLC的一个开关量变量,按下时置位,松开时复位,或者按下时取反。这种方式最简单,适合电机启停、阀门开闭这类点位控制。在MCGSPRO里,选中按钮后在操作属性里选择“数据对象值操作”,把“抬起/按下”分别绑定到启动点命令和停止点命令,运行后点一下就下发指令。

第二种是标准按钮加脚本方式:按钮的“弹起”事件里写一段脚本,比如弹出一个设定窗口、切换画面、或者做一串逻辑运算。比如:

!ChangeWindow(2)

这行脚本的意思是切到2号窗口。透明按钮配合这个用法,可以实现“点设备图就弹设备详情”的效果。

第三种是组合方式:按下时触发脚本,脚本里做条件判断,符合条件才执行动作。这种灵活度最高,新手建议先从第一种和第二种练起。

透明按钮的点击区域,我建议至少40×40像素以上,太小的热区手指去点特别容易漏触发,尤其现场工人戴手套操作的时候,热区小了非常烦躁。我一般让透明按钮的尺寸跟底图上设备图形的尺寸一致或略大5个像素,这样手指点到设备边缘也能命中。

3.3 透明按钮与动画联动的配合

透明按钮把视觉遮蔽掉了,但设备的运行状态总得反馈给操作工。这个反馈不要落在透明按钮上,要落在底图设备图形或旁边的状态指示器上。

比如一台水泵,底图上画了一台泵,运行状态是PLC里的M0.0。我给泵图形做一个“颜色动画连接”:M0.0为0时泵图形显示灰色,为1时显示绿色。这样操作工点透明按钮启动泵,泵图形立刻变绿,他会很确定“我的操作生效了”。

再进阶一点,可以给泵图形加“闪烁”动画,故障时黄色闪烁,配合报警声音。透明按钮本身没有任何视觉反馈,这是它天生的短板,所以动画连接必须以另外一个图形对象承载。这个思路想通了,透明按钮项目才算是真的成熟,不然点了没反应,操作工心里没底,宁愿去按老式硬按钮。

4. 权限控制落地:从登录到分级操作的完整闭环

4.1 给按钮设置权限门槛

透明按钮做好之后,接着就要给它挂权限。MCGSPRO里,绝大多数控件属性窗口中都有权限设置页签。找到按钮的权限属性,会看到一个等级值,默认是0或空,表示“不限制”。改成某个数字,比如3,就意味着当前登录用户权限等级必须≥3才能操作这个按钮。

这里有一个细节:权限等级不生效时,系统有两种处理方式。一种是把按钮置灰,显示为不可用状态;另一种是点击时弹提示“当前用户无权操作”。MCGSPRO一般默认是后者,运行时弹出信息框。我个人建议对透明按钮用弹提示方式,因为按钮本身就是隐形的,置灰也没人看得见,弹一个明确提示反而让操作工知道“我权限不够,要找班长过来”。

对输入框、数字设定控件也是一样的设置逻辑。凡是能改参数的地方,权限等级全都挂上,按岗位划分:泵启停等级1,压力设定等级3,PID整定等级5。这样分级有个好处:操作工用到的功能不会被权限拦截挡住,而真正危险、敏感的参数修改全部锁住。

4.2 增加登录和注销功能

权限挂好之后,画面里必须要有入口让用户登录,否则所有按钮都点了没反应,现场就抓瞎了。登录入口我的习惯是放在画面右上角,放两个按钮:一个“登录”,一个“注销”。也可以合成一个切换按钮,未登录时显示“登录”,已登录后变成“注销”,但这要求写几行条件脚本,新手直接用两个按钮就好。

“登录”按钮的动作很简单,调用系统登录函数,让弹出一个系统标准的登录窗口,输入用户名密码。在MCGSPRO的脚本编辑器里,函数列表能搜到LogOn、LogOff一类的函数名,不同版本叫法略有差异,以你当前版本函数列表为准。脚本大概是:

!LogOn()

注销按钮:

!LogOff()

登录之后,操作工是谁,登录的是什么权限等级,操作工自己看不到,他也没感觉。但如果画面上显示“当前用户”,体验会好很多。做法是放一个标签控件,关联系统变量$User(当前用户名),运行时会自动显示登录者的用户名。权限等级也可以通过系统变量$UserRight在工程里读取和判断。

自动注销这个功能我很推荐开启,尤其是长时间无人看管的自动化产线。假设操作工登录后忘注销,任何路过的人都能用他的权限乱操作,隐患很大。MCGSPRO一般能在系统设置或运行策略里配置无操作多久后自动注销,我常用的设置是10分钟无操作自动注销。如果软件配置里没有这个选项,还可以用循环策略脚本自己实现:循环周期1秒,判断当前用户、判断最近操作时间,超时之后执行LogOff。

4.3 操作日志与U盘存储

分配了权限、能登录能注销,这只是权限控制的“前半场”。企业现场更关心的往往是“谁动了什么”。MCGSPRO支持操作日志记录,把登录、注销、参数修改、按钮操作等事件记录到系统内部存储或U盘里。

我曾经做过的项目里,就遇过甲方追责的问题:某条产线参数被改了,生产部说不是我们改的,设备部也说不清楚。后来我给他们配了操作记录,每次参数修改都记录用户名、修改时间、修改前后的值,导出之后一查,谁改的、什么时候改的,一清二楚。从那以后,这个项目再也没出现过“参数不明被改”的扯皮。

具体到设置上,打开系统配置或运行策略里的日志选项,勾选记录操作事件,选择存储介质。昆仑通态触摸屏支持U盘存储,把U盘插在屏的USB口上,在工程里配置数据转存或历史数据导出,就能把日志导出成文件,带回办公室用Excel打开看。设置之前先确认触摸屏系统时间是对的,时间错乱会直接导致日志顺序混乱,这是很多现场日志“废掉”的根本原因。

权限体系和日志体系配合起来,触摸屏的“操作安全闭环”才算完整:采集登录者身份,拦截越权操作,记录关键动作,导出追溯。

5. 一个完整案例:供水泵房触摸屏画面从0到1

5.1 案例需求描述

拿一个典型的供水泵房项目举例。现场有三台水泵,变频器控制,压力传感器一路,水箱液位计一路。甲方对触摸屏的需求就两句话:点水泵图形能启停泵;压力设定、PID参数不是谁都能改。

这个需求翻译成技术方案就是:画面主界面放一张泵房工艺图,每台水泵图形上叠一个透明按钮,操作员点击对应泵的图形启停泵;参数设定界面挂不同权限等级,操作员改不了,技术员能改压力设定,PID参数只有管理员能动。

5.2 从零到落地的完整步骤

第一步,新建工程,选好触摸屏型号,配置设备驱动连接PLC,把三台泵的启停命令变量、运行反馈变量、压力值、液位值都建好。

第二步,画面导入泵房工艺图作为底图。如果没有现场图,用画图工具画一个简化版管路图也行,重点是尺寸对齐,三台泵图形位置留准确。

第三步,在三台泵的图形上各叠一个透明按钮。按钮的尺寸跟泵图形一致,填充色无、边框无、文字空。每个按钮绑定对应泵的启动/停止控制,我通常做成“按下启动、弹起停止”的位按钮方式,这样操作工需要持续按住才能运行,松手即停,安全系数更高。

第四步,用户管理里建好三个账号:操作员user01,密码1234,权限等级1;技术员tech01,密码5678,权限等级3;管理员admin,密码admin123,权限等级5。默认的admin账号密码立即改掉。

第五步,设置按钮权限等级。水泵启停按钮的权限等级设为1,表示操作员就能用。压力设定画面里的输入框权限等级设为3。PID参数画面里所有输入框权限等级设为5。

第六步,在主画面右上角放“登录”和“注销”按钮,调用LogOn/LogOff函数。在旁边放一个标签关联用户名,操作工登录后能看见自己是谁。

第七步,模拟运行测试。用操作员账号登录,确认可以启停水泵,但点开参数设定画面时输入框无法修改或者弹无权限提示;用技术员账号登录,确认能修改压力设定但PID参数还是受限制;用管理员账号登录,确认所有操作正常。整个流程走下来,一个人熟练的话,五到十分钟能全部搞定,标题说的五分钟真不是夸张。

5.3 这个案例能扩展到什么程度

供水泵房的例子虽然简单,但它包含的逻辑是通用的。把水泵换成风机、输送带、搅拌机,把压力设定换成温度设定、速度设定、配方选择,一套透明按钮加权限控制的框架就复用了。

扩展的方向有几条:一是多画面导航,把透明按钮用在主画面上的设备区域,点击不同区域跳转到对应的子画面;二是把权限和配方管理结合,只有管理员能调出配方画面、下载配方、修改配方参数;三是对接远程监控,预留以太网口或物联网网关,把报警信息和操作日志上传到上位机平台,实现厂级的数据追溯。

我见过不少项目,最开始只要求“能显示能启停”,后来慢慢加权限、加日志、加远程,这套架构因为在初期就定好了用户分级和日志体系,扩展几乎零成本。反过来,如果一开始没做权限架构,后期全画面补权限,那才叫痛苦。

6. 常见问题与排查技巧

6.1 问题速查表

长期在MCGSPRO项目里摸爬滚打,会遇到各种稀奇古怪的问题。我把透明按钮和权限控制相关的高频问题整理成了表格,方便直接对照排查。

现象可能原因排查方法
运行时还能看到按钮轮廓填充色或边框没有真正设成“无”检查外观属性里的填充色和边框线型,确认不是深色而是透明
透明按钮点不到设备图形按钮被底图或其他控件盖住了在图层管理里把按钮调到最顶层,或者检查画面中的控件叠放顺序
点击透明按钮没反应按钮没有绑定数据对象或脚本打开按钮操作属性,确认动作绑定是否正确,模拟运行看变量有没有变化
设置了权限但点击依然能操作权限等级填了0,或者当前登录用户本身权限过高检查按钮权限设置和当前登录用户的等级数字
登录窗口弹不出来调用的函数名在当前版本不存在在脚本编辑器函数列表里搜LogOn,用系统提供的正确函数名
登录后操作工姓名不显示标签没有关联系统变量$User检查标签的数据源,改成系统变量$User
自动注销不生效未配置或系统设置里没有该选项用循环策略脚本每秒判断当前用户和最后操作时间,超时执行LogOff
U盘插入后不识别U盘格式或接口问题将U盘格式化为FAT32,触摸屏背面USB口是插U盘的,不要插到鼠标键盘口
运行后画面整体错位工程里选的触摸屏型号和实际屏不一致核对型号,重新选择正确型号后下载
下载成功后工程自动丢失触摸屏存储空间不足或下载时断电清理屏内历史数据,下载过程中不要断电

6.2 调试阶段的独家经验

做透明按钮项目,我强烈建议开发阶段别急着把按钮改成全透明,而是先用半透明红色或蓝色铺着,把位置对准之后再改成透明。这能省下大把调试时间,因为透明状态下你根本看不清热区在哪里,对齐全靠猜。这个习惯我用了很多年,几乎每个项目都靠这招保住头发。

权限调试也一样,别拿正式账号反复试。我的习惯是在用户管理里单独建一个“调试员”账号,权限等级拉满,工程调试阶段全程用这个账号登录,省得一调权限就弹窗烦人,调完再设回低权限或删除。

还有一条很重要的经验:脚本执行和权限拦截是两套体系。MCGSPRO的权限检查针对的是“操作员点击控件”这个动作,但运行策略里的循环脚本、启动脚本、窗口脚本对变量的读写不经过权限检查。也就是说,如果一段策略脚本里写了修改工艺参数的逻辑,那它不会因为当前用户等级不足而被拦下来。设计安全方案时,一定要把这个口子堵住——联动互锁不能只靠HMI权限,关键的工艺联锁必须在PLC程序里做,HMI只负责界面层,这层设计原则不能颠倒。

另外,透明按钮和动画联动时,注意一下刷新性能。如果一个画面上透明按钮特别多,比如超过几十个,同时又叠加了大量动画连接,触摸屏响应会变慢。合理方式是把同一区域相关度高的功能合并,减少控件总数。触摸屏再怎么说也是个嵌入式设备,性能和原生的工业平板电脑有差距,画面设计要克制。

7. 收尾的个人经验

做了这么多触摸屏项目,回到透明按钮和权限控制这两个功能,我的体会是:它们一个做减法一个做加法,配合起来效果远大于单独使用。

透明按钮是把操作界面“变薄”,去掉一切多余的视觉元素,让操作工的目光聚焦在设备本身;权限控制是把操作边界“变厚”,让每个操作都有身份背景、有权限约束、有日志记录。两者组合,才是现代工业触摸屏该有的样子。

最后分享一个小技巧:透明按钮的项目,交付前一定要用最笨的操作方式测一遍,就是模拟一个完全不懂技术的操作工,不看任何说明书,只看着画面去操作。哪个地方他会犹豫、哪个地方他点了没反应、哪个地方他可能误触,这些问题当场记下来,回头再优化一遍热区尺寸和权限提示。屏幕上的东西,最终是给人用的,现场反馈永远是第一位的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询