wincc自定义登录与退出界面

20200410063040399.png
WinCC用户管理器的主要功能可以给不同的用户设置不同的密码和访问权限,以便对用户的登录和访问进行监控,从而达到拒绝没有授权的访问,保证系统安全。

在用户管理器中添加用户名和密码并进行授权.

20200410061723116.png

在图形编译器中新建启动登录界面(启动登陆.Pdl)和其他自己所需要的图形界面.

20200410062313380.png

进入启动登陆界面,插入2个输入/输出域,更改名为1,2。分别是用于“用户名”输入;“密码”输入;插入2个按钮登录;退出。

20200410063350891.png

用户名的输入输出域的输出值为内部变量:@CurrentUserName

找到相应界面窗口
20200410065206664.png
添加变量
20200410065332595.png

在用户名的输入输出域的事件属性->其他->对象更改 加入C脚本函数

1
2
3
4
5
#include "apdefap.h"
void OnObjectChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, char* value)
{
SetOutputValueChar(lpszPictureName,lpszObjectName,GetInputValueChar(lpszPictureName,lpszObjectName));
}

20200410064227543.png

按照上面做的 在密码输入输出域里加入同样的C脚本

在登录按钮的事件->按钮->鼠标按下 加入C脚本

注意按照自己的需要更改openpicture()的画面

1
2
3
4
5
6
7
8
9
10
11
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code ("UseAdmin.DLL")
#include "pwrt_api.h"
#pragma code ()
if (PWRTSilentLogin(GetInputValueChar(lpszPictureName,"1"),GetInputValueChar(lpszPictureName,"2")) == FALSE)
MessageBox (NULL, "错误,请重新输入!" , "提示", MB_ICONEXCLAMATION| MB_SYSTEMMODAL );// }
else
OpenPicture("你要进入的画面");
}

20200410065631708.png

退出按钮中加入退出wincc脚本可以了

1
2
3
4
5
6
7
8
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
long Ret = IDNO;
Ret = MessageBox(NULL, "您确实要退出 WinCC 运行系统么?", "请确认", MB_YESNO | MB_ICONQUESTION | MB_DEFBUTTON2 | MB_SYSTEMMODAL);
if (Ret == IDYES)
ExitWinCC (); //退出wincc
}

20200410070217481.png

完成

点击查看

本文标题:wincc自定义登录与退出界面

文章作者:574.xu

发布时间:2020年04月10日 - 19:15:14

最后更新:2020年04月10日 - 21:25:02

原始链接:https://www.codebai.top/posts/47a0fae9.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------
0%