我有两台电脑两地控制,一台装RC版本,一台装RT版本,做的画面程序是一样的,下位机为同一个400的plc,为了避免两地的操作冲突,我打算通过用户权限来实现,当RC版本的电脑1#用户登陆时,我把当前用户名读出来,当当前用户名==1#时,我禁止RT版本电脑的2#用户登陆,反之2#登录时同样做不让1#登陆,请求高手给予指导,最好是能把做的C脚本代码贴出
最佳答案
需要做两个外部变量来互相读取用户是否登录了,比如:Tag_char1 和Tag_char2 为外部变量,数据类型为 文本变量 16位字符集 。
在1#机器(假设用户名为 AAAAAA)上判断2#用户(假设用户名为 BBBBBB)是否登陆了,若2#机器登陆了1#用户就不让登陆。新建一个全局的C动作,该动作的触发器中调进三个变量@CurrentUser ,Tag_char1 和 Tag_char2 ,标准周期都设为:有变化时。
{
#pragma option(mbcs)
#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()
SetTagChar("Tag_char1",GetTagChar("@CurrentUser"));
if(strcmp(GetTagChar("Tag_char2"),"BBBBBB")==0)
{
PWRTLogout();
}
return 0;
}
2#机器也是同样道理。
{
#pragma option(mbcs)
#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()
SetTagChar("Tag_char2",GetTagChar("@CurrentUser"));
if(strcmp(GetTagChar("Tag_char1"),"AAAAAA")==0)
{
PWRTLogout();
}
return 0;
}
提问者对于答案的评价:
呵呵,谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc268324.html