andrej@1691: <?xml version='1.0' encoding='utf-8'?> andrej@1691: <project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201"> andrej@1691: <fileHeader companyName="Unknown" productName="Beremiz" productVersion="1" creationDateTime="2012-09-12T23:30:19"/> andrej@1691: <contentHeader name="extended wxHMI example" modificationDateTime="2017-06-06T13:13:18"> andrej@1691: <coordinateInfo> andrej@1691: <pageSize x="1050" y="1485"/> andrej@1691: <fbd> andrej@1691: <scaling x="5" y="5"/> andrej@1691: </fbd> andrej@1691: <ld> andrej@1691: <scaling x="0" y="0"/> andrej@1691: </ld> andrej@1691: <sfc> andrej@1691: <scaling x="0" y="0"/> andrej@1691: </sfc> andrej@1691: </coordinateInfo> andrej@1691: </contentHeader> andrej@1691: <types> andrej@1691: <dataTypes/> andrej@1691: <pous> andrej@1691: <pou name="main" pouType="program"> andrej@1691: <interface> andrej@1691: <externalVars> andrej@1691: <variable name="Power_ON"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="Power_OFF"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </externalVars> andrej@1691: <localVars> andrej@1691: <variable name="power"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </localVars> andrej@1691: <externalVars> andrej@1691: <variable name="DrawTest"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="DrawTestBtn"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="DrawLogo"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="XaxisPos"> andrej@1691: <type> andrej@1691: <INT/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="YaxisPos"> andrej@1691: <type> andrej@1691: <INT/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="ZaxisPos"> andrej@1691: <type> andrej@1691: <INT/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="TaxisPos"> andrej@1691: <type> andrej@1691: <INT/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </externalVars> andrej@1691: <localVars> andrej@1691: <variable name="PowerCtrl"> andrej@1691: <type> andrej@1691: <derived name="RS"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="Xaxis"> andrej@1691: <type> andrej@1691: <derived name="axis"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </localVars> andrej@1691: <externalVars> andrej@1691: <variable name="XAxisMinus"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="XAxisPlus"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="YAxisPlus"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="YAxisMinus"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="ZAxisPlus"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="ZAxisMinus"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="TAxisPlus"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="TAxisMinus"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </externalVars> andrej@1691: <localVars> andrej@1691: <variable name="Yaxis"> andrej@1691: <type> andrej@1691: <derived name="axis"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="Taxis"> andrej@1691: <type> andrej@1691: <derived name="axis"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="Zaxis"> andrej@1691: <type> andrej@1691: <derived name="axis"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="DrawTestDo"> andrej@1691: <type> andrej@1691: <derived name="RS"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="DrawLogoDo"> andrej@1691: <type> andrej@1691: <derived name="RS"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </localVars> andrej@1691: </interface> andrej@1691: <body> andrej@1691: <FBD> andrej@1691: <comment localId="296" height="330" width="655"> andrej@1691: <position x="390" y="10"/> andrej@1691: <content> andrej@1691: <xhtml:p><![CDATA[Example shows andrej@1691: - how to use wxGlade extension to create user interface and dynamically extend it using Python, andrej@1691: - how to respond to user actions in PLC program and andrej@1691: - how to use several PLC tasks to handle process of different speeds. andrej@1691: andrej@1691: Program has two tasks: andrej@1691: 1. Slow task that communicates with user interface created in wxGlade and updates axes state. andrej@1691: 2. Main task that drives virtual axes. andrej@1691: andrej@1691: When power is on, user can control axes. andrej@1691: "Draw Logo" buttons starts X, Y, Z axes. "Draw Test" buttons starts Z and T axes. andrej@1691: User can adjust position of axes using manual keys. andrej@1691: andrej@1691: andrej@1691: Happy hacking!]]></xhtml:p> andrej@1691: </content> andrej@1691: </comment> andrej@1691: <inVariable localId="288" executionOrderId="0" height="30" width="85" negated="false"> andrej@1691: <position x="35" y="190"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>Power_OFF</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="286" executionOrderId="0" height="30" width="85" negated="false"> andrej@1691: <position x="35" y="155"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>Power_ON</expression> andrej@1691: </inVariable> andrej@1691: <block localId="287" typeName="RS" instanceName="PowerCtrl" executionOrderId="0" height="95" width="55"> andrej@1691: <position x="190" y="130"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="S"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="40"/> andrej@1691: <connection refLocalId="286"> andrej@1691: <position x="190" y="170"/> andrej@1691: <position x="120" y="170"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="R1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="75"/> andrej@1691: <connection refLocalId="288"> andrej@1691: <position x="190" y="205"/> andrej@1691: <position x="120" y="205"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Q1"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="55" y="40"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <outVariable localId="289" executionOrderId="0" height="30" width="50" negated="false"> andrej@1691: <position x="290" y="155"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="287" formalParameter="Q1"> andrej@1691: <position x="290" y="170"/> andrej@1691: <position x="241" y="170"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <expression>power</expression> andrej@1691: </outVariable> andrej@1691: <block localId="297" typeName="axis" instanceName="Xaxis" executionOrderId="0" height="160" width="100"> andrej@1691: <position x="300" y="770"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="Power"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="45"/> andrej@1691: <connection refLocalId="1"> andrej@1691: <position x="300" y="815"/> andrej@1691: <position x="265" y="815"/> andrej@1691: <position x="265" y="755"/> andrej@1691: <position x="255" y="755"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="Up"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="90"/> andrej@1691: <connection refLocalId="301" formalParameter="OUT"> andrej@1691: <position x="300" y="860"/> andrej@1691: <position x="277" y="860"/> andrej@1691: <position x="277" y="835"/> andrej@1691: <position x="255" y="835"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="Down"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="135"/> andrej@1691: <connection refLocalId="299"> andrej@1691: <position x="300" y="905"/> andrej@1691: <position x="110" y="905"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Out"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="100" y="45"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <outVariable localId="298" executionOrderId="0" height="35" width="70" negated="false"> andrej@1691: <position x="435" y="800"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="297" formalParameter="Out"> andrej@1691: <position x="435" y="815"/> andrej@1691: <position x="375" y="815"/> andrej@1691: <position x="375" y="815"/> andrej@1691: <position x="400" y="815"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <expression>XaxisPos</expression> andrej@1691: </outVariable> andrej@1691: <inVariable localId="1" executionOrderId="0" height="30" width="50" negated="false"> andrej@1691: <position x="205" y="740"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>power</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="299" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="25" y="890"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>XAxisMinus</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="300" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="25" y="845"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>XAxisPlus</expression> andrej@1691: </inVariable> andrej@1691: <block localId="301" typeName="OR" executionOrderId="0" height="65" width="70"> andrej@1691: <position x="185" y="805"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="30"/> andrej@1691: <connection refLocalId="2"> andrej@1691: <position x="185" y="835"/> andrej@1691: <position x="162" y="835"/> andrej@1691: <position x="162" y="805"/> andrej@1691: <position x="140" y="805"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="55"/> andrej@1691: <connection refLocalId="300"> andrej@1691: <position x="185" y="860"/> andrej@1691: <position x="110" y="860"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="30"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="2" executionOrderId="0" height="35" width="115" negated="false"> andrej@1691: <position x="25" y="790"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="115" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawTestDo.Q1</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="3" executionOrderId="0" height="35" width="115" negated="false"> andrej@1691: <position x="560" y="785"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="115" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawTestDo.Q1</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="4" executionOrderId="0" height="30" width="50" negated="false"> andrej@1691: <position x="735" y="735"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>power</expression> andrej@1691: </inVariable> andrej@1691: <block localId="5" typeName="axis" instanceName="Yaxis" executionOrderId="0" height="160" width="100"> andrej@1691: <position x="830" y="765"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="Power"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="45"/> andrej@1691: <connection refLocalId="4"> andrej@1691: <position x="830" y="810"/> andrej@1691: <position x="815" y="810"/> andrej@1691: <position x="815" y="750"/> andrej@1691: <position x="785" y="750"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="Up"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="90"/> andrej@1691: <connection refLocalId="9" formalParameter="OUT"> andrej@1691: <position x="830" y="855"/> andrej@1691: <position x="807" y="855"/> andrej@1691: <position x="807" y="830"/> andrej@1691: <position x="785" y="830"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="Down"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="135"/> andrej@1691: <connection refLocalId="7"> andrej@1691: <position x="830" y="900"/> andrej@1691: <position x="645" y="900"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Out"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="100" y="45"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <outVariable localId="6" executionOrderId="0" height="35" width="70" negated="false"> andrej@1691: <position x="955" y="795"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="5" formalParameter="Out"> andrej@1691: <position x="955" y="810"/> andrej@1691: <position x="930" y="810"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <expression>YaxisPos</expression> andrej@1691: </outVariable> andrej@1691: <inVariable localId="7" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="560" y="885"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>YAxisMinus</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="8" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="560" y="840"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>YAxisPlus</expression> andrej@1691: </inVariable> andrej@1691: <block localId="9" typeName="OR" executionOrderId="0" height="65" width="70"> andrej@1691: <position x="715" y="800"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="30"/> andrej@1691: <connection refLocalId="3"> andrej@1691: <position x="715" y="830"/> andrej@1691: <position x="657" y="830"/> andrej@1691: <position x="657" y="800"/> andrej@1691: <position x="645" y="800"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="55"/> andrej@1691: <connection refLocalId="8"> andrej@1691: <position x="715" y="855"/> andrej@1691: <position x="645" y="855"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="30"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="10" executionOrderId="0" height="35" width="115" negated="false"> andrej@1691: <position x="25" y="1045"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="115" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawTestDo.Q1</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="11" executionOrderId="0" height="35" width="115" negated="false"> andrej@1691: <position x="560" y="1025"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="115" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawLogoDo.Q1</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="12" executionOrderId="0" height="30" width="50" negated="false"> andrej@1691: <position x="740" y="975"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>power</expression> andrej@1691: </inVariable> andrej@1691: <block localId="13" typeName="axis" instanceName="Taxis" executionOrderId="0" height="160" width="100"> andrej@1691: <position x="835" y="1005"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="Power"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="45"/> andrej@1691: <connection refLocalId="12"> andrej@1691: <position x="835" y="1050"/> andrej@1691: <position x="820" y="1050"/> andrej@1691: <position x="820" y="990"/> andrej@1691: <position x="790" y="990"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="Up"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="90"/> andrej@1691: <connection refLocalId="22" formalParameter="OUT"> andrej@1691: <position x="835" y="1095"/> andrej@1691: <position x="812" y="1095"/> andrej@1691: <position x="812" y="1070"/> andrej@1691: <position x="790" y="1070"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="Down"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="135"/> andrej@1691: <connection refLocalId="23"> andrej@1691: <position x="835" y="1140"/> andrej@1691: <position x="645" y="1140"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Out"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="100" y="45"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <outVariable localId="14" executionOrderId="0" height="35" width="70" negated="false"> andrej@1691: <position x="960" y="1035"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="13" formalParameter="Out"> andrej@1691: <position x="960" y="1050"/> andrej@1691: <position x="935" y="1050"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <expression>TaxisPos</expression> andrej@1691: </outVariable> andrej@1691: <inVariable localId="15" executionOrderId="0" height="30" width="50" negated="false"> andrej@1691: <position x="200" y="980"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>power</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="16" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="560" y="1080"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>TAxisPlus</expression> andrej@1691: </inVariable> andrej@1691: <block localId="17" typeName="axis" instanceName="Zaxis" executionOrderId="0" height="160" width="100"> andrej@1691: <position x="300" y="1010"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="Power"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="45"/> andrej@1691: <connection refLocalId="15"> andrej@1691: <position x="300" y="1055"/> andrej@1691: <position x="285" y="1055"/> andrej@1691: <position x="285" y="995"/> andrej@1691: <position x="250" y="995"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="Up"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="90"/> andrej@1691: <connection refLocalId="21" formalParameter="OUT"> andrej@1691: <position x="300" y="1100"/> andrej@1691: <position x="280" y="1100"/> andrej@1691: <position x="280" y="1055"/> andrej@1691: <position x="270" y="1055"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="Down"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="135"/> andrej@1691: <connection refLocalId="19"> andrej@1691: <position x="300" y="1145"/> andrej@1691: <position x="110" y="1145"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Out"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="100" y="45"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <outVariable localId="18" executionOrderId="0" height="35" width="70" negated="false"> andrej@1691: <position x="435" y="1040"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="17" formalParameter="Out"> andrej@1691: <position x="435" y="1055"/> andrej@1691: <position x="400" y="1055"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <expression>ZaxisPos</expression> andrej@1691: </outVariable> andrej@1691: <inVariable localId="19" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="25" y="1130"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>ZAxisMinus</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="20" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="25" y="1090"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>ZAxisPlus</expression> andrej@1691: </inVariable> andrej@1691: <block localId="21" typeName="OR" executionOrderId="0" height="100" width="70"> andrej@1691: <position x="200" y="1020"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="35"/> andrej@1691: <connection refLocalId="24"> andrej@1691: <position x="200" y="1055"/> andrej@1691: <position x="170" y="1055"/> andrej@1691: <position x="170" y="1015"/> andrej@1691: <position x="140" y="1015"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="60"/> andrej@1691: <connection refLocalId="10"> andrej@1691: <position x="200" y="1080"/> andrej@1691: <position x="150" y="1080"/> andrej@1691: <position x="150" y="1060"/> andrej@1691: <position x="140" y="1060"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN3"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="85"/> andrej@1691: <connection refLocalId="20"> andrej@1691: <position x="200" y="1105"/> andrej@1691: <position x="110" y="1105"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="35"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <block localId="22" typeName="OR" executionOrderId="0" height="65" width="70"> andrej@1691: <position x="720" y="1040"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="30"/> andrej@1691: <connection refLocalId="11"> andrej@1691: <position x="720" y="1070"/> andrej@1691: <position x="657" y="1070"/> andrej@1691: <position x="657" y="1040"/> andrej@1691: <position x="645" y="1040"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="55"/> andrej@1691: <connection refLocalId="16"> andrej@1691: <position x="720" y="1095"/> andrej@1691: <position x="645" y="1095"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="30"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="23" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="560" y="1125"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>TAxisMinus</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="24" executionOrderId="0" height="35" width="115" negated="false"> andrej@1691: <position x="25" y="1000"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="115" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawLogoDo.Q1</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="25" executionOrderId="0" height="30" width="85" negated="false"> andrej@1691: <position x="40" y="450"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawTest</expression> andrej@1691: </inVariable> andrej@1691: <block localId="26" typeName="RS" instanceName="DrawTestDo" executionOrderId="0" height="115" width="55"> andrej@1691: <position x="280" y="445"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="S"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="45"/> andrej@1691: <connection refLocalId="28" formalParameter="OUT"> andrej@1691: <position x="280" y="490"/> andrej@1691: <position x="255" y="490"/> andrej@1691: <position x="255" y="465"/> andrej@1691: <position x="230" y="465"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="R1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="90"/> andrej@1691: <connection refLocalId="33" formalParameter="OUT"> andrej@1691: <position x="280" y="535"/> andrej@1691: <position x="255" y="535"/> andrej@1691: <position x="255" y="560"/> andrej@1691: <position x="230" y="560"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Q1"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="55" y="45"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="27" executionOrderId="0" height="30" width="85" negated="false"> andrej@1691: <position x="40" y="545"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>Power_OFF</expression> andrej@1691: </inVariable> andrej@1691: <block localId="28" typeName="OR" executionOrderId="0" height="85" width="70"> andrej@1691: <position x="160" y="430"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="35"/> andrej@1691: <connection refLocalId="25"> andrej@1691: <position x="160" y="465"/> andrej@1691: <position x="125" y="465"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="70"/> andrej@1691: <connection refLocalId="29"> andrej@1691: <position x="160" y="500"/> andrej@1691: <position x="135" y="500"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="35"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="29" executionOrderId="0" height="30" width="95" negated="false"> andrej@1691: <position x="40" y="485"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="95" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawTestBtn</expression> andrej@1691: </inVariable> andrej@1691: <block localId="33" typeName="OR" executionOrderId="0" height="85" width="70"> andrej@1691: <position x="160" y="525"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="35"/> andrej@1691: <connection refLocalId="27"> andrej@1691: <position x="160" y="560"/> andrej@1691: <position x="125" y="560"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="70"/> andrej@1691: <connection refLocalId="35"> andrej@1691: <position x="160" y="595"/> andrej@1691: <position x="125" y="595"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="35"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="35" executionOrderId="0" height="30" width="85" negated="false"> andrej@1691: <position x="40" y="580"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawLogo</expression> andrej@1691: </inVariable> andrej@1691: <comment localId="36" height="45" width="215"> andrej@1691: <position x="20" y="670"/> andrej@1691: <content> andrej@1691: <xhtml:p><![CDATA[Control virtual axes.]]></xhtml:p> andrej@1691: </content> andrej@1691: </comment> andrej@1691: <inVariable localId="30" executionOrderId="0" height="30" width="85" negated="false"> andrej@1691: <position x="510" y="475"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawLogo</expression> andrej@1691: </inVariable> andrej@1691: <block localId="31" typeName="RS" instanceName="DrawLogoDo" executionOrderId="0" height="115" width="55"> andrej@1691: <position x="740" y="445"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="S"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="45"/> andrej@1691: <connection refLocalId="30"> andrej@1691: <position x="740" y="490"/> andrej@1691: <position x="595" y="490"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="R1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="90"/> andrej@1691: <connection refLocalId="39" formalParameter="OUT"> andrej@1691: <position x="740" y="535"/> andrej@1691: <position x="715" y="535"/> andrej@1691: <position x="715" y="560"/> andrej@1691: <position x="690" y="560"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Q1"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="55" y="45"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="32" executionOrderId="0" height="30" width="85" negated="false"> andrej@1691: <position x="500" y="545"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>Power_OFF</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="38" executionOrderId="0" height="30" width="85" negated="false"> andrej@1691: <position x="500" y="580"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>DrawTest</expression> andrej@1691: </inVariable> andrej@1691: <block localId="39" typeName="OR" executionOrderId="0" height="85" width="70"> andrej@1691: <position x="620" y="525"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="35"/> andrej@1691: <connection refLocalId="32"> andrej@1691: <position x="620" y="560"/> andrej@1691: <position x="585" y="560"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="70"/> andrej@1691: <connection refLocalId="38"> andrej@1691: <position x="620" y="595"/> andrej@1691: <position x="585" y="595"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="35"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <comment localId="34" height="45" width="365"> andrej@1691: <position x="15" y="55"/> andrej@1691: <content> andrej@1691: <xhtml:p><![CDATA[Turn on/off power, Power on enables axes control.]]></xhtml:p> andrej@1691: </content> andrej@1691: </comment> andrej@1691: <comment localId="37" height="45" width="550"> andrej@1691: <position x="35" y="360"/> andrej@1691: <content> andrej@1691: <xhtml:p><![CDATA[Only one mode can be selected at any time ("Draw Logo" or "Draw Test").]]></xhtml:p> andrej@1691: </content> andrej@1691: </comment> andrej@1691: </FBD> andrej@1691: </body> andrej@1691: <documentation> andrej@1691: <xhtml:p><![CDATA[]]></xhtml:p> andrej@1691: </documentation> andrej@1691: </pou> andrej@1691: <pou name="ReadGUIdata" pouType="program"> andrej@1691: <interface> andrej@1691: <localVars> andrej@1691: <variable name="python_poll0"> andrej@1691: <type> andrej@1691: <derived name="python_poll"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </localVars> andrej@1691: </interface> andrej@1691: <body> andrej@1691: <FBD> andrej@1691: <block localId="220" typeName="python_poll" instanceName="python_poll0" executionOrderId="0" height="85" width="104"> andrej@1691: <position x="295" y="130"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="TRIG"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="35"/> andrej@1691: <connection refLocalId="221"> andrej@1691: <position x="295" y="165"/> andrej@1691: <position x="268" y="165"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="CODE"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="70"/> andrej@1691: <connection refLocalId="222"> andrej@1691: <position x="295" y="200"/> andrej@1691: <position x="271" y="200"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="ACK"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="104" y="35"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: <variable formalParameter="RESULT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="104" y="70"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="221" executionOrderId="0" height="30" width="93" negated="false"> andrej@1691: <position x="175" y="150"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="93" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>BOOL#TRUE</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="222" executionOrderId="0" height="30" width="161" negated="false"> andrej@1691: <position x="110" y="185"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="161" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>'wxglade_hmi.UpdPos()'</expression> andrej@1691: </inVariable> andrej@1691: <comment localId="296" height="55" width="445"> andrej@1691: <position x="35" y="25"/> andrej@1691: <content> andrej@1691: <xhtml:p><![CDATA[This is slow PLC task. It just updates state of axes on HMI.]]></xhtml:p> andrej@1691: </content> andrej@1691: </comment> andrej@1691: </FBD> andrej@1691: </body> andrej@1691: <documentation> andrej@1691: <xhtml:p><![CDATA[]]></xhtml:p> andrej@1691: </documentation> andrej@1691: </pou> andrej@1691: <pou name="Declarations" pouType="program"> andrej@1691: <interface> andrej@1691: <localVars> andrej@1691: <variable name="InitValue"> andrej@1691: <type> andrej@1691: <DINT/> andrej@1691: </type> andrej@1691: <initialValue> andrej@1691: <simpleValue value="17"/> andrej@1691: </initialValue> andrej@1691: </variable> andrej@1691: <variable name="NotInitializedVariable"> andrej@1691: <type> andrej@1691: <DINT/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="counter"> andrej@1691: <type> andrej@1691: <DINT/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </localVars> andrej@1691: </interface> andrej@1691: <body> andrej@1691: <FBD> andrej@1691: <inVariable localId="127" executionOrderId="0" height="30" width="72" negated="false"> andrej@1691: <position x="60" y="180"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="72" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>InitValue</expression> andrej@1691: </inVariable> andrej@1691: <outVariable localId="128" executionOrderId="0" height="30" width="145" negated="false"> andrej@1691: <position x="180" y="180"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="127"> andrej@1691: <position x="180" y="195"/> andrej@1691: <position x="132" y="195"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <expression>NotInitializedVariable</expression> andrej@1691: </outVariable> andrej@1691: <comment localId="129" height="90" width="360"> andrej@1691: <position x="65" y="40"/> andrej@1691: <content> andrej@1691: <xhtml:p><![CDATA[This program called only once at start. andrej@1691: See task configuration in config.resource1.]]></xhtml:p> andrej@1691: </content> andrej@1691: </comment> andrej@1691: <block localId="131" typeName="ADD" executionOrderId="0" height="95" width="70"> andrej@1691: <position x="135" y="340"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="40"/> andrej@1691: <connection refLocalId="130"> andrej@1691: <position x="135" y="380"/> andrej@1691: <position x="125" y="380"/> andrej@1691: <position x="125" y="325"/> andrej@1691: <position x="350" y="325"/> andrej@1691: <position x="350" y="380"/> andrej@1691: <position x="335" y="380"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="75"/> andrej@1691: <connection refLocalId="1"> andrej@1691: <position x="135" y="415"/> andrej@1691: <position x="130" y="415"/> andrej@1691: <position x="130" y="415"/> andrej@1691: <position x="120" y="415"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="40"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="1" executionOrderId="0" height="35" width="60" negated="false"> andrej@1691: <position x="60" y="400"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="60" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>1</expression> andrej@1691: </inVariable> andrej@1691: <inOutVariable localId="130" executionOrderId="0" height="35" width="60" negatedOut="false" negatedIn="false"> andrej@1691: <position x="275" y="365"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="131" formalParameter="OUT"> andrej@1691: <position x="275" y="380"/> andrej@1691: <position x="205" y="380"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="60" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>counter</expression> andrej@1691: </inOutVariable> andrej@1691: <comment localId="2" height="75" width="355"> andrej@1691: <position x="70" y="240"/> andrej@1691: <content> andrej@1691: <xhtml:p><![CDATA[Counts how many times the program is called. andrej@1691: Check counter value in debugger.]]></xhtml:p> andrej@1691: </content> andrej@1691: </comment> andrej@1691: </FBD> andrej@1691: </body> andrej@1691: <documentation> andrej@1691: <xhtml:p><![CDATA[]]></xhtml:p> andrej@1691: </documentation> andrej@1691: </pou> andrej@1691: <pou name="clock" pouType="functionBlock"> andrej@1691: <interface> andrej@1691: <localVars> andrej@1691: <variable name="TimerOn"> andrej@1691: <type> andrej@1691: <derived name="TON"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </localVars> andrej@1691: <outputVars> andrej@1691: <variable name="Out"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </outputVars> andrej@1691: <inputVars> andrej@1691: <variable name="Period"> andrej@1691: <type> andrej@1691: <TIME/> andrej@1691: </type> andrej@1691: <initialValue> andrej@1691: <simpleValue value="T#3s"/> andrej@1691: </initialValue> andrej@1691: </variable> andrej@1691: </inputVars> andrej@1691: <localVars> andrej@1691: <variable name="TimerOff"> andrej@1691: <type> andrej@1691: <derived name="TON"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </localVars> andrej@1691: </interface> andrej@1691: <body> andrej@1691: <FBD> andrej@1691: <block localId="14" typeName="TON" instanceName="TimerOn" executionOrderId="0" height="100" width="50"> andrej@1691: <position x="260" y="70"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="40"/> andrej@1691: <connection refLocalId="2" formalParameter="Q"> andrej@1691: <position x="260" y="110"/> andrej@1691: <position x="245" y="110"/> andrej@1691: <position x="245" y="10"/> andrej@1691: <position x="520" y="10"/> andrej@1691: <position x="520" y="110"/> andrej@1691: <position x="510" y="110"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="PT"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="80"/> andrej@1691: <connection refLocalId="16" formalParameter="OUT"> andrej@1691: <position x="260" y="150"/> andrej@1691: <position x="225" y="150"/> andrej@1691: <position x="225" y="250"/> andrej@1691: <position x="190" y="250"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Q"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="40"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: <variable formalParameter="ET"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="80"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <block localId="2" typeName="TON" instanceName="TimerOff" executionOrderId="0" height="100" width="50"> andrej@1691: <position x="460" y="70"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="40"/> andrej@1691: <connection refLocalId="14" formalParameter="Q"> andrej@1691: <position x="460" y="110"/> andrej@1691: <position x="310" y="110"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="PT"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="80"/> andrej@1691: <connection refLocalId="16" formalParameter="OUT"> andrej@1691: <position x="460" y="150"/> andrej@1691: <position x="350" y="150"/> andrej@1691: <position x="350" y="250"/> andrej@1691: <position x="190" y="250"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Q" negated="true"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="40"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: <variable formalParameter="ET"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="80"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <outVariable localId="15" executionOrderId="0" height="35" width="35" negated="false"> andrej@1691: <position x="365" y="25"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="14" formalParameter="Q"> andrej@1691: <position x="365" y="40"/> andrej@1691: <position x="340" y="40"/> andrej@1691: <position x="340" y="110"/> andrej@1691: <position x="310" y="110"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <expression>Out</expression> andrej@1691: </outVariable> andrej@1691: <block localId="16" typeName="DIV" executionOrderId="0" height="80" width="70"> andrej@1691: <position x="120" y="215"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="35"/> andrej@1691: <connection refLocalId="1"> andrej@1691: <position x="120" y="250"/> andrej@1691: <position x="75" y="250"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="65"/> andrej@1691: <connection refLocalId="4"> andrej@1691: <position x="120" y="280"/> andrej@1691: <position x="75" y="280"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="35"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="1" executionOrderId="0" height="30" width="55" negated="false"> andrej@1691: <position x="20" y="235"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="55" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>Period</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="4" executionOrderId="0" height="30" width="55" negated="false"> andrej@1691: <position x="20" y="265"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="55" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>2</expression> andrej@1691: </inVariable> andrej@1691: </FBD> andrej@1691: </body> andrej@1691: </pou> andrej@1691: <pou name="axis" pouType="functionBlock"> andrej@1691: <interface> andrej@1691: <inputVars> andrej@1691: <variable name="Power"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="Up"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="Down"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </inputVars> andrej@1691: <outputVars> andrej@1691: <variable name="Out"> andrej@1691: <type> andrej@1691: <INT/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </outputVars> andrej@1691: <localVars> andrej@1691: <variable name="axis_conuter"> andrej@1691: <type> andrej@1691: <derived name="CTUD"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: <variable name="clock0"> andrej@1691: <type> andrej@1691: <derived name="clock"/> andrej@1691: </type> andrej@1691: </variable> andrej@1691: </localVars> andrej@1691: </interface> andrej@1691: <body> andrej@1691: <FBD> andrej@1691: <block localId="297" typeName="CTUD" instanceName="axis_conuter" executionOrderId="0" height="310" width="70"> andrej@1691: <position x="645" y="30"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="CU" edge="rising"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="50"/> andrej@1691: <connection refLocalId="303" formalParameter="OUT"> andrej@1691: <position x="645" y="80"/> andrej@1691: <position x="580" y="80"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="CD" edge="rising"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="105"/> andrej@1691: <connection refLocalId="2" formalParameter="OUT"> andrej@1691: <position x="645" y="135"/> andrej@1691: <position x="612" y="135"/> andrej@1691: <position x="612" y="150"/> andrej@1691: <position x="580" y="150"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="R"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="165"/> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="LD"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="225"/> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="PV"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="280"/> andrej@1691: <connection refLocalId="3"> andrej@1691: <position x="645" y="310"/> andrej@1691: <position x="610" y="310"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="QU"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="50"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: <variable formalParameter="QD"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="105"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: <variable formalParameter="CV"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="165"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: <variable formalParameter="CD_T"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="225"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: <variable formalParameter="CU_T"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="70" y="280"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <outVariable localId="298" executionOrderId="0" height="35" width="35" negated="false"> andrej@1691: <position x="750" y="180"/> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="15"/> andrej@1691: <connection refLocalId="297" formalParameter="CV"> andrej@1691: <position x="750" y="195"/> andrej@1691: <position x="715" y="195"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: <expression>Out</expression> andrej@1691: </outVariable> andrej@1691: <block localId="299" typeName="clock" instanceName="clock0" executionOrderId="0" height="70" width="85"> andrej@1691: <position x="165" y="270"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="Period"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="45"/> andrej@1691: <connection refLocalId="1"> andrej@1691: <position x="165" y="315"/> andrej@1691: <position x="110" y="315"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="Out"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="45"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="300" executionOrderId="0" height="35" width="55" negated="false"> andrej@1691: <position x="35" y="205"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="55" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>Power</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="1" executionOrderId="0" height="35" width="75" negated="false"> andrej@1691: <position x="35" y="300"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="75" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>T#100ms</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="301" executionOrderId="0" height="35" width="55" negated="false"> andrej@1691: <position x="340" y="85"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="55" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>Up</expression> andrej@1691: </inVariable> andrej@1691: <inVariable localId="302" executionOrderId="0" height="35" width="50" negated="false"> andrej@1691: <position x="340" y="155"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="50" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>Down</expression> andrej@1691: </inVariable> andrej@1691: <block localId="303" typeName="AND" executionOrderId="0" height="60" width="110"> andrej@1691: <position x="470" y="50"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="30"/> andrej@1691: <connection refLocalId="4" formalParameter="OUT"> andrej@1691: <position x="470" y="80"/> andrej@1691: <position x="432" y="80"/> andrej@1691: <position x="432" y="275"/> andrej@1691: <position x="395" y="275"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="50"/> andrej@1691: <connection refLocalId="301"> andrej@1691: <position x="470" y="100"/> andrej@1691: <position x="395" y="100"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="110" y="30"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <block localId="2" typeName="AND" executionOrderId="0" height="60" width="110"> andrej@1691: <position x="470" y="120"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="30"/> andrej@1691: <connection refLocalId="4" formalParameter="OUT"> andrej@1691: <position x="470" y="150"/> andrej@1691: <position x="432" y="150"/> andrej@1691: <position x="432" y="275"/> andrej@1691: <position x="395" y="275"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="50"/> andrej@1691: <connection refLocalId="302"> andrej@1691: <position x="470" y="170"/> andrej@1691: <position x="390" y="170"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="110" y="30"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: <inVariable localId="3" executionOrderId="0" height="35" width="85" negated="false"> andrej@1691: <position x="525" y="295"/> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="85" y="15"/> andrej@1691: </connectionPointOut> andrej@1691: <expression>INT#32767</expression> andrej@1691: </inVariable> andrej@1691: <block localId="4" typeName="AND" executionOrderId="0" height="100" width="110"> andrej@1691: <position x="285" y="235"/> andrej@1691: <inputVariables> andrej@1691: <variable formalParameter="IN1"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="40"/> andrej@1691: <connection refLocalId="300"> andrej@1691: <position x="285" y="275"/> andrej@1691: <position x="265" y="275"/> andrej@1691: <position x="265" y="220"/> andrej@1691: <position x="90" y="220"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: <variable formalParameter="IN2"> andrej@1691: <connectionPointIn> andrej@1691: <relPosition x="0" y="80"/> andrej@1691: <connection refLocalId="299" formalParameter="Out"> andrej@1691: <position x="285" y="315"/> andrej@1691: <position x="250" y="315"/> andrej@1691: </connection> andrej@1691: </connectionPointIn> andrej@1691: </variable> andrej@1691: </inputVariables> andrej@1691: <inOutVariables/> andrej@1691: <outputVariables> andrej@1691: <variable formalParameter="OUT"> andrej@1691: <connectionPointOut> andrej@1691: <relPosition x="110" y="40"/> andrej@1691: </connectionPointOut> andrej@1691: </variable> andrej@1691: </outputVariables> andrej@1691: </block> andrej@1691: </FBD> andrej@1691: </body> andrej@1691: </pou> andrej@1691: </pous> andrej@1691: </types> andrej@1691: <instances> andrej@1691: <configurations> andrej@1691: <configuration name="config"> andrej@1691: <resource name="resource1"> andrej@1691: <task name="InitOneShot" priority="0" single="Initialize"> andrej@1691: <pouInstance name="Initializer" typeName="Declarations"/> andrej@1691: </task> andrej@1691: <task name="ControlTask" priority="1" interval="T#2ms"> andrej@1691: <pouInstance name="MainInstance" typeName="main"/> andrej@1691: </task> andrej@1691: <task name="GUIupdate" priority="0" interval="T#200ms"> andrej@1691: <pouInstance name="PosReader" typeName="ReadGUIdata"/> andrej@1691: </task> andrej@1691: <globalVars> andrej@1691: <variable name="Initialize"> andrej@1691: <type> andrej@1691: <BOOL/> andrej@1691: </type> andrej@1691: <initialValue> andrej@1691: <simpleValue value="TRUE"/> andrej@1691: </initialValue> andrej@1691: </variable> andrej@1691: </globalVars> andrej@1691: </resource> andrej@1691: </configuration> andrej@1691: </configurations> andrej@1691: </instances> andrej@1691: </project>