review(OpcUaServer): record findings + fix stale node-manager/host docs
First review of the v2 OPC UA core at HEAD 7286d320. 6 findings (2 Medium, 4 Low).
OpcUaServer-006 fixed (stale NodeManager/ApplicationHost XML docs). 001-004 deferred
(cross-module: Runtime publish-actor / Core.Abstractions history contract / Wonderware
boundary semantics, or latent-only). 005 re-triaged Won't-Fix (coverage already exists).
High-scrutiny paths (Lock discipline, OnWriteValue fire-and-forget, WriteOperate/AlarmAck
gates, HistoryRead AccessLevel bits) verified correct.
This commit is contained in:
@@ -24,10 +24,15 @@ namespace ZB.MOM.WW.OtOpcUa.OpcUaServer;
|
||||
/// materialise as real OPC UA Variable updates that clients can browse + subscribe to.
|
||||
///
|
||||
/// Node-id encoding uses the manager's default namespace + the caller-supplied string id
|
||||
/// as the identifier portion (e.g. <c>"ns=2;s=eq-1/temp"</c>). Equipment-folder hierarchy
|
||||
/// and OPC UA type metadata still come from the AddressSpaceApplier / EquipmentNodeWalker
|
||||
/// integration (F14b, tracked under #85) — this manager treats every id as a flat
|
||||
/// <see cref="BaseDataVariableState"/> under the namespace root.
|
||||
/// as the identifier portion (e.g. <c>"ns=2;s=eq-1/temp"</c>). Beyond lazily-created flat
|
||||
/// variables, the manager also materialises the full UNS Area/Line/Equipment folder hierarchy
|
||||
/// (<see cref="EnsureFolder"/>), typed equipment-tag variables with the correct built-in
|
||||
/// <c>DataType</c> / array shape / access levels (<see cref="EnsureVariable"/>), historized
|
||||
/// nodes (the <c>HistoryRead</c> access bit + HistoryRead overrides), and real Part 9
|
||||
/// <see cref="AlarmConditionState"/> nodes (<see cref="MaterialiseAlarmCondition"/>). The
|
||||
/// <c>AddressSpaceApplier</c> drives these passes from the composed deployment artifact;
|
||||
/// the legacy <c>EquipmentNodeWalker</c> server-side integration was retired in favour of the
|
||||
/// (composer → applier → sink → node-manager) chain.
|
||||
/// </summary>
|
||||
public sealed class OtOpcUaNodeManager : CustomNodeManager2
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user