04/01/2014
Hi Team,
I am trying to import OpcUaPOWERLINKNodeSet2.xml in my server. It is failing to parse at my side for below mentioned variable node stating nodeID=12757 not found.
<UAVariable NodeId="ns=1;i=101" BrowseName="1:PowerlinkAttributes" ParentNodeId="ns=1;i=11" DataType="PowerlinkAttribute">
<DisplayName>PowerlinkAttributes</DisplayName>
<Description>provides the information of the XML-Attribute ‘accessType’ from the POWERLINK XML Device Description</Description>
<Documentation>https://reference.opcfoundatio.....on>
<References>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=11</Reference>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
<Value>
<uax:ExtensionObject xmlns:uax="https://opcfoundation.org/UA/2008/02/Types.xsd">
<uax:TypeId>
<uax:Identifier>i=12757</uax:Identifier>
</uax:TypeId>
<uax:Body>
<OptionSet xmlns="https://opcfoundation.org/UA/2008/02/Types.xsd">
<Value>AAA=</Value>
<ValidBits>gAM=</ValidBits>
</OptionSet>
</uax:Body>
</uax:ExtensionObject>
</Value>
</UAVariable>
I wanted to understand what does Identifier mean here. I understand that this is equivalent to EncodingId specified in DataType and I see DataType PowerlinkAttribute has Encoding set to i=35. So , if I change this Identifier value to i=35, I am able to import the file successfully.
Can you please confirm if my understanding on this is correct or not.
Regards,
Shubhi Gogna
05/30/2017
It is defined in:
https://files.opcfoundation.or.....deSet2.xml
The searchable NodeIds in table form:
04/01/2014
Hi Randy,
Thanks for your quick response. I actually wanted to understand what does Identifier means in Extension Object as Value? For above example where instance of PowerlinkAttribute is created with value as Extension Object, DataType "PowerLinkAttribute" is defined as below here. It has 12757 referenced as HasSubType instead of HasEncoding while OPCF defines i=12757 with Symbolic Name as "Default XML".
I understand from Spec 6, Section:- F.15 Example (Informative) that Identifier is equivalent to EncodingId, hence, expecting that instance of PowerlinkAttribute should have Identifier as "i=35" instead of "i=12757". Please let me know if my understanding is correct here or please refer me to the right section in Specs where this is defined.
<UADataType NodeId="ns=1;i=25" BrowseName="1:PowerlinkAttribute">
<DisplayName>PowerlinkAttribute</DisplayName>
<Description>Represents the POWERLINK entry attributes</Description>
<References>
<Reference ReferenceType="HasEncoding">ns=1;i=33</Reference>
<Reference ReferenceType="HasEncoding">ns=1;i=35</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=90</Reference>
<Reference ReferenceType="HasSubtype" IsForward="false">i=12757</Reference>
</References>
<Definition> xxxxxxxxx </Definition>
</UADatatype>
Regards,
Shubhi Gogna
05/30/2017
i=12757 says the body is an instance of an OptionSet DataType serialized in XML and that is exactly what is there.
However, the Variable DataType is as subtype of OptionSet that does not change the structure so there is no ambiguty. Either value can be accepted. That said, there should not be encoding ids defined for abstract types. The UA WG needs to publish some guidance on this.
1 Guest(s)