熟悉昆仑通态触屏的工程师、技术员都知道,无论是在MCGS嵌入版软件,还是在MCGS通用版软件,亦或者是现在的MCGS pro软件,都含有一个共同的系统变量“$UserName”。在嵌入式版本中,用户可以直接调用该“$UserName”变量,在画面上显示当前登录的用户名。但是在MCGS pro本版中的McgsPro V3.2.3.1671 SP2版,直接调用系统变量“$UserName”,是无法获取当前用户名,并显示在画面上的,我们来看看官方手册上对该变得说明。
$UserName
对象意义: 在程序运行时记录当前用户的名字。若没有用户登录或用户已退出登录,“$UserName”为空字符串
对象类型: 内存字符串型变量
读写属性: 只读
注意事项: McgsPro系列产品该变量恒为空字符串,无意义
从上述说明,我们可以看到,该系统变量恒为空字符串,无意义,因此无法通过该变量,将登录的当前用户名显示出来。这对新手来讲,可能一时不知道怎么解决,也许需要话费较长时间来研究和学习,这里为了节省初学者的时间,下面我介绍一种获取当前登录用户名,并使其在画面上显示的方法。
1、启动McgsPro组态环境,并新建一个项目,如图所示
2、建立一个字符变量,名字为“UserName”
单击图1上的“实时数据库”选项,并点击“新增对象”按钮,等到一个新的变量,这个变量的名字会自动生成,原则是在新增对象前,鼠标选中的是哪一个变量,新增对象的名字会在你选中变量的名字后加上数字。比如:本例在新增对象前,鼠标选中的是“InputEtime”变量,单击“新增对象”按钮后,自动生成一个名为“InputEtime1”变量。如图所示
3、修改变量名
双击新增的对象“InputEtime1”,弹出“”数据对象属性设置“”对话窗口,并在“对象名称”一栏填上需要的对象名称,并在对象类型出选择所需要数据类型,需要对象注释的,还可以在“对象内容注释”里填上注释内容。本例对象名称为“UserName”,对象类型为“字符”,对象注释内容为“获取当前登录用户名”。如图所示
修改完对新增对象属性后,修改的对象会以修改的名字以及相关属性在实时数据库中呈现。如图所示。
4、为“UserName”变量赋值
赋值的方法很多,你可以在登录时通过在登录按钮下用脚本为变量赋值,也可以再运行策略下,通过脚本赋值,等等,总是实现的手段很多。本例以在运行策略下通过脚本赋值来实现。
在“工作台”窗口中,单击“运行策略”选型,点击“新建策略”按钮,弹出“选择策略的类型窗口”,这里我们选择“循环策略”,并单击“确定”按钮,新建的策略将在“运行策略”下显示,如图所示
5、修改策略属性
修改刚新建的循环策略,选中“策略1”(前面新建的“循环策略”默认名字),点击“策略属性”按钮,弹出“策略属性设置”窗口,并在策略名称下填写策略的名字,循环时间里填上需要循环的时间,策略内容注释栏填写需要为策略做注释说明的内容,本例:策略名称为“循环策略”,循环时间为“500ms”,策略注释内容为:“按照设定的时间循环运行”。如图所示
单击确定,新建的策略属性被修改完成。如图所示
6、策略组态
将修改属性完成后的循环策略组态,选中“循环策略”--点击“策略组态”按钮----弹出“策略组态:循环策略”窗口---右键“文件夹图标”----点击“新增策略行”---双击“脚本程序”---在脚本程序窗口编写需要的脚本,如图所示
对编写的脚本进行验证检查,保存工作,如图所示
脚本如果没有错误,弹出“脚本正确”提示框,如若脚本有错误,会提示脚本错误的行等。
脚本没有问题后,关闭脚本编辑窗口,策略组态窗口,并将组态好的策略存盘,如需要在下图上点击“是”按钮
7、新建用户窗口,并在用户窗口上建立用户名动态显示、登录按钮以及注销按钮
8、新建用户
在MCGS Pro组态环境下,菜单栏:“工具”---“用户权限管理”----弹出“用户管理器”窗口----选中“用户名”----点击“新增用户”按钮---弹出“用户属性设置”窗口---填写“用户名称”---“用户描述”----“用户密码”----“密码确认”---选择用户隶属的用户组,如管理员组---“确认”。如图所示
9、运行组态画面
通过前面的设置、组态等工作,通过运行组态好的画面,测试效果如图所示
通过上述图对比可知,在没有用户登录时,用户名显示为空白,当用用户名为“测试用户”登录后,用户名显示为“测试用户”。
本文就写到这里,欢迎读者来信沟通交流。
知识分享是一种精神!欢迎读者前来阅读,并分享您的知识和经验!!!