<?xml version="1.0" encoding="UTF-8" ?>
<!-- created at 2025-12-17 13:41:32 -->
<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>
	<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.OBJECTDISPLAYS.rotor" ExportedBrowseName="1:rotor" 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.OBJECTDISPLAYS" BrowseName="1:OBJECTDISPLAYS">
		<DisplayName Locale="en">OBJECTDISPLAYS</DisplayName>
		<Description Locale="en">OBJECTDISPLAYS</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.OBJECTDISPLAYS.rotor" BrowseName="1:rotor" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">rotor</DisplayName>
		<Description Locale="en">rotor</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT.OBJECTDISPLAYS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.Display</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" height="264.17" xmlns:atv="http://webmi.atvise.com/2007/svgext" version="1.2" width="262.88" xmlns="http://www.w3.org/2000/svg">
 <defs/>
 <metadata>
  <atv:parameter valuetype="address" desc="rotation (bool)" behavior="optional" name="rotation"/>
  <atv:parameter valuetype="number" desc="angle per step" behavior="optional" defaultvalue="15" name="angle"/>
  <atv:parameter valuetype="number" desc="milliseconds between steps" behavior="optional" defaultvalue="1000" name="speed"/>
  <atv:gridconfig height="20" enabled="false" width="20" gridstyle="lines"/>
  <atv:snapconfig height="10" enabled="false" width="10"/>
 </metadata>
 <g transform="matrix(0.49,0,0,0.471,5.5179,13.2681)" id="rotor" atv:refpx="131.072" atv:refpy="134.96">
  <g id="id_14" atv:refpx="256.247" atv:refpy="256.247">
   <g id="id_13" atv:refpx="256.247" atv:refpy="256.247">
    <path id="id_3" atv:refpx="69.069" atv:refpy="223.267" d="M52.226,273.852C52.61,278.298 56.339,281.643 60.717,281.643C60.964,281.643 61.211,281.633 61.468,281.609C66.17,281.207 69.634,277.061 69.225,272.366C66.366,239.624 72.125,206.651 85.899,177.023C87.879,172.748 86.027,167.67 81.76,165.691C77.459,163.694 72.407,165.563 70.419,169.83C55.392,202.163 49.103,238.131 52.226,273.852"/>
    <path id="id_5" atv:refpx="378.003" atv:refpy="110.594" d="M342.812,70.391C338.545,68.403 333.468,70.254 331.463,74.521C329.475,78.788 331.326,83.874 335.593,85.862C365.374,99.753 391.043,121.223 409.824,147.968C411.479,150.332 414.133,151.595 416.813,151.595C418.51,151.595 420.226,151.092 421.719,150.042C425.568,147.337 426.498,142.012 423.794,138.155C403.287,108.979 375.289,85.547 342.812,70.391"/>
    <path id="id_6" atv:refpx="256.247" atv:refpy="198.942" d="M428.503,316.041C403.953,301.85 335.472,271.574 307.278,259.26C307.346,258.176 307.449,257.101 307.449,256C307.449,227.772 284.477,204.8 256.24,204.8C254.26,204.8 252.306,204.945 250.369,205.167C243.141,140.62 239.173,95.206 239.173,76.8C239.173,17.067 251.572,17.067 256.24,17.067C260.908,17.067 273.315,17.067 273.315,76.8C273.315,97.323 270.533,132.949 265.046,182.716C264.534,187.401 267.913,191.616 272.598,192.137C277.308,192.623 281.49,189.261 282.01,184.585C287.565,134.204 290.381,97.946 290.381,76.8C290.381,36.915 286.251,0 256.238,0C226.236,0 222.105,36.915 222.105,76.8C222.105,101.231 228.266,161.391 233.753,210.074C216.78,218.42 205.038,235.845 205.038,256C205.038,267.298 208.759,277.709 214.971,286.182C183.978,309.085 130.892,348.074 109.576,360.379C57.873,390.237 51.643,379.511 49.322,375.466C46.984,371.43 40.789,360.686 92.509,330.82C110.071,320.674 143.223,304.844 188.372,285.013C192.69,283.119 194.644,278.084 192.758,273.775C190.855,269.465 185.837,267.494 181.503,269.388C135.15,289.749 102.331,305.441 83.976,316.04C49.444,335.983 19.552,358.025 34.545,384C40.271,393.924 48.77,397.884 59.019,397.884C75.599,397.884 96.762,387.49 118.112,375.16C140.759,362.095 196.491,321.067 227.356,298.249C235.591,303.89 245.531,307.2 256.241,307.2C277.327,307.2 295.469,294.383 303.311,276.139C348.691,296.005 400.804,319.744 419.979,330.821C471.7,360.688 465.496,371.431 463.166,375.467C460.844,379.512 454.599,390.23 402.895,360.38C385.291,350.225 355.015,329.438 315.317,300.271C311.52,297.464 306.178,298.3 303.387,302.089C300.597,305.895 301.416,311.237 305.213,314.019C345.977,343.98 375.971,364.545 394.361,375.16C415.711,387.491 436.883,397.884 453.471,397.884C463.711,397.884 472.227,393.916 477.953,384C492.939,358.025 463.046,335.983 428.503,316.041M256.241,290.133C237.416,290.133 222.107,274.823 222.107,255.999C222.107,237.183 237.416,221.866 256.241,221.866C275.066,221.866 290.383,237.183 290.383,255.999C290.383,274.825 275.065,290.133 256.241,290.133"/>
    <path id="id_10" atv:refpx="321.296" atv:refpy="434.148" d="M273.76,460.049C274.007,460.049 274.263,460.039 274.519,460.015C310.018,456.875 344.322,444.339 373.719,423.774C377.576,421.069 378.515,415.744 375.818,411.887C373.113,408.021 367.796,407.091 363.931,409.788C336.983,428.647 305.537,440.141 273.017,443.017C268.315,443.435 264.851,447.574 265.269,452.267C265.662,456.704 269.382,460.049 273.76,460.049"/>
   </g>
  </g>
 </g>
 <script type="text/ecmascript" atv:defaultdynamics="true" atv:name="" atv:desc=""><![CDATA[
// rotation must be a boolean (true->start, false->stop)
//  The rotating Object (oder Objectgroup) must be named "rotor"
//  Rotation-Speed and Angle per step get defined by the parameters
//  "speed" in milliseconds und "angle" in degreees.
var currentRotation = 0;
var currentRotationSpeed  = Number(webMI.query["speed"]);
var currentRotationAngle = Number(webMI.query["angle"]);
var rotateFunction;

webMI.data.subscribe(webMI.query["rotation"] + "", function(e) {	
	var value = e.value;
	if (value){
		rotateFunction = setInterval(function() {
			currentRotation -= currentRotationAngle;
			if (currentRotation >= 0) currentRotation = 360;
			webMI.gfx.setRotation("rotor", webMI.translate(currentRotation, 360, 0, 360, 0));
		}, currentRotationSpeed);
	} else {
		clearInterval(rotateFunction);
	}
});]]]]><![CDATA[></script>
</svg>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
</UANodeSet>
