威纶通HMI登陆方式(三):宏指令登陆


前言

威纶通HMI系统提供了多种灵活且安全的登录方式,旨在满足不同工业应用场景下的安全需求与管理便捷性。除了传统的账户密码和索引密码登录方式外,其创新的宏指令登录功能更是为高级用户和开发者提供了强大的自定义能力。宏指令集成复杂逻辑与数据验证,依据系统状态或外部信号灵活切换用户权限,甚至生成一次性密码,显著增强安全防护。这一功能让登录流程高度个性化,适应多变工业环境,确保操作安全与便捷性的完美平衡。

传送门:威纶通HMI登陆方式(一):账号密码登陆

传送门:威纶通HMI登陆方式(二):索引密码登陆

一、准备阶段

熟悉威纶通宏指令:宏指令提供了应用程序之外所需的附加功能。在HMI人机界面运行时,宏指令可以自动的执行这些命令。它可以担负执行譬如复杂的运算、字符串处理,和用户与工程之间的交流等功能。

1、宏指令编辑器

宏指令编辑器创建。
在这里插入图片描述
宏指令是由各种语句组成的。这些语句包含常数、变量和各种运算符号。这些语句放置在特定 的顺序位置以便执行后达到一个希望的执行结果。宏指令的结构一般为以下格式

全局变量声明-------------------------------------------------------可选
Sub Function Block Declarations (子函数声明)-----------------------可选
局部变数声明
End Sub (结束子函数)


macro_command main() [主函数]--------------------------------------必须
局部变量声明
[各式语句]
end macro_command [结束主函数]-------------------------------------必须

值得注意

一个宏指令必须有一个且只有一个主函数,用来开始宏指令的执行。

变量的声明必须放在宏指令语句的前面,如果放在语句后面,将会造成宏指令无法编译通过。

局部变量一般用在宏指令主函数或自定义的子函数。它的合法性只在指定的函数中有效。

全局变量一般是定义在所有宏指令函数的前面,且它在整个宏指令中均具有有效性。

当局部变量和全局变量被定义为相同的名称时,左右局部变量有效。

2、宏指令的使用

1、变量的命名规则:变量必须在使用前声明。所有的变量都必须在语句使用前都被声明完成。声明变量时,先定义变量的类型后面再跟着变量名称。必须以英文字母开头、变量名称长度不超过32个字符、系统保留存储器名称不能作为变量名称。

变量类型描述范围
bool 布尔型1 bit(1个位)0、1
char 字符型8 bits(1个字节)+127~-128
short 短整型16 bits(1个字)+32767~-32768
int 双整型32 bits(双字)+2147483647~-2147483648
float 浮点型32 bits(双字)
unsigned char 字符型8 bits(1个字节)0~255
unsigned short 短整型16 bits(1个字)0~65535
unsigned short 双整型32 bits(双字)0~4294967295
long 长整数64 bits(四个字)(只支持cMT/cMTx)
unsigned long 长整数64 bits(四个字)(只支持cMT/cMTx)
double 双精度浮点数64 bits(四个字)(只支持cMT/cMTx)
变量声明:
变量类型 变量名
int a
short b
数组声明同上
int c[10]

2、运算符号:运算符通常被用来指定数据是如何操作和运算。如赋值运算符号、数学运算符号、比较运算符号、逻辑运算符号、移位运算符号、位运算符号等。

赋值运算符号:(想了解更多请查询威纶通触摸屏使用手册)

运算符号描述举例
=赋值运算符号A=10

数学运算符号:(想了解更多请查询威纶通触摸屏使用手册)

运算符号描述举例
+A = B+C
-A = B-C
*A = B*C
/A = B/C
% 或 mod取余A = B % 5 或 A = B mod 5

比较运算符号:(想了解更多请查询威纶通触摸屏使用手册)

运算符号描述举例
<小于A<10
<=小于或等于A<=10
>大于A>10
>=大于或等于A>=10
==等于A==10
<>不等于A<>10

逻辑运算符号:(想了解更多请查询威纶通触摸屏使用手册)

运算符号描述举例
andA and B
orA or B
xor异或A xor B
notnot A

3、内置函数功能:威纶通本身提供了一些内建的函数用来从设备获取数据和传输数据到设备、数据处理和数学运算等。包括设备函数、Free Protocol函数、宏控制函数、数据操作函数、数据转换函数、字符串处理函数等。

设备函数:(想了解更多请查询威纶通触摸屏使用手册)

函数名称简述
GetData读取设备的数据
GetDataEx读取设备的数据,不等待设备响应、径自往下执行
GetError取得错误码
SetData将数据写到设备中
SetDataEx将数据写到设备中,不等待设备回应、径自往下执行

二、实施阶段

1、新建威纶通项目

打开安装完成的威纶通软件Utility Manager、选择**设计——点击EasyBuilder Pro——点击开新文件——选择触摸屏型号——点击确定——点击保存重命名完成项目的创建。**本次由于是在离线模拟下进行,因此不需要选择具体的触摸屏型号,但可以根据目标型号进行界面布局和功能的预设。本文章所选择威纶通触摸屏型号是:CMT2167X。
在这里插入图片描述

2、用户参数设置

威纶通用户密码分为两种:一般模式和高级安全模式。

  1. 一般模式:可设置12组用户密码,且密码须为非负整数。HMI运行时,用户在成功输入密码后,系统会依照用户的设置内容决定用户可以操作的元件类别。元件类别被分为[类别A]至[类别F]共计6种。注:CMT/CMTX系列不支持一般模式。
  2. 高级安全模式:可规划的用户为11组,另外提供[管理员]使用模式,此管理员有最大使用权,任何元件的安全等级皆可操作。不同的用户密码可由英文字母或数字组成,并可规划每个用户可操作的元件类别分为[类别A]至[类别L]共计12个类别。

点击常用——系统参数——用户密码——高级安全模式——勾选启用(勾选才会启动作用)——设置【用户名称】和【密码】。
在这里插入图片描述

3、高级安全模式

高级安全模式之控制地址:控制地址可用于登入和管理账号,此控制地址的字地址来源只能为Local HMI的LW地址,并使用连续20个地址作为参数。使用【控制地址】执行登入时,需选择【用户名称】或【用户索引】其中一种方式登入。

控制地址使用说明:当控制地址设为LW-n时,n为任一数字,则将使用一下地址。

控制地址标签名称描述
LW-n(占1个字)命令控制各项操作命令{如:登入、注销、新增、修改、删除等}
LW-n+1(占1个字)命令执行结果显示执行命令的结果
LW-n+2(占1个字)用户索引账号索引(配合项目选单元件使用)
LW-n+3(占1个字)用户权限权限值
LW-n+4(占8个字)用户名称账号名称
LW-n+12(占8个字)密码账号密码

例如本文章所使用的控制地址为LW_8950,使用方式如下:
在这里插入图片描述
控制地址【LW-n 命令】的使用

当在【命令】LW-n输入特定[数值]时,所对应操作的功能如下(部分功能,想了解更多请查询威纶通触摸屏使用手册):

设置数值命令搭配地址
1使用名称登入账号需先定义【用户名称】和【密码】
2使用索引登入账号需先定义【用户索引】和【密码】
3注销账号
4更改目前已登入账号的密码
5新增账号需先定义【用户名称】、【密码】、【用户权限】

本文章会使用户索引登入账号和注销账号。

控制地址【LW-n+1 命令执行结果】的使用

每当执行命令后,系统自动将执行结果输出值传送到控制地址的LW-n+1地址中,下列结果为命令执行后的结果(部分值,想了解更多请查询威纶通触摸屏使用手册):

结果输出值(16进制)信息内容
0X001命令执行成功
0X002错误命令
0X004账号已存在
0X008账号不存在
0X010密码错误

4、用户登陆界面设计

1、在左侧项目数中打开窗口10或右击新建窗口,双击窗口进入画面。

2、在元件标题栏添加所需要使用的元件包括绘图、指示灯、按钮/开关、输入、图例、其他等。在画面中首先添加按钮中的项目选单元件用于展示用户名称索引;然后添加一个字符输入元件用于密码的输入;接着在添加一个复合式多功能按钮用来触发宏指令的执行;在添加一个按钮/开关元件用于注销用户的触发;最后在添加一个指示灯元件用于展示用户命令执行状态。
在这里插入图片描述
3、项目选单元件属性设置:项目选单属性包括项目选单、源数据、状态设置、安全、标签、轮廓。

项目选单中监看地址可以是【UAC 用户索引】或【LW-8952】,源数据中项目资料来源选择用户账号。

在这里插入图片描述
4、字符输入元件属性设置:字符属性包括一般属性、数值输入、安全、图片、字体、触发动作设置、轮廓。

一般属性中[用户密码]的输入/输出地址可以是【UAC 密码】或【LW-8962】,数值输入中选择使用窗口为83的自定义键盘。

在这里插入图片描述
5、按钮/开关元件的属性:包括一般属性、安全、图片、标签、轮廓。
在这里插入图片描述
6、指示灯元件的属性:包括一般属性、安全、图片、标签、轮廓。

本文字指示灯用来显示UAC命令执行结果,状态数设置17,在标签中设置不同状态所显示的内容,包括状态1:内容为命令执行成功、状态2:内容为错误命令、状态4:内容为账号已存在、状态8:内容为账号不存在、状态16:内容为密码错误。即结果输出值所对应的十进制值。
在这里插入图片描述
7、复合式多功能按钮属性设置以及登陆宏指令的编写:复合式多功能按钮属性包括一般属性、安全、图片、字体、轮廓。通过设置按下时动作和释放时动作来进行动作群组的设置,包括延时、位状态设置、多状态设置、切换基本窗口、触发宏指令、执行JS等等。我们这里只需在按下按钮时触发宏指令即可。
在这里插入图片描述
创建一个用于用户登陆的宏指令代码:宏指令名称为用户登陆,不启用周期执行、不启用执行条件、不启用当HMI启动时即执行一次,完成宏指令的代码编写点击下方的保存&编译。
在这里插入图片描述

macro_command main()
// a=1 使用名称登入账号
// a=2 使用索引登入账号
short a=2
SetData(a, "Local HMI", LW, 8950, 1)
end macro_command

//一般情况下我们需要先编写对应的宏指令代码,在配置动作群组时触发宏指令才能选择你想要执行的宏指令程序。

在这里插入图片描述
8、通过综合考虑页面布局、字体大小与可读性、元件轮廓设计以及安全性、响应性和用户反馈机制等方面,我们可以打造出一个既美观又实用的用户账号密码登录界面。如下图所示
在这里插入图片描述
8、仿真测试运行:在上面标题栏中选择工程文件,然后点击离线模拟运行,等待软件编译完成即可进入画面。如果离线模拟的画面不是你所要展示的画面,可以通过系统参数设置中的一般属性设置启动窗口。
在这里插入图片描述
通过离线模拟仿真运行结果,使用宏指令的方式同样能够进行威纶通的用户登陆。
在这里插入图片描述

三、总结阶段

通过深入学习威纶通宏指令的应用,我们不仅掌握了其在用户登录界面中的强大潜力,还见证了其在自动化控制系统中实现复杂逻辑运算的灵活性。未来,随着对威纶通宏指令的进一步探索与应用,我们有信心能够开发出更多功能丰富、操作便捷的自动化控制系统,为企业智能化转型贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值