OPC UA 学习笔记 Event,Condition和Alarm

2023-10-30

        告警和事件在自动控制领域十分重要,它是保障系统安全运营的主要措施。OPC UA 设立了专门的一部分来规范告警和条件模型

《OPC 10000-9: UA Part 9: Alarms and Conditions》。

    事件,条件和告警是OPCUA 信息模型中相对比较复杂的内容。应该根据应用的具体需求精心选取和实现。

基本概念

事件,条件和告警都是表示了系统或者某一个组件的状态变化,例如:

  • 温度超出了范围
  • 设备需要维护
  • 在过程控制的某一步需要用户确认。
  • 事件,条件和Alarm 的相互关系 

  • ventType是ConditionType的父类
  • ConditionType是AlarmType的父类
  • Event最为泛化,主要是定义了事件的基本属性
  • Condition则拥有状态
  • Alarm则拥有更多可被设置的状态

基本事件类型

在OPCUA 中,最基本的告警信息是事件。它是一个对象节点,包含了子类型和属性:

一些重要的属性

Time(事件发生的时间)

Severity(严重程度)

  表示事件的严重程度,范围从1 到1 000 ,1 表示最低,1000 最高。在具体的应用中需要具体地定义每个事件的Severity值。

Message(通知消息)

SourceName(谁发出的消息,即事件源的名字) 

条件(Condition)

    条件是一个对象类型。是基本事件类型派生出来的,包含了BaseEventType属性,并且扩展了一些属性:

条件的特点是增加了名称·,状态以及方法:

EnableState

Disable方法

允许关闭该条件,不会向客户端发送。

Enable 方法

允许该条件。

      Enable和disable 的状态切换可以通过Disable 和Enable 方法实现切换,也可以通过Server 端的应用程序来切换。

一些重要的属性

Quality  -是产生该条件的过程值和资源的状态,例如,如果过程值为“不确定”,则相关的“液位报警”条件也值得怀疑。质量值可以是 OPC 10000-8 中定义的任何 OPC状态代码,也可以是 OPC 10000-4 中定义的良好,不确定和不良好。这些代码状态各种现场总线规范中的数据质量描述相似,但略微通用。

条件类型进一步派生出告警类型,它们的分层关系如下:

响应式条件(Acknowledgeable)

    这是一种可实例化的条件类型。能够实例化。而Condition Type是abstract type 它为派生类提供一些有用的功能。但是不能实例化。

响应式条件增加了两个状态:

AckedState 响应状态

响应状态是客户端通过某种逻辑发送给服务器端,也可以当条件成立的现象消逝时,自动的产生(有服务器端处理)。

ConfirmedState 确认状态(可选项)

     确认状态与响应状态有些区别,确认状态是操作员做了一些处理之后,进入确认状态。例如,马达温度高条件出现,操作员可以直接响应。如果采取某些措施之后,例如降低电机的负载,已降低温度,然后发送确认状态。

告警(Alarm)

告警是在响应式条件类型基础上派生出来的。

相比之下,告警条件多了一些属性,状态和方法:

  • 搁置状态 shelving state 
  • 寂寞状态Silence state
  • 停止服务状态 outOfService
  • 抑制状态 suppressed 

上面这些状态,属性和方法有些是可选项。

告警条件(Alarm Condition)

  • 有限告警条件(LimitAlarm)
  • 离散告警条件
    • OffNormalAlarm  不正常条件
  • 差异告警条件(DiscrepancyAlarm Condition)

常用的条件类

  • 响应式条件
  • 有限告警条件
  • 不正常告警条件

事件,条件和Alarm 的触发

        修改Severity的值将会触发事件,条件和告警。但是具体实现是还需要修改一些属性。下面是一个简单的触发程序:

结束语

        在SCADA 和历史数据库中,都具有告警的管理(Alarm/Event Management)。专门有Alarm Viewer,告警的分类,历史存储等组件。OPCUA 的告警的信息模型要根据具体的应用来裁剪,选取和构建。不一定千篇一律。可以灵活应用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OPC UA 学习笔记 Event,Condition和Alarm 的相关文章

  • 生命在于磨炼——连续两年参加4C大赛心得

    一 4C大赛简介 1 大赛简介 中国大学生计算机设计大赛 下面简称 大赛 是由教育部高等学校计算机类专业教学指导委员会 教育部高等学校软件工程专业教学指导委员会 教育部高等学校大学计算机课程教学指导委员会 教育部高等学校文科计算机基础教学指
  • 操作系统笔记五(Linux存储管理)

    1 Buddy内存管理算法 内部碎片就是已经被分配出去 能明确指出属于哪个进程 却不能被利用的内存空间 外部碎片指的是还没有被分配出去 不属于任何进程 但由于太小了无法分配给申请内存空间的新进程的内存空闲区域 目的 努力让内存分配与相邻内存
  • Task2_MySQL_basic

    MySQL表数据类型 用SQL语句创建表 创建MySQL数据表需要以下信息 表名 表字段名 定义每个表字段 语句解释 设定列类型 大小 约束 设定主键 用SQL语句向表中添加数据 语句解释 多种添加方式 指定列名 不指定列名 用SQL语句删
  • Ubuntu16.04下搭建LAMP环境

    Ubuntu16 04下搭建LAMP环境 Ubuntu16 04下搭建LAMP环境 1 安装 Apache2 2 重启 apache2 3 测试apache2是否安装成功 4 安装php7 5 测试php是否安装成功 6 安装mysql数据

随机推荐

  • 序列化与反序列化之Flatbuffers(一):初步使用

    序列化与反序列化之Flatbuffers 一 初步使用 一 前言 在MNN中 一个训练好的静态模型是经过Flatbuffers序列化之后保存在硬盘中的 这带来两个问题 1 为什么模型信息要序列化不能直接保存 2 其他框架如caffe和onn
  • 深度学习在目标视觉检测中的应用进展与展望

    前言 文章综述了深度学习在目标视觉检测中的应用进展与展望 首先对目标视觉检测的基本流程进行总结 并介绍了目标视觉检测研究常用的公共数据集 然后重点介绍了目前发展迅猛的深度学习方法在目标视觉检测中的最新应用进展 最后讨论了深度学习方法应用于目
  • ORAN专题系列-0: O-RAN快速索引

    专题一 O RAN的快速概述 ORAN专题系列 1 什么是开放无线接入网O RAN ORAN专题系列 1 什么是开放无线接入网O RAN 文火冰糖的硅基工坊的博客 CSDN博客 什么是oran ORAN专题系列 2 O RAN的系统架构 O
  • C和C++安全编码笔记:动态内存管理

    4 1 C内存管理 C标准内存管理函数 1 malloc size t size 分配size个字节 并返回一个指向分配的内存的指针 分配的内存未被初始化为一个已知值 2 aligned alloc size t alignment siz
  • Spring Aop自定义注解用在Controller层

    前提项目用的框架是SpringMVC 切面类 Aspect Component 把这个注掉是为了不让Spring中扫描 应该让SpringMVC扫描 public class SysLogAop Pointcut annotation co
  • 图像识别毕业设计 opencv实现植物识别算法系统 - python 深度学习

    文章目录 0 前言 2 相关技术 2 1 VGG Net模型 2 2 VGG Net在植物识别的优势 1 卷积核 池化核大小固定 2 特征提取更全面 3 网络训练误差收敛速度较快 3 VGG Net的搭建 3 1 Tornado简介 1 优
  • Maven项目的jdk版本修改

    Maven项目的jdk版本修改 修改的办法有以下三种 一 选择项目 gt 右键 gt build path Configure build path 选择旧的jre 1 5 gt remove删除 gt add Library 添加新的jr
  • Activity 工作流引擎

    Activiti工作流引擎使用详解 http blog csdn net m0 37327416 article details 71743368 Activity用户手册 http www mossle com docs activiti
  • SpringBoot笔记:SpringBoot 集成 Dataway(一)

    文章目录 1 什么是 Dataway 2 主打场景 3 技术架构 4 整合SpringBoot 4 1 maven 依赖 4 2 初始化脚本 4 3 整合 SpringBoot 5 Dataway 接口管理 6 Mybatis 语法支持 7
  • Kafka3.0.0版本——文件清理策略

    目录 一 文件清理策略 1 1 文件清理策略的概述 1 2 文件清理策略的官方文档 1 3 日志超过了设置的时间如何处理 1 3 1 delete日志删除 将过期数据删除 1 3 2 compact日志压缩 一 文件清理策略 1 1 文件清
  • 【Pytorch】利用Pytorch+GRU实现情感分类(附源码)

    在这个实验中 数据的预处理过程以及网络的初始化及模型的训练等过程同前文 利用Pytorch LSTM实现中文新闻分类 具体这里就不再重复解释了 如果有读者在对数据集的预处理过程中有疑问 请参考我的其他博客 里面对这些方法均有我的一些个人体会
  • 稀缺原理

    不管是什么东西 只要你晓得会失去它 自然就会爱上它了 稀缺原理 机会越少见 价值似乎就越高 对失去某种东西的恐惧似乎比对获得同一物品的渴望 更能激发人们的行动力 稀缺原理的力量来源 1 基本可以根据获得一样东西的难易程度 迅速 准确的判断它
  • plsql developer 终极注册码

    product code 4v6hkjs66vc944tp74p3e7t4gs6duq4m4szbf3t38wq2 serial number 1412970386 password xs374ca 手机扫一扫 欢迎关注公众号 关注程序员成
  • python:从键盘输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,则不转换。然后输出最后得到的字符。

    letter str input 请输入一个字母 if letter lt Z 凡是小于大写Z的都要转换成小写 print 转换小写字母为 letter lower lower 方法可以把大写转换成小写 else print 转换大写字母为
  • 网络协程编程

    一 背景 为什么需要网络协程 1 协程 纤程并不是一个新概念2 大并发 高性能对于服务端的高要求3 移动设备的快速增长加大了服务端大并发压力4 Go 语言的兴起将协程带到了一个新的高度支持协程的编程语言 1 Go 语言 非常容易支持大并发
  • Eigen入门之密集矩阵 1 -- 类Matrix介绍

    简介 本篇介绍Eigen中的Matrix类 在Eigen中 矩阵和向量的类型都用Matrix来表示 向量是一种特殊的矩阵 其只有一行或者一列 Matrix构造 在Matrix h中 定义了Matrix类 其中的构造器包括如下的5个 可以看到
  • python爬虫可以做什么呢?

    1 收集数据 Python爬虫程序可用于收集数据 这是最直接和最常用的方法 由于爬虫程序是一个程序 程序运行得非常快 不会因为重复的事情而感到疲倦 因此使用爬虫程序获取大量数据变得非常简单 快速 2 数据储存 Python爬虫可以将从各个网
  • 【防攻世界】misc解题思路-学习笔记

    前言 靶场地址 防攻世界 一 Cat falg 丢进 kali 或者其他Linux系统直接 cat flag 二 MeowMeow可爱的小猫 这道题就很离谱 flag需要用010工具打开 拉到最后就可以看到文字样式 组起来就是 CatCTF
  • 【深度学习】去掉softmax后Transformer会更好吗?复旦&华为诺亚提出SOFT:轻松搞定线性近似...

    作者丨happy 编辑丨极市平台 导读 本文介绍了复旦大学 华为诺亚提出的一种新颖的softmax free的Transformer SOFT 所提SOFT显著改善了现有ViT方案的计算效率 更为关键的是 SOFT的线性复杂度可以允许更长的
  • OPC UA 学习笔记 Event,Condition和Alarm

    告警和事件在自动控制领域十分重要 它是保障系统安全运营的主要措施 OPC UA 设立了专门的一部分来规范告警和条件模型 OPC 10000 9 UA Part 9 Alarms and Conditions 事件 条件和告警是OPCUA 信