我用宏指令编写了一段修改用户密码的程序,请见如下。目的是检测当前用户的编号,修改密码时也相应地修改对应的密码,但是模拟时只能第一次修改成功,后面再修改就不行,请帮忙看看是哪里出了问题?谢谢!
macro_command main()
int password,PSW_Address,OldPSW,NewPSW,SndPSW
int UserNO
bool on=true,off=false
GetData(UserNo, "Local HMI", LW, 9219, 1) //获取当前用户编号
GetData(NewPSW, "Local HMI", LW, 102, 1)//输入新密码
GetData(SndPSW, "Local HMI", LW, 104, 1)//再次确认输入新密码
if NewPSW==SndPSW then //如果两次密码相同
PSW_Address= 9500 + 2*(userNo -1) //换算成对应的密码地址,950X
SetData(SndPSW, "Local HMI", LW, PSW_Address,1) //写入新密码
SetData(on, "Local HMI", LB, 9061,1) //更新密码
DELAY(100) //延时
else
SetData(on, "Local HMI", LB, 14, 1) //如果两次密码不同,弹出提示窗口
end if
end macro_command |