Alarms and Conditions is the OPC UA service set that defines a standardized framework for representing and managing stateful, abnormal system states. Unlike simple data-change notifications, an Alarm is an object in the Address Space with a lifecycle—it transitions through states like Inactive, Active, Acknowledged, and Confirmed. This state machine ensures that critical events are not lost and that operator accountability is tracked through mandatory acknowledgment workflows, providing a complete audit trail for safety and process integrity.
Glossary
Alarms and Conditions

What is Alarms and Conditions?
The OPC UA Alarms and Conditions (A&C) service set provides a sophisticated, stateful eventing model for detecting, acknowledging, and confirming abnormal situations or system states that require operator attention, extending far beyond simple threshold violations.
The model distinguishes between a Condition (any persistent, stateful event) and an Alarm (a Condition requiring operator action). Built-in alarm types include LimitAlarmType for threshold violations, DiscreteAlarmType for binary states, and TripAlarmType for latching events. The A&C service set integrates with OPC UA Subscriptions and Monitored Items, allowing clients to receive real-time alarm state changes, while Historical Access services enable retrieval of past alarm records for root cause analysis and regulatory compliance.
Core Characteristics of OPC UA A&C
The OPC UA Alarms & Conditions (A&C) service set extends basic data monitoring into a sophisticated, stateful eventing model. It provides a standardized framework for detecting, acknowledging, and confirming abnormal situations, ensuring that critical industrial events are managed with full context and auditability.
Stateful Eventing Model
Unlike simple threshold violations, A&C implements a state machine for each alarm. An alarm transitions through distinct states—Inactive, Active, Acknowledged, and Confirmed—providing a complete lifecycle. This ensures that an operator's interaction with an alarm is tracked, preventing critical events from being lost or ignored. The model mandates that an alarm must return to an inactive state before it can become active again, preventing duplicate flooding.
Condition Hierarchy & Types
A&C defines a rich object-oriented hierarchy rooted in the ConditionType. Key specializations include:
- AlarmConditionType: For states that require operator acknowledgment.
- LimitAlarmType: For violations of a process limit (e.g., High, Low, Deviation).
- DiscreteAlarmType: For digital on/off states like a safety interlock trip.
- CertificateExpirationAlarmType: A system-level alarm for expiring security certificates. This hierarchy allows Clients to generically handle any alarm while understanding specific semantics.
Acknowledge & Confirm Semantics
A&C introduces a two-stage human interaction protocol to ensure accountability:
- Acknowledge: An operator explicitly signals they have seen the active alarm. The alarm transitions from Active to Acknowledged.
- Confirm: A separate action indicating the root cause has been resolved. The alarm transitions from Acknowledged to Confirmed. This separation provides a clear audit trail, distinguishing between merely seeing a problem and actually fixing it. The ConfirmedState property tracks this final resolution.
Shelving & Out-of-Service
To manage alarm floods during known maintenance or transient conditions, A&C provides suppression mechanisms:
- Shelving: Temporarily suppresses an alarm for a defined time period or until a specific condition clears. The alarm remains logically active but is hidden from the main operator view. A ShelvingState tracks this.
- Out of Service: An administrative state that removes the alarm from all processing, typically used during sensor calibration or replacement. These features prevent operator overload and maintain the integrity of the alarm system during abnormal plant states.
Event Notifications & Retain
Alarms are delivered to Clients using the standard OPC UA MonitoredItem and Subscription mechanism, but with a critical distinction: the Retain flag. When a Client subscribes to an alarm, the Server immediately sends the current state of all active alarms (Retain=True). Subsequent state transitions are sent as live events. This ensures a newly connected Client always has a complete, current view of all active plant disturbances without waiting for a new occurrence.
Dialect & Alarm Metadata
A&C supports vendor-specific extensions through the concept of a Dialect. A Dialect is a URI that identifies a specific set of fields included in the alarm notification. This allows vendors to add proprietary diagnostic data (e.g., a specific machine vibration signature) to a standard alarm event without breaking interoperability. Clients can browse the supported Dialects on a Server and select the one that provides the richest context for their specific operational needs.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Frequently Asked Questions
Clear answers to common questions about the OPC UA Alarms and Conditions model, covering its stateful eventing mechanisms, acknowledgment protocols, and how it differs from simple threshold monitoring.
The OPC UA Alarms and Conditions (A&C) model is a stateful eventing framework that extends the base OPC UA event system to represent, track, and manage abnormal situations or system states that require operator attention. Unlike simple data-change notifications, A&C objects are full-featured Nodes in the Address Space that maintain a persistent lifecycle. The model defines a core Condition object with a ConditionId (a unique identifier for the specific occurrence), a Retain flag (indicating if the condition is still active), and a Quality property. An Alarm is a specific subtype of Condition that represents a state change requiring acknowledgment, such as a LimitAlarm or DiscreteAlarm. The framework operates through a multi-step lifecycle: a condition becomes active and enters the Enabled state, generates an Event notification, and then waits for an operator to Acknowledge it. Once the underlying cause is resolved, the condition transitions to an inactive state and may require a separate Confirm step, ensuring a complete audit trail from detection to resolution.
Related Terms
Core concepts that form the foundation of stateful event management in OPC UA, enabling operators to detect, acknowledge, and resolve abnormal conditions systematically.
Condition State Machine
Every alarm follows a deterministic lifecycle with well-defined states and transitions:
- Inactive: Normal operating condition, no alarm present
- Active/Enabled: Abnormal condition detected, alarm is raised and requires attention
- Acknowledged: Operator has seen the alarm but the root cause may still exist
- Confirmed: The underlying condition has returned to normal and the alarm can clear
- Shelved: Alarm is temporarily suppressed by an operator for a defined period
This state machine ensures auditable operator response and prevents alarms from being silently lost.
Event vs. Data Distinction
Alarms and Conditions are fundamentally event-driven, not data-driven:
- Data Access provides the current value of a variable (e.g., temperature = 85°C)
- Alarms & Conditions provide stateful notifications that persist until resolved
Key implication: An alarm remains retrievable and auditable even after the triggering value returns to normal. This enables post-incident forensics and regulatory compliance reporting that simple threshold monitoring cannot provide.
Condition Classes
OPC UA defines a type hierarchy for different categories of abnormal situations:
- AlarmConditionType: Requires operator acknowledgment, represents a safety or process risk
- AcknowledgeableConditionType: Requires acknowledgment but may not be safety-critical
- ConditionType: Base type for any stateful event, including informational conditions
- DialogConditionType: Requires a user response with predefined options
- CertificateExpirationAlarmType: System-level alarm for expiring security certificates
Each class inherits behaviors and adds domain-specific properties, enabling rich semantic modeling of industrial events.
Retain and Severity
Two critical properties govern alarm lifecycle and prioritization:
- Retain: A boolean flag indicating the alarm remains in the system's active list even after the triggering condition clears. This ensures no alarm is lost during transient network issues or operator shift changes.
- Severity: An integer from 0–1000 defining urgency, where 1–333 is low, 334–666 is medium, and 667–1000 is high. Severity can be dynamic, increasing over time if an alarm remains unacknowledged.
These properties enable escalation workflows and ensure critical alarms surface above informational noise.
Shelving and Out of Service
OPC UA provides controlled mechanisms for temporarily suppressing alarms without disabling the underlying monitoring:
- Shelving: An operator intentionally suppresses an alarm for a defined time period. The alarm state machine continues to run but notifications are withheld. Shelving is audited and automatically unshelves when the timer expires.
- Out of Service: An engineering state that removes the alarm from active processing, typically used during maintenance. Requires explicit re-enabling.
These mechanisms prevent alarm flooding during planned maintenance while maintaining a complete audit trail of who suppressed what and when.
Condition Refresh
When a new OPC UA Client connects or reconnects after a disruption, it can issue a ConditionRefresh request to the Server. The Server responds by re-sending the current state of all active alarms and conditions.
This mechanism solves the lost alarm problem in distributed systems:
- New operator workstations receive the complete alarm picture immediately
- Clients recovering from network outages do not miss state transitions that occurred while disconnected
- Enables hot-standby redundancy for alarm management systems
ConditionRefresh is essential for building resilient, multi-client HMI and SCADA architectures.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us