Auto: abcip-2.3 — descriptions to OPC UA Description
Threads tag/UDT-member descriptions captured by the L5K (#346) and L5X (#347) parsers through AbCipTagDefinition + AbCipStructureMember into DriverAttributeInfo, so the address-space builder sets the OPC UA Description attribute on each Variable node. L5kMember and L5xParser also now capture per-member descriptions (via the (Description := "...") attribute block on L5K and the <Description> child on L5X), and L5kIngest forwards them. DriverNodeManager surfaces DriverAttributeInfo.Description as the Variable's Description property. Description is added as a trailing optional parameter on DriverAttributeInfo (default null) so every other driver continues to construct the record unchanged. Closes #231
This commit is contained in:
@@ -55,7 +55,11 @@ public sealed class L5kIngest
|
||||
var atomic = TryMapAtomic(m.DataType);
|
||||
var memberType = atomic ?? AbCipDataType.Structure;
|
||||
var writable = !IsReadOnly(m.ExternalAccess) && !IsAccessNone(m.ExternalAccess);
|
||||
members.Add(new AbCipStructureMember(m.Name, memberType, writable));
|
||||
members.Add(new AbCipStructureMember(
|
||||
Name: m.Name,
|
||||
DataType: memberType,
|
||||
Writable: writable,
|
||||
Description: m.Description));
|
||||
}
|
||||
udtIndex[dt.Name] = members;
|
||||
}
|
||||
@@ -101,7 +105,8 @@ public sealed class L5kIngest
|
||||
TagPath: tagPath,
|
||||
DataType: dataType,
|
||||
Writable: writable,
|
||||
Members: members));
|
||||
Members: members,
|
||||
Description: t.Description));
|
||||
}
|
||||
|
||||
return new L5kIngestResult(tags, skippedAliases, skippedNoAccess);
|
||||
|
||||
Reference in New Issue
Block a user