feat(phase7): route OPC UA Part 9 Acknowledge/Confirm methods to ScriptedAlarmEngine (task #24)
Gap 1 of phase-7-status.md. Intercepts AcknowledgeableConditionType_Acknowledge and AcknowledgeableConditionType_Confirm calls in DriverNodeManager.Call and dispatches them to ScriptedAlarmEngine so OPC UA HMI clients can acknowledge/confirm scripted alarms in addition to the existing Admin UI path. Shelve methods deferred (per-instance NodeIds, not well-known type MethodIds — follow-up task). AlarmEngine is now exposed through Phase7ComposedSources so the server wire-up passes it to every DriverNodeManager. 13 new unit tests cover dispatch kernel, identity fallback, batch handling, and error paths. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -56,7 +56,8 @@ public sealed class OpcUaServerService(
|
||||
// — late binding after server start is rejected with InvalidOperationException.
|
||||
// No-op when the generation has no virtual tags or scripted alarms.
|
||||
var phase7 = await phase7Composer.PrepareAsync(gen, stoppingToken);
|
||||
applicationHost.SetPhase7Sources(phase7.VirtualReadable, phase7.ScriptedAlarmReadable);
|
||||
applicationHost.SetPhase7Sources(phase7.VirtualReadable, phase7.ScriptedAlarmReadable,
|
||||
phase7.AlarmEngine);
|
||||
|
||||
// Phase 6.2 Stream C wiring — build the AuthorizationGate + NodeScopeResolver
|
||||
// from the published generation's NodeAcl rows and the populated equipment
|
||||
|
||||
Reference in New Issue
Block a user