<?xml version="1.0" encoding="utf-8" ?>
<!--
 * Copyright (c) 2005-2018 The OPC Foundation, Inc. All rights reserved.
 *
 * OPC Foundation MIT License 1.00
 * 
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * The complete license agreement can be found here:
 * http://opcfoundation.org/License/MIT/1.00/
-->

<UANodeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" LastModified="2012-07-17T18:17:04.5574395Z" xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd">
  <NamespaceUris>
    <Uri>http://opcfoundation.org/UA/DI/</Uri>
  </NamespaceUris>
  <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>
  </Aliases>
  <UAReferenceType NodeId="ns=1;i=4001" BrowseName="1:Uses">
    <DisplayName>Uses</DisplayName>
    <Description>The semantic is to indicate that the target Node is used for the source Node of the Reference</Description>
    <References>
      <Reference ReferenceType="HasSubtype" IsForward="false">i=35</Reference>
    </References>
    <InverseName>UsedBy</InverseName>
  </UAReferenceType>
  <UAObject NodeId="ns=1;i=5001" BrowseName="1:DeviceSet">
    <DisplayName>DeviceSet</DisplayName>
    <Description>Contains all instances of devices</Description>
    <References>
      <Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
      <Reference ReferenceType="HasTypeDefinition">i=58</Reference>
    </References>
  </UAObject>
  <UAObjectType NodeId="ns=1;i=1001" BrowseName="1:TopologyElementType" IsAbstract="true">
    <DisplayName>TopologyElementType</DisplayName>
    <Description>Defines the basic information components for all configurable elements in a device topology</Description>
    <References>
      <Reference ReferenceType="HasComponent">ns=1;i=5002</Reference>
      <Reference ReferenceType="HasComponent">ns=1;i=5003</Reference>
      <Reference ReferenceType="HasComponent">ns=1;i=6019</Reference>
      <Reference ReferenceType="HasComponent">ns=1;i=6014</Reference>
      <Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
    </References>
  </UAObjectType>
  <UAObject NodeId="ns=1;i=5002" BrowseName="1:ParameterSet" ParentNodeId="ns=1;i=1001">
    <DisplayName>ParameterSet</DisplayName>
    <Description>Flat list of Parameters</Description>
    <References>
      <Reference ReferenceType="Organizes">ns=1;i=6017</Reference>
      <Reference ReferenceType="HasTypeDefinition">i=58</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1001</Reference>
    </References>
  </UAObject>
  <UAVariable NodeId="ns=1;i=6017" BrowseName="1:&lt;ParameterIdentifier&gt;" ParentNodeId="ns=1;i=5002">
    <DisplayName>&lt;ParameterIdentifier&gt;</DisplayName>
    <Description>A parameter which belongs to the topology element.</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=63</Reference>
      <Reference ReferenceType="HasModellingRule">i=11508</Reference>
      <Reference ReferenceType="Organizes" IsForward="false">ns=1;i=5002</Reference>
    </References>
  </UAVariable>
  <UAObject NodeId="ns=1;i=5003" BrowseName="1:MethodSet" ParentNodeId="ns=1;i=1001">
    <DisplayName>MethodSet</DisplayName>
    <Description>Flat list of Methods</Description>
    <References>
      <Reference ReferenceType="Organizes">ns=1;i=6018</Reference>
      <Reference ReferenceType="HasTypeDefinition">i=58</Reference>
      <Reference ReferenceType="HasModellingRule">i=80</Reference>
      <Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1001</Reference>
    </References>
  </UAObject>
  <UAMethod NodeId="ns=1;i=6018" BrowseName="1:&lt;MethodIdentifier&gt;" ParentNodeId="ns=1;i=5003">
    <DisplayName>&lt;MethodIdentifier&gt;</DisplayName>
    <Description>A method which belongs to the topology element.</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">ns=1;i=6018</Reference>
      <Reference ReferenceType="HasModellingRule">i=11508</Reference>
      <Reference ReferenceType="Organizes" IsForward="false">ns=1;i=5003</Reference>
    </References>
  </UAMethod>
  <UAObject NodeId="ns=1;i=6019" BrowseName="1:&lt;GroupIdentifier&gt;" ParentNodeId="ns=1;i=1001">
    <DisplayName>&lt;GroupIdentifier&gt;</DisplayName>
    <Description>An application specific functional group used to organize parameters and methods.</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">ns=1;i=1005</Reference>
      <Reference ReferenceType="HasModellingRule">i=11508</Reference>
      <Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1001</Reference>
    </References>
  </UAObject>
  <UAObject NodeId="ns=1;i=6014" BrowseName="1:Identification" ParentNodeId="ns=1;i=1001">
    <DisplayName>Identification</DisplayName>
    <Description>Used to organize parameters for identification of this TopologyElement</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">ns=1;i=1005</Reference>
      <Reference ReferenceType="HasModellingRule">i=80</Reference>
      <Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1001</Reference>
    </References>
  </UAObject>
  <UAObjectType NodeId="ns=1;i=1002" BrowseName="1:DeviceType" IsAbstract="true">
    <DisplayName>DeviceType</DisplayName>
    <Description>Defines the basic information components for all configurable elements in a device topology</Description>
    <References>
      <Reference ReferenceType="HasProperty">ns=1;i=6001</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6002</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6003</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6004</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6005</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6006</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6007</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6008</Reference>
      <Reference ReferenceType="HasSubtype" IsForward="false">ns=1;i=1001</Reference>
    </References>
  </UAObjectType>
  <UAVariable NodeId="ns=1;i=6001" BrowseName="1:SerialNumber" ParentNodeId="ns=1;i=1002" DataType="String">
    <DisplayName>SerialNumber</DisplayName>
    <Description>Identifier that uniquely identifies, within a manufacturer, a device instance</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1002</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6002" BrowseName="1:RevisionCounter" ParentNodeId="ns=1;i=1002" DataType="Int32">
    <DisplayName>RevisionCounter</DisplayName>
    <Description>An incremental counter indicating the number of times the static data within the Device has been modified</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1002</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6003" BrowseName="1:Manufacturer" ParentNodeId="ns=1;i=1002" DataType="LocalizedText">
    <DisplayName>Manufacturer</DisplayName>
    <Description>Model name of the device</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1002</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6004" BrowseName="1:Model" ParentNodeId="ns=1;i=1002" DataType="LocalizedText">
    <DisplayName>Model</DisplayName>
    <Description>Name of the company that manufactured the device</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1002</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6005" BrowseName="1:DeviceManual" ParentNodeId="ns=1;i=1002" DataType="String">
    <DisplayName>DeviceManual</DisplayName>
    <Description>Address (pathname in the file system or a URL | Web address) of user manual for the device</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1002</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6006" BrowseName="1:DeviceRevision" ParentNodeId="ns=1;i=1002" DataType="String">
    <DisplayName>DeviceRevision</DisplayName>
    <Description>Overall revision level of the device</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1002</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6007" BrowseName="1:SoftwareRevision" ParentNodeId="ns=1;i=1002" DataType="String">
    <DisplayName>SoftwareRevision</DisplayName>
    <Description>Revision level of the software/firmware of the device</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1002</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6008" BrowseName="1:HardwareRevision" ParentNodeId="ns=1;i=1002" DataType="String">
    <DisplayName>HardwareRevision</DisplayName>
    <Description>Revision level of the hardware of the device</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1002</Reference>
    </References>
  </UAVariable>
  <UAObjectType NodeId="ns=1;i=1003" BrowseName="1:BlockType" IsAbstract="true">
    <DisplayName>BlockType</DisplayName>
    <Description>Adds the concept of Blocks needed for block-oriented FieldDevices</Description>
    <References>
      <Reference ReferenceType="HasProperty">ns=1;i=6009</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6010</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6011</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6012</Reference>
      <Reference ReferenceType="HasProperty">ns=1;i=6013</Reference>
      <Reference ReferenceType="HasSubtype" IsForward="false">ns=1;i=1001</Reference>
    </References>
  </UAObjectType>
  <UAVariable NodeId="ns=1;i=6009" BrowseName="1:RevisionCounter" ParentNodeId="ns=1;i=1003" DataType="UInt32">
    <DisplayName>RevisionCounter</DisplayName>
    <Description>Incremental counter indicating the number of times the static data within the Block has been modified</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=80</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1003</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6010" BrowseName="1:ActualMode" ParentNodeId="ns=1;i=1003" DataType="LocalizedText">
    <DisplayName>ActualMode</DisplayName>
    <Description>Current mode of operation the Block is able to achieve</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=80</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1003</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6011" BrowseName="1:PermittedMode" ParentNodeId="ns=1;i=1003" DataType="LocalizedText">
    <DisplayName>PermittedMode</DisplayName>
    <Description>Modes of operation that are allowed for the Block based on application requirements</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=80</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1003</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6012" BrowseName="1:NormalMode" ParentNodeId="ns=1;i=1003" DataType="LocalizedText">
    <DisplayName>NormalMode</DisplayName>
    <Description>Mode the Block should be set to during normal operating conditions</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=80</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1003</Reference>
    </References>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6013" BrowseName="1:TargetMode" ParentNodeId="ns=1;i=1003" DataType="LocalizedText">
    <DisplayName>TargetMode</DisplayName>
    <Description>Mode of operation that is desired for the Block</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=68</Reference>
      <Reference ReferenceType="HasModellingRule">i=80</Reference>
      <Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=1003</Reference>
    </References>
  </UAVariable>
  <UAObjectType NodeId="ns=1;i=1004" BrowseName="1:ConfigurableObjectType">
    <DisplayName>ConfigurableObjectType</DisplayName>
    <Description>Defines a general pattern to expose and configure modular components</Description>
    <References>
      <Reference ReferenceType="HasComponent">ns=1;i=5004</Reference>
      <Reference ReferenceType="HasComponent">ns=1;i=6026</Reference>
      <Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
    </References>
  </UAObjectType>
  <UAObject NodeId="ns=1;i=5004" BrowseName="1:SupportedTypes" ParentNodeId="ns=1;i=1004">
    <DisplayName>SupportedTypes</DisplayName>
    <Description>Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=61</Reference>
      <Reference ReferenceType="HasModellingRule">i=78</Reference>
      <Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1004</Reference>
    </References>
  </UAObject>
  <UAObject NodeId="ns=1;i=6026" BrowseName="1:&lt;ObjectIdentifier&gt;" ParentNodeId="ns=1;i=1004">
    <DisplayName>&lt;ObjectIdentifier&gt;</DisplayName>
    <Description>The instances that .</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=58</Reference>
      <Reference ReferenceType="HasModellingRule">i=11508</Reference>
      <Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1004</Reference>
    </References>
  </UAObject>
  <UAObjectType NodeId="ns=1;i=1005" BrowseName="1:FunctionalGroupType">
    <DisplayName>FunctionalGroupType</DisplayName>
    <Description>FolderType is used to organize the Parameters and Methods from the complete set (ParameterSet, MethodSet) with regard to their application</Description>
    <References>
      <Reference ReferenceType="HasComponent">ns=1;i=6027</Reference>
      <Reference ReferenceType="Organizes">ns=1;i=6028</Reference>
      <Reference ReferenceType="Organizes">ns=1;i=6029</Reference>
      <Reference ReferenceType="HasSubtype" IsForward="false">i=61</Reference>
    </References>
  </UAObjectType>
  <UAObject NodeId="ns=1;i=6027" BrowseName="1:&lt;GroupIdentifier&gt;" ParentNodeId="ns=1;i=1005">
    <DisplayName>&lt;GroupIdentifier&gt;</DisplayName>
    <Description>An application specific functional group used to organize parameters and methods.</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">ns=1;i=1005</Reference>
      <Reference ReferenceType="HasModellingRule">i=11508</Reference>
      <Reference ReferenceType="HasComponent" IsForward="false">ns=1;i=1005</Reference>
    </References>
  </UAObject>
  <UAVariable NodeId="ns=1;i=6028" BrowseName="1:&lt;ParameterIdentifier&gt;" ParentNodeId="ns=1;i=1005">
    <DisplayName>&lt;ParameterIdentifier&gt;</DisplayName>
    <Description>A parameter which belongs to the group.</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">i=63</Reference>
      <Reference ReferenceType="HasModellingRule">i=11508</Reference>
      <Reference ReferenceType="Organizes" IsForward="false">ns=1;i=1005</Reference>
    </References>
  </UAVariable>
  <UAMethod NodeId="ns=1;i=6029" BrowseName="1:&lt;MethodIdentifier&gt;" ParentNodeId="ns=1;i=1005">
    <DisplayName>&lt;MethodIdentifier&gt;</DisplayName>
    <Description>A method which belongs to the group.</Description>
    <References>
      <Reference ReferenceType="HasTypeDefinition">ns=1;i=6029</Reference>
      <Reference ReferenceType="HasModellingRule">i=11508</Reference>
      <Reference ReferenceType="Organizes" IsForward="false">ns=1;i=1005</Reference>
    </References>
  </UAMethod>
  <UAObjectType NodeId="ns=1;i=1006" BrowseName="1:ProtocolType" IsAbstract="true">
    <DisplayName>ProtocolType</DisplayName>
    <Description>General structure of a Protocol ObjectType</Description>
    <References>
      <Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
    </References>
  </UAObjectType>
</UANodeSet>
