Resolve DA, A&C, and security spec gaps with ServerCapabilities, alarm methods, and modern profiles
Add ServerCapabilities/OperationLimits node, enable diagnostics, add OnModifyMonitoredItemsComplete override for DA compliance. Wire shelving, enable/disable, confirm, and addcomment handlers on alarm conditions with LocalTime/Quality event fields for Part 9 compliance. Add Aes128/Aes256 security profiles, X.509 certificate authentication, and AUDIT-prefixed auth logging. Fix flaky probe monitor test. Update docs for all changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,29 @@ Key configuration on the condition node:
|
||||
|
||||
The condition's `OnReportEvent` callback forwards events to `Server.ReportEvent` so they reach clients subscribed at the server level.
|
||||
|
||||
### Condition Methods
|
||||
|
||||
Each alarm condition supports the following OPC UA Part 9 methods:
|
||||
|
||||
- **Acknowledge** (`OnAcknowledge`) -- Writes the acknowledgment message to the Galaxy `AckMsg` tag. Requires the `AlarmAck` role.
|
||||
- **Confirm** (`OnConfirm`) -- Confirms a previously acknowledged alarm. The SDK manages the `ConfirmedState` transition.
|
||||
- **AddComment** (`OnAddComment`) -- Attaches an operator comment to the condition for audit trail purposes.
|
||||
- **Enable / Disable** (`OnEnableDisable`) -- Activates or deactivates alarm monitoring for the specific condition. The SDK manages the `EnabledState` transition.
|
||||
- **Shelve** (`OnShelve`) -- Supports `TimedShelve`, `OneShotShelve`, and `Unshelve` operations. The SDK manages the `ShelvedStateMachineType` state transitions including automatic timed unshelve.
|
||||
- **TimedUnshelve** (`OnTimedUnshelve`) -- Automatically called by the SDK when a timed shelve period expires.
|
||||
|
||||
### Event Fields
|
||||
|
||||
Alarm events include the following fields:
|
||||
|
||||
- `EventId` -- Unique GUID for each event, used as reference for Acknowledge/Confirm
|
||||
- `ActiveState`, `AckedState`, `ConfirmedState` -- State transitions
|
||||
- `Message` -- Alarm message from Galaxy `DescAttrName` or default text
|
||||
- `Severity` -- Galaxy Priority clamped to OPC UA range 1-1000
|
||||
- `Retain` -- True while alarm is active or unacknowledged
|
||||
- `LocalTime` -- Server timezone offset with daylight saving flag
|
||||
- `Quality` -- Set to Good for alarm events
|
||||
|
||||
## Auto-subscription to Alarm Tags
|
||||
|
||||
After alarm condition nodes are created, `SubscribeAlarmTags` opens MXAccess subscriptions for three tags per alarm:
|
||||
|
||||
Reference in New Issue
Block a user