- {{item.name}}
PLC 控制 HMI 用户的登录和注销
- 0
- 1761
1. 基本介绍
精简和精智等系列的传统面板可以通过作业信箱的23和24号作业实现PLC User用户的登录和注销的功能。借助这个功能,PLC可以控制HMI更改登录用户。Unified精智面板有没有类似的功能呢?答案是肯定的,TIA Protal V19 Upd2 以后的版本,增加了“设置本地用户”的系统函数,可以实现类似的功能。
注意:Unified 精简面板目前不支持该功能。
2. 组态方法
步骤1:检查组态的 Unified 精智面板的设备版本,需要使用19.0.0.2及以上的版本。
注意:需要软件版本为WinCC Unified V19 Update2 或更高且HMI设备的固件版本为 19.0.0.2 或更高才支持该功能。

步骤2:在用户列表中显示“别名”列。

步骤3:创建2个用户,分别是 admin 和 user 用户,然后将 admin 的用户角色分配为“HMI 管理员”,user 的用户角色分配为“HMI 操作员”。角色的作用是用来对权限进行分组。
HMI 管理员角色:用户管理、监视、操作等权限
HMI 操作员角色:监视、操作等权限


关于用户与角色的功能,请参考下边的教程:
WinCC Unified V20用户管理:
https://1847.siemens.com.cn/course/detail/1/1811475/7449
步骤4:添加 PLC 与 HMI 变量,作为 PLC 给 HMI 发送作业号的载体。这里用两个变量来举例,Int 类型变量“HMI_Job_Mailbox0”用来传递登录和注销指作业代码,WString 类型变量“HMI_Job_Mailbox1”用来传递用户的别名。

步骤5:画面上添加 IO 域对象,关联变量“HMI_Job_Mailbox0”。

步骤6:在步骤5中 IO 域的过程值更改事件中添加JS脚本。参考传统面板作业信箱功能中的定义,该代码工程师可以根据实际情况自定义。
HMI_Job_Mailbox0 作业号含义:
作业号23:登录变量“HMI_Job_Mailbo1”中指定的用户
作业号24:注销用户
- 编写 JS 脚本,如下图所示。需注意 JS 脚本是严格区分大小写的。

登录代码,举例参考:
let tagJob = Tags("HMI_Job_Mailbox0"); //读取作业号
let tagJobValue = tagJob.Read();
switch (tagJobValue) {
case 23: //登录
HMIRuntime.UI.UserManagement.SysFct.SetLocalUser(HMIRuntime.Tags.SysFct.CreateGetAndClearTagCommand("HMI_Job_Mailbox1"));
tagJob.Write(0);
break;
case 24: //注销
HMIRuntime.UI.SysFct.LogOff();
tagJob.Write(0);
break;
default: //未知作业号
tagJob.Write(0);
break;
}
注销代码,举例:
HMIRuntime.UI.SysFct.LogOff();
步骤7: PLC更改 HMI_Job_Mailbo1变量的数值时会触发 JavaScript 脚本的执行,然后通过脚本中的具体逻辑实现用户的登录和注销功能。其中登录用户的功能通过 HMIRuntime.UI.UserManagement.SysFct.SetLocalUser() 函数实现,注销用户的功能通过 HMIRuntime.UI.SysFct.LogOff() 实现。如图,变量"HMI".Job_Mailbox1 赋值“admin”,变量"HMI".Job_Mailbox0赋值数值23,HMI 的admin用户就会登录。

如图,"HMI".Job_Mailbox0 赋值数值 24,HMI 会注销登录的用户。工程师可以根据实际情况在 PLC 中编写逻辑控制 HMI 用户的注销与登录。

3. 调试注意事项
Unified 精智面板仿真或者 WinCC Unified PC 项目运行时使用该功能,需要在 WinCC Unified Configuration Manager 的设置中启用“激活使用RFID登录”(Activate login with RFID)选项。


- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错



西门子官方商城


{{item.nickName}}