威纶通官方论坛

用户密码修改的宏指令(技术交流)

[复制链接]
发表于 2012-8-11 21:15:29 | 显示全部楼层 |阅读模式
本帖最后由 jld5256 于 2012-8-14 15:16 编辑

今天下午将这个帖子发在了技术区,发错地方了 ,现在再在宏指令区发一遍。这个属于宏指令,呵呵

刚写的程序,发给新手看,参考;发给高手看,指点。刚开始有点茫然,写完后感觉没什么了,本不想传上来,太简单了。但我刚开始写时也不懂,所以简单也传上来了,供新手参考!
注释:
1、LW5&LW6是第一次输入的密码
       LW7&LW8是第二次输入的密码
2、这段宏指令,按下确认按钮时执行
3、确认按钮按下后打开一个直接窗口,用来提示密码修改成功或失败
4、LB9用来指示两次密码输入的是否相同
5、LB9061用来启用新密码(这一步把我害的不轻。。。)
6、密码输入元件启用通知,将LB9关闭


@@@兰州理工大学@@@
macro_command main()

int passwordA , passwordB
bool a=1
GetData(passwordA , "Local HMI", LW, 5, 1)
GetData(passwordB , "Local HMI", LW, 7, 1)

if passwordA==passwordB then
SetData(passwordA , "Local HMI", LW, 9500, 1)  
SetData(a , "Local HMI", LB, 9061, 1)
else
SetData(a , "Local HMI", LB, 9, 1)  
end if


end macro_command

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

1

查看全部评分

发表于 2012-10-9 11:59:59 | 显示全部楼层
希望大家都可以积极发布。
发表于 2013-7-16 14:22:15 | 显示全部楼层
谢谢楼主分享,辛苦了!!
发表于 2013-7-21 10:54:17 | 显示全部楼层
发表于 2013-8-21 17:32:09 | 显示全部楼层
不错,学习了。新人报道
发表于 2013-9-2 10:23:15 | 显示全部楼层
学习了,楼主顶一个
发表于 2013-9-4 14:44:48 | 显示全部楼层
学习了,谢谢了
发表于 2013-9-29 20:51:26 | 显示全部楼层
新人学习了
发表于 2013-10-5 12:28:13 | 显示全部楼层
我写的密码修改宏指令:


数值输入LW21并通知LB14,与多状态指示LW20叠合。
LB15选择用户1或用户2;
LB9054是密码变更禁允。

macro_command main()  //【UPdataPswd】


unsigned short  stepNum

unsigned int  PSWD, xxIn

bool  ON = true, OFF = false

bool  xPWEN, PswSel



GetData(PswSel,  "Local HMI", LB, 15, 1)

GetData(xxIn,    "Local HMI", LW, 21, 1)

GetData(stepNum, "Local HMI", LW, 20, 1)
//
GetData(xPWEN,   "Local HMI", LB, 9054, 1)
//
SetData(OFF,     "Local HMI", LB, 9054, 1)


if  stepNum == 0 then



SetData(xxIn,    "Local HMI", LW, 25, 1)

stepNum = 1



else if  stepNum == 1 then



GetData(PSWD, "Local HMI", LW, 25, 1)

if  xxIn == PSWD  then

SetData(ON,   "Local HMI", LB, 9061, 1)

if not(PswSel) then

SetData(PSWD, "Local HMI", LW, 9500, 1)

else

SetData(PSWD, "Local HMI", LW, 9502, 1)

end if

stepNum = 2

else

stepNum = 3

end if



end if


//
xxIn = 0  确认密码已写入指定单元

if not(PswSel) then

GetData(xxIn, "Local HMI", LW, 9500, 1)

else

GetData(xxIn, "Local HMI", LW, 9502, 1)

end if

if  (stepNum == 2) and (xxIn <> PSWD)  then

stepNum = 3

end if



SetData(stepNum, "Local HMI", LW, 20, 1)

SetData(xxIn,    "Local HMI", LW, 21, 1)



SetData(OFF,     "Local HMI", LB, 14,   1)
//
SetData(xPWEN,   "Local HMI", LB, 9054, 1)

SetData(OFF,     "Local HMI", LB, 9061, 1)



if  stepNum >= 2  then

DELAY(2100)

stepNum = 0

SetData(stepNum, "Local HMI", LW, 20, 1)

end if

end macro_command

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-5-7 14:34

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

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