搬家第12天-Wincc V7.3 Web Nagivator初步使用5-登录授权
前面的博客介绍了在wincc中设定权限,使web客户端不能轻易操作控件。但有时候我们也希望个别用户在web客户端可以通过登录来获得操作控件的权限而不需要到中控室来。我们就必须让web客户端也可以登录用户。假设有一个wincc项目已经像上一篇博客描述的那样建立了两个web用户,其中一个Guest用户具有“过程控制”的权限,画面上部分按钮操作需要“过程控制”的权限。
开始的设想是在画面上新建一个按钮用户用户登录,按钮的鼠标点击事件中插入以下c脚本:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
#pragma code("USEADMIN.DLL")
#include "PWRT_API.H"
#pragma code()
PWRTLogin('1');
}
然后重新发布一下web项目,然后从浏览器登录WebGuest用户,这时无法操作控件,点击登陆按钮输入账户密码(Guest用户)登录然后操作控件。可是实际运行时提示PWRTLogin('1')函数在webNavigator中不支持。
反复尝试几次后,在wincc中加入一个注销按钮,把前面c脚本的PWRTLogin('1')修改成PWRTLogout(),保存项目重新运行项目,重新发布web项目,再次从浏览器登录WebGuest用户,这时无法操作控件,点击注销按钮,会自动提示登录,使用Guest账户登录就可以操作那些控件了。操作结束后,可以再次注销然后使用WebGuest登录。