<?xml version="1.0" encoding="UTF-8" ?>
<!-- created at 2025-12-15 15:48:06 -->
<UANodeSet xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd" xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd">
	<Extensions>
		<atvise Version="3.13"/>
	</Extensions>
	<NamespaceUris>
		<Uri>http://www.atvise.com/atServer/UA/</Uri>
	</NamespaceUris>
	<Aliases>
		<!-- data types -->
		<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="String">i=12</Alias>
		<Alias Alias="DateTime">i=13</Alias>
		<Alias Alias="ByteString">i=15</Alias>
		<Alias Alias="XmlElement">i=16</Alias>
		<Alias Alias="NodeId">i=17</Alias>
		<Alias Alias="LocalizedText">i=21</Alias>
		<!-- references -->
		<Alias Alias="Organizes">i=35</Alias>
		<Alias Alias="HasEventSource">i=36</Alias>
		<Alias Alias="HasModellingRule">i=37</Alias>
		<Alias Alias="HasTypeDefinition">i=40</Alias>
		<Alias Alias="HasSubtype">i=45</Alias>
		<Alias Alias="HasProperty">i=46</Alias>
		<Alias Alias="HasComponent">i=47</Alias>
		<Alias Alias="HasNotifier">i=48</Alias>
		<Alias Alias="HasCondition">i=9006</Alias>
		<Alias Alias="HasHistoricalConfiguration">i=56</Alias>
		<!-- types -->
		<Alias Alias="BaseDataType">i=24</Alias>
		<Alias Alias="BaseObjectType">i=58</Alias>
		<Alias Alias="FolderType">i=61</Alias>
		<Alias Alias="BaseVariableType">i=62</Alias>
		<Alias Alias="BaseDataVariableType">i=63</Alias>
		<Alias Alias="PropertyType">i=68</Alias>
		<Alias Alias="AlarmConditionStateType">ns=1;i=1001</Alias>
		<!-- modelling rules -->
		<Alias Alias="New">i=78</Alias>
		<Alias Alias="Shared">i=79</Alias>
		<Alias Alias="SharedExclusive">i=336</Alias>
		<!-- other -->
		<Alias Alias="Server">i=2253</Alias>
		<Alias Alias="Objects">i=85</Alias>
	</Aliases>
	<UAObjectType NodeId="ns=1;s=ObjectTypes.PROJECT" BrowseName="1:PROJECT" IsAbstract="true">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasSubtype" IsForward="false">BaseObjectType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt" ExportedBrowseName="1:Conveyor_Belt" Upstream="true"/>
		</Extensions>
	</UAObjectType>
	<UAObjectType NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt" BrowseName="1:Conveyor_Belt">
		<DisplayName Locale="en">Conveyor_Belt</DisplayName>
		<Description Locale="en">Conveyor_Belt</Description>
		<References>
			<Reference ReferenceType="HasSubtype" IsForward="false">ns=1;s=ObjectTypes.PROJECT</Reference>
		</References>
	</UAObjectType>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.Overview" BrowseName="1:Overview" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">Overview</DisplayName>
		<Description Locale="en">Overview</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.Display</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg height="350" version="1.2" width="460" xmlns="http://www.w3.org/2000/svg" xmlns:atv="http://webmi.atvise.com/2007/svgext" xmlns:xlink="http://www.w3.org/1999/xlink">
 <defs/>
 <metadata>
  <atv:parameter behavior="optional" defaultvalue="SYSTEM.GLOBALS.atvAlarmIndication" name="alarmIndication" valuetype="global"/>
  <atv:parameter behavior="optional" defaultvalue="SYSTEM.GLOBALS.atvStatusIndication" desc="status indication" name="statusIndication" valuetype="global"/>
  <atv:parameter behavior="optional" defaultvalue="#00ff00" name="autocolor" valuetype="color"/>
  <atv:gridconfig enabled="true" gridstyle="lines" height="20" width="20"/>
  <atv:snapconfig enabled="true" height="10" width="10"/>
 </metadata>
 <script atv:desc="" atv:href="SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS.indication" atv:name="" atv:type="text/ecmascript"/>
 <rect atv:refpx="230" atv:refpy="175" fill="#68676c" fill-opacity="0" height="350" id="id_1" stroke="#68676c" stroke-width="2" width="460" x="0" y="0"/>
 <rect atv:refpx="230" atv:refpy="175" fill="#68676c" fill-opacity="0" height="330" id="blinking_frame" stroke="#68676c" stroke-width="2" visibility="hidden" width="440" x="10" y="10"/>
 <g atv:refpx="140" atv:refpy="89.999" id="id_685" transform="matrix(2.4902,0,0,2.4694,15.1815,-33.4708)">
  <g atv:refpx="0" atv:refpy="0" id="id_580"/>
  <g atv:refpx="0" atv:refpy="0" id="id_581">
   <g atv:refpx="0" atv:refpy="0" id="id_582">
    <g atv:refpx="0" atv:refpy="0" id="id_583"/>
   </g>
  </g>
  <g atv:refpx="0" atv:refpy="0" id="id_584"/>
  <g atv:refpx="0" atv:refpy="0" id="id_585"/>
  <g atv:refpx="0" atv:refpy="0" id="id_586"/>
  <g atv:refpx="0" atv:refpy="0" id="id_587"/>
  <g atv:refpx="0" atv:refpy="0" id="id_588"/>
  <g atv:refpx="50.124" atv:refpy="49.999" id="id_592">
   <rect atv:refpx="11.148" atv:refpy="31.716" fill="#999999" height="20.126" id="id_593" width="18.425" x="1.935" y="21.653"/>
   <rect atv:refpx="49.84" atv:refpy="68.496" fill="#68676C" height="19.701" id="id_594" width="90.708" x="4.486" y="58.645"/>
   <g atv:refpx="58.238" atv:refpy="38.944" id="id_595">
    <clipPath id="id_589">
     <use overflow="visible" xlink:href="#SVGID_231_"/>
    </clipPath>
    <path atv:refpx="88.675" atv:refpy="42.77" clip-path="url(#SVGID_2_)" d="M88.675,46.314C90.631,46.314 92.218,44.728 92.218,42.771C92.218,40.814 90.632,39.227 88.675,39.227C86.718,39.227 85.131,40.814 85.131,42.771C85.131,44.727 86.718,46.314 88.675,46.314" fill="#68676C" id="id_596"/>
    <path atv:refpx="58.238" atv:refpy="38.023" clip-path="url(#SVGID_2_)" d="M23.195,31.574L23.195,44.472L86.833,44.472C90.394,44.472 93.282,41.584 93.282,38.023C93.282,34.461 90.393,31.574 86.833,31.574Z" fill="#999999" id="id_597"/>
    <path atv:refpx="57.352" atv:refpy="38.66" clip-path="url(#SVGID_2_)" d="M23.195,32.991L23.195,44.33L85.841,44.33C88.972,44.33 91.51,41.792 91.51,38.66C91.51,35.529 88.972,32.991 85.841,32.991Z" fill="#68676C" id="id_598"/>
    <path atv:refpx="84.778" atv:refpy="38.944" clip-path="url(#SVGID_2_)" d="M84.778,43.196C87.126,43.196 89.03,41.292 89.03,38.943C89.03,36.595 87.126,34.691 84.778,34.691C82.43,34.691 80.526,36.595 80.526,38.943C80.526,41.292 82.43,43.196 84.778,43.196" fill="#F2D600" id="id_599"/>
   </g>
   <rect atv:refpx="24.613" atv:refpy="31.433" fill="#999999" height="2.835" id="id_600" width="2.835" x="23.195" y="30.015"/>
   <rect atv:refpx="30.282" atv:refpy="31.433" fill="#999999" height="2.835" id="id_601" width="2.835" x="28.864" y="30.015"/>
   <rect atv:refpx="35.95" atv:refpy="31.433" fill="#999999" height="2.835" id="id_602" width="2.835" x="34.533" y="30.015"/>
   <rect atv:refpx="41.62" atv:refpy="31.433" fill="#999999" height="2.835" id="id_603" width="2.835" x="40.203" y="30.015"/>
   <rect atv:refpx="47.289" atv:refpy="31.433" fill="#999999" height="2.835" id="id_604" width="2.835" x="45.872" y="30.015"/>
   <rect atv:refpx="52.958" atv:refpy="31.433" fill="#999999" height="2.835" id="id_605" width="2.835" x="51.541" y="30.015"/>
   <rect atv:refpx="58.628" atv:refpy="31.433" fill="#999999" height="2.835" id="id_606" width="2.835" x="57.211" y="30.015"/>
   <rect atv:refpx="64.297" atv:refpy="31.433" fill="#999999" height="2.835" id="id_607" width="2.835" x="62.88" y="30.015"/>
   <rect atv:refpx="69.967" atv:refpy="31.433" fill="#999999" height="2.835" id="id_608" width="2.835" x="68.549" y="30.015"/>
   <rect atv:refpx="75.636" atv:refpy="31.433" fill="#999999" height="2.835" id="id_609" width="2.835" x="74.218" y="30.015"/>
   <rect atv:refpx="81.306" atv:refpy="31.433" fill="#999999" height="2.835" id="id_610" width="2.835" x="79.888" y="30.015"/>
   <rect atv:refpx="86.975" atv:refpy="31.433" fill="#999999" height="2.835" id="id_611" width="2.835" x="85.557" y="30.015"/>
   <rect atv:refpx="92.096" atv:refpy="33.72" fill="#999999" height="2.834" id="id_612" transform="matrix(0.7071 -0.7071 0.7071 0.7071 3.1309 74.9987)" width="2.834" x="90.68" y="32.303"/>
   <rect atv:refpx="93.495" atv:refpy="38.519" fill="#999999" height="2.835" id="id_613" width="2.835" x="92.077" y="37.102"/>
   <rect atv:refpx="11.148" atv:refpy="29.448" fill="#68676C" height="9.638" id="id_614" width="11.339" x="5.478" y="24.629"/>
   <rect atv:refpx="61.569" atv:refpy="38.661" fill="#F2D600" height="5.669" id="id_615" width="6.378" x="58.38" y="35.827"/>
   <rect atv:refpx="38.36" atv:refpy="38.661" fill="#F2D600" height="5.669" id="id_616" width="6.378" x="35.171" y="35.827"/>
   <rect atv:refpx="50.124" atv:refpy="48.192" fill="#D6D6D6" height="17.078" id="id_617" width="96.378" x="1.935" y="39.653"/>
   <rect atv:refpx="33.022" atv:refpy="50.558" fill="#68676C" height="12.348" id="id_618" width="32.553" x="16.746" y="44.384"/>
   <rect atv:refpx="32.767" atv:refpy="48.517" fill="#FFFFFF" height="2.041" id="id_619" width="2.041" x="31.747" y="47.496"/>
   <rect atv:refpx="32.767" atv:refpy="52.599" fill="#FFFFFF" height="2.041" id="id_620" width="2.041" x="31.747" y="51.578"/>
   <rect atv:refpx="36.849" atv:refpy="48.517" fill="#FFFFFF" height="2.041" id="id_621" width="2.041" x="35.829" y="47.496"/>
   <rect atv:refpx="36.849" atv:refpy="52.599" fill="#FFFFFF" height="2.041" id="id_622" width="2.041" x="35.829" y="51.578"/>
   <rect atv:refpx="40.931" atv:refpy="48.517" fill="#FFFFFF" height="2.041" id="id_623" width="2.041" x="39.911" y="47.496"/>
   <rect atv:refpx="40.931" atv:refpy="52.599" fill="#FFFFFF" height="2.041" id="id_624" width="2.041" x="39.911" y="51.578"/>
   <rect atv:refpx="45.014" atv:refpy="48.517" fill="#FFFFFF" height="2.041" id="id_625" width="2.041" x="43.993" y="47.496"/>
   <rect atv:refpx="45.014" atv:refpy="52.599" fill="#FFFFFF" height="2.041" id="id_626" width="2.041" x="43.993" y="51.578"/>
   <g atv:refpx="17.45" atv:refpy="48.636" id="id_627">
    <clipPath id="id_590">
     <use overflow="visible" xlink:href="#SVGID_233_"/>
    </clipPath>
    <path atv:refpx="22.257" atv:refpy="49.537" clip-path="url(#SVGID_4_)" d="M22.257,51.578C23.384,51.578 24.298,50.664 24.298,49.537C24.298,48.41 23.384,47.496 22.257,47.496C21.13,47.496 20.216,48.41 20.216,49.537C20.216,50.664 21.13,51.578 22.257,51.578" fill="#FFFFFF" id="id_628"/>
    <path atv:refpx="22.257" atv:refpy="50.557" clip-path="url(#SVGID_4_)" d="M24.298,49.537L20.215,49.537C20.215,50.664 21.13,51.577 22.256,51.577C23.384,51.578 24.298,50.664 24.298,49.537" fill="#999999" id="id_629"/>
    <path atv:refpx="27.665" atv:refpy="49.537" clip-path="url(#SVGID_4_)" d="M27.665,51.578C28.791,51.578 29.706,50.664 29.706,49.537C29.706,48.41 28.791,47.496 27.665,47.496C26.538,47.496 25.624,48.41 25.624,49.537C25.624,50.664 26.538,51.578 27.665,51.578" fill="#FFFFFF" id="id_630"/>
    <path atv:refpx="27.665" atv:refpy="50.557" clip-path="url(#SVGID_4_)" d="M29.706,49.537L25.624,49.537C25.624,50.664 26.538,51.577 27.665,51.577C28.792,51.578 29.706,50.664 29.706,49.537" fill="#999999" id="id_631"/>
    <path atv:refpx="9.447" atv:refpy="48.636" clip-path="url(#SVGID_4_)" d="M9.447,52.888C11.794,52.888 13.698,50.983 13.698,48.635C13.698,46.288 11.794,44.383 9.447,44.383C7.099,44.383 5.194,46.288 5.194,48.635C5.194,50.983 7.099,52.888 9.447,52.888" fill="#F2D600" id="id_632"/>
   </g>
  </g>
 </g>
 <circle atv:refpx="415" atv:refpy="55" cx="415" cy="55" fill="#68676c" id="indicator_1" r="15" stroke="#0000ff" stroke-width="0"/>
 <circle atv:refpx="415" atv:refpy="95" cx="415" cy="95" fill="#68676c" id="indicator_2" r="15" stroke="#0000ff" stroke-width="0"/>
 <circle atv:refpx="415" atv:refpy="135" cx="415" cy="135" fill="#68676c" id="indicator_3" r="15" stroke="#0000ff" stroke-width="0"/>
 <svg atv:refpx="60" atv:refpy="195" height="30" id="button_auto" width="80" x="20" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="180">
  <atv:argument name="label" value="T{Auto}"/>
 </svg>
 <svg atv:refpx="60" atv:refpy="235" height="30" id="button_manual" width="80" x="20" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="220">
  <atv:argument name="label" value="T{Manual}"/>
 </svg>
 <svg atv:refpx="60" atv:refpy="275" height="30" id="button_off" width="80" x="20" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="260">
  <atv:argument name="label" value="T{Off}"/>
 </svg>
 <svg atv:refpx="280" atv:refpy="255" height="400" id="id_0" transform="matrix(0.8,0,0,0.375,0,0)" width="400" x="150" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.highcharts.highcharts" y="479.999">
  <atv:argument name="series1series_address" prefix="base" value=".speed"/>
  <atv:argument name="yAxis1yAxis_labels_format" value="{value} m/s"/>
  <atv:argument name="yAxis1yAxis_title_text" value="Speed"/>
  <atv:argument name="yAxis1yAxis_id" value="1"/>
  <atv:argument name="series1series_yAxis" value="1"/>
  <atv:argument name="series1series_marker_enabled" value="false"/>
  <atv:argument name="gshowExportMenu" value="false"/>
  <atv:argument name="xAxisxAxis_tickInterval" value="30000"/>
  <atv:argument name="yAxis1yAxis_opposite" value="right"/>
  <atv:argument name="yAxis1yAxis_labels_align" value="center"/>
  <atv:argument name="trendName" prefix="base" value=".trend1"/>
  <atv:overwrite id="label" transform="matrix(1.25,0,0,2.6667,0,0)" x="-10.5" y="86"/>
  <atv:overwrite height="148" id="border" transform="matrix(1.25,0,0,2.6667,0,0)" width="318"/>
  <atv:overwrite height="150" id="id_3" transform="matrix(1.25,0,0,2.6667,0,0)" width="320"/>
 </svg>
 <svg atv:refpx="60" atv:refpy="315" height="30" id="id_2" width="80" x="20" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button_switch" y="300">
  <atv:argument name="labelOn" value="T{Alarm on}"/>
  <atv:argument name="labelOff" value="T{Alarm off}"/>
  <atv:argument name="base" prefix="base" value=".alarm"/>
 </svg>
 <script atv:desc="" atv:href="SYSTEM.LIBRARY.ATVISE.DISPLAYSCRIPTS.common.indicator_handling" atv:name="" atv:type="text/ecmascript"/>
 <script atv:desc="" atv:href="SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS.AlarmIndication" atv:name="" atv:type="text/ecmascript"/>
 <script atv:desc="" atv:name="" type="text/ecmascript"/>
</svg>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.operating_mode" BrowseName="1:operating_mode" DataType="Int16" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">operating_mode</DisplayName>
		<Description Locale="en">operating_mode</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Int16>0</uax:Int16>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.on" BrowseName="1:on" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on</DisplayName>
		<Description Locale="en">on</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.off" BrowseName="1:off" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off</DisplayName>
		<Description Locale="en">off</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.speed" BrowseName="1:speed" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">speed</DisplayName>
		<Description Locale="en">speed</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.speed.DataGenerator" BrowseName="1:DataGenerator" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">DataGenerator</DisplayName>
		<Description Locale="en">DataGenerator</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.speed</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.ScriptCode</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<script>
  <metadata>
    <priority>0</priority>
  </metadata>
  <parameter name="timer" type="timer" trigger="true" relative="false" value="" starttime="00:00:00" repeat="00:00:01"/>
  <parameter name="relativeMode" type="boolean" trigger="false" relative="false" value="false"/>
  <parameter name="browseMode" type="boolean" trigger="false" relative="false" value="false"/>
  <parameter name="recursive" type="boolean" trigger="false" relative="false" value="false"/>
  <code><![CDATA[// **************************************************************************************
// * Writes random numeric values to numeric variable nodes
// * Author: Kevin Horvath (CERTEC EDV GmbH)
// * Created on: 31.08.2017
// * Parameters
// * relativeMode --> Browse base node (true = yes; false = no)
// * browseMode --> Browse nodes in browseList (true = yes; false = no),
// *     can only be activated if relativeMode is set to false
// * recursive --> Browse recursivevly or not (true = yes; false = no)
// *
// * Configuration examples:
// *
// * relativeMode = true; browseMode = true/false; recursive = false
// *     This script's parent node will be browsed and all variable nodes
// *     in the first level receive value changes
// *
// * relativeMode = true; browseMode = true/false; recursive = true
// *     This script's parent node will be browsed recursively and all child
// *     variable nodes receive value changes
// *
// * relativeMode = false; browseMode = true; recursive = false
// *     The listed nodes in browseList will be browsed and all variable nodes
// *     in the first level receive value changes
// *
// * relativeMode = false; browseMode = false; recursive = true/false
// *     The listed nodes in nodeList receive value changes
// *
// **************************************************************************************

var baseNodeId = base.nodeid,
    BaseVarTypeId = "i=62",
    IntTypeIndexes = [4,5,6,7,8,9],
    FloatingTypeIndexes = [10,11],
    MinRandomIntValue = 0,
    MaxRandomIntValue = 10,
    MinRandomFloatValue = 0.2,
    MaxRandomFloatValue = 0.5,
    nodeList = [
        base
    ],
    browseList = [
        "AGENT.OBJECTS.Folder1"
    ];

// writes random values for given node list
function writeNodesListValues (nodeList) {
    var nodeObj = {},
        itemIndex = 0;

    for (itemIndex; itemIndex < nodeList.length; itemIndex++) {
        nodeObj = new UaNode(nodeList[itemIndex]);
        writeSingleValue(nodeObj, false);
    }
}

// writes random values for given node list
function writeBrowseListValues (browseList) {
    var itemIndex = 0;

    for (itemIndex; itemIndex < browseList.length; itemIndex++) {
        writeBrowsedValues(browseList[itemIndex]);
    }
}

// browses given node id and writes random values for int, float and double nodes
function writeBrowsedValues (browseNodeId) {
    var browseResult = browseNodes(browseNodeId),
        itemIndex = 0;

    // iterate through result and write random values for number types
    for (itemIndex; itemIndex < browseResult.length; itemIndex++) {
        writeSingleValue(browseResult[itemIndex], true);
    }
}

// returns variable types for browsed node
function browseNodes (nodeId) {
    var browseNode = new UaNode(nodeId);

    return browseNode.browse({
        direction: UaNode.BROWSEDIRECTION_FORWARD,
        reference: UaNode.HASCOMPONENT,
        subtype: true,
        nodeclass: UaNode.NODECLASS_VARIABLE,
        maxresult: 0,
        recursive: recursive
    });
}

// writes random value for single node
function writeSingleValue (nodeObj, isBrowseResult) {
    if (isBrowseResult) {
        nodeObj = nodeObj.node;
    }

    writeRandomValue(nodeObj.nodeid);
}

// checks if node is a variable type
function isVarType(nodeObj) {
    return nodeObj.typedefinition == BaseVarTypeId;
}

// writes random integer value to given browse item
function writeRandomValue (nodeid) {
    var node = new UaNode(nodeid),
        numType = getNumType(node);

    if (numType != "none") {
        node.value = numType == "int" ? getRandomInt(MinRandomIntValue, MaxRandomIntValue) : 
            getRandomFloat(MinRandomFloatValue, MaxRandomFloatValue);
    }
}

// checks if the browse item is a numeric variable
function getNumType (node) {
    var splitArray = node.datatype.split("i="),
        numIndex = 0;

    if (splitArray.length <= 1) {
        return "none";
    }

    numIndex = parseInt(splitArray[1], 10);

    if (IntTypeIndexes.indexOf(numIndex) > -1) {
        return "int";
    } else if (FloatingTypeIndexes.indexOf(numIndex) > -1) {
        return "float";
    } else {
        return "none";
    }
}


// returns random integer value
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

// returns random float value
function getRandomFloat(min, max) {
    return Math.random() * (max - min) + min;
};

// abort execution when executed in object type
if (baseNodeId.indexOf("ObjectTypes.PROJECT") > -1) {
    return;
}

if (relativeMode) {
    writeBrowsedValues(baseNodeId);
} else if (browseMode) {
    writeBrowseListValues(browseList);
} else {
    writeNodesListValues(nodeList);
}]]]]><![CDATA[></code>
</script>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm" BrowseName="1:alarm" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">alarm</DisplayName>
		<Description Locale="en">alarm</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration" BrowseName="1:AlarmConfiguration">
		<DisplayName Locale="en">AlarmConfiguration</DisplayName>
		<Description Locale="en">AlarmConfiguration</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.exclusive" BrowseName="1:exclusive" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">exclusive</DisplayName>
		<Description Locale="en">exclusive</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>true</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.variable" BrowseName="1:variable" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">variable</DisplayName>
		<Description Locale="en">variable</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.display" BrowseName="1:display" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">display</DisplayName>
		<Description Locale="en">display</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>ns=1;s=</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.REPLACEMENTS" BrowseName="1:REPLACEMENTS">
		<DisplayName Locale="en">REPLACEMENTS</DisplayName>
		<Description Locale="en">REPLACEMENTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
	</UAObject>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active" BrowseName="1:active">
		<DisplayName Locale="en">active</DisplayName>
		<Description Locale="en">active</Description>
		<References>
			<Reference ReferenceType="HasEventSource" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.AlarmConditionControl.Discrete</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=AGENT.ALARMING.Categories.Error</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.value" BrowseName="1:value" DataType="BaseDataType" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">value</DisplayName>
		<Description Locale="en">value</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>true</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.value_compare" BrowseName="1:value_compare" DataType="String" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">value_compare</DisplayName>
		<Description Locale="en">value_compare</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:String>==</uax:String>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.active_message" BrowseName="1:active_message" DataType="LocalizedText" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">active_message</DisplayName>
		<Description Locale="en">active_message</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:LocalizedText>
				<uax:Locale></uax:Locale>
				<uax:Text>Conveyor Belt alarm is active</uax:Text>
			</uax:LocalizedText>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.inactive_message" BrowseName="1:inactive_message" DataType="LocalizedText" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">inactive_message</DisplayName>
		<Description Locale="en">inactive_message</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:LocalizedText>
				<uax:Locale></uax:Locale>
				<uax:Text>Conveyor Belt alarm is active</uax:Text>
			</uax:LocalizedText>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.max_time_shelved" BrowseName="1:max_time_shelved" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">max_time_shelved</DisplayName>
		<Description Locale="en">max_time_shelved</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.on_delay" BrowseName="1:on_delay" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on_delay</DisplayName>
		<Description Locale="en">on_delay</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.off_delay" BrowseName="1:off_delay" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off_delay</DisplayName>
		<Description Locale="en">off_delay</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.explicit_acknowledgement" BrowseName="1:explicit_acknowledgement" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">explicit_acknowledgement</DisplayName>
		<Description Locale="en">explicit_acknowledgement</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.prevention_script" BrowseName="1:prevention_script" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">prevention_script</DisplayName>
		<Description Locale="en">prevention_script</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>i=0</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active.modify_script" BrowseName="1:modify_script" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">modify_script</DisplayName>
		<Description Locale="en">modify_script</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>i=0</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAObjectType NodeId="ns=1;s=ObjectTypes.PROJECT" BrowseName="1:PROJECT" IsAbstract="true">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasSubtype" IsForward="false">BaseObjectType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=ObjectTypes.PROJECT.Engine" ExportedBrowseName="1:Engine" Upstream="true"/>
		</Extensions>
	</UAObjectType>
	<UAObjectType NodeId="ns=1;s=ObjectTypes.PROJECT.Engine" BrowseName="1:Engine">
		<DisplayName Locale="en">Engine</DisplayName>
		<Description Locale="en">Engine</Description>
		<References>
			<Reference ReferenceType="HasSubtype" IsForward="false">ns=1;s=ObjectTypes.PROJECT</Reference>
		</References>
	</UAObjectType>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.Overview" BrowseName="1:Overview" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">Overview</DisplayName>
		<Description Locale="en">Overview</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.Display</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg height="350" version="1.2" width="460" xmlns="http://www.w3.org/2000/svg" xmlns:atv="http://webmi.atvise.com/2007/svgext" xmlns:xlink="http://www.w3.org/1999/xlink">
 <defs/>
 <metadata>
  <atv:parameter behavior="optional" defaultvalue="SYSTEM.GLOBALS.atvAlarmIndication" name="alarmIndication" valuetype="global"/>
  <atv:parameter behavior="optional" defaultvalue="SYSTEM.GLOBALS.atvStatusIndication" desc="status indication" name="statusIndication" valuetype="global"/>
  <atv:parameter behavior="optional" defaultvalue="#00ff00" name="autocolor" valuetype="color"/>
  <atv:gridconfig enabled="true" gridstyle="lines" height="20" width="20"/>
  <atv:snapconfig enabled="true" height="10" width="10"/>
 </metadata>
 <script atv:desc="" atv:href="SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS.indication" atv:name="" atv:type="text/ecmascript"/>
 <rect atv:refpx="230" atv:refpy="175" fill="#68676c" fill-opacity="0" height="350" id="id_1" stroke="#68676c" stroke-width="2" width="460" x="0" y="0"/>
 <rect atv:refpx="230" atv:refpy="175" fill="#68676c" fill-opacity="0" height="330" id="blinking_frame" stroke="#68676c" stroke-width="2" visibility="hidden" width="440" x="10" y="10"/>
 <g atv:refpx="94.998" atv:refpy="74.999" id="id_669" transform="matrix(1.9207,0,0,1.8787,-0.8707,-18.1748)">
  <g atv:refpx="0" atv:refpy="0" id="keine_x5F_plugins"/>
  <g atv:refpx="0" atv:refpy="0" id="benutzer">
   <g atv:refpx="0" atv:refpy="0" id="users">
    <g atv:refpx="0" atv:refpy="0" id="atvise_x5F_logo"/>
   </g>
  </g>
  <g atv:refpx="0" atv:refpy="0" id="historisieung"/>
  <g atv:refpx="0" atv:refpy="0" id="chrome_1"/>
  <g atv:refpx="0" atv:refpy="0" id="trending_1"/>
  <g atv:refpx="0" atv:refpy="0" id="cloud"/>
  <g atv:refpx="0" atv:refpy="0" id="skript_1"/>
  <g atv:refpx="49.913" atv:refpy="49.596" id="id_29">
   <rect atv:refpx="25.323" atv:refpy="48.25" fill="#68676C" height="41.244" id="id_30" width="4.819" x="22.913" y="27.628"/>
   <rect atv:refpx="44.314" atv:refpy="70.715" fill="#68676C" height="5.669" id="id_31" width="47.339" x="20.645" y="67.88"/>
   <rect atv:refpx="83.291" atv:refpy="48.338" fill="#68676C" height="5.669" id="id_32" width="11.339" x="77.622" y="45.504"/>
   <g atv:refpx="45.236" atv:refpy="47.257" id="id_33">
    <clipPath id="id_26">
     <use overflow="visible" xlink:href="#SVGID_209_"/>
    </clipPath>
    <path atv:refpx="71.953" atv:refpy="48.337" clip-path="url(#SVGID_2_)" d="M74.22,27.804C77.195,27.804 79.606,30.215 79.606,33.19L79.606,63.485C79.606,66.46 77.195,68.871 74.22,68.871L64.299,68.871L64.299,27.804Z" fill="#F2D600" id="id_34"/>
    <path atv:refpx="17.811" atv:refpy="47.257" clip-path="url(#SVGID_2_)" d="M16.535,25.643C13.404,25.643 10.866,28.181 10.866,31.312L10.866,63.202C10.866,66.333 13.404,68.871 16.535,68.871L24.755,68.871L24.755,25.643Z" fill="#999999" id="id_35"/>
   </g>
   <rect atv:refpx="46.157" atv:refpy="47.258" fill="#68676C" height="43.228" id="id_36" width="36.851" x="27.732" y="25.644"/>
   <g atv:refpx="51.826" atv:refpy="31.028" id="id_37">
    <clipPath id="id_27">
     <use overflow="visible" xlink:href="#SVGID_211_"/>
    </clipPath>
    <path atv:refpx="51.826" atv:refpy="31.028" clip-path="url(#SVGID_4_)" d="M27.732,29.611L27.732,32.445L75.92,32.445L75.92,31.028C75.92,30.246 75.285,29.61 74.503,29.61Z" fill="#68676C" id="id_38"/>
   </g>
   <rect atv:refpx="51.826" atv:refpy="34.997" fill="#999999" height="1.701" id="id_39" width="48.189" x="27.732" y="34.147"/>
   <rect atv:refpx="51.826" atv:refpy="38.966" fill="#999999" height="2.835" id="id_40" width="48.189" x="27.732" y="37.549"/>
   <rect atv:refpx="51.826" atv:refpy="43.502" fill="#999999" height="2.835" id="id_41" width="48.189" x="27.732" y="42.084"/>
   <rect atv:refpx="51.826" atv:refpy="52.572" fill="#999999" height="2.835" id="id_42" width="48.189" x="27.732" y="51.155"/>
   <rect atv:refpx="51.826" atv:refpy="49.313" fill="#999999" height="5.386" id="id_43" width="48.189" x="27.732" y="46.62"/>
   <rect atv:refpx="51.826" atv:refpy="56.541" fill="#999999" height="1.701" id="id_44" width="48.189" x="27.732" y="55.691"/>
   <rect atv:refpx="51.826" atv:refpy="59.942" fill="#999999" height="1.701" id="id_45" width="48.189" x="27.732" y="59.092"/>
   <rect atv:refpx="51.826" atv:refpy="63.344" fill="#999999" height="1.701" id="id_46" width="48.189" x="27.732" y="62.494"/>
   <rect atv:refpx="56.646" atv:refpy="59.943" fill="#68676C" height="22.11" id="id_47" width="15.874" x="48.709" y="48.888"/>
   <rect atv:refpx="56.646" atv:refpy="52.572" fill="#F2D600" height="2.835" id="id_48" width="10.772" x="51.26" y="51.155"/>
   <rect atv:refpx="36.52" atv:refpy="43.502" fill="#F2D600" height="2.835" id="id_49" width="5.669" x="33.685" y="42.084"/>
   <rect atv:refpx="45.306" atv:refpy="43.502" fill="#F2D600" height="2.835" id="id_50" width="5.669" x="42.472" y="42.084"/>
  </g>
 </g>
 <rect atv:refpx="405" atv:refpy="35" fill="#68676c" height="30" id="indicator_1" stroke="#0000ff" stroke-width="0" width="30" x="390" y="20"/>
 <rect atv:refpx="405" atv:refpy="75" fill="#68676c" height="30" id="indicator_2" stroke="#0000ff" stroke-width="0" width="30" x="390" y="60"/>
 <rect atv:refpx="405" atv:refpy="115" fill="#68676c" height="30" id="indicator_3" stroke="#0000ff" stroke-width="0" width="30" x="390" y="100"/>
 <svg atv:refpx="240" atv:refpy="55" height="30" id="button_auto" width="80" x="200" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="40">
  <atv:argument name="label" value="T{Auto}"/>
 </svg>
 <svg atv:refpx="240" atv:refpy="95" height="30" id="button_manual" width="80" x="200" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="80">
  <atv:argument name="label" value="T{Manual}"/>
 </svg>
 <svg atv:refpx="330" atv:refpy="55" height="30" id="button_off" width="80" x="290" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="40">
  <atv:argument name="label" value="T{Off}"/>
 </svg>
 <svg atv:refpx="230" atv:refpy="255" height="400" id="id_0" transform="matrix(1.05,0,0,0.375,0,0)" width="400" x="19.048" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.highcharts.highcharts" y="480">
  <atv:argument name="series1series_address" prefix="base" value=".rpm"/>
  <atv:argument name="yAxis1yAxis_labels_format" value="{value} rpm"/>
  <atv:argument name="yAxis1yAxis_title_text" value="Rpm"/>
  <atv:argument name="yAxis1yAxis_id" value="1"/>
  <atv:argument name="series1series_yAxis" value="1"/>
  <atv:argument name="series1series_marker_enabled" value="false"/>
  <atv:argument name="gshowExportMenu" value="false"/>
  <atv:argument name="xAxisxAxis_tickInterval" value="30000"/>
  <atv:argument name="yAxis1yAxis_opposite" value="right"/>
  <atv:argument name="yAxis1yAxis_labels_align" value="center"/>
  <atv:argument name="trendName" prefix="base" value=".trend1"/>
  <atv:overwrite id="label" transform="matrix(0.9524,0,0,2.6667,0,0)" x="39.5" y="86"/>
  <atv:overwrite height="148" id="border" transform="matrix(0.9524,0,0,2.6667,0,0)" width="418"/>
  <atv:overwrite height="150" id="id_3" transform="matrix(0.9524,0,0,2.6667,0,0)" width="420"/>
 </svg>
 <svg atv:refpx="330" atv:refpy="95" height="30" id="id_2" width="80" x="290" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button_switch" y="80">
  <atv:argument name="labelOn" value="T{Alarm on}"/>
  <atv:argument name="labelOff" value="T{Alarm off}"/>
  <atv:argument name="base" prefix="base" value=".alarm"/>
 </svg>
 <script atv:desc="" atv:name="" type="text/ecmascript"/>
</svg>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.operating_mode" BrowseName="1:operating_mode" DataType="Int16" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">operating_mode</DisplayName>
		<Description Locale="en">operating_mode</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Int16>0</uax:Int16>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.on" BrowseName="1:on" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on</DisplayName>
		<Description Locale="en">on</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.off" BrowseName="1:off" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off</DisplayName>
		<Description Locale="en">off</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.rpm" BrowseName="1:rpm" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">rpm</DisplayName>
		<Description Locale="en">rpm</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.rpm.DataGenerator" BrowseName="1:DataGenerator" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">DataGenerator</DisplayName>
		<Description Locale="en">DataGenerator</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.rpm</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.ScriptCode</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<script>
  <metadata>
    <priority>0</priority>
  </metadata>
  <parameter name="timer" type="timer" trigger="true" relative="false" value="" starttime="00:00:00" repeat="00:00:01"/>
  <parameter name="relativeMode" type="boolean" trigger="false" relative="false" value="false"/>
  <parameter name="browseMode" type="boolean" trigger="false" relative="false" value="false"/>
  <parameter name="recursive" type="boolean" trigger="false" relative="false" value="false"/>
  <code><![CDATA[// **************************************************************************************
// * Writes random numeric values to numeric variable nodes
// * Author: Kevin Horvath (CERTEC EDV GmbH)
// * Created on: 31.08.2017
// * Parameters
// * relativeMode --> Browse base node (true = yes; false = no)
// * browseMode --> Browse nodes in browseList (true = yes; false = no),
// *     can only be activated if relativeMode is set to false
// * recursive --> Browse recursivevly or not (true = yes; false = no)
// *
// * Configuration examples:
// *
// * relativeMode = true; browseMode = true/false; recursive = false
// *     This script's parent node will be browsed and all variable nodes
// *     in the first level receive value changes
// *
// * relativeMode = true; browseMode = true/false; recursive = true
// *     This script's parent node will be browsed recursively and all child
// *     variable nodes receive value changes
// *
// * relativeMode = false; browseMode = true; recursive = false
// *     The listed nodes in browseList will be browsed and all variable nodes
// *     in the first level receive value changes
// *
// * relativeMode = false; browseMode = false; recursive = true/false
// *     The listed nodes in nodeList receive value changes
// *
// **************************************************************************************

var baseNodeId = base.nodeid,
    BaseVarTypeId = "i=62",
    IntTypeIndexes = [4,5,6,7,8,9],
    FloatingTypeIndexes = [10,11],
    MinRandomIntValue = 0,
    MaxRandomIntValue = 10,
    MinRandomFloatValue = 2600,
    MaxRandomFloatValue = 2800,
    nodeList = [
        base
    ],
    browseList = [
        "AGENT.OBJECTS.Folder1"
    ];

// writes random values for given node list
function writeNodesListValues (nodeList) {
    var nodeObj = {},
        itemIndex = 0;

    for (itemIndex; itemIndex < nodeList.length; itemIndex++) {
        nodeObj = new UaNode(nodeList[itemIndex]);
        writeSingleValue(nodeObj, false);
    }
}

// writes random values for given node list
function writeBrowseListValues (browseList) {
    var itemIndex = 0;

    for (itemIndex; itemIndex < browseList.length; itemIndex++) {
        writeBrowsedValues(browseList[itemIndex]);
    }
}

// browses given node id and writes random values for int, float and double nodes
function writeBrowsedValues (browseNodeId) {
    var browseResult = browseNodes(browseNodeId),
        itemIndex = 0;

    // iterate through result and write random values for number types
    for (itemIndex; itemIndex < browseResult.length; itemIndex++) {
        writeSingleValue(browseResult[itemIndex], true);
    }
}

// returns variable types for browsed node
function browseNodes (nodeId) {
    var browseNode = new UaNode(nodeId);

    return browseNode.browse({
        direction: UaNode.BROWSEDIRECTION_FORWARD,
        reference: UaNode.HASCOMPONENT,
        subtype: true,
        nodeclass: UaNode.NODECLASS_VARIABLE,
        maxresult: 0,
        recursive: recursive
    });
}

// writes random value for single node
function writeSingleValue (nodeObj, isBrowseResult) {
    if (isBrowseResult) {
        nodeObj = nodeObj.node;
    }

    writeRandomValue(nodeObj.nodeid);
}

// checks if node is a variable type
function isVarType(nodeObj) {
    return nodeObj.typedefinition == BaseVarTypeId;
}

// writes random integer value to given browse item
function writeRandomValue (nodeid) {
    var node = new UaNode(nodeid),
        numType = getNumType(node);

    if (numType != "none") {
        node.value = numType == "int" ? getRandomInt(MinRandomIntValue, MaxRandomIntValue) : 
            getRandomFloat(MinRandomFloatValue, MaxRandomFloatValue);
    }
}

// checks if the browse item is a numeric variable
function getNumType (node) {
    var splitArray = node.datatype.split("i="),
        numIndex = 0;

    if (splitArray.length <= 1) {
        return "none";
    }

    numIndex = parseInt(splitArray[1], 10);

    if (IntTypeIndexes.indexOf(numIndex) > -1) {
        return "int";
    } else if (FloatingTypeIndexes.indexOf(numIndex) > -1) {
        return "float";
    } else {
        return "none";
    }
}


// returns random integer value
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

// returns random float value
function getRandomFloat(min, max) {
    return Math.random() * (max - min) + min;
};

// abort execution when executed in object type
if (baseNodeId.indexOf("ObjectTypes.PROJECT") > -1) {
    return;
}

if (relativeMode) {
    writeBrowsedValues(baseNodeId);
} else if (browseMode) {
    writeBrowseListValues(browseList);
} else {
    writeNodesListValues(nodeList);
}]]]]><![CDATA[></code>
</script>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm" BrowseName="1:alarm" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">alarm</DisplayName>
		<Description Locale="en">alarm</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration" BrowseName="1:AlarmConfiguration">
		<DisplayName Locale="en">AlarmConfiguration</DisplayName>
		<Description Locale="en">AlarmConfiguration</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.exclusive" BrowseName="1:exclusive" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">exclusive</DisplayName>
		<Description Locale="en">exclusive</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>true</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.variable" BrowseName="1:variable" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">variable</DisplayName>
		<Description Locale="en">variable</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.display" BrowseName="1:display" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">display</DisplayName>
		<Description Locale="en">display</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>ns=1;s=</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.REPLACEMENTS" BrowseName="1:REPLACEMENTS">
		<DisplayName Locale="en">REPLACEMENTS</DisplayName>
		<Description Locale="en">REPLACEMENTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
	</UAObject>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active" BrowseName="1:active">
		<DisplayName Locale="en">active</DisplayName>
		<Description Locale="en">active</Description>
		<References>
			<Reference ReferenceType="HasEventSource" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.AlarmConditionControl.Discrete</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=AGENT.ALARMING.Categories.Error</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.value" BrowseName="1:value" DataType="BaseDataType" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">value</DisplayName>
		<Description Locale="en">value</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>true</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.value_compare" BrowseName="1:value_compare" DataType="String" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">value_compare</DisplayName>
		<Description Locale="en">value_compare</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:String>==</uax:String>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.active_message" BrowseName="1:active_message" DataType="LocalizedText" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">active_message</DisplayName>
		<Description Locale="en">active_message</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:LocalizedText>
				<uax:Locale></uax:Locale>
				<uax:Text>Conveyor Belt alarm is active</uax:Text>
			</uax:LocalizedText>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.inactive_message" BrowseName="1:inactive_message" DataType="LocalizedText" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">inactive_message</DisplayName>
		<Description Locale="en">inactive_message</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:LocalizedText>
				<uax:Locale></uax:Locale>
				<uax:Text>Conveyor Belt alarm is active</uax:Text>
			</uax:LocalizedText>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.max_time_shelved" BrowseName="1:max_time_shelved" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">max_time_shelved</DisplayName>
		<Description Locale="en">max_time_shelved</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.on_delay" BrowseName="1:on_delay" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on_delay</DisplayName>
		<Description Locale="en">on_delay</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.off_delay" BrowseName="1:off_delay" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off_delay</DisplayName>
		<Description Locale="en">off_delay</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.explicit_acknowledgement" BrowseName="1:explicit_acknowledgement" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">explicit_acknowledgement</DisplayName>
		<Description Locale="en">explicit_acknowledgement</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.prevention_script" BrowseName="1:prevention_script" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">prevention_script</DisplayName>
		<Description Locale="en">prevention_script</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>i=0</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active.modify_script" BrowseName="1:modify_script" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">modify_script</DisplayName>
		<Description Locale="en">modify_script</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>i=0</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAObjectType NodeId="ns=1;s=ObjectTypes.PROJECT" BrowseName="1:PROJECT" IsAbstract="true">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasSubtype" IsForward="false">BaseObjectType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=ObjectTypes.PROJECT.Pump" ExportedBrowseName="1:Pump" Upstream="true"/>
		</Extensions>
	</UAObjectType>
	<UAObjectType NodeId="ns=1;s=ObjectTypes.PROJECT.Pump" BrowseName="1:Pump">
		<DisplayName Locale="en">Pump</DisplayName>
		<Description Locale="en">Pump</Description>
		<References>
			<Reference ReferenceType="HasSubtype" IsForward="false">ns=1;s=ObjectTypes.PROJECT</Reference>
		</References>
	</UAObjectType>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.Overview" BrowseName="1:Overview" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">Overview</DisplayName>
		<Description Locale="en">Overview</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.Display</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg height="350" version="1.2" width="460" xmlns="http://www.w3.org/2000/svg" xmlns:atv="http://webmi.atvise.com/2007/svgext" xmlns:xlink="http://www.w3.org/1999/xlink">
 <defs/>
 <metadata>
  <atv:parameter behavior="optional" defaultvalue="SYSTEM.GLOBALS.atvAlarmIndication" name="alarmIndication" valuetype="global"/>
  <atv:parameter behavior="optional" defaultvalue="SYSTEM.GLOBALS.atvStatusIndication" desc="status indication" name="statusIndication" valuetype="global"/>
  <atv:parameter behavior="optional" defaultvalue="#00ff00" name="autocolor" valuetype="color"/>
  <atv:gridconfig enabled="true" gridstyle="lines" height="20" width="20"/>
  <atv:snapconfig enabled="true" height="10" width="10"/>
 </metadata>
 <script atv:desc="" atv:href="SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS.indication" atv:name="indication" atv:type="text/ecmascript"/>
 <rect atv:refpx="230" atv:refpy="175" fill="#68676c" fill-opacity="0" height="350" id="id_1" stroke="#68676c" stroke-width="2" width="460" x="0" y="0"/>
 <rect atv:refpx="230" atv:refpy="175" fill="#68676c" fill-opacity="0" height="330" id="blinking_frame" stroke="#68676c" stroke-width="2" visibility="hidden" width="440" x="10" y="10"/>
 <g atv:refpx="140" atv:refpy="90.001" id="id_683" transform="matrix(2.6459,0,0,2.9225,6.4744,-56.7699)">
  <g atv:refpx="0" atv:refpy="0" id="id_504"/>
  <g atv:refpx="0" atv:refpy="0" id="id_505">
   <g atv:refpx="0" atv:refpy="0" id="id_506">
    <g atv:refpx="0" atv:refpy="0" id="id_507"/>
   </g>
  </g>
  <g atv:refpx="0" atv:refpy="0" id="id_508"/>
  <g atv:refpx="0" atv:refpy="0" id="id_509"/>
  <g atv:refpx="0" atv:refpy="0" id="id_510"/>
  <g atv:refpx="0" atv:refpy="0" id="id_511"/>
  <g atv:refpx="0" atv:refpy="0" id="id_512"/>
  <g atv:refpx="50.466" atv:refpy="50.222" id="id_515">
   <rect atv:refpx="8.514" atv:refpy="67.088" fill="#68676C" height="5.953" id="id_516" width="2.835" x="7.096" y="64.111"/>
   <rect atv:refpx="14.75" atv:refpy="67.088" fill="#68676C" height="5.953" id="id_517" width="2.835" x="13.332" y="64.111"/>
   <rect atv:refpx="31.332" atv:refpy="67.088" fill="#68676C" height="5.953" id="id_518" width="2.835" x="29.915" y="64.111"/>
   <rect atv:refpx="50.183" atv:refpy="67.725" fill="#68676C" height="4.394" id="id_519" width="17.575" x="41.395" y="65.528"/>
   <g atv:refpx="20.49" atv:refpy="53.411" id="id_520">
    <clipPath id="id_513">
     <use overflow="visible" xlink:href="#SVGID_229_"/>
    </clipPath>
    <path atv:refpx="20.49" atv:refpy="53.411" clip-path="url(#SVGID_2_)" d="M8.23,41.718C6.664,41.718 5.395,42.987 5.395,44.553L5.395,62.269C5.395,63.835 6.664,65.104 8.23,65.104L32.75,65.104C34.315,65.104 35.584,63.835 35.584,62.269L35.584,44.553C35.584,42.986 34.315,41.718 32.75,41.718Z" fill="#F2D600" id="id_521"/>
   </g>
   <rect atv:refpx="22.12" atv:refpy="53.198" fill="#999999" height="23.811" id="id_522" width="21.26" x="11.49" y="41.292"/>
   <rect atv:refpx="71.868" atv:refpy="30.591" fill="#68676C" height="4.677" id="id_523" width="9.213" x="67.262" y="28.253"/>
   <rect atv:refpx="71.868" atv:refpy="27.686" fill="#68676C" height="2.834" id="id_524" width="12.756" x="65.49" y="26.269"/>
   <rect atv:refpx="82.994" atv:refpy="50.505" fill="#68676C" height="14.173" id="id_525" width="4.394" x="80.797" y="43.418"/>
   <rect atv:refpx="86.962" atv:refpy="50.505" fill="#68676C" height="9.638" id="id_526" width="4.11" x="84.907" y="45.686"/>
   <rect atv:refpx="89.017" atv:refpy="50.505" fill="#68676C" height="12.898" id="id_527" width="2.835" x="87.6" y="44.056"/>
   <rect atv:refpx="50.466" atv:refpy="71.552" fill="#68676C" height="5.244" id="id_528" width="90.708" x="5.112" y="68.93"/>
   <rect atv:refpx="22.758" atv:refpy="42.709" fill="#68676C" height="2.835" id="id_529" width="22.535" x="11.49" y="41.292"/>
   <rect atv:refpx="22.758" atv:refpy="46.706" fill="#68676C" height="1.701" id="id_530" width="22.535" x="11.49" y="45.856"/>
   <rect atv:refpx="22.758" atv:refpy="50.107" fill="#68676C" height="1.701" id="id_531" width="22.535" x="11.49" y="49.257"/>
   <rect atv:refpx="22.758" atv:refpy="53.509" fill="#68676C" height="1.701" id="id_532" width="22.535" x="11.49" y="52.659"/>
   <rect atv:refpx="22.758" atv:refpy="56.91" fill="#68676C" height="1.701" id="id_533" width="22.535" x="11.49" y="56.06"/>
   <rect atv:refpx="22.758" atv:refpy="60.313" fill="#68676C" height="1.701" id="id_534" width="22.535" x="11.49" y="59.462"/>
   <rect atv:refpx="20.489" atv:refpy="57.379" fill="#68676C" height="15.449" id="id_535" width="10.913" x="15.033" y="49.654"/>
   <rect atv:refpx="38.631" atv:refpy="53.268" fill="#68676C" height="17.008" id="id_536" width="6.094" x="35.584" y="44.764"/>
   <rect atv:refpx="71.868" atv:refpy="40.371" fill="#D6D6D6" height="11.48" id="id_537" width="14.457" x="64.64" y="34.631"/>
   <rect atv:refpx="71.868" atv:refpy="51.391" fill="#999999" height="10.842" id="id_538" width="14.457" x="64.64" y="45.97"/>
   <rect atv:refpx="71.868" atv:refpy="62.694" fill="#68676C" height="12.472" id="id_539" width="14.457" x="64.64" y="56.458"/>
   <rect atv:refpx="74.703" atv:refpy="68.859" fill="#68676C" height="6.095" id="id_540" width="14.457" x="67.474" y="65.811"/>
   <rect atv:refpx="51.884" atv:refpy="53.481" fill="#999999" height="25.228" id="id_541" width="25.512" x="39.128" y="40.867"/>
  </g>
 </g>
 <polygon atv:refpx="400" atv:refpy="40" fill="#68676c" id="indicator_1" points="380,60 400,20 420,60 420,60" stroke="#0000ff" stroke-width="0"/>
 <polygon atv:refpx="400" atv:refpy="90" fill="#68676c" id="indicator_2" points="380,110 400,70 420,110 420,110" stroke="#0000ff" stroke-width="0"/>
 <polygon atv:refpx="400" atv:refpy="140" fill="#68676c" id="indicator_3" points="380,160 400,120 420,160 420,160" stroke="#0000ff" stroke-width="0"/>
 <svg atv:refpx="400" atv:refpy="195" height="30" id="button_auto" width="80" x="360" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="180">
  <atv:argument name="label" value="T{Auto}"/>
 </svg>
 <svg atv:refpx="400" atv:refpy="235" height="30" id="button_manual" width="80" x="360" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="220">
  <atv:argument name="label" value="T{Manual}"/>
 </svg>
 <svg atv:refpx="400" atv:refpy="275" height="30" id="button_off" width="80" x="360" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button" y="260">
  <atv:argument name="label" value="T{Off}"/>
 </svg>
 <svg atv:refpx="185" atv:refpy="255" height="400" id="id_0" transform="matrix(0.825,0,0,0.375,0,0)" width="400" x="24.242" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.highcharts.highcharts" y="480">
  <atv:argument name="series1series_address" prefix="base" value=".flow_rate"/>
  <atv:argument name="yAxis1yAxis_labels_format" value="{value} l/s"/>
  <atv:argument name="yAxis1yAxis_title_text" value="Flow rate"/>
  <atv:argument name="yAxis1yAxis_id" value="1"/>
  <atv:argument name="series1series_yAxis" value="1"/>
  <atv:argument name="series1series_marker_enabled" value="false"/>
  <atv:argument name="gshowExportMenu" value="false"/>
  <atv:argument name="xAxisxAxis_tickInterval" value="30000"/>
  <atv:argument name="yAxis1yAxis_opposite" value="right"/>
  <atv:argument name="yAxis1yAxis_labels_align" value="center"/>
  <atv:argument name="trendName" prefix="base" value=".trend1"/>
  <atv:overwrite id="label" transform="matrix(1.2121,0,0,2.6667,0,0)" x="-5.5" y="86"/>
  <atv:overwrite height="148" id="border" transform="matrix(1.2121,0,0,2.6667,0,0)" width="328"/>
  <atv:overwrite height="150" id="id_3" transform="matrix(1.2121,0,0,2.6667,0,0)" width="330"/>
 </svg>
 <svg atv:refpx="400" atv:refpy="315" height="30" id="id_2" width="80" x="360" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.button_switch" y="300">
  <atv:argument name="labelOn" value="T{Alarm on}"/>
  <atv:argument name="labelOff" value="T{Alarm off}"/>
  <atv:argument name="base" prefix="base" value=".alarm"/>
 </svg>
 <script atv:desc="" atv:name="" type="text/ecmascript"/>
</svg>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.operating_mode" BrowseName="1:operating_mode" DataType="Int16" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">operating_mode</DisplayName>
		<Description Locale="en">operating_mode</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Int16>0</uax:Int16>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.on" BrowseName="1:on" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on</DisplayName>
		<Description Locale="en">on</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.off" BrowseName="1:off" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off</DisplayName>
		<Description Locale="en">off</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.flow_rate" BrowseName="1:flow_rate" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">flow_rate</DisplayName>
		<Description Locale="en">flow_rate</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.flow_rate.DataGenerator" BrowseName="1:DataGenerator" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">DataGenerator</DisplayName>
		<Description Locale="en">DataGenerator</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.flow_rate</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.ScriptCode</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<script>
  <metadata>
    <priority>0</priority>
  </metadata>
  <parameter name="timer" type="timer" trigger="true" relative="false" value="" starttime="00:00:00" repeat="00:00:01"/>
  <parameter name="relativeMode" type="boolean" trigger="false" relative="false" value="false"/>
  <parameter name="browseMode" type="boolean" trigger="false" relative="false" value="false"/>
  <parameter name="recursive" type="boolean" trigger="false" relative="false" value="false"/>
  <code><![CDATA[// **************************************************************************************
// * Writes random numeric values to numeric variable nodes
// * Author: Kevin Horvath (CERTEC EDV GmbH)
// * Created on: 31.08.2017
// * Parameters
// * relativeMode --> Browse base node (true = yes; false = no)
// * browseMode --> Browse nodes in browseList (true = yes; false = no),
// *     can only be activated if relativeMode is set to false
// * recursive --> Browse recursivevly or not (true = yes; false = no)
// *
// * Configuration examples:
// *
// * relativeMode = true; browseMode = true/false; recursive = false
// *     This script's parent node will be browsed and all variable nodes
// *     in the first level receive value changes
// *
// * relativeMode = true; browseMode = true/false; recursive = true
// *     This script's parent node will be browsed recursively and all child
// *     variable nodes receive value changes
// *
// * relativeMode = false; browseMode = true; recursive = false
// *     The listed nodes in browseList will be browsed and all variable nodes
// *     in the first level receive value changes
// *
// * relativeMode = false; browseMode = false; recursive = true/false
// *     The listed nodes in nodeList receive value changes
// *
// **************************************************************************************

var baseNodeId = base.nodeid,
    BaseVarTypeId = "i=62",
    IntTypeIndexes = [4,5,6,7,8,9],
    FloatingTypeIndexes = [10,11],
    MinRandomIntValue = 0,
    MaxRandomIntValue = 10,
    MinRandomFloatValue = 35,
    MaxRandomFloatValue = 40,
    nodeList = [
        base
    ],
    browseList = [
        "AGENT.OBJECTS.Folder1"
    ];

// writes random values for given node list
function writeNodesListValues (nodeList) {
    var nodeObj = {},
        itemIndex = 0;

    for (itemIndex; itemIndex < nodeList.length; itemIndex++) {
        nodeObj = new UaNode(nodeList[itemIndex]);
        writeSingleValue(nodeObj, false);
    }
}

// writes random values for given node list
function writeBrowseListValues (browseList) {
    var itemIndex = 0;

    for (itemIndex; itemIndex < browseList.length; itemIndex++) {
        writeBrowsedValues(browseList[itemIndex]);
    }
}

// browses given node id and writes random values for int, float and double nodes
function writeBrowsedValues (browseNodeId) {
    var browseResult = browseNodes(browseNodeId),
        itemIndex = 0;

    // iterate through result and write random values for number types
    for (itemIndex; itemIndex < browseResult.length; itemIndex++) {
        writeSingleValue(browseResult[itemIndex], true);
    }
}

// returns variable types for browsed node
function browseNodes (nodeId) {
    var browseNode = new UaNode(nodeId);

    return browseNode.browse({
        direction: UaNode.BROWSEDIRECTION_FORWARD,
        reference: UaNode.HASCOMPONENT,
        subtype: true,
        nodeclass: UaNode.NODECLASS_VARIABLE,
        maxresult: 0,
        recursive: recursive
    });
}

// writes random value for single node
function writeSingleValue (nodeObj, isBrowseResult) {
    if (isBrowseResult) {
        nodeObj = nodeObj.node;
    }

    writeRandomValue(nodeObj.nodeid);
}

// checks if node is a variable type
function isVarType(nodeObj) {
    return nodeObj.typedefinition == BaseVarTypeId;
}

// writes random integer value to given browse item
function writeRandomValue (nodeid) {
    var node = new UaNode(nodeid),
        numType = getNumType(node);

    if (numType != "none") {
        node.value = numType == "int" ? getRandomInt(MinRandomIntValue, MaxRandomIntValue) : 
            getRandomFloat(MinRandomFloatValue, MaxRandomFloatValue);
    }
}

// checks if the browse item is a numeric variable
function getNumType (node) {
    var splitArray = node.datatype.split("i="),
        numIndex = 0;

    if (splitArray.length <= 1) {
        return "none";
    }

    numIndex = parseInt(splitArray[1], 10);

    if (IntTypeIndexes.indexOf(numIndex) > -1) {
        return "int";
    } else if (FloatingTypeIndexes.indexOf(numIndex) > -1) {
        return "float";
    } else {
        return "none";
    }
}


// returns random integer value
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

// returns random float value
function getRandomFloat(min, max) {
    return Math.random() * (max - min) + min;
};

// abort execution when executed in object type
if (baseNodeId.indexOf("ObjectTypes.PROJECT") > -1) {
    return;
}

if (relativeMode) {
    writeBrowsedValues(baseNodeId);
} else if (browseMode) {
    writeBrowseListValues(browseList);
} else {
    writeNodesListValues(nodeList);
}]]]]><![CDATA[></code>
</script>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm" BrowseName="1:alarm" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">alarm</DisplayName>
		<Description Locale="en">alarm</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration" BrowseName="1:AlarmConfiguration">
		<DisplayName Locale="en">AlarmConfiguration</DisplayName>
		<Description Locale="en">AlarmConfiguration</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasModellingRule">Shared</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.exclusive" BrowseName="1:exclusive" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">exclusive</DisplayName>
		<Description Locale="en">exclusive</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>true</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.variable" BrowseName="1:variable" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">variable</DisplayName>
		<Description Locale="en">variable</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.display" BrowseName="1:display" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">display</DisplayName>
		<Description Locale="en">display</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>ns=1;s=</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.REPLACEMENTS" BrowseName="1:REPLACEMENTS">
		<DisplayName Locale="en">REPLACEMENTS</DisplayName>
		<Description Locale="en">REPLACEMENTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
	</UAObject>
	<UAObject NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active" BrowseName="1:active">
		<DisplayName Locale="en">active</DisplayName>
		<Description Locale="en">active</Description>
		<References>
			<Reference ReferenceType="HasEventSource" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.AlarmConditionControl.Discrete</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=AGENT.ALARMING.Categories.Error</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.value" BrowseName="1:value" DataType="BaseDataType" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">value</DisplayName>
		<Description Locale="en">value</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>true</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.value_compare" BrowseName="1:value_compare" DataType="String" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">value_compare</DisplayName>
		<Description Locale="en">value_compare</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:String>==</uax:String>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.active_message" BrowseName="1:active_message" DataType="LocalizedText" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">active_message</DisplayName>
		<Description Locale="en">active_message</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:LocalizedText>
				<uax:Locale></uax:Locale>
				<uax:Text>Conveyor Belt alarm is active</uax:Text>
			</uax:LocalizedText>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.inactive_message" BrowseName="1:inactive_message" DataType="LocalizedText" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">inactive_message</DisplayName>
		<Description Locale="en">inactive_message</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:LocalizedText>
				<uax:Locale></uax:Locale>
				<uax:Text>Conveyor Belt alarm is active</uax:Text>
			</uax:LocalizedText>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.max_time_shelved" BrowseName="1:max_time_shelved" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">max_time_shelved</DisplayName>
		<Description Locale="en">max_time_shelved</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.on_delay" BrowseName="1:on_delay" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on_delay</DisplayName>
		<Description Locale="en">on_delay</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.off_delay" BrowseName="1:off_delay" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off_delay</DisplayName>
		<Description Locale="en">off_delay</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Double>0</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.explicit_acknowledgement" BrowseName="1:explicit_acknowledgement" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">explicit_acknowledgement</DisplayName>
		<Description Locale="en">explicit_acknowledgement</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.prevention_script" BrowseName="1:prevention_script" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">prevention_script</DisplayName>
		<Description Locale="en">prevention_script</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>i=0</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active.modify_script" BrowseName="1:modify_script" DataType="NodeId" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">modify_script</DisplayName>
		<Description Locale="en">modify_script</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration.active</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasModellingRule">New</Reference>
		</References>
		<Value>
			<uax:NodeId>
				<uax:Identifier>i=0</uax:Identifier>
			</uax:NodeId>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=AGENT" BrowseName="1:AGENT">
		<DisplayName Locale="en">AGENT</DisplayName>
		<Description Locale="en">AGENT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.Server.Local</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=AGENT.OBJECTS.Conveyor_Belt" ExportedBrowseName="1:Conveyor_Belt" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=AGENT.OBJECTS" BrowseName="1:OBJECTS">
		<DisplayName Locale="en">OBJECTS</DisplayName>
		<Description Locale="en">OBJECTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=AGENT.OBJECTS.Conveyor_Belt" BrowseName="1:Conveyor_Belt">
		<DisplayName Locale="en">Conveyor_Belt</DisplayName>
		<Description Locale="en">Conveyor_Belt</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.Overview</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Conveyor_Belt.operating_mode" BrowseName="1:operating_mode" DataType="Int16" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">operating_mode</DisplayName>
		<Description Locale="en">operating_mode</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Int16>2</uax:Int16>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Conveyor_Belt.on" BrowseName="1:on" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on</DisplayName>
		<Description Locale="en">on</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Conveyor_Belt.off" BrowseName="1:off" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off</DisplayName>
		<Description Locale="en">off</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Conveyor_Belt.speed" BrowseName="1:speed" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">speed</DisplayName>
		<Description Locale="en">speed</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.speed.DataGenerator</Reference>
		</References>
		<Value>
			<uax:Double>0.420198848870874</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Conveyor_Belt.alarm" BrowseName="1:alarm" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">alarm</DisplayName>
		<Description Locale="en">alarm</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Conveyor_Belt</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Conveyor_Belt.alarm.AlarmConfiguration</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=AGENT" BrowseName="1:AGENT">
		<DisplayName Locale="en">AGENT</DisplayName>
		<Description Locale="en">AGENT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.Server.Local</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=AGENT.OBJECTS.Engine" ExportedBrowseName="1:Engine" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=AGENT.OBJECTS" BrowseName="1:OBJECTS">
		<DisplayName Locale="en">OBJECTS</DisplayName>
		<Description Locale="en">OBJECTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=AGENT.OBJECTS.Engine" BrowseName="1:Engine">
		<DisplayName Locale="en">Engine</DisplayName>
		<Description Locale="en">Engine</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.PROJECT.Engine</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Engine.Overview</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Engine.operating_mode" BrowseName="1:operating_mode" DataType="Int16" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">operating_mode</DisplayName>
		<Description Locale="en">operating_mode</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Int16>2</uax:Int16>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Engine.on" BrowseName="1:on" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on</DisplayName>
		<Description Locale="en">on</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Engine.off" BrowseName="1:off" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off</DisplayName>
		<Description Locale="en">off</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Engine.rpm" BrowseName="1:rpm" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">rpm</DisplayName>
		<Description Locale="en">rpm</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Engine.rpm.DataGenerator</Reference>
		</References>
		<Value>
			<uax:Double>2614.71272451157</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Engine.alarm" BrowseName="1:alarm" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">alarm</DisplayName>
		<Description Locale="en">alarm</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Engine</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Engine.alarm.AlarmConfiguration</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=AGENT" BrowseName="1:AGENT">
		<DisplayName Locale="en">AGENT</DisplayName>
		<Description Locale="en">AGENT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.ATVISE.Server.Local</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=AGENT.OBJECTS.Pump" ExportedBrowseName="1:Pump" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=AGENT.OBJECTS" BrowseName="1:OBJECTS">
		<DisplayName Locale="en">OBJECTS</DisplayName>
		<Description Locale="en">OBJECTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=AGENT.OBJECTS.Pump" BrowseName="1:Pump">
		<DisplayName Locale="en">Pump</DisplayName>
		<Description Locale="en">Pump</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=ObjectTypes.PROJECT.Pump</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Pump.Overview</Reference>
		</References>
	</UAObject>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Pump.operating_mode" BrowseName="1:operating_mode" DataType="Int16" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">operating_mode</DisplayName>
		<Description Locale="en">operating_mode</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Int16>2</uax:Int16>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Pump.on" BrowseName="1:on" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">on</DisplayName>
		<Description Locale="en">on</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Pump.off" BrowseName="1:off" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">off</DisplayName>
		<Description Locale="en">off</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Pump.flow_rate" BrowseName="1:flow_rate" DataType="Double" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">flow_rate</DisplayName>
		<Description Locale="en">flow_rate</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Pump.flow_rate.DataGenerator</Reference>
		</References>
		<Value>
			<uax:Double>37.2854246486872</uax:Double>
		</Value>
	</UAVariable>
	<UAVariable NodeId="ns=1;s=AGENT.OBJECTS.Pump.alarm" BrowseName="1:alarm" DataType="Boolean" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">alarm</DisplayName>
		<Description Locale="en">alarm</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=AGENT.OBJECTS.Pump</Reference>
			<Reference ReferenceType="HasTypeDefinition">BaseVariableType</Reference>
			<Reference ReferenceType="HasComponent">ns=1;s=ObjectTypes.PROJECT.Pump.alarm.AlarmConfiguration</Reference>
		</References>
		<Value>
			<uax:Boolean>false</uax:Boolean>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=SYSTEM" BrowseName="1:SYSTEM">
		<DisplayName Locale="en">SYSTEM</DisplayName>
		<Description Locale="en">SYSTEM</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS.AlarmIndication" ExportedBrowseName="1:AlarmIndication" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY" BrowseName="1:LIBRARY">
		<DisplayName Locale="en">LIBRARY</DisplayName>
		<Description Locale="en">LIBRARY</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT" BrowseName="1:PROJECT">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS" BrowseName="1:DISPLAYSCRIPTS">
		<DisplayName Locale="en">DISPLAYSCRIPTS</DisplayName>
		<Description Locale="en">DISPLAYSCRIPTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAVariable NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS.AlarmIndication" BrowseName="1:AlarmIndication" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">AlarmIndication</DisplayName>
		<Description Locale="en">AlarmIndication</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.DisplayScript</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<script>
  <metadata>
    <priority>0</priority>
    <help/>
  </metadata>
  <code><![CDATA[alarmIndication = webMI.query.alarmIndication;
initAlarm(webMI.query.base + ".alarm.AlarmConfiguration.active");]]]]><![CDATA[></code>
</script>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=SYSTEM" BrowseName="1:SYSTEM">
		<DisplayName Locale="en">SYSTEM</DisplayName>
		<Description Locale="en">SYSTEM</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS.indication" ExportedBrowseName="1:indication" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY" BrowseName="1:LIBRARY">
		<DisplayName Locale="en">LIBRARY</DisplayName>
		<Description Locale="en">LIBRARY</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT" BrowseName="1:PROJECT">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS" BrowseName="1:DISPLAYSCRIPTS">
		<DisplayName Locale="en">DISPLAYSCRIPTS</DisplayName>
		<Description Locale="en">DISPLAYSCRIPTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAVariable NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS.indication" BrowseName="1:indication" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">indication</DisplayName>
		<Description Locale="en">indication</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT.DISPLAYSCRIPTS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.DisplayScript</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<script>
  <metadata>
    <priority>0</priority>
    <help/>
  </metadata>
  <code><![CDATA[
webMI.trigger.connect("clicked", function(e) {
var id = "button_auto";
var value = e.value;
webMI.data.write([webMI.query["base"] + ".operating_mode"], ["2"]);
}, "button_auto");

webMI.trigger.connect("clicked", function(e) {
var id = "button_manual";
var value = e.value;
webMI.data.write([webMI.query["base"] + ".operating_mode"], ["1"]);
}, "button_manual");

webMI.trigger.connect("clicked", function(e) {
var id = "button_off";
var value = e.value;
webMI.data.write([webMI.query["base"] + ".operating_mode"], ["0"]);
}, "button_off");

webMI.data.subscribe(webMI.query["base"] + ".operating_mode", function(e) {
var id = "indicator_1";
var value = e.value;
if (value == 2)
	webMI.gfx.setFill(id, webMI.query["autocolor"]);
if (value == 1)
	webMI.gfx.setFill(id, "#68676c");
if (value == 0)
	webMI.gfx.setFill(id, "#68676c");

});

webMI.data.subscribe(webMI.query["base"] + ".operating_mode", function(e) {
var id = "indicator_2";
var value = e.value;
if (value == 2)
	webMI.gfx.setFill(id, "#68676c");
if (value == 1)
	webMI.gfx.setFill(id, "#ffaa00");
if (value == 0)
	webMI.gfx.setFill(id, "#68676c");

});

webMI.data.subscribe(webMI.query["base"] + ".operating_mode", function(e) {
var id = "indicator_3";
var value = e.value;
if (value == 2)
	webMI.gfx.setFill(id, "#68676c");
if (value == 1)
	webMI.gfx.setFill(id, "#68676c");
if (value == 0)
	webMI.gfx.setFill(id, "#ff0000");

});]]]]><![CDATA[></code>
</script>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
</UANodeSet>
