您的位置:首页   >  关于我们  >  新闻动态

如何实现密码登陆功能

发布人:大彩科技发布日期:2020-03-11

 

1

概述

本文主要阐述的是如何在串口屏中实现密码登陆的功能,即屏幕可以根据用户输入的密码进行密码比对,并且能根据密码的正确或者错误相应做出提示以及动作。实现该功能主要是Minic脚本和Lua脚本,下面会对这两个脚本进行相应介绍。

2

Minic脚本的实现—对于modbus变量的比对

2.1     适用范围

Minic脚本适用于支持modbus通讯的屏幕。 


2.2     实现原理

Minic脚本类似于C语言的开发,遵循C语言的语法。脚本主要是对于modbus的变量操作的,modbus主要实现是通过控件和modbus变量关联起来,通过操作modbus变量来控制相应控件的显示。

密码登陆功能主要是实现字符串变量进行比对即可,从文本控件里面输入的密码值,经过minic脚本与设定的密码进行比对,若密码正确就会切换画面,否则会提示“密码错误,请重新输入!”。 

2.3.    实现方法

2.3.1  控件设置

密码登陆功能主要使用的控件有:文本控件以及按钮控件。其中,文本控件主要用于账号或者密码的输入,按钮控件用于触发密码比对并根据结果(正确或错误)执行对应的操作。如图2‑1所示。

 

2‑1编辑界面


 文本控件的设置如下:账号输入可以设置成全键盘的输入方式,便于字符和字母的结合输入;密码的输入可以设置密码的显示,如图2‑2所示,用小键盘输入即可。


 

2‑2密码文本设置


按钮控件的设置如下:按钮的触控用途设置成开关描述,对应的操作风格为瞬变即可,如图2‑3所示。



2‑3按钮控件设置
注意:该功能的实现是通过按钮控件的事件通知来执行函数的,对应要确保按钮的事件通知设置是打开的。该设置在工程属性里面,如图 2‑4所示。

2‑4开启通知

2.3.2  设置变量


密码登录功能的实现需要用到以下五个变量:账号,密码,账号核对,密码核对,对应的设置在“工具-协议与变量设置”。对应将里面的协议设置为启用,本例子的协议类型为modbus主机,相应显示如图2‑5所示。

 

2‑5变量设置


添加变量:选中“变量定义”,点击“+添加” 即可添加。首先设定账号变量,格式为“字符串”,变量类型为“内存变量”。密码变量可参考账号变量的设置,相应的设置如图2‑6所示。


 

2‑6账号变量设置


账号核对变量和密码核对变量设置相同,格式选择“字符串”,变量类型是“内存变量”,和前面不一样的是“默认字符串”需要设置,即设置账号或者密码的比对值,如图2‑7所示。


 


2‑7账号核对变量设置

注意:该功能检验是否登陆成功的标准是账号和密码的比对都是正确的,即一个账号对应一个密码,两者都要正确才可以;否则,不通过。

 

设置完变量之后,还要执行关联变量的操作,账号的文本控件关联账号变量,密码变量的操作同上,相应设置如2‑8所示。

2‑8关联变量


2.3.3 编写Minic脚本


本例子脚本实现的原理是:按下“确定”按钮之后,通过控件通知函数来对输入的账号以及密码进行比对。若正确的话,直接切换到主界面;否则,显示“密码错误,请重新输入!”。对应的脚本编写如图2‑9和图2‑10所示。


 

2‑9初始化函数

2‑10判断函数


2.4     运行效果

当界面搭建完成之后,可通过运行虚拟屏,模拟相应的程序效果。若密码正确,会切换到主界面,如2‑11所示;若密码错误,会显示错误提示,如2‑12所示。

2‑11密码正确效果

2‑12密码错误显示效果



3

Lua脚本的实现——获取控件数值比对

3.1     适用范围

本方法适用于F系列、物联型等支持Lua脚本的屏幕。 

3.2     实现原理


使用Lua脚本实现的方法相对于minic的比较简单,minic的是通过变量获取的密码,这个直接通过get_text(screen,control)和get_value(screen,control)就可以获取对应输入文本的值。其中,get_text(screen,control)返回的是字符串的值,get_value(screen,control)返回的是整型。最后,对应判断比对即可。

 

3.3     脚本编写

界面显示的设置保持minic脚本那样,即文本控件和按钮控件组合来实现。
打开“工具”-“Lua脚本”,对应的程序代码如图3‑1所示。


 

3‑1 Lua脚本代码

3.4     运行效果

       Lua脚本运行效果和minic的运行效果是一致的,对应可参考minic脚本的运行效果。



4

总结
本例子介绍了如何实现密码登陆的功能,并且对于minic脚本和Lua脚本进行了初步的介绍,从以上实现的例子来看,minic脚本主要对于modbus变量来操作的,即操作变量来实现需求,对应操作起来有点繁琐;Lua脚本的实现不局限于modbus变量,对应实现比较灵活,操作方便。

详情请见资料下载LUA教程开发文档下载:http://www.gz-dc.com/category/typeid/346#mainTop

欢迎联系我司销售咨询