worker: alarm event mapper + sink scaffold (PR A.2 — partial) #112
Reference in New Issue
Block a user
Delete Branch "track-a2-worker-alarm-mapper"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Eighteenth PR of the alarms-over-gateway epic. Lands the proto-build path the worker uses to create OnAlarmTransition events. The COM-side subscription that registers an alarm event sink against the MXAccess Toolkit is pinned during dev-rig validation — the exact API differs across AVEVA versions and needs hardware to verify.
Lands today (unit-testable, no hardware):
MxAccessEventMapper.CreateOnAlarmTransition— mechanical proto builder. Takes decoded alarm fields (full reference, source object, alarm type, transition kind, severity, timestamps, operator user/comment, category, description) and produces anMxEventwith theOnAlarmTransitionbody populated. MirrorsCreateOnDataChange/CreateOnWriteComplete/ etc.MxAccessAlarmEventSink— scaffolded class with documented Attach / Detach + an internalEnqueueTransitionentry point. When dev-rig validation pins the MXAccess Toolkit alarm subscription API, the only edit is wiring the COM delegate inside Attach to call EnqueueTransition.Pending dev-rig validation:
IAlarmEventSink,IAlarmEventSubscription, or a method onLMXProxyServerClass— verify against the worker host's installed version).OnAlarmTransition.Test plan