SCADA · Schema
ScadaAlarm
Schema for a SCADA alarm event triggered when a tag value crosses a configured threshold
Critical InfrastructureICSIndustrial AutomationIndustrial IoTOT SecuritySCADA
Properties
| Name | Type | Description |
|---|---|---|
| alarmId | string | Unique identifier for the alarm instance |
| alarmName | string | Name or label of the alarm |
| tagId | string | Tag ID that triggered the alarm |
| alarmType | string | Type of alarm condition |
| priority | integer | Alarm priority level (1=Critical, 2=High, 3=Medium, 4=Low) |
| state | string | Current state of the alarm |
| activeTimestamp | string | ISO 8601 timestamp when the alarm became active |
| acknowledgedTimestamp | string | ISO 8601 timestamp when the alarm was acknowledged by an operator |
| clearedTimestamp | string | ISO 8601 timestamp when the alarm condition cleared |
| triggerValue | number | Tag value at the time the alarm was triggered |
| limitValue | number | Alarm limit that was exceeded |
| engineeringUnits | string | Engineering units of the trigger value |
| message | string | Human-readable alarm message displayed to operators |
| acknowledgedBy | string | Username of the operator who acknowledged the alarm |
| processArea | string | Process area where the alarm occurred |
| notes | string | Operator notes added during alarm acknowledgment |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/scada/main/json-schema/scada-alarm-schema.json",
"title": "ScadaAlarm",
"description": "Schema for a SCADA alarm event triggered when a tag value crosses a configured threshold",
"type": "object",
"properties": {
"alarmId": {
"type": "string",
"description": "Unique identifier for the alarm instance",
"example": "ALM-2026-05-02-001"
},
"alarmName": {
"type": "string",
"description": "Name or label of the alarm",
"example": "Reactor Inlet Pressure High-High"
},
"tagId": {
"type": "string",
"description": "Tag ID that triggered the alarm",
"example": "PLANT1.AREA2.PV_101"
},
"alarmType": {
"type": "string",
"description": "Type of alarm condition",
"enum": ["High-High", "High", "Low", "Low-Low", "Rate-of-Change", "Deviation", "Discrete", "Communication"],
"example": "High-High"
},
"priority": {
"type": "integer",
"description": "Alarm priority level (1=Critical, 2=High, 3=Medium, 4=Low)",
"minimum": 1,
"maximum": 4,
"example": 1
},
"state": {
"type": "string",
"description": "Current state of the alarm",
"enum": ["Active", "Acknowledged", "Returned-to-Normal", "Shelved"],
"example": "Active"
},
"activeTimestamp": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the alarm became active",
"example": "2026-05-02T14:35:00.000Z"
},
"acknowledgedTimestamp": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the alarm was acknowledged by an operator"
},
"clearedTimestamp": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the alarm condition cleared"
},
"triggerValue": {
"type": "number",
"description": "Tag value at the time the alarm was triggered",
"example": 185.3
},
"limitValue": {
"type": "number",
"description": "Alarm limit that was exceeded",
"example": 180.0
},
"engineeringUnits": {
"type": "string",
"description": "Engineering units of the trigger value",
"example": "PSI"
},
"message": {
"type": "string",
"description": "Human-readable alarm message displayed to operators",
"example": "CRITICAL: Reactor inlet pressure PV-101 exceeded 180 PSI limit"
},
"acknowledgedBy": {
"type": "string",
"description": "Username of the operator who acknowledged the alarm"
},
"processArea": {
"type": "string",
"description": "Process area where the alarm occurred",
"example": "Reactor Section"
},
"notes": {
"type": "string",
"description": "Operator notes added during alarm acknowledgment"
}
},
"required": ["alarmId", "tagId", "alarmType", "priority", "state", "activeTimestamp", "message"],
"additionalProperties": false
}