andrej@1690: <?xml version='1.0' encoding='utf-8'?> andrej@1690: <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201"> andrej@1690: <fileHeader companyName="beremiz" productName="Beremiz" productVersion="0.0" creationDateTime="2008-12-14T16:21:19"/> andrej@1690: <contentHeader name="Beremiz wxHMI test" modificationDateTime="2017-06-05T14:01:40"> laurent@411: <coordinateInfo> laurent@411: <pageSize x="1024" y="1024"/> laurent@411: <fbd> laurent@411: <scaling x="5" y="5"/> laurent@411: </fbd> laurent@411: <ld> laurent@411: <scaling x="5" y="5"/> laurent@411: </ld> laurent@411: <sfc> laurent@411: <scaling x="5" y="5"/> laurent@411: </sfc> laurent@411: </coordinateInfo> laurent@411: </contentHeader> laurent@411: <types> laurent@411: <dataTypes/> laurent@411: <pous> laurent@411: <pou name="main_pytest" pouType="program"> laurent@411: <interface> laurent@411: <localVars> andrej@1690: <variable name="getCheckBoxState"> laurent@411: <type> laurent@411: <derived name="python_poll"/> laurent@411: </type> laurent@411: </variable> laurent@411: <variable name="counter"> laurent@411: <type> laurent@411: <INT/> laurent@411: </type> laurent@411: </variable> andrej@1690: <variable name="setSpinCtrlValue"> laurent@411: <type> laurent@411: <derived name="python_poll"/> laurent@411: </type> laurent@411: </variable> laurent@411: </localVars> laurent@411: </interface> laurent@411: <body> laurent@411: <FBD> andrej@1690: <block localId="24" width="125" height="90" typeName="python_poll" instanceName="getCheckBoxState" executionOrderId="0"> andrej@1690: <position x="480" y="215"/> laurent@411: <inputVariables> laurent@411: <variable formalParameter="TRIG"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="35"/> laurent@411: <connection refLocalId="25"> andrej@1690: <position x="480" y="250"/> andrej@1690: <position x="420" y="250"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="CODE"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="70"/> laurent@411: <connection refLocalId="26"> andrej@1690: <position x="480" y="285"/> andrej@1690: <position x="420" y="285"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: </inputVariables> laurent@411: <inOutVariables/> laurent@411: <outputVariables> laurent@411: <variable formalParameter="ACK"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="125" y="35"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: <variable formalParameter="RESULT"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="125" y="70"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: </outputVariables> laurent@411: </block> andrej@1690: <inVariable localId="25" height="30" width="100" executionOrderId="0" negated="false"> andrej@1690: <position x="320" y="235"/> laurent@411: <connectionPointOut> laurent@411: <relPosition x="100" y="15"/> laurent@411: </connectionPointOut> laurent@411: <expression>BOOL#TRUE</expression> laurent@411: </inVariable> andrej@1690: <inVariable localId="26" height="30" width="400" executionOrderId="0" negated="false"> andrej@1690: <position x="20" y="270"/> laurent@411: <connectionPointOut> laurent@411: <relPosition x="400" y="15"/> laurent@411: </connectionPointOut> laurent@411: <expression>'int(HMIFrame.checkbox_1.GetValue())'</expression> laurent@411: </inVariable> andrej@1690: <inVariable localId="27" height="30" width="40" executionOrderId="0" negated="false"> andrej@1690: <position x="535" y="505"/> laurent@411: <connectionPointOut> laurent@411: <relPosition x="40" y="15"/> laurent@411: </connectionPointOut> laurent@411: <expression>')'</expression> laurent@411: </inVariable> andrej@1690: <inVariable localId="28" height="30" width="330" executionOrderId="0" negated="false"> andrej@1690: <position x="150" y="415"/> laurent@411: <connectionPointOut> laurent@411: <relPosition x="330" y="15"/> laurent@411: </connectionPointOut> laurent@411: <expression>'HMIFrame.spin_ctrl_1.SetValue('</expression> laurent@411: </inVariable> andrej@1690: <block localId="30" width="145" height="85" typeName="STRING_TO_INT" executionOrderId="0"> andrej@1690: <position x="670" y="215"/> laurent@411: <inputVariables> laurent@411: <variable formalParameter="EN"> laurent@411: <connectionPointIn> andrej@1690: <relPosition x="0" y="35"/> laurent@411: <connection refLocalId="24" formalParameter="ACK"> andrej@1690: <position x="670" y="250"/> andrej@1690: <position x="605" y="250"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="IN"> laurent@411: <connectionPointIn> andrej@1690: <relPosition x="0" y="70"/> laurent@411: <connection refLocalId="24" formalParameter="RESULT"> andrej@1690: <position x="670" y="285"/> andrej@1690: <position x="605" y="285"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: </inputVariables> laurent@411: <inOutVariables/> laurent@411: <outputVariables> laurent@411: <variable formalParameter="ENO"> laurent@411: <connectionPointOut> andrej@1690: <relPosition x="145" y="35"/> andrej@1690: </connectionPointOut> andrej@1690: </variable> andrej@1690: <variable formalParameter="OUT"> andrej@1690: <connectionPointOut> andrej@1690: <relPosition x="145" y="70"/> andrej@1690: </connectionPointOut> andrej@1690: </variable> andrej@1690: </outputVariables> andrej@1690: </block> andrej@1690: <block localId="32" width="80" height="80" typeName="ADD" executionOrderId="0"> andrej@1690: <position x="135" y="450"/> laurent@411: <inputVariables> laurent@411: <variable formalParameter="EN"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="30"/> laurent@411: <connection refLocalId="38" formalParameter="OUT"> andrej@1690: <position x="135" y="480"/> andrej@1690: <position x="100" y="480"/> laurent@411: <position x="100" y="330"/> andrej@1690: <position x="1140" y="330"/> andrej@1690: <position x="1140" y="250"/> andrej@1690: <position x="1130" y="250"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="IN1"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="50"/> laurent@411: <connection refLocalId="39"> andrej@1690: <position x="135" y="500"/> andrej@1690: <position x="90" y="500"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="IN2"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="70"/> laurent@411: <connection refLocalId="33"> andrej@1690: <position x="135" y="520"/> andrej@1690: <position x="125" y="520"/> andrej@1690: <position x="125" y="540"/> andrej@1690: <position x="340" y="540"/> andrej@1690: <position x="340" y="500"/> andrej@1690: <position x="320" y="500"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: </inputVariables> laurent@411: <inOutVariables/> laurent@411: <outputVariables> laurent@411: <variable formalParameter="ENO"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="80" y="30"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: <variable formalParameter="OUT"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="80" y="50"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: </outputVariables> laurent@411: </block> andrej@1690: <block localId="34" width="80" height="100" typeName="CONCAT" executionOrderId="0"> andrej@1690: <position x="605" y="430"/> laurent@411: <inputVariables> laurent@411: <variable formalParameter="EN"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="30"/> laurent@411: <connection refLocalId="35" formalParameter="ENO"> andrej@1690: <position x="605" y="460"/> andrej@1690: <position x="520" y="460"/> andrej@1690: <position x="520" y="480"/> andrej@1690: <position x="500" y="480"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="IN1"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="50"/> laurent@411: <connection refLocalId="28"> andrej@1690: <position x="605" y="480"/> andrej@1690: <position x="562" y="480"/> andrej@1690: <position x="562" y="430"/> andrej@1690: <position x="480" y="430"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="IN2"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="70"/> laurent@411: <connection refLocalId="35" formalParameter="OUT"> andrej@1690: <position x="605" y="500"/> andrej@1690: <position x="500" y="500"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="IN3"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="90"/> laurent@411: <connection refLocalId="27"> andrej@1690: <position x="605" y="520"/> andrej@1690: <position x="575" y="520"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: </inputVariables> laurent@411: <inOutVariables/> laurent@411: <outputVariables> laurent@411: <variable formalParameter="ENO"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="80" y="30"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: <variable formalParameter="OUT"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="80" y="50"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: </outputVariables> laurent@411: </block> andrej@1690: <inOutVariable localId="33" height="35" width="85" executionOrderId="0" negatedOut="false" negatedIn="false"> andrej@1690: <position x="235" y="485"/> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="15"/> laurent@411: <connection refLocalId="32" formalParameter="OUT"> andrej@1690: <position x="235" y="500"/> andrej@1690: <position x="215" y="500"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: <connectionPointOut> laurent@411: <relPosition x="85" y="15"/> laurent@411: </connectionPointOut> laurent@411: <expression>counter</expression> laurent@411: </inOutVariable> andrej@1690: <block localId="35" width="145" height="60" typeName="INT_TO_STRING" executionOrderId="0"> andrej@1690: <position x="355" y="450"/> laurent@411: <inputVariables> laurent@411: <variable formalParameter="EN"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="30"/> laurent@411: <connection refLocalId="32" formalParameter="ENO"> andrej@1690: <position x="355" y="480"/> andrej@1690: <position x="215" y="480"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="IN"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="50"/> laurent@411: <connection refLocalId="33"> andrej@1690: <position x="355" y="500"/> andrej@1690: <position x="320" y="500"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: </inputVariables> laurent@411: <inOutVariables/> laurent@411: <outputVariables> laurent@411: <variable formalParameter="ENO"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="145" y="30"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: <variable formalParameter="OUT"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="145" y="50"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: </outputVariables> laurent@411: </block> andrej@1690: <block localId="36" width="125" height="90" typeName="python_poll" instanceName="setSpinCtrlValue" executionOrderId="0"> andrej@1690: <position x="735" y="425"/> laurent@411: <inputVariables> laurent@411: <variable formalParameter="TRIG"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="35"/> laurent@411: <connection refLocalId="34" formalParameter="ENO"> andrej@1690: <position x="735" y="460"/> andrej@1690: <position x="685" y="460"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="CODE"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="70"/> laurent@411: <connection refLocalId="34" formalParameter="OUT"> andrej@1690: <position x="735" y="495"/> andrej@1690: <position x="715" y="495"/> andrej@1690: <position x="715" y="480"/> andrej@1690: <position x="685" y="480"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: </inputVariables> laurent@411: <inOutVariables/> laurent@411: <outputVariables> laurent@411: <variable formalParameter="ACK"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="125" y="35"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: <variable formalParameter="RESULT"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="125" y="70"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: </outputVariables> laurent@411: </block> andrej@1690: <block localId="37" width="125" height="45" typeName="INT_TO_BOOL" executionOrderId="0"> andrej@1690: <position x="870" y="255"/> laurent@411: <inputVariables> laurent@411: <variable formalParameter="IN"> laurent@411: <connectionPointIn> laurent@411: <relPosition x="0" y="30"/> laurent@411: <connection refLocalId="30" formalParameter="OUT"> andrej@1690: <position x="870" y="285"/> andrej@1690: <position x="815" y="285"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: </inputVariables> laurent@411: <inOutVariables/> laurent@411: <outputVariables> laurent@411: <variable formalParameter="OUT"> laurent@411: <connectionPointOut> laurent@411: <relPosition x="125" y="30"/> laurent@411: </connectionPointOut> laurent@411: </variable> laurent@411: </outputVariables> laurent@411: </block> andrej@1690: <block localId="38" width="80" height="95" typeName="AND" executionOrderId="0"> andrej@1690: <position x="1050" y="210"/> laurent@411: <inputVariables> laurent@411: <variable formalParameter="IN1"> laurent@411: <connectionPointIn> andrej@1690: <relPosition x="0" y="40"/> laurent@411: <connection refLocalId="30" formalParameter="ENO"> andrej@1690: <position x="1050" y="250"/> andrej@1690: <position x="815" y="250"/> laurent@411: </connection> laurent@411: </connectionPointIn> laurent@411: </variable> laurent@411: <variable formalParameter="IN2"> laurent@411: <connectionPointIn> andrej@1690: <relPosition x="0" y="75"/> laurent@411: <connection refLocalId="37" formalParameter="OUT"> andrej@1690: <position x="1050" y="285"/> andrej@1690: <position x="995" y="285"/> andrej@1690: </connection> andrej@1690: </connectionPointIn> andrej@1690: </variable> andrej@1690: </inputVariables> andrej@1690: <inOutVariables/> andrej@1690: <outputVariables> andrej@1690: <variable formalParameter="OUT"> andrej@1690: <connectionPointOut> andrej@1690: <relPosition x="80" y="40"/> andrej@1690: </connectionPointOut> andrej@1690: </variable> andrej@1690: </outputVariables> andrej@1690: </block> andrej@1690: <inVariable localId="39" height="30" width="60" executionOrderId="0" negated="false"> andrej@1690: <position x="30" y="485"/> laurent@411: <connectionPointOut> laurent@411: <relPosition x="60" y="15"/> laurent@411: </connectionPointOut> laurent@411: <expression>INT#1</expression> laurent@411: </inVariable> andrej@1690: <comment localId="101" height="115" width="680"> andrej@1690: <position x="10" y="30"/> andrej@1690: <content> andrej@1690: <xhtml:p><![CDATA[This example shows how IEC program in PLC can interact with UI created using wxGlade. andrej@1690: andrej@1690: "WxGlade GUI" is extension to build user interface for PLC using wxGlade. andrej@1690: To edit user interface click on "WxGlade" icon in extension settings.]]></xhtml:p> andrej@1690: </content> andrej@1690: </comment> laurent@411: </FBD> laurent@411: </body> laurent@411: </pou> laurent@411: </pous> laurent@411: </types> laurent@411: <instances> laurent@411: <configurations> Edouard@1454: <configuration name="config"> laurent@411: <resource name="res_pytest"> laurent@411: <task name="pytest_task" interval="t#100ms" priority="0"/> laurent@411: <pouInstance name="pytest_instance" typeName="main_pytest"/> laurent@411: </resource> laurent@411: </configuration> laurent@411: </configurations> laurent@411: </instances> laurent@411: </project>