webaccess对写值的权限管理
目标:1. 不允许未登录用户修改点的值;
2. 并且仅在登录用户的安全权限大于或等于被操作点的安全等级时,才允许改值。
步骤:
1.规划工程,确定每个点的安全区域和安全等级
2.建立操作员,并根据权限赋予操作员安全等级,操作员可以修改某一安全区域中所有等级不大于自己等级的点的值
3.添加一个文本类型常数点,点名称为CVTN,长度为22,初始值为空字符串
4.绘制监控图形,注意动画的“能拾取的”属性不要勾选
5.图形上用户希望改值的地方,画一个隐藏的按钮,按钮向上的宏指令为<SETVAL>CVTN=ConAna001</SETVAL><SCREXEC>@ChgValue.scr,其中ConAna001是需要改值的点的名称
6.复制脚本文件 ChgValue.scr 和宏指令文件 TagValChg.mcr 到 Node\config\工程目录\bgr 路径中
7.下载并运行监控节点
ChgValue.scr
catch {
set un [string trim [GETVAL %TUSERNAME] " "]
if {0 != [string compare "" $un]} then {
set CVTN [GETVAL CVTN]
if {0 != [string compare "" $CVTN]} then {
set ta [GETVAL $CVTN.SECA]
set tl [GETVAL $CVTN.SECL]
set ul [GETVAL %AUSERLEVEL($ta)]
if { $ul >= $tl } then {
MCREXEC TagValChg.mcr
#LOGACT "$CVTN changed by $un"
} else {
#弹出dsp提示:没有权限
}
}
}
}
TagValChg.mcr
<DIALOG>TAGVALCHG=@CVTN
楼主最近还看过