Skip to main content

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.

Basic instance
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:

FieldOPC UA referenceDescription
organizedByOrganizes (inverse)Place under a folder or organizer node
componentOfHasComponent (inverse)Make a component of another object
propertyOfHasProperty (inverse)Make a property of another object
orderedComponentOfHasOrderedComponent (inverse)Ordered component (position matters)
physicalComponentOfHasPhysicalComponent (inverse)Physical sub-part
containedComponentOfIsContainedIn (inverse)Logical containment

Browse paths are written relative to the address space root, using namespace aliases:

Placement references
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
note

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:

$anchor for disambiguation
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:

Opting in to optional members
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.

Setting initial values
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:

Implementing interfaces
instances:
- browseName: Robot1
typeDefinition: RobotType
organizedBy: /ua:Objects
interfaces:
- browseName: di:ITagNameplateType
- browseName: di:IVendorNameplateType
note

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

Full instance 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
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
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>