# HG changeset patch # User Edouard Tisserant <edouard.tisserant@gmail.com> # Date 1633095158 -7200 # Node ID 2507e35976c0996244f51213d94b897adfbc2fd8 # Parent b16e9561a3c1e6a9e4feec196203c5aab618648c SVGHMI: Added PathSlider widget diff -r b16e9561a3c1 -r 2507e35976c0 svghmi/widget_pathslider.ysl2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/svghmi/widget_pathslider.ysl2 Fri Oct 01 15:32:38 2021 +0200 @@ -0,0 +1,173 @@ +// widget_pathslider.ysl2 +widget_desc("PathSlider") { + longdesc + || + PathSlider - + || + + shortdesc > Slide an SVG element along a path by dragging it + + path name="value" accepts="HMI_INT,HMI_REAL" > value + path name="min" count="optional" accepts="HMI_INT,HMI_REAL" > min + path name="max" count="optional" accepts="HMI_INT,HMI_REAL" > max + + arg name="min" count="optional" accepts="int,real" > minimum value + arg name="max" count="optional" accepts="int,real" > maximum value +} + +widget_class("PathSlider") { + || + frequency = 10; + position = undefined; + min = 0; + max = 100; + scannedPoints = []; + pathLength = undefined; + precision = undefined; + origPt = undefined; + + + scanPath() { + this.pathLength = this.path_elt.getTotalLength(); + this.precision = Math.floor(this.pathLength / 10); + + // save linear scan for coarse approximation + for (var scanLength = 0; scanLength <= this.pathLength; scanLength += this.precision) { + this.scannedPoints.push([this.path_elt.getPointAtLength(scanLength), scanLength]); + } + [this.origPt,] = this.scannedPoints[0]; + } + + closestPoint(point) { + var bestPoint, + bestLength, + bestDistance = Infinity, + scanDistance; + + // use linear scan for coarse approximation + for (let [scanPoint, scanLength] of this.scannedPoints){ + if ((scanDistance = distance2(scanPoint)) < bestDistance) { + bestPoint = scanPoint, + bestLength = scanLength, + bestDistance = scanDistance; + } + } + + // binary search for more precise estimate + let precision = this.precision / 2; + while (precision > 0.5) { + var beforePoint, + afterPoint, + beforeLength, + afterLength, + beforeDistance, + afterDistance; + if ((beforeLength = bestLength - precision) >= 0 && + (beforeDistance = distance2(beforePoint = this.path_elt.getPointAtLength(beforeLength))) < bestDistance) { + bestPoint = beforePoint, + bestLength = beforeLength, + bestDistance = beforeDistance; + } else if ((afterLength = bestLength + precision) <= this.pathLength && + (afterDistance = distance2(afterPoint = this.path_elt.getPointAtLength(afterLength))) < bestDistance) { + bestPoint = afterPoint, + bestLength = afterLength, + bestDistance = afterDistance; + } + precision /= 2; + } + + return [bestPoint, bestLength]; + + function distance2(p) { + var dx = p.x - point.x, + dy = p.y - point.y; + return dx * dx + dy * dy; + } + } + + dispatch(value,oldval, index) { + switch(index) { + case 0: + this.position = value; + break; + case 1: + this.min = value; + break; + case 2: + this.max = value; + break; + } + + this.request_animate(); + } + + get_current_point(){ + let currLength = this.pathLength * (this.position - this.min) / (this.max - this.min) + return this.path_elt.getPointAtLength(currLength); + } + + animate(){ + if(this.position == undefined) + return; + + let currPt = this.get_current_point(); + this.cursor_transform.setTranslate(currPt.x - this.origPt.x, currPt.y - this.origPt.y); + } + + init() { + if(this.args.length == 2) + [this.min, this.max]=this.args; + + this.scanPath(); + + this.cursor_transform = svg_root.createSVGTransform(); + + this.cursor_elt.transform.baseVal.appendItem(this.cursor_transform); + + this.cursor_elt.onpointerdown = (e) => this.on_cursor_down(e); + + this.bound_drag = this.drag.bind(this); + this.bound_drop = this.drop.bind(this); + } + + start_dragging_from_event(e){ + let clientPoint = new DOMPoint(e.clientX, e.clientY); + let point = clientPoint.matrixTransform(this.invctm); + let currPt = this.get_current_point(); + this.draggingOffset = new DOMPoint(point.x - currPt.x , point.y - currPt.y); + } + + apply_position_from_event(e){ + let clientPoint = new DOMPoint(e.clientX, e.clientY); + let rawPoint = clientPoint.matrixTransform(this.invctm); + let point = new DOMPoint(rawPoint.x - this.draggingOffset.x , rawPoint.y - this.draggingOffset.y); + let [closestPoint, closestLength] = this.closestPoint(point); + let new_position = this.min + (this.max - this.min) * closestLength / this.pathLength; + this.position = Math.round(Math.max(Math.min(new_position, this.max), this.min)); + this.apply_hmi_value(0, this.position); + } + + on_cursor_down(e){ + // get scrollbar -> root transform + let ctm = this.path_elt.getCTM(); + // root -> path transform + this.invctm = ctm.inverse(); + this.start_dragging_from_event(e); + svg_root.addEventListener("pointerup", this.bound_drop, true); + svg_root.addEventListener("pointermove", this.bound_drag, true); + } + + drop(e) { + svg_root.removeEventListener("pointerup", this.bound_drop, true); + svg_root.removeEventListener("pointermove", this.bound_drag, true); + } + + drag(e) { + this.apply_position_from_event(e); + } + || +} + +widget_defs("PathSlider") { + labels("cursor path"); +} diff -r b16e9561a3c1 -r 2507e35976c0 tests/svghmi_pathslider/beremiz.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/svghmi_pathslider/beremiz.xml Fri Oct 01 15:32:38 2021 +0200 @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='utf-8'?> +<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="LOCAL://"> + <TargetType/> + <Libraries Enable_SVGHMI_Library="true"/> +</BeremizRoot> diff -r b16e9561a3c1 -r 2507e35976c0 tests/svghmi_pathslider/plc.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/svghmi_pathslider/plc.xml Fri Oct 01 15:32:38 2021 +0200 @@ -0,0 +1,73 @@ +<?xml version='1.0' encoding='utf-8'?> +<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201"> + <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/> + <contentHeader name="Unnamed" modificationDateTime="2021-09-10T14:17:04"> + <coordinateInfo> + <fbd> + <scaling x="5" y="5"/> + </fbd> + <ld> + <scaling x="0" y="0"/> + </ld> + <sfc> + <scaling x="0" y="0"/> + </sfc> + </coordinateInfo> + </contentHeader> + <types> + <dataTypes/> + <pous> + <pou name="MainStuff" pouType="program"> + <interface> + <localVars> + <variable name="var0"> + <type> + <derived name="HMI_INT"/> + </type> + </variable> + <variable name="var1"> + <type> + <derived name="HMI_INT"/> + </type> + </variable> + </localVars> + </interface> + <body> + <FBD> + <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false"> + <position x="445" y="65"/> + <connectionPointOut> + <relPosition x="125" y="15"/> + </connectionPointOut> + <expression>var0</expression> + </inVariable> + <outVariable localId="10" executionOrderId="0" height="25" width="85" negated="false"> + <position x="710" y="105"/> + <connectionPointIn> + <relPosition x="0" y="10"/> + <connection refLocalId="5"> + <position x="710" y="115"/> + <position x="640" y="115"/> + <position x="640" y="80"/> + <position x="570" y="80"/> + </connection> + </connectionPointIn> + <expression>var1</expression> + </outVariable> + </FBD> + </body> + </pou> + </pous> + </types> + <instances> + <configurations> + <configuration name="config"> + <resource name="resource1"> + <task name="task0" priority="0" interval="T#20ms"> + <pouInstance name="instance0" typeName="MainStuff"/> + </task> + </resource> + </configuration> + </configurations> + </instances> +</project> diff -r b16e9561a3c1 -r 2507e35976c0 tests/svghmi_pathslider/svghmi_0@svghmi/baseconfnode.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/svghmi_pathslider/svghmi_0@svghmi/baseconfnode.xml Fri Oct 01 15:32:38 2021 +0200 @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='utf-8'?> +<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="svghmi_0"/> diff -r b16e9561a3c1 -r 2507e35976c0 tests/svghmi_pathslider/svghmi_0@svghmi/confnode.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/svghmi_pathslider/svghmi_0@svghmi/confnode.xml Fri Oct 01 15:32:38 2021 +0200 @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='utf-8'?> +<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" WatchdogInitial="10" WatchdogInterval="5"/> diff -r b16e9561a3c1 -r 2507e35976c0 tests/svghmi_pathslider/svghmi_0@svghmi/messages.pot --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/svghmi_pathslider/svghmi_0@svghmi/messages.pot Fri Oct 01 15:32:38 2021 +0200 @@ -0,0 +1,17 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2021-02-12 21:55+CET\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: SVGHMI 1.0\n" + + diff -r b16e9561a3c1 -r 2507e35976c0 tests/svghmi_pathslider/svghmi_0@svghmi/svghmi.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/svghmi_pathslider/svghmi_0@svghmi/svghmi.svg Fri Oct 01 15:32:38 2021 +0200 @@ -0,0 +1,882 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="svghmi.svg" + id="hmi0" + version="1.1" + viewBox="0 0 1280 720" + height="720" + width="1280"> + <metadata + id="metadata4542"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs2"> + <marker + inkscape:stockid="SquareL" + orient="auto" + refY="0.0" + refX="0.0" + id="SquareL" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1054" + d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + transform="scale(0.8)" /> + </marker> + <linearGradient + id="linearGradient34303" + osb:paint="solid"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop34301" /> + </linearGradient> + <linearGradient + id="linearGradient20537" + osb:paint="solid"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop20535" /> + </linearGradient> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:document-units="px" + inkscape:current-layer="hmi0" + showgrid="false" + units="px" + inkscape:zoom="1.8101934" + inkscape:cx="616.36085" + inkscape:cy="455.0488" + inkscape:window-width="2188" + inkscape:window-height="1534" + inkscape:window-x="3675" + inkscape:window-y="324" + inkscape:window-maximized="0" + showguides="true" + inkscape:guide-bbox="true" + inkscape:snap-global="true" + inkscape:snap-bbox="true" + inkscape:bbox-nodes="true" /> + <g + inkscape:label="HMI:Keypad:HMI_INT:HMI_REAL" + id="g2432" + style="fill-rule:evenodd;stroke-width:0.47631353" + transform="matrix(3.3549332,0,0,3.14525,-181.87457,2336.0198)"> + <path + sodipodi:nodetypes="ccccc" + inkscape:label="Background" + inkscape:connector-curvature="0" + id="path2136" + d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <rect + ry="3.8152773" + rx="3.8152773" + y="15.77106" + x="64.024963" + height="30.150299" + width="361.89996" + id="rect2426" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + inkscape:label="Field" /> + <text + id="text2430" + y="37.408375" + x="72.50132" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve" + inkscape:label="Value"><tspan + style="text-align:start;text-anchor:start;stroke-width:0.47690967px" + y="37.408375" + x="72.50132" + id="tspan2428" + sodipodi:role="line">number</tspan></text> + <g + style="fill-rule:evenodd;stroke-width:0.13585199" + inkscape:label="Enter" + id="g4947" + transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)"> + <path + style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.10074362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path193" + d="m 750,175 c 0,-2 -1,-3 -3,-3 h -20 c -1,0 -3,1 -3,3 v 43 c 0,1 2,2 3,2 h 20 c 2,0 3,-1 3,-2 z" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="m -1244.2949,1166.5938 v 15.791 h -38.6875 v -2.9981 l -6.9199,4 6.9199,4 v -2.998 h 40.6836 v -17.7949 z" + transform="matrix(0.28557246,0,0,0.28557246,1098.7155,-140.51013)" + id="path6545-4" + inkscape:connector-curvature="0" /> + </g> + <g + style="fill-rule:evenodd;stroke-width:0.13585199" + inkscape:label="Keys" + id="g4993" + transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)"> + <g + style="stroke-width:0.13585199" + inkscape:label="7" + id="g4892"> + <path + inkscape:connector-curvature="0" + d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z" + id="path163" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text331" + y="129.38269" + x="636.4165" + transform="scale(1.0007154,0.99928514)">7</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="4" + id="g4907"> + <path + inkscape:connector-curvature="0" + d="m 638,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z" + id="path169" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text335" + y="154.10822" + x="636.4165" + transform="scale(1.0007154,0.99928514)">4</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="1" + id="g4922"> + <path + inkscape:connector-curvature="0" + d="m 638,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z" + id="path175" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text339" + y="179.82285" + x="636.4165" + transform="scale(1.0007154,0.99928514)">1</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="8" + id="g4897"> + <path + inkscape:connector-curvature="0" + d="m 668,120 h 19 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z" + id="path165" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text347" + y="129.38269" + x="667.07562" + transform="scale(1.0007154,0.99928514)">8</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="5" + id="g4912"> + <path + inkscape:connector-curvature="0" + d="m 668,146 h 19 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z" + id="path171" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text351" + y="154.10822" + x="667.07562" + transform="scale(1.0007154,0.99928514)">5</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="2" + id="g4927"> + <path + inkscape:connector-curvature="0" + d="m 668,172 h 19 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z" + id="path177" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text355" + y="179.82285" + x="667.07562" + transform="scale(1.0007154,0.99928514)">2</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="9" + id="g4902"> + <path + inkscape:connector-curvature="0" + d="m 697,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z" + id="path167" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text363" + y="129.38269" + x="695.75708" + transform="scale(1.0007154,0.99928514)">9</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="6" + id="g4917"> + <path + inkscape:connector-curvature="0" + d="m 697,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z" + id="path173" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text367" + y="154.10822" + x="695.75708" + transform="scale(1.0007154,0.99928514)">6</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="3" + id="g4932"> + <path + inkscape:connector-curvature="0" + d="m 697,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z" + id="path179" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text371" + y="179.82285" + x="695.75708" + transform="scale(1.0007154,0.99928514)">3</text> + </g> + <g + style="stroke-width:0.13585199" + inkscape:label="0" + id="g4937"> + <path + inkscape:connector-curvature="0" + d="m 638,220 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 h 49 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 z" + id="path373" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text377" + y="205.53712" + x="636.4165" + transform="scale(1.0007154,0.99928514)">0</text> + </g> + </g> + <g + id="g3113" + inkscape:label="Esc" + transform="translate(-318.22576)"> + <path + style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path167-3" + d="m 387.26079,54.792986 h 33.40019 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -33.40019 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z" + inkscape:connector-curvature="0" /> + <text + x="394.42801" + y="78.632088" + id="text469-4" + style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826" + transform="scale(1.0007154,0.99928511)">Esc</text> + </g> + <g + id="g3109" + inkscape:label="BackSpace" + transform="translate(0,-43.420332)"> + <path + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path173-1" + d="m 387.26079,98.213318 h 33.40019 c 3.34,0 5.01006,1.670013 5.01006,5.010032 v 30.06024 c 0,3.34002 -1.67006,5.01003 -5.01006,5.01003 h -33.40019 c -1.67006,0 -5.01007,-1.67001 -5.01007,-5.01003 v -30.06024 c 0,-3.340019 3.34001,-5.010032 5.01007,-5.010032 z" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="m -1278.9668,1041.3047 -6.9199,4 6.9199,4 v -3 h 33.416 v -1.9981 h -33.416 z" + transform="matrix(0.47690966,0,0,0.47690966,1008.0304,-380.26227)" + id="path11623-1-0-2" + inkscape:connector-curvature="0" /> + </g> + <g + id="g787" + inkscape:label="Sign" + style="fill-rule:evenodd;stroke-width:0.13585199" + transform="matrix(1.6700128,0,0,1.6700128,-678.20742,-102.18822)"> + <path + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path781" + d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z" + inkscape:connector-curvature="0" /> + <text + x="642.1239" + y="135.09822" + id="text783" + style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + transform="scale(1.0007154,0.99928514)">+/-</text> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="252.9579" + y="12.333653" + id="text509" + transform="scale(0.96824589,1.0327955)" + inkscape:label="Info"><tspan + sodipodi:role="line" + id="tspan507" + x="252.9579" + y="12.333653" + style="stroke-width:0.30784383px">information</tspan></text> + <g + transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)" + style="fill-rule:evenodd;stroke-width:0.13585199" + id="g4942" + inkscape:label="NumDot"> + <path + inkscape:connector-curvature="0" + d="m 697,197 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z" + id="path181" + style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <text + style="font-weight:normal;font-size:6.96602964px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989" + id="text771" + y="204.54802" + x="696.7464" + transform="scale(1.0007154,0.99928514)">.</text> + </g> + </g> + <rect + style="color:#000000;fill:#ffffff" + id="page0" + width="1280" + height="720" + x="0" + y="0" + inkscape:label="HMI:Page:Home" /> + <g + id="g1913" + inkscape:label="HMI:Input@.max" + transform="translate(80,100)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4827" + width="165.96402" + height="78.240181" + x="203.89867" + y="501.87585" + rx="7" + ry="7" + inkscape:label="edit" /> + <text + id="text405" + y="551.66504" + x="275.02609" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve" + inkscape:label="value"><tspan + y="551.66504" + x="275.02609" + id="tspan403" + sodipodi:role="line">1234</tspan></text> + <g + id="g1905" + inkscape:label="-1" + transform="translate(-314.79908,-17.189114)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect407" + width="99.578415" + height="88.909302" + x="392.38638" + y="513.73041" + rx="7" + ry="7" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="441.65189" + y="566.1087" + id="text1558"><tspan + sodipodi:role="line" + id="tspan1556" + x="441.65189" + y="566.1087">-1</tspan></text> + </g> + <g + transform="translate(-434.79908,-17.189114)" + inkscape:label="-10" + id="g4394"> + <rect + ry="7" + rx="7" + y="513.73041" + x="392.38638" + height="88.909302" + width="99.578415" + id="rect4388" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <text + id="text4392" + y="566.1087" + x="441.65189" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + y="566.1087" + x="441.65189" + id="tspan4390" + sodipodi:role="line">-10</tspan></text> + </g> + <g + transform="translate(11.20092,-17.189114)" + inkscape:label="+1" + id="g4402"> + <rect + ry="7" + rx="7" + y="513.73041" + x="392.38638" + height="88.909302" + width="99.578415" + id="rect4396" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <text + id="text4400" + y="566.1087" + x="441.65189" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + y="566.1087" + x="441.65189" + id="tspan4398" + sodipodi:role="line">+1</tspan></text> + </g> + <g + id="g4410" + inkscape:label="+10" + transform="translate(131.20092,-17.189114)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4404" + width="99.578415" + height="88.909302" + x="392.38638" + y="513.73041" + rx="7" + ry="7" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="441.65189" + y="566.1087" + id="text4408"><tspan + sodipodi:role="line" + id="tspan4406" + x="441.65189" + y="566.1087">+10</tspan></text> + </g> + </g> + <g + transform="translate(80,-60)" + inkscape:label="HMI:Input@.min" + id="g4450"> + <rect + inkscape:label="edit" + ry="7" + rx="7" + y="501.87585" + x="203.89867" + height="78.240181" + width="165.96402" + id="rect4412" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <text + inkscape:label="value" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="275.02609" + y="551.66504" + id="text4416"><tspan + sodipodi:role="line" + id="tspan4414" + x="275.02609" + y="551.66504">1234</tspan></text> + <g + transform="translate(-314.79908,-17.189114)" + inkscape:label="-1" + id="g4424"> + <rect + ry="7" + rx="7" + y="513.73041" + x="392.38638" + height="88.909302" + width="99.578415" + id="rect4418" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <text + id="text4422" + y="566.1087" + x="441.65189" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + y="566.1087" + x="441.65189" + id="tspan4420" + sodipodi:role="line">-1</tspan></text> + </g> + <g + id="g4432" + inkscape:label="-10" + transform="translate(-434.79908,-17.189114)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4426" + width="99.578415" + height="88.909302" + x="392.38638" + y="513.73041" + rx="7" + ry="7" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="441.65189" + y="566.1087" + id="text4430"><tspan + sodipodi:role="line" + id="tspan4428" + x="441.65189" + y="566.1087">-10</tspan></text> + </g> + <g + id="g4440" + inkscape:label="+1" + transform="translate(11.20092,-17.189114)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4434" + width="99.578415" + height="88.909302" + x="392.38638" + y="513.73041" + rx="7" + ry="7" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="441.65189" + y="566.1087" + id="text4438"><tspan + sodipodi:role="line" + id="tspan4436" + x="441.65189" + y="566.1087">+1</tspan></text> + </g> + <g + transform="translate(131.20092,-17.189114)" + inkscape:label="+10" + id="g4448"> + <rect + ry="7" + rx="7" + y="513.73041" + x="392.38638" + height="88.909302" + width="99.578415" + id="rect4442" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <text + id="text4446" + y="566.1087" + x="441.65189" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + y="566.1087" + x="441.65189" + id="tspan4444" + sodipodi:role="line">+10</tspan></text> + </g> + </g> + <g + id="g4490" + inkscape:label="HMI:Input@.position" + transform="translate(80,-220)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4452" + width="165.96402" + height="78.240181" + x="203.89867" + y="501.87585" + rx="7" + ry="7" + inkscape:label="edit" /> + <text + id="text4456" + y="551.66504" + x="275.02609" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve" + inkscape:label="value"><tspan + y="551.66504" + x="275.02609" + id="tspan4454" + sodipodi:role="line">1234</tspan></text> + <g + id="g4464" + inkscape:label="-1" + transform="translate(-314.79908,-17.189114)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4458" + width="99.578415" + height="88.909302" + x="392.38638" + y="513.73041" + rx="7" + ry="7" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="441.65189" + y="566.1087" + id="text4462"><tspan + sodipodi:role="line" + id="tspan4460" + x="441.65189" + y="566.1087">-1</tspan></text> + </g> + <g + transform="translate(-434.79908,-17.189114)" + inkscape:label="-10" + id="g4472"> + <rect + ry="7" + rx="7" + y="513.73041" + x="392.38638" + height="88.909302" + width="99.578415" + id="rect4466" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <text + id="text4470" + y="566.1087" + x="441.65189" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + y="566.1087" + x="441.65189" + id="tspan4468" + sodipodi:role="line">-10</tspan></text> + </g> + <g + transform="translate(11.20092,-17.189114)" + inkscape:label="+1" + id="g4480"> + <rect + ry="7" + rx="7" + y="513.73041" + x="392.38638" + height="88.909302" + width="99.578415" + id="rect4474" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <text + id="text4478" + y="566.1087" + x="441.65189" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + y="566.1087" + x="441.65189" + id="tspan4476" + sodipodi:role="line">+1</tspan></text> + </g> + <g + id="g4488" + inkscape:label="+10" + transform="translate(131.20092,-17.189114)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4482" + width="99.578415" + height="88.909302" + x="392.38638" + y="513.73041" + rx="7" + ry="7" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="441.65189" + y="566.1087" + id="text4486"><tspan + sodipodi:role="line" + id="tspan4484" + x="441.65189" + y="566.1087">+10</tspan></text> + </g> + </g> + <g + id="g4877" + inkscape:label="HMI:VarInit:50@.position" /> + <g + inkscape:label="HMI:VarInit:99@.max" + id="g4879" /> + <g + id="g4881" + inkscape:label="HMI:VarInit:1@.min" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="277.58728" + y="276.54129" + id="text941"><tspan + sodipodi:role="line" + id="tspan939" + x="277.58728" + y="276.54129">Position</tspan></text> + <text + id="text945" + y="436.54129" + x="277.58728" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + xml:space="preserve"><tspan + y="436.54129" + x="277.58728" + sodipodi:role="line" + id="tspan964">Min</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="277.58728" + y="596.54126" + id="text949"><tspan + sodipodi:role="line" + x="277.58728" + y="596.54126" + id="tspan968">Max</tspan></text> + <g + id="g962" + inkscape:label="HMI:PathSlider@.position@.min@.max"> + <path + inkscape:connector-curvature="0" + id="path148" + d="m 955.14658,26.15147 211.57962,92.25534" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + inkscape:label="path" /> + <path + d="m 966.53287,44.309416 -13.21418,-7.228051 -13.44562,6.787834 2.79088,-14.801024 -10.61054,-10.689986 14.93904,-1.919484 6.88794,-13.3946089 6.44196,13.6147169 14.86752,2.411663 -10.95769,10.333842 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="false" + sodipodi:arg2="1.5873072" + sodipodi:arg1="0.9589887" + sodipodi:r2="11.340635" + sodipodi:r1="22.681271" + sodipodi:cy="25.742275" + sodipodi:cx="953.50592" + sodipodi:sides="5" + id="path153" + style="opacity:1;vector-effect:none;fill:#ff7903;fill-opacity:0.5288889;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" + sodipodi:type="star" + inkscape:label="cursor" /> + </g> + <g + inkscape:label="HMI:PathSlider@.position@.min@.max" + id="g976" + transform="translate(0,280)"> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 955.14658,26.15147 C 851.13467,-192.73963 1041.4811,9.3909254 1166.7262,118.40681" + id="path972" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + inkscape:label="path" /> + <path + sodipodi:type="star" + style="opacity:1;vector-effect:none;fill:#ff7903;fill-opacity:0.5288889;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" + id="path974" + sodipodi:sides="5" + sodipodi:cx="953.50592" + sodipodi:cy="25.742275" + sodipodi:r1="22.681271" + sodipodi:r2="11.340635" + sodipodi:arg1="0.9589887" + sodipodi:arg2="1.5873072" + inkscape:flatsided="false" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 966.53287,44.309416 -13.21418,-7.228051 -13.44562,6.787834 2.79088,-14.801024 -10.61054,-10.689986 14.93904,-1.919484 6.88794,-13.3946089 6.44196,13.6147169 14.86752,2.411663 -10.95769,10.333842 z" + inkscape:label="cursor" /> + </g> + <g + transform="matrix(1.3425901,0,0,1.3433676,-917.1196,42.980158)" + id="g982" + inkscape:label="HMI:PathSlider@.position@.min@.max" + style="stroke-width:0.74461341"> + <path + sodipodi:nodetypes="cssc" + inkscape:connector-curvature="0" + id="path978" + d="m 952.93687,23.941761 c 51.19833,-44.196391 62.05743,74.937687 92.34943,75.490114 21.6066,0.394035 85.7552,-75.64156 18.9371,-55.006769 -72.1854,22.292318 95.3404,97.369964 112.9989,61.828304" + style="fill:none;stroke:#000000;stroke-width:0.74461341px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#SquareL)" + inkscape:label="path" /> + <path + d="m 965.58932,65.187083 -13.21418,-7.228052 -13.44561,6.787834 2.79087,-14.801023 -10.61053,-10.689986 14.93903,-1.919485 6.88795,-13.394608 6.44195,13.614717 14.86753,2.411662 -10.9577,10.333842 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="false" + sodipodi:arg2="1.5873072" + sodipodi:arg1="0.9589887" + sodipodi:r2="11.340635" + sodipodi:r1="22.681271" + sodipodi:cy="46.61994" + sodipodi:cx="952.5624" + sodipodi:sides="5" + id="path980" + style="opacity:1;vector-effect:none;fill:#ff7903;fill-opacity:0.5288889;stroke:none;stroke-width:0.74461341;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" + sodipodi:type="star" + inkscape:label="cursor" /> + </g> +</svg>