wincc里设置了二个权限1,2.同时建立了三个用户1,2,3. 用户1拥有权限1,用户2拥有权限2,用户3拥有权限1和2.
做一幅画面含二个Button1,2.
问题来了,用户1登陆后只可见Button1;用户2登陆后只可见Button2,用户3登陆后Button1和Button2均可见.
哪位高手能做出来?
问题补充:
sail0521,,谢谢你,我试不通啊,而且我不知道strcmp是什么意思,WinCC帮助里那些c_bib库里的函数都没有解释的,能告诉我哪里有这些解释的文档吗,或者说这样的文档叫什么名字。
最佳答案
你可以在用户管理器给每个用户不同的权限,使他们对按钮有不同的操作权,这是最简便的。但是如果一定要根据用户不同显示不同的按钮就要用C脚本了
下面这段代码可以加在有两个按钮的画面的对象属性--事件--画面对象--其他--打开画面,三个用户名是user1,user2,user3,按钮名称是Button1 ,Button2,你可以自行修改,这里假设已经进行过用户登录的操作,当打开有这两个按钮的画面时执行下列脚本判断用户并显示相应的按钮
if (strcmp(GetTagChar("@CurrentUser"),"user1") )
{}
else
{SetVisible(lpszPictureName,"Button1",TRUE);
SetVisible(lpszPictureName,"Button2",FALSE);}
if(strcmp(GetTagChar("@CurrentUser"),"user2") )
{}
else
{SetVisible(lpszPictureName,"Button1",FALSE);
SetVisible(lpszPictureName,"Button2",TRUE);}
if (strcmp(GetTagChar("@CurrentUser"),"user3") )
{}
else
{SetVisible(lpszPictureName,"Button1",TRUE);
SetVisible(lpszPictureName,"Button2",TRUE);}
已经调试过了,你可以试试看效果
strcmp是比较字符串的语句,比较文本变量只能用它,帮助里没有的,用它比较读取到的用户名GetTagChar("@CurrentUser")和三个用户名"userX",你把这段语句加到一个按钮的鼠标动作里,看点击按钮会不会两个按钮现实和隐藏,应该没问题的,我试过了
提问者对于答案的评价:
sail0521,,谢谢你,我试不通啊,而且我不知道strcmp是什么意思,WinCC帮助里那些c_bib库里的函数都没有解释的,能告诉我哪里有这些解释的文档吗,或者说这样的文档叫什么名字。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277152.html