说明:
WinCC 用户管理没有提供任何默认的功能可以用来通过密码查询来验证当前登录的用户。WinCC 提供触发和执行登录过程的函数。然而,这是意味着即使使用当前用户重新登录这也将被认为是一个全新的登录事件。登录通常链接到画面的切换( 调用启动画面) 和关闭所有的面板。n
目标:
通常,在执行切换动作之前,会有一个附加的密码查询需求来检测当前用户的登录情况。这样就不用重新登录。验证用户登录成功后才执行切换动作,同时这个操作动作被记录为一条操作员输入信息。这样可以防止非法操作,例如:当前用户在未从系统注销的情况下超过规定的时间未作任何操作。n
解决方案:
SIMATIC Logon 选件允许在运行状态验证用户。本条目描述的处理过程适用于 SIMATIC Logon V1.3 和更高版本软件。因为从 SIMATIC Logon 的这个版本开始支持 “SIMATIC Logon Development Kit”。相关的信息参考:n
- 手册“SIMATIC Logon SIMATIC Electronic Signature” – 条目号: 34519648。n
- 手册“SIMATIC Logon Programming Guide” (安装完软件后可以在以下路径找到:“…SimaticLogondevelopmentkit”)。
注意:
条目号24458070 描述的是 SIMATIC Logon up to and including V1.22 的处理过程。n
使用 “ISLSScripting” 接口“SIMATIC Logon Development Kit””允许运行时使用 VBScript 验证用户。本条目提供的 VBScript脚本 (函数 “SL_VerifyUser”) 是通过“SIMATIC Logon Development Kits” 的 “GetLogon”和 “AuthenticateUser”方法在运行状态来验证用户登录的。n
用法说明:
下表列出了必要函数的设置要求。
No. | 过程 |
1 | 打开 Windows “计算机管理” ( 右击 “我的电脑”然后点击“管理” ) 然后点击“系统工具” > “本地用户和组”。 |
2 | 如果必要,那么在“用户”和“组”文件夹中创建一个新用户隶属于新组,然后关闭“计算机管理”。 |
3 | 在WinCC 中,打开“用户管理器”并在此创建和 Windows 系统中同样的用户名和同样的组名。 |
4 | 分配用户权限并检查“SIMATIC Logon” 的复选框。 |
5 |
打开全局脚本 VBS editor,创建一个新的项目模块并从 SL_VerifyUser.txt( 包含在 SL_VerifyUser.zip 中)保存脚本 |
6 | 在需要操作动作前调用“SL_VerifyUser” 函数并检查返回值是否为 “true” ( 当前用户 )或者 “false” ( 别的用户或者登录对话中断 )。 在验证用户成功后触发操作员动作和任何操作员输入。可以通过按钮的点击事件验证用户。n If SL_VerifyUser = TRUE Then 注意:
|
SL_VerifyUser.zip ( 3 KB ) n
功能:
下表列出了该脚本的结构和功能。
No. | 描述 |
1 | 声明与初始化 在脚本的开始部分定义了常量,并且声明和初始化使用到的标签名。为了能够在运行时使用 WinCC VBScript 脚本访问 SIMATIC Logon 接口,COM 接口必须通过调用“CreateObject” 来初始化。 |
2 | 验证当前登录用户 n
注意:
|
3 | 释放资源并且关闭函数 在这部分,用到的资源会被再次释放并且关闭函数。成功执行验证用户后,“SL_VerifyUser” 函数返回值是 TRUE,否则返回值是 FALSE。 |
版本:
这些程序是使用以下版本软件做的测试。
组件 | 产品和名称 |
PC operating system | Microsoft Server 2003 SP2 |
Standard tools | — |
HMI software | WinCC 7.0 |
Options | SIMATIC Logon 1.4 SP1 |
Controllers | — |
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc334376.html