docs(alarms): note native-alarm severity-bucket snapping
This commit is contained in:
@@ -142,6 +142,35 @@ ObjectType. `severity` seeds the condition's initial severity at materialisation
|
||||
the driver's live alarm events may carry a different severity that overrides it at
|
||||
runtime.
|
||||
|
||||
#### Severity mapping
|
||||
|
||||
The authored `severity` (1–1000) seeds the OPC UA condition node at materialisation
|
||||
time. On the **first native transition** the value snaps to one of four fixed buckets
|
||||
via `NativeAlarmProjector.MapSeverity`:
|
||||
|
||||
| `AlarmSeverity` enum | Projected value |
|
||||
|---|---|
|
||||
| `Low` | 200 |
|
||||
| `Medium` | 500 |
|
||||
| `High` | 700 |
|
||||
| `Critical` | 900 |
|
||||
| *(default/unspecified)* | 500 |
|
||||
|
||||
That projected integer is then mapped to the OPC UA SDK `EventSeverity` enum
|
||||
by `OtOpcUaNodeManager.MapSeverity` on each `AlarmStateUpdate` write:
|
||||
|
||||
| Projected value range | `EventSeverity` |
|
||||
|---|---|
|
||||
| < 200 | `Low` |
|
||||
| 200 – 399 | `MediumLow` |
|
||||
| 400 – 599 | `Medium` |
|
||||
| 600 – 799 | `MediumHigh` |
|
||||
| ≥ 800 | `High` |
|
||||
|
||||
Consequently the four authored buckets land as: Low→`MediumLow`, Medium→`Medium`,
|
||||
High→`MediumHigh`, Critical→`High`. The authored `severity` field has no effect after
|
||||
the first transition.
|
||||
|
||||
### Runtime flow
|
||||
|
||||
The driver's live `IAlarmSource.OnAlarmEvent` is the sole input. Transition kinds
|
||||
|
||||
Reference in New Issue
Block a user