Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Type Missing From NodeSet2 File #203

Open
ancapaul opened this issue Jan 22, 2025 · 1 comment
Open

Type Missing From NodeSet2 File #203

ancapaul opened this issue Jan 22, 2025 · 1 comment

Comments

@ancapaul
Copy link

ancapaul commented Jan 22, 2025

Hello,

I have informational model A

<?xml version="1.0" encoding="utf-8" ?>
<opc:ModelDesign
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:opc="http://opcfoundation.org/UA/ModelDesign.xsd"
  xmlns:ua="http://opcfoundation.org/UA/"
  xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd"
	xmlns="http://opcfoundation.org/UA/MachineFramework/"
  TargetNamespace="http://opcfoundation.org/UA/MachineFramework/">
  <opc:Namespaces>
    <opc:Namespace Name="MachineFramework" Prefix="MachineFramework" XmlNamespace="http://opcfoundation.org/UA/MachineFramework/Types.xsd">http://opcfoundation.org/UA/MachineFramework/</opc:Namespace>
    <opc:Namespace Name="OpcUa" Prefix="Opc.Ua" XmlNamespace="http://opcfoundation.org/UA/2008/02/Types.xsd">http://opcfoundation.org/UA/</opc:Namespace>
  </opc:Namespaces>
  <opc:DataType SymbolicName="Carrier" BaseType="ua:Structure">
    <opc:Fields>
      <opc:Field Name="CarrierId" DataType="ua:String" />
      <opc:Field Name="WorkRequestId" DataType="ua:String" />
    </opc:Fields>
  </opc:DataType>
  <opc:ObjectType SymbolicName="System" BaseType="ua:BaseObjectType">
    <opc:Children>
      <opc:Variable SymbolicName="Carriers" DataType="Carrier" ValueRank="Array" AccessLevel="Read" />
    </opc:Children>
  </opc:ObjectType>
</opc:ModelDesign>

Which is dependent on informational model B

<?xml version="1.0" encoding="utf-8" ?>
<opc:ModelDesign
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:opc="http://opcfoundation.org/UA/ModelDesign.xsd"
    xmlns:ua="http://opcfoundation.org/UA/"
    xmlns:mf="http://opcfoundation.org/UA/MachineFramework/"
    xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd"
	xmlns="http://opcfoundation.org/UA/MachineFramework/Fridge/"
    TargetNamespace="http://opcfoundation.org/UA/MachineFramework/Fridge/">
    <opc:Namespaces>
        <opc:Namespace Name="Fridge" Prefix="Fridge">http://opcfoundation.org/UA/MachineFramework/Fridge/</opc:Namespace>
        <opc:Namespace Name="OpcUa" Prefix="Opc.Ua" XmlNamespace="http://opcfoundation.org/UA/2008/02/Types.xsd">http://opcfoundation.org/UA/</opc:Namespace>
        <opc:Namespace Name="MachineFramework" Prefix="MachineFramework" FilePath="MachineFramework.xml" XmlNamespace="http://opcfoundation.org/UA/MachineFramework/Types.xsd">http://opcfoundation.org/UA/MachineFramework/</opc:Namespace>
    </opc:Namespaces>
    <opc:ObjectType SymbolicName="Machine" BaseType="mf:System">
        <opc:Children>
        </opc:Children>
    </opc:ObjectType>
</opc:ModelDesign>

When I compile the Fridge model Carrier type is missing from the Fridge nodeset2 file and the reference ns=2;i=160 is missing from the file.

<?xml version="1.0" encoding="utf-8"?>
<UANodeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" LastModified="2025-01-22T03:25:26.4486117Z" xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd">
  <NamespaceUris>
    <Uri>http://opcfoundation.org/UA/MachineFramework/Fridge/</Uri>
    <Uri>http://opcfoundation.org/UA/MachineFramework/</Uri>
  </NamespaceUris>
  <Models>
    <Model ModelUri="http://opcfoundation.org/UA/MachineFramework/Fridge/" Version="1.0.0" PublicationDate="2025-01-22T03:25:26.4486117Z" ModelVersion="1.0.0">
      <RequiredModel ModelUri="http://opcfoundation.org/UA/" XmlSchemaUri="http://opcfoundation.org/UA/2008/02/Types.xsd" />
      <RequiredModel ModelUri="http://opcfoundation.org/UA/MachineFramework/" XmlSchemaUri="http://opcfoundation.org/UA/MachineFramework/Types.xsd" />
    </Model>
  </Models>
  <Aliases>
    <Alias Alias="Boolean">i=1</Alias>
    <Alias Alias="SByte">i=2</Alias>
    <Alias Alias="Byte">i=3</Alias>
    <Alias Alias="Int16">i=4</Alias>
    <Alias Alias="UInt16">i=5</Alias>
    <Alias Alias="Int32">i=6</Alias>
    <Alias Alias="UInt32">i=7</Alias>
    <Alias Alias="Int64">i=8</Alias>
    <Alias Alias="UInt64">i=9</Alias>
    <Alias Alias="Float">i=10</Alias>
    <Alias Alias="Double">i=11</Alias>
    <Alias Alias="DateTime">i=13</Alias>
    <Alias Alias="String">i=12</Alias>
    <Alias Alias="ByteString">i=15</Alias>
    <Alias Alias="Guid">i=14</Alias>
    <Alias Alias="XmlElement">i=16</Alias>
    <Alias Alias="NodeId">i=17</Alias>
    <Alias Alias="ExpandedNodeId">i=18</Alias>
    <Alias Alias="QualifiedName">i=20</Alias>
    <Alias Alias="LocalizedText">i=21</Alias>
    <Alias Alias="StatusCode">i=19</Alias>
    <Alias Alias="Structure">i=22</Alias>
    <Alias Alias="Number">i=26</Alias>
    <Alias Alias="Integer">i=27</Alias>
    <Alias Alias="UInteger">i=28</Alias>
    <Alias Alias="HasComponent">i=47</Alias>
    <Alias Alias="HasProperty">i=46</Alias>
    <Alias Alias="Organizes">i=35</Alias>
    <Alias Alias="HasEventSource">i=36</Alias>
    <Alias Alias="HasNotifier">i=48</Alias>
    <Alias Alias="HasSubtype">i=45</Alias>
    <Alias Alias="HasTypeDefinition">i=40</Alias>
    <Alias Alias="HasModellingRule">i=37</Alias>
    <Alias Alias="HasEncoding">i=38</Alias>
    <Alias Alias="HasDescription">i=39</Alias>
    <Alias Alias="HasCause">i=53</Alias>
    <Alias Alias="ToState">i=52</Alias>
    <Alias Alias="FromState">i=51</Alias>
    <Alias Alias="HasEffect">i=54</Alias>
    <Alias Alias="HasTrueSubState">i=9004</Alias>
    <Alias Alias="HasFalseSubState">i=9005</Alias>
    <Alias Alias="HasDictionaryEntry">i=17597</Alias>
    <Alias Alias="HasCondition">i=9006</Alias>
    <Alias Alias="HasGuard">i=15112</Alias>
    <Alias Alias="HasAddIn">i=17604</Alias>
    <Alias Alias="HasInterface">i=17603</Alias>
    <Alias Alias="GeneratesEvent">i=41</Alias>
    <Alias Alias="AlwaysGeneratesEvent">i=3065</Alias>
    <Alias Alias="HasOrderedComponent">i=49</Alias>
    <Alias Alias="HasAlarmSuppressionGroup">i=16361</Alias>
    <Alias Alias="AlarmGroupMember">i=16362</Alias>
    <Alias Alias="AlarmSuppressionGroupMember">i=32059</Alias>
  </Aliases>
  <UAObjectType NodeId="ns=1;i=1082" BrowseName="1:Machine">
    <DisplayName>Machine</DisplayName>
    <References>
      <Reference ReferenceType="HasSubtype" IsForward="false">ns=2;i=160</Reference>
    </References>
  </UAObjectType>
</UANodeSet>

How do I fix that?

@opcfoundation-org
Copy link
Contributor

Not sure what you are expecting.
Try adding an opc:Object with a TypeDefinition=Machine
You should see the components appear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants