当前位置: 首页 > news >正文

MCGS学习——用户管理

用户管理介绍

  • 用户管理主要是为了实现触摸屏的安全操作,工业过程控制中,应该尽量避免由于人为的误操作所引发的故障或事故,而某些失误带来的后果是致命的;
  • 通过用户管理严格限制各类操作的权限,使不具备操作资格的人员无法进行操作,从而避免了现场操作的任意性和无序状态,防止因误操作干扰系统的正常运行,甚至导致系统的瘫痪,造成不必要的损失
  • 实际应用中,当需要进行操作权限控制时,一般都在用户窗口中增加四个按钮:登录用户、退出登录、修改密码、用户管理,在每个按钮属性窗口的脚本程序属性页中分别输入四个函数:!LogOff()、!LogOff()、!CHangePassword()、!Editusers(),这样,运行时就可以通过这些按钮来进行登录等工作
  • 效果图如下:
    在这里插入图片描述

进入MCGS组态环境界面

用户权限管理介绍

  • 新建工程——》添加组态设备——》在工具栏中找到用户权限管理
    在这里插入图片描述
    在这里插入图片描述
  • 用户管理器由两大块组成:用户名和用户组名
  • 用户组名:例如:管理员组可以打开所有界面;操作员组只能打开自动界面;维护组只能打开报警界面,这三个组被用户组名所涵盖
  • 用户名:例如现在有一个新上任的管理员组负责人,那么我把这个人添加到管理组,这个就是用户名的含义
  • 设置步骤:先确定用户组名,再确定用户名
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 我们上一步添加了操作员组,我们这一步开始添加操作人员
    在这里插入图片描述
  • 注意:负责人是删除不了的,也是默认有的,但是它默认没有密码,如果我们想给负责人设置密码,我们点击负责人,点击属性
    在这里插入图片描述
    在这里插入图片描述

对用户权限管理进行实操

进行权限分配
  • 我们现在分配了用户名、分配了用户组,那么我们要怎么才能在组态里体现出不同组、不同人员的权限呢?
  • 为了看到效果,我们在用户窗口里新增窗口
    在这里插入图片描述
  • 绘制三个按钮,分别是打开手动界面、打开自动界面、打开故障信息
    在这里插入图片描述
  • 点击按钮中的权限
    在这里插入图片描述
  • 因为我们现在的目的是打开手动界面,手动界面只能管理员组和操作组才能打开,所以我们在权限里面给操作组打上√
    在这里插入图片描述
  • 那么,怎么样让管理组也能打开手动界面呢?
  • 我们回到用户权限管理,点击管理组的属性,让管理组隶属于管理组、操作组、维护组,这样管理组就能打开所有的界面了
    在这里插入图片描述
    在这里插入图片描述
绘制登录按钮
  • 我们在用户管理界面绘制用户登录和退出按钮
  • 在这里插入图片描述
  • 为了让按钮按下的时候进行用户登录,我们在登录按钮的操作操作属性中,找到“”脚本程序“”,“”按下脚本“”,因为是按下的时候才进行登录,所以是在“按下脚本”里编写程序,然后打开脚本程序编译器,在脚本程序编译器里的系统函数,用户登录操作,找到LogOn(),双击这个函数添加到脚本程序,最后确定。退出按钮同理。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 接下来,只有一个登录和退出按钮是不行的,我们得知道是谁登陆,是管理员登录还是操作员登录或者维修人员登录,因此我们要绘制一个用户名显示界面
    在这里插入图片描述
  • 紧接着,在主控窗口里选择进入登录,退出不登录
    在这里插入图片描述
  • 最后,我们要在主界面进行用户登录,因此,要在主界面绘制一个用户登录按钮,用户登录按钮跳转到用户管理界面,我们是在用户管理界面进行登录
    在这里插入图片描述
  • 这个时候,我们下载运行,看看效果
    在这里插入图片描述
    Tip:这里是可以选择你是哪个组的,选择对应组进入界面之后,就只能打开相对应的界面,如果你想重新登陆的话,就要在用户管理界面中重新登陆即可
    在这里插入图片描述

扩展知识

  • 我们既然可以用按钮的权限来进行画面切换,那么也可以用按钮的权限来控制点击,比如我们现在让电机有一个急停停止的按钮,这个按钮只能让操作员去使用,那么就可以在按钮中的权限进行设置
  • 此外,对于用户管理这个按钮,他的脚本程序已经写好了,只有负责人才能去进行按钮,不是负责人的话点不了用户管理

相关文章:

  • XUbuntu22.04之安装Plantuml(二百二十三)
  • Camera入门基础知识
  • UGUI源码分析与研究2-从底层实现的角度去分析和调优UI的性能问题和疑难杂症
  • 加载三维模型,加载时黑的?
  • 前端视角如何理解“时间复杂度O(n)”
  • 【算法】小强爱数学(迭代公式+数论取模)
  • Unity学习笔记 6.2D换帧动画
  • Java后端八股----JVM篇
  • RuoYi-Vue-Plus(基础知识点jackson、mybatisplus、redis)
  • 十.pandas方法总结Numpy
  • 数据结构——双向链表(C语言版)
  • 20.Python从入门到精通—参数 位置参数 关键字参数 默认参数 匿名函数 return 语句 强制位置参数
  • 20240318-2-推荐算法Graph_Embedding
  • C++ 的标准模板库(STL)常用算法介绍
  • 微信小程序事件处理
  • 【面试系列】之二:关于js原型
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • canvas 高仿 Apple Watch 表盘
  • flutter的key在widget list的作用以及必要性
  • Mysql数据库的条件查询语句
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Vue2 SSR 的优化之旅
  • 汉诺塔算法
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端相关框架总和
  • 前端学习笔记之观察者模式
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 我这样减少了26.5M Java内存!
  • 延迟脚本的方式
  • 智能合约Solidity教程-事件和日志(一)
  • hi-nginx-1.3.4编译安装
  • #Java第九次作业--输入输出流和文件操作
  • (12)Linux 常见的三种进程状态
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (顺序)容器的好伴侣 --- 容器适配器
  • (小白学Java)Java简介和基本配置
  • *1 计算机基础和操作系统基础及几大协议
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .Net Winform开发笔记(一)
  • .NET 表达式计算:Expression Evaluator
  • /proc/vmstat 详解
  • [ linux ] linux 命令英文全称及解释
  • [ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2019-6116
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [<MySQL优化总结>]
  • [autojs]autojs开关按钮的简单使用
  • [BJDCTF 2020]easy_md5
  • [c++] 自写 MyString 类
  • [IE9] 解决了傲游、搜狗浏览器在IE9下网页截图的问题