OPC报警与事件编程

简介: OPC报警与事件编程

OPC报警与事件

OPC报警与事件(Alarm and Event)规范接口规范提供了一种机制,通过这种机制,当I/O设备中有指定的事件或报警条件发生时,OPC客户程序可以得到通知。通过这个接口,OPC客户程序还可以知道OPC服务器支持哪些事件和报警条件,并能得到其当前状态。这里使用了过程控制中常用的报警和事件的概念,在不严格的场合,报警和事件也可以互换,两者意义上的差别不是非常明显。

在OPC中,一个报警是一种非正常情况,因此是一种特殊的情况。一个情况是OPC事件服务器(Event Server)或其所包含的对象中命名了的一个状态,而这个状态一般来说是对OPC客户程序有意义的。例如,标签FC101可以有以下几种相关的情况:上限报警、上上限报警、正常、下限报警、下下限报警。

另外,一个事件是对OPC服务器、其所表示的I/O设备或OPC客户重要的某种可感觉到的变化。一个事件可以是和某种情况相关的,也可能与任何情况无关。例如,数据从正常变化到上限报警或从报警变化到正常状态,这是和某种情况有关的事件。而操作人员的动作(如对系统配置的更改)、系统故障则是与情况无关联的事件。

OPC事件服务器接口类IOPCEventServer通过其方法使得OPC客户程序能够完成以下功能:决定OPC服务器支持的事件的类型;对某些特定的事件进行登记,以便当这些事件发生时,OPC客户程序能得到通知,也可以采用过滤器定义这些事件的一个子集;对OPC服务器实现的情况进行存取或处理。

除了接口类IOPCEventServer外,OPC事件服务器还支持其他的接口,能够对服务器中实现的情况进行浏览,或者对公共的组进行管理。


OPC历史数据存取

历史数据引擎可以向感兴趣的用户或客户程序提供关于原始数据的额外信息。目前大部分历史数据系统采用自己专用的接口分发数据,这种方式不能提供即插即用的功能,从而限制了其应用范围和功能。

为了将历史数据和各种不同的应用系统进行集成,可以将历史信息认为是某种数据类型的数据。目前的OPC规范支持以下几种历史数据服务器。


(1)简单趋势数据服务器

:这种服务器只是提供原始数据和简单存储功能,数据一般以OPC数据存取服务器提供的类型存储,即取[数值,品质]元组的形式。


(2)复合数据压缩和分析服务器

:这种服务器可以提供数据压缩功能,还可以提供数据汇总和数据分析功能,如取平均值、最大值、最小值等。支持数据刷新及刷新历史记录,此外,保存历史数据的同时还可以记录对数据的注释信息。


OPC批量服务器

OPC批量服务器主要用于访问批量控制过程的各类数据源。用于批量控制过程的OPC服务器可以是单纯的OPC批量服务器,也可以是位于现有专用批量过程数据源之上的一套OPC接口。OPC批量服务器的数据源可以是普通的OPC数据访问服务器,也可以是制造商特定的批量过程应用程序。访问OPC批量服务器的客户应用程序可以通过OPC批量服务器提供的OPC接口访问批量过程数据,也可以借助OPC批量服务器访问OPC数据访问服务器,还可以直接访问OPC数据访问服务器。OPC批量服务器不直接与现场设备通信,一般由OPC数据访问服务器或现有专用批量数据的物理接口访问现场设备的I/O。


随着Interner技术、嵌入式控制技术的发展和应用的深入,采用B/S结构的工业生产过程监控应用越来越多。目前许多控制设备,如变频器、PLC、智能模块甚至智能仪表等都嵌入了Web服务器,能够较好地支持各种基于Web的应用和服务。采用基于Web的远程数据采集与监控的好处有两点。

(1)扩大了企业信息的使用效率和监控能力。目前多数企业都具有功能较完善的测控系统,但反映现场运行工况的画面、参数和报表大部分只能在本地控制室运行,只有现场操作人员能够了解,无法被企业高层决策者直接利用。因此,通过开发Web功能,企业管理者和技术人员可以通过浏览器随时掌握企业生产情况和设备运行状况,对生产过程进行远程实时监控和管理。

(2)客户端采用标准的浏览器,从而避免了安装和维护客户软件等繁杂工作。任何授权用户都可以通过浏览器来对生产现场进行实时监控。

相关文章
|
开发框架 前端开发 JavaScript
在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表
在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表
|
API 数据处理 调度
DolphinScheduler教程(03)- 源码分析(二)
DolphinScheduler教程(03)- 源码分析(二)
731 0
|
设计模式 前端开发 Java
总结丨Spring 源码学习,看这一篇就够了
在日常工作中,产品不断写业务需求,他们加班一天,我们开发就得工作一周来完成。 业务领域达到一定地步后,发现日常编写业务代码已经很难让我有突破性的进步,日复一日,担心自己变成一个业务代码生产机器,而无法面对新技术和环境变化。 同时也有危机感,长江后浪推前浪,自己不继续学习的话,很快就会有人超过。 而且我算是比较热心的好同学,喜欢帮别人解决问题和记录解决方案,所以不希望在别人问我工作中有什么常用的框架,遇到这个问题该怎么办,我却回答不上的感觉
7878 1
总结丨Spring 源码学习,看这一篇就够了
|
4月前
|
Linux 计算机视觉 C++
【解决方案】Building wheel for opencv-python:安装卡顿的原因与解决方案
当你安装OpenCV时,命令行停在Building wheel for opencv-python (PEP 517) ... -似乎卡住了。这并非程序假死,而是其编译耗时巨大。本文将揭示原因,并提供优化安装体验的实用方法。
675 88
|
数据采集 机器学习/深度学习 数据可视化
数据科学项目实战:完整的Python数据分析流程案例解析
【4月更文挑战第12天】本文以Python为例,展示了数据分析的完整流程:从CSV文件加载数据,执行预处理(处理缺失值和异常值),进行数据探索(可视化和统计分析),选择并训练线性回归模型,评估模型性能,以及结果解释与可视化。每个步骤都包含相关代码示例,强调了数据科学项目中理论与实践的结合。
1409 2
|
1月前
|
JavaScript 前端开发 Java
基于springboot的高校健身场地预约系统
针对高校健身场地管理效率低、资源分配不均等问题,本文设计并实现了一套基于SpringBoot框架的在线预约系统。系统采用Vue前端与MySQL数据库,实现场地查询、预约、管理等功能,提升学生使用体验与场地利用率,推动校园体育智能化发展。
|
8月前
|
SQL 分布式计算 数据挖掘
《智能数据建设与治理 Dataphin》的最佳实践
本文介绍了使用Dataphin进行离线数仓搭建的实操教程,涵盖从创建数据板块到数据分析的完整流程。内容包括登录控制台、配置计算源、创建离线管道、生成SQL语句、运行任务及验证数据等步骤。通过详细的操作指南和截图,帮助用户快速上手Dataphin,体验其强大的数据治理能力。总结中提到教程存在部分陈旧问题,建议加深对产品逻辑的理解以更好地掌握工具使用。
434 1
|
安全 Java
Java“不兼容类型” 错误怎么查找解决
在 Java 中遇到“不兼容类型”错误时,首先理解错误信息,它表明试图将一种类型赋给不兼容的类型。检查代码中类型不匹配的赋值、方法调用参数类型不匹配、表达式类型不兼容及泛型类型不匹配等问题。解决方法包括进行类型转换、修改代码逻辑、检查方法参数和返回类型以及处理泛型类型不匹配。通过这些步骤,可以有效解决“不兼容类型”错误,确保代码类型兼容性良好。
2438 9
Qt 目录操作(QDir 类)及展示系统文件实战 & QFilelnfo 类介绍和获取文件属性项目实战
Qt 目录操作(QDir 类)及展示系统文件实战 & QFilelnfo 类介绍和获取文件属性项目实战
Qt 目录操作(QDir 类)及展示系统文件实战 & QFilelnfo 类介绍和获取文件属性项目实战
Vue3+Vite+Pinia+Naive后台管理系统搭建之二:scss 的安装和使用
Vue3+Vite+Pinia+Naive后台管理系统搭建之二:scss 的安装和使用
382 0