Instances
The instances section declares concrete object instances in the OPC UA address space.
Unlike objectTypes (which define reusable templates), instances are the actual nodes that
OPC UA clients browse and interact with.
instances:
- browseName: Tank1
typeDefinition: TankType
organizedBy: /ua:Objects
description: The primary water storage tank.
Placement references
Every instance must be placed somewhere in the address space using one of these fields:
| Field | OPC UA reference | Description |
|---|---|---|
organizedBy | Organizes (inverse) | Place under a folder or organizer node |
componentOf | HasComponent (inverse) | Make a component of another object |
propertyOf | HasProperty (inverse) | Make a property of another object |
orderedComponentOf | HasOrderedComponent (inverse) | Ordered component (position matters) |
physicalComponentOf | HasPhysicalComponent (inverse) | Physical sub-part |
containedComponentOf | IsContainedIn (inverse) | Logical containment |
Browse paths are written relative to the address space root, using namespace aliases:
instances:
- browseName: MyDevice
typeDefinition: MyDeviceType
organizedBy: /ua:Objects # place under the standard Objects folder
- browseName: TemperatureSensor
typeDefinition: TemperatureSensorType
componentOf: MyDevice # component of another instance in this file
di:DeviceType is abstract and cannot be instantiated directly. Derive a concrete subtype
(e.g. MyDeviceType subtypeOf: di:DeviceType) and use that as the typeDefinition.
$anchor
New in v2.0.0
When multiple instances share the same browseName under different parents, the LSP
server cannot unambiguously resolve completion paths. Use $anchor to assign a unique
identifier to an instance that the LSP will use for path resolution:
instances:
- browseName: Sensor
$anchor: sensor-inlet
typeDefinition: TemperatureSensorType
componentOf: InletPipe
- browseName: Sensor
$anchor: sensor-outlet
typeDefinition: TemperatureSensorType
componentOf: OutletPipe
Anchors are a modelling aid — they do not appear in the generated NodeSet XML.
When the $anchor value equals the browseName, the $anchor declaration is implicit
and can be omitted.
optionals
Instantiate optional members of the type definition that would otherwise be omitted:
instances:
- browseName: Tank2
typeDefinition: TankType
organizedBy: /ua:Objects
optionals:
- MaxLevel
- MinLevel
- OverflowAlarm
initializers
Set initial values for variables on this instance. See the Initializers page for the full reference.
instances:
- browseName: Tank3
typeDefinition: TankType
organizedBy: /ua:Objects
initializers:
- variable: MaxLevel
value: 100.0
- variable: MinLevel
value: 5.0
interfaces
Declare that this instance implements one or more OPC UA interface types.
Each entry uses the browseName: key with the fully-qualified interface name:
instances:
- browseName: Robot1
typeDefinition: RobotType
organizedBy: /ua:Objects
interfaces:
- browseName: di:ITagNameplateType
- browseName: di:IVendorNameplateType
The interfaces: list expects objects with a browseName: key, not plain strings.
Use di:ITagNameplateType and di:IVendorNameplateType from the Device Integration
companion spec for standard nameplates.
Full example
instances:
- browseName: ProductionLine
typeDefinition: ua:FolderType
organizedBy: /ua:Objects
- browseName: Station1
typeDefinition: MyDeviceType
organizedBy: ProductionLine
interfaces:
- browseName: di:ITagNameplateType
optionals:
- ParameterSet
initializers:
- variable: Manufacturer
value: "Acme Corp"
- variable: Model
value: "Station v2"
- browseName: StationSensor
$anchor: station1-temp
typeDefinition: TemperatureSensorType
componentOf: Station1
initializers:
- variable: Temperature.EURange
euRange:
low: -40.0
high: 200.0
📄 Full working example — instances.model.yaml
# yaml-language-server: $schema=../../../../schemas/nodeset2.schema.json
#
# Living documentation example for: s65_instances.md
# Validate: opcua-modeler generate --input instances.model.yaml
namespaceUri: http://example.com/doc/instances/
version: 1.0.0
namespaces:
- di
# ── Types used by instance snippets ───────────────────────────────────────────
objectTypes:
- browseName: MyDeviceType
subtypeOf: di:DeviceType
# concrete subtype — di:DeviceType itself is abstract and cannot be instantiated
- browseName: TankType
components:
- browseName: Level
typeDefinition: ua:AnalogItemType
dataType: ua:Double
modellingRule: Mandatory
- browseName: MaxLevel
dataType: ua:Double
modellingRule: Optional
- browseName: MinLevel
dataType: ua:Double
modellingRule: Optional
- browseName: OverflowAlarm
dataType: ua:Boolean
modellingRule: Optional
- browseName: TemperatureSensorType
components:
- browseName: Temperature
typeDefinition: ua:AnalogItemType
dataType: ua:Double
- browseName: RobotType
# ── Parent objects needed for $anchor snippets ────────────────────────────────────────
instances:
- browseName: InletPipe
typeDefinition: ua:BaseObjectType
organizedBy: /ua:Objects
- browseName: OutletPipe
typeDefinition: ua:BaseObjectType
organizedBy: /ua:Objects
- browseName: Tank1
typeDefinition: TankType
organizedBy: /ua:Objects
description: The primary water storage tank.
- browseName: MyDevice
typeDefinition: MyDeviceType
organizedBy: /ua:Objects # place under the standard Objects folder
- browseName: TemperatureSensor
typeDefinition: TemperatureSensorType
componentOf: MyDevice # component of another instance in this file
- browseName: Sensor
$anchor: sensor-inlet
typeDefinition: TemperatureSensorType
componentOf: InletPipe
- browseName: Sensor
$anchor: sensor-outlet
typeDefinition: TemperatureSensorType
componentOf: OutletPipe
- browseName: Tank2
typeDefinition: TankType
organizedBy: /ua:Objects
optionals:
- MaxLevel
- MinLevel
- OverflowAlarm
- browseName: Tank3
typeDefinition: TankType
organizedBy: /ua:Objects
initializers:
- variable: MaxLevel
value: 100.0
- variable: MinLevel
value: 5.0
- browseName: Robot1
typeDefinition: RobotType
organizedBy: /ua:Objects
interfaces:
- browseName: di:ITagNameplateType
- browseName: di:IVendorNameplateType
- browseName: ProductionLine
typeDefinition: ua:FolderType
organizedBy: /ua:Objects
- browseName: Station1
typeDefinition: MyDeviceType
organizedBy: ProductionLine
interfaces:
- browseName: di:ITagNameplateType
optionals:
- ParameterSet
initializers:
- variable: Manufacturer
value: "Acme Corp"
- variable: Model
value: "Station v2"
- browseName: StationSensor
$anchor: station1-temp
typeDefinition: TemperatureSensorType
componentOf: Station1
initializers:
- variable: Temperature.EURange
euRange:
low: -40.0
high: 200.0
📄 Generated NodeSet2.xml — instances.model.Nodeset2.xml
<?xml version="1.0"?>
<UANodeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd" xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd" xmlns:ns2="http://opcfoundation.org/UA/DI/Type.xsd" xmlns:ns1="http://example.com/doc/instances/Type.xsd">
<NamespaceUris>
<Uri>http://example.com/doc/instances/</Uri>
<Uri>http://opcfoundation.org/UA/DI/</Uri>
</NamespaceUris>
<Models>
<Model ModelUri="http://example.com/doc/instances/" Version="1.0.0" PublicationDate="2026-05-26T09:24:00.000Z">
<RequiredModel ModelUri="http://opcfoundation.org/UA/" Version="1.05.06" PublicationDate="2025-11-08T00:00:00.000Z"/>
<RequiredModel ModelUri="http://opcfoundation.org/UA/DI/" Version="1.05.0" PublicationDate="2025-11-15T00:00:00.000Z"/>
</Model>
</Models>
<Aliases>
<Alias Alias="Boolean">i=1</Alias>
<Alias Alias="Double">i=11</Alias>
<Alias Alias="HasComponent">i=47</Alias>
<Alias Alias="HasInterface">i=17603</Alias>
<Alias Alias="HasModellingRule">i=37</Alias>
<Alias Alias="HasProperty">i=46</Alias>
<Alias Alias="HasSubtype">i=45</Alias>
<Alias Alias="HasTypeDefinition">i=40</Alias>
<Alias Alias="Int32">i=6</Alias>
<Alias Alias="LocalizedText">i=21</Alias>
<Alias Alias="Organizes">i=35</Alias>
<Alias Alias="Range">i=884</Alias>
<Alias Alias="String">i=12</Alias>
</Aliases>
<!--ReferenceTypes-->
<!--ObjectTypes-->
<!--ObjectType - 1:MyDeviceType {{{{ -->
<UAObjectType NodeId="ns=1;i=1004" BrowseName="1:MyDeviceType">
<DisplayName>MyDeviceType</DisplayName>
<References>
<Reference ReferenceType="HasSubtype" IsForward="false">ns=2;i=1002</Reference>
</References>
</UAObjectType>
<!--ObjectType - 1:MyDeviceType }}}}-->
<!--ObjectType - 1:TankType {{{{ -->
<UAObjectType NodeId="ns=1;i=1005" BrowseName="1:TankType">
<DisplayName>TankType</DisplayName>
<References>
<Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1006</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1008</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1009</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1010</Reference>
</References>
</UAObjectType>
<UAVariable NodeId="ns=1;i=1006" BrowseName="1:Level" ParentNodeId="ns=1;i=1005" AccessLevel="3" DataType="Double">
<DisplayName>Level</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1007</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1007" BrowseName="EURange" ParentNodeId="ns=1;i=1006" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<UAVariable NodeId="ns=1;i=1008" BrowseName="1:MaxLevel" ParentNodeId="ns=1;i=1005" AccessLevel="3" DataType="Double">
<DisplayName>MaxLevel</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
<Reference ReferenceType="HasModellingRule">i=80</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1009" BrowseName="1:MinLevel" ParentNodeId="ns=1;i=1005" AccessLevel="3" DataType="Double">
<DisplayName>MinLevel</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
<Reference ReferenceType="HasModellingRule">i=80</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1010" BrowseName="1:OverflowAlarm" ParentNodeId="ns=1;i=1005" AccessLevel="3" DataType="Boolean">
<DisplayName>OverflowAlarm</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
<Reference ReferenceType="HasModellingRule">i=80</Reference>
</References>
</UAVariable>
<!--ObjectType - 1:TankType }}}}-->
<!--ObjectType - 1:TemperatureSensorType {{{{ -->
<UAObjectType NodeId="ns=1;i=1011" BrowseName="1:TemperatureSensorType">
<DisplayName>TemperatureSensorType</DisplayName>
<References>
<Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1012</Reference>
</References>
</UAObjectType>
<UAVariable NodeId="ns=1;i=1012" BrowseName="1:Temperature" ParentNodeId="ns=1;i=1011" AccessLevel="3" DataType="Double">
<DisplayName>Temperature</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1013</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1013" BrowseName="EURange" ParentNodeId="ns=1;i=1012" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<!--ObjectType - 1:TemperatureSensorType }}}}-->
<!--ObjectType - 1:RobotType {{{{ -->
<UAObjectType NodeId="ns=1;i=1014" BrowseName="1:RobotType">
<DisplayName>RobotType</DisplayName>
<References>
<Reference ReferenceType="HasSubtype" IsForward="false">i=58</Reference>
</References>
</UAObjectType>
<!--ObjectType - 1:RobotType }}}}-->
<!--VariableTypes-->
<!--Other Nodes-->
<!--Object - 1:InletPipe {{{{ -->
<UAObject NodeId="ns=1;i=1015" BrowseName="1:InletPipe">
<DisplayName>InletPipe</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=58</Reference>
<Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1032</Reference>
</References>
</UAObject>
<!--Object - 1:Sensor {{{{ -->
<UAObject NodeId="ns=1;i=1032" BrowseName="1:Sensor" ParentNodeId="ns=1;i=1015">
<DisplayName>Sensor</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1011</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1033</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1033" BrowseName="1:Temperature" ParentNodeId="ns=1;i=1032" AccessLevel="3" DataType="Double">
<DisplayName>Temperature</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1034</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1034" BrowseName="EURange" ParentNodeId="ns=1;i=1033" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<!--Object - 1:Sensor }}}} -->
<!--Object - 1:InletPipe }}}} -->
<!--Object - 1:OutletPipe {{{{ -->
<UAObject NodeId="ns=1;i=1016" BrowseName="1:OutletPipe">
<DisplayName>OutletPipe</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=58</Reference>
<Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1035</Reference>
</References>
</UAObject>
<!--Object - 1:Sensor {{{{ -->
<UAObject NodeId="ns=1;i=1035" BrowseName="1:Sensor" ParentNodeId="ns=1;i=1016">
<DisplayName>Sensor</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1011</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1036</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1036" BrowseName="1:Temperature" ParentNodeId="ns=1;i=1035" AccessLevel="3" DataType="Double">
<DisplayName>Temperature</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1037</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1037" BrowseName="EURange" ParentNodeId="ns=1;i=1036" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<!--Object - 1:Sensor }}}} -->
<!--Object - 1:OutletPipe }}}} -->
<!--Object - 1:Tank1 {{{{ -->
<UAObject NodeId="ns=1;i=1017" BrowseName="1:Tank1">
<DisplayName>Tank1</DisplayName>
<Description>The primary water storage tank.</Description>
<References>
<Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1005</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1018</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1018" BrowseName="1:Level" ParentNodeId="ns=1;i=1017" AccessLevel="3" DataType="Double">
<DisplayName>Level</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1019</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1019" BrowseName="EURange" ParentNodeId="ns=1;i=1018" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<!--Object - 1:Tank1 }}}} -->
<!--Object - 1:MyDevice {{{{ -->
<UAObject NodeId="ns=1;i=1020" BrowseName="1:MyDevice">
<DisplayName>MyDevice</DisplayName>
<References>
<Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1004</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1021</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1022</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1023</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1024</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1025</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1026</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1027</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1028</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1029</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1021" BrowseName="2:Manufacturer" ParentNodeId="ns=1;i=1020" DataType="LocalizedText">
<DisplayName>Manufacturer</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1022" BrowseName="2:Model" ParentNodeId="ns=1;i=1020" DataType="LocalizedText">
<DisplayName>Model</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1023" BrowseName="2:HardwareRevision" ParentNodeId="ns=1;i=1020" DataType="String">
<DisplayName>HardwareRevision</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1024" BrowseName="2:SoftwareRevision" ParentNodeId="ns=1;i=1020" DataType="String">
<DisplayName>SoftwareRevision</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1025" BrowseName="2:DeviceRevision" ParentNodeId="ns=1;i=1020" DataType="String">
<DisplayName>DeviceRevision</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1026" BrowseName="2:DeviceManual" ParentNodeId="ns=1;i=1020" DataType="String">
<DisplayName>DeviceManual</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1027" BrowseName="2:SerialNumber" ParentNodeId="ns=1;i=1020" DataType="String">
<DisplayName>SerialNumber</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1028" BrowseName="2:RevisionCounter" ParentNodeId="ns=1;i=1020" DataType="Int32">
<DisplayName>RevisionCounter</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<!--Object - 1:TemperatureSensor {{{{ -->
<UAObject NodeId="ns=1;i=1029" BrowseName="1:TemperatureSensor" ParentNodeId="ns=1;i=1020">
<DisplayName>TemperatureSensor</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1011</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1030</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1030" BrowseName="1:Temperature" ParentNodeId="ns=1;i=1029" AccessLevel="3" DataType="Double">
<DisplayName>Temperature</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1031</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1031" BrowseName="EURange" ParentNodeId="ns=1;i=1030" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<!--Object - 1:TemperatureSensor }}}} -->
<!--Object - 1:MyDevice }}}} -->
<!--Object - 1:Tank2 {{{{ -->
<UAObject NodeId="ns=1;i=1038" BrowseName="1:Tank2">
<DisplayName>Tank2</DisplayName>
<References>
<Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1005</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1039</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1041</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1042</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1043</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1039" BrowseName="1:Level" ParentNodeId="ns=1;i=1038" AccessLevel="3" DataType="Double">
<DisplayName>Level</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1040</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1040" BrowseName="EURange" ParentNodeId="ns=1;i=1039" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<UAVariable NodeId="ns=1;i=1041" BrowseName="1:MaxLevel" ParentNodeId="ns=1;i=1038" AccessLevel="3" DataType="Double">
<DisplayName>MaxLevel</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1042" BrowseName="1:MinLevel" ParentNodeId="ns=1;i=1038" AccessLevel="3" DataType="Double">
<DisplayName>MinLevel</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1043" BrowseName="1:OverflowAlarm" ParentNodeId="ns=1;i=1038" AccessLevel="3" DataType="Boolean">
<DisplayName>OverflowAlarm</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
</References>
</UAVariable>
<!--Object - 1:Tank2 }}}} -->
<!--Object - 1:Tank3 {{{{ -->
<UAObject NodeId="ns=1;i=1044" BrowseName="1:Tank3">
<DisplayName>Tank3</DisplayName>
<References>
<Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1005</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1045</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1045" BrowseName="1:Level" ParentNodeId="ns=1;i=1044" AccessLevel="3" DataType="Double">
<DisplayName>Level</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1046</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1046" BrowseName="EURange" ParentNodeId="ns=1;i=1045" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<!--Object - 1:Tank3 }}}} -->
<!--Object - 1:Robot1 {{{{ -->
<UAObject NodeId="ns=1;i=1047" BrowseName="1:Robot1">
<DisplayName>Robot1</DisplayName>
<References>
<Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1014</Reference>
<Reference ReferenceType="HasInterface">ns=2;i=15035</Reference>
<Reference ReferenceType="HasInterface">ns=2;i=15048</Reference>
</References>
</UAObject>
<!--Object - 1:Robot1 }}}} -->
<!--Object - 1:ProductionLine {{{{ -->
<UAObject NodeId="ns=1;i=1049" BrowseName="1:ProductionLine">
<DisplayName>ProductionLine</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=61</Reference>
<Reference ReferenceType="Organizes" IsForward="false">i=85</Reference>
</References>
</UAObject>
<!--Object - 1:Station1 {{{{ -->
<UAObject NodeId="ns=1;i=1050" BrowseName="1:Station1">
<DisplayName>Station1</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1004</Reference>
<Reference ReferenceType="Organizes" IsForward="false">ns=1;i=1049</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1051</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1052</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1053</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1054</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1055</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1056</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1057</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1058</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1059</Reference>
<Reference ReferenceType="HasInterface">ns=2;i=15048</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1051" BrowseName="2:Manufacturer" ParentNodeId="ns=1;i=1050" DataType="LocalizedText">
<DisplayName>Manufacturer</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1052" BrowseName="2:Model" ParentNodeId="ns=1;i=1050" DataType="LocalizedText">
<DisplayName>Model</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1053" BrowseName="2:HardwareRevision" ParentNodeId="ns=1;i=1050" DataType="String">
<DisplayName>HardwareRevision</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1054" BrowseName="2:SoftwareRevision" ParentNodeId="ns=1;i=1050" DataType="String">
<DisplayName>SoftwareRevision</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1055" BrowseName="2:DeviceRevision" ParentNodeId="ns=1;i=1050" DataType="String">
<DisplayName>DeviceRevision</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1056" BrowseName="2:DeviceManual" ParentNodeId="ns=1;i=1050" DataType="String">
<DisplayName>DeviceManual</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1057" BrowseName="2:SerialNumber" ParentNodeId="ns=1;i=1050" DataType="String">
<DisplayName>SerialNumber</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1058" BrowseName="2:RevisionCounter" ParentNodeId="ns=1;i=1050" DataType="Int32">
<DisplayName>RevisionCounter</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
</UAVariable>
<!--Object - 1:StationSensor {{{{ -->
<UAObject NodeId="ns=1;i=1059" BrowseName="1:StationSensor" ParentNodeId="ns=1;i=1050">
<DisplayName>StationSensor</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">ns=1;i=1011</Reference>
<Reference ReferenceType="HasComponent">ns=1;i=1060</Reference>
</References>
</UAObject>
<UAVariable NodeId="ns=1;i=1060" BrowseName="1:Temperature" ParentNodeId="ns=1;i=1059" AccessLevel="3" DataType="Double">
<DisplayName>Temperature</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=2368</Reference>
<Reference ReferenceType="HasProperty">ns=1;i=1061</Reference>
</References>
</UAVariable>
<UAVariable NodeId="ns=1;i=1061" BrowseName="EURange" ParentNodeId="ns=1;i=1060" AccessLevel="3" DataType="Range">
<DisplayName>EURange</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
</References>
<Value>
<ExtensionObject xmlns="http://opcfoundation.org/UA/2008/02/Types.xsd">
<TypeId>
<Identifier>i=885</Identifier>
</TypeId>
<Body>
<Range>
<Low>-1</Low>
<High>1</High>
</Range>
</Body>
</ExtensionObject>
</Value>
</UAVariable>
<!--Object - 1:StationSensor }}}} -->
<!--Object - 1:Station1 }}}} -->
<!--Object - 1:ProductionLine }}}} -->
</UANodeSet>