广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7000|回复: 3

如何实现密码登陆功能

[复制链接]

86

主题

109

帖子

9280

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9280
发表于 2020-12-31 08:32:48 | 显示全部楼层 |阅读模式
1概述
本文主要阐述的是如何在串口屏中实现密码登陆的功能,即屏幕可以根据用户输入的密码进行密码比对,并且能根据密码的正确或者错误相应做出提示以及动作。实现该功能主要是Minic脚本和Lua脚本,下面会对这两个脚本进行相应介绍。
2Minic脚本的实现—对于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

欢迎联系我司销售咨询




销售与技术支持:(020)82186683-601
回复

使用道具 举报

0

主题

2

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2021-5-11 16:17:55 | 显示全部楼层
加个重置密码该怎么操作呢?
回复

使用道具 举报

0

主题

207

帖子

6873

积分

论坛元老

Rank: 8Rank: 8

积分
6873
发表于 2021-5-12 08:31:01 | 显示全部楼层
看懂上面的操作,基本逻辑语法后,根据自己的逻辑去编辑代码,例程仅是固定密码操作
VisualHMI 人机界面 & VisualTFT 串口屏
回复

使用道具 举报

1

主题

4

帖子

106

积分

注册会员

Rank: 2

积分
106
发表于 2023-6-1 11:35:56 | 显示全部楼层
我自己加了  管理员超级密码   普通用户密码修改
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2024-4-29 05:12 , Processed in 0.045466 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表