OPCFoundation / UA-CloudLibrary

OPC UA Information Model database with a REST and GraphQL interface, as well as user management. The global instance of this (hosted by the OPC Foundation) can be found at https://uacloudlibrary.opcfoundation.org.
Other
37 stars 18 forks source link

AMLLib nodeset uses alias in an Extension Object #186

Closed MarkusHorstmann closed 9 months ago

MarkusHorstmann commented 1 year ago

The .Net OPC SDK as of version 1.4.372.56 now fails on invalid nodeIds. This causes Opc.Ua.Export.UANodeSet.Import to fail with a SystemArgument exception, where before an effective nodeid of "ns=0;s=String" was used.

The OPC specification (Part 6 Annex F) can be read as allowing aliases only in specific locations, which would mean that the AMLLibs nodeset is invalid.

  <UAVariable NodeId="ns=2;i=8" BrowseName="ID" ParentNodeId="ns=2;i=7">
    <DisplayName>ID</DisplayName>
...
    <Value>
      <ListOfExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
        <ExtensionObject>
          <TypeId>
            <Identifier>i=297</Identifier>
          </TypeId>
          <Body>
            <Argument>
              <Name></Name>
              <DataType>
                <Identifier>String</Identifier>
              </DataType>
              <ValueRank>-1</ValueRank>
            </Argument>
          </Body>
        </ExtensionObject>
      </ListOfExtensionObject>
    </Value>
  </UAVariable>
barnstee commented 11 months ago

@MarkusHorstmann to open a Mantis issue to patch the AML nodeset and update the spec.

MarkusHorstmann commented 11 months ago

Opened https://mantis.opcfoundation.org/view.php?id=9212 and https://mantis.opcfoundation.org/view.php?id=9211 to track.