• 沒有找到結果。

事件、条件和报警的工作原理是什么?

3 OPC 接口基本知识

3.5 OPC 统一架构

3.5.2 OPC UA 接口

3.5.2.7 事件、条件和报警的工作原理是什么?

本部分介绍事件、条件和报警。

3.5 OPC 统一架构

事件

在过程中,事件描述需要报告给接收方的特殊状态。 OPC 客户端使用过滤条件来选择已 报告给 OPC 客户端的事件。

OPC UA 事件与先前的 COM 接口 OPC 报警和事件上的事件不同,在后者中,用于 OPC UA 事件的访问技术和接口与用于 UA 数据访问的相同。

条件

条件源自常规事件。 条件用于表示系统或系统组件之一的状态。 下面显示了几个示例:

● 温度超过组态值。

● 设备需要维护。

● 在继续进行接下来的处理步骤之前,需要用户对批处理进行确认。

条件的主要状态为“启用”和“禁用”。 “禁用”状态用于通过服务器关闭条件。 “启用”状态通 常由附加的子状态进行扩展。

切换到“禁用”状态将导致条件事件。 但是,在条件重新切换为“启用”状态之前,不会生成 更多的事件报警。

在条件切换为“启用”状态后,该切换以及所有后续切换将导致服务器生成条件事件。

条件对“启用”状态有效。 OPC 服务器和设备会处理条件。

条件对“禁用”状态无效。 OPC 服务器和设备无需处理条件,不存在此条件的“事件”报警。

确认

AcknowledgeableConditionType 类型源自 ConditionType 类型。

AcknowledgeableConditionType 类型包含条件的子状态以指示是否需要对条件进行确 认。

报警

报警是条件的特殊形式。 AlarmConditionType 是 AcknowledgeableConditionType 的特 殊形式,其具有将被添加至条件的“启用”状态、复位状态和抑制状态的概念。

图 3-28 报警的状态模型

处于“启用”状态的报警将指示由条件表示的状态当前已存在。 如果报警处于“禁用”状态,

则这将指示状态已返回到正常状态。

报警的一些子类型启动“启用”状态的子状态。 示例:

报警表示温度具有高级状态和临界高状态。

OPC 报警的实际的源可以是来自 SIMATIC S7 的报警,请参见 SIMATIC S7 中的报警 - 如何定义? (页 102)部分

名称空间中的条件实例

因为条件始终具有“启用”或“禁用”状态,并且还可能有多个子状态,所以具有标识名称空 间的条件实例切实可行。 如果服务器代表条件实例,则这些实例将在名称空间中显示为

“拥有”它们的对象的组件。 例如,具有集成的高温监视功能的温度传感器会在名称空间中 显示为具有对 LimitAlarmType 的 HasTypeDefinition 引用的多个温度传感器对象实例。

温度传感器对象具有对条件的 HasCondition 引用。 温度传感器对象还可具有对条件实例 的 HasComponent 引用。

3.5 OPC 统一架构 HasNotifier、HasEventSource 和 HasCondition 引用的节点指示了事件或条件可用。 然 后,UA 客户端便会注册这些节点的订阅。 要接收事件,必须随后设置适合的过滤器。