四、任务实施
在任务实施阶段,要实现任务分析中提出的功能需求,主要功能需求有:屏蔽菜单和键盘功能键、创建4级权限用户和创建用户管理窗口,下面逐一来实施。
1.屏蔽菜单和键盘功能键
在任务分析中得知要保证系统的可靠安全运行,需要屏蔽一些菜单命令和键盘功能键,下面分别就实现方式进行说明。
屏蔽的操作主要通过“系统参数设置”对话框来完成。通过选择导航栏中的“系统配置信息→系统配置→运行系统参数”来调出该“系统参数设置”对话框,如图2-8-2所示。
在该对话框中有“参数设置”和“系统设置”两个选项卡,我们选择“系统设置”选项卡,分别勾选“禁止菜单(文件/关闭)”“禁止退出”“右键菜单(进入组态)”“禁止Alt及右键”“禁止Ctrl^Alt^Del”和“禁止Ctrl^EscAlt^Tab”即可以实现避免通过键盘功能键意外或非法地关闭系统。
图2-8-2 “系统参数设置”对话框
2.创建4级权限用户
我们需要创建操作工、班长、工程师和系统管理员各一个,同时对用户添加和液位报警参数(HH、HI、LO、LL)修改进行限制。要求只有工程师和管理员能对液位报警参数进行修改。如表2-8-1所示是系统中4个级别权限用户的对照表。
表2-8-1 权限用户的对照表
(续)
力控中4个级别的权限用户都可以对设备进行操作,并修改运行参数。若要对其中的某一个级别的设备操作和修改运行参数功能进行限制,可以打开“变量管理”对话框,如图2-8-3所示,在“变量管理”对话框中,双击要进行权限限制变量的“级别”,即可弹出“修改变量”对话框,如图2-8-4所示,在安全级别中可以选择“操作工级”“班长级”“工程师级”和“系统管理员级”,若选择了高一级的权限,则低于该权限的用户无法操作该变量。
图2-8-3 “变量管理”对话框
(1)创建用户
我们分别为系统创建操作工(zhang)、班长(wang)、工程师(li)和系统管理员(zhao)各一名。选择开发系统Draw菜单命令“功能→用户管理”或“配置”导航栏中“用户配置→用户管理”,弹出“用户管理”对话框,如图2-8-5所示,在该对话框中可以完成用户的添加操作,我们以添加系统管理员“zhao”为例。步骤如下。
1)输入用户名。
在“用户信息修改”选项卡的“用户名”中输入用户的名称“zhao”。
图2-8-4 “修改变量”对话框
2)选择级别。
选择级别为“系统管理员级”。
3)输入口令。
然后输入口令和核实口令,两者必须一致。登录的密码要牢记。
4)选择可以操纵的安全区。
选择用户“zhao”可以操纵的安全区。
5)选择系统权限。
选择用户“zhao”的系统权限,这里为系统管理员勾选“进入组态”“进入运行”和“退出运行”的权限。
6)添加和保存。
单击“添加”按钮则用户列表系统管理员级下面出现新添加的用户“zhao”。最后单击“保存”按钮则用户添加成功。
图2-8-5 用户管理
其他3个用户的添加过程与用户“zhao”的添加过程类似,全部添加完毕后如图2-8-5的用户列表中所示。
(2)限制变量操作权限
由于系统要求只有工程师和系统管理员能对液位报警参数进行修改。因此,这里我们需要对水箱的液位报警参数对应的变量的安全级别调整为工程师,这样只有用户的级别为工程师或者高于工程师(系统管理员)才能对报警参数进行修改。以其中的一个参数为例进行说明。打开“变量管理”对话框(见图2-8-3),在“变量管理”对话框中,选中“mid_tank_level.HI”,双击要进行权限限制变量的“级别”,弹出“修改变量”对话框(见图2-8-4),在“安全级别”中可以选择“操作工级”“班长级”、“工程师级”和“系统管理员级”若选择工程师,然后单击“保存”和“确定”即可。此时我们以操作工的身份运行系统,当要再次修改中区水箱的高报警值时则无法操作,弹出“访问级别不够,现在登录吗?”的对话框。其他水箱的液位报警参数的操作权限与此相同,逐一修改即可。
3.创建用户管理窗口
为了便于用户管理,我们创建一个用户管理窗口,如图2-8-6所示,在该窗口中可以进行用户登录、退出,修改密码,添加删除用户,显示当前登录用户和级别等操作。
图2-8-6 用户管理组态画面
在图2-8-6所示的信息显示框中,双击“当前用户”后的“#####”,在弹出的动画连接中,勾选数值输出中的“字符串”,在弹出的“字符输出”对话框的表达式中填写“UserName”。与此类似,我们为用户级别后的“#####”添加“模拟”动画连接,在弹出的“模拟值输出”对话框的表达式中填写“
UserLevel”即可。
接下来分别为“用户登录”“退出登录”“修改密码”和“添加删除用户”4个按钮分别添加左键动作:“Login();”“Logout();”“UserPass();”“UserMan()”。
运行之后即可看到当前登录的用户和级别,单击对应按钮就会弹出对应的对话框实现用户的管理。
需要注意的是添加和删除用户时,只有高一级权限的用户才能对低于该权限的用户进行添加和删除。比如工程师可以添加和删除班长和操作工,但班长和操作工却不能添加和删除工程师和系统管理员。