# HG changeset patch # User etisserant # Date 1232350809 -3600 # Node ID d73d30b1095fbb61ea79106988c7e1c8d5f93fa1 # Parent 6d2cc92eee0b9414d4b5f8fa29625dd9b8e62a42 Enahced python_cwiid test with a wxGlade GUI diff -r 6d2cc92eee0b -r d73d30b1095f tests/linux/python_cwiid/beremiz.xml --- a/tests/linux/python_cwiid/beremiz.xml Mon Jan 19 08:39:36 2009 +0100 +++ b/tests/linux/python_cwiid/beremiz.xml Mon Jan 19 08:40:09 2009 +0100 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<BeremizRoot URI_location="PYRO://127.0.0.1:3000"> +<BeremizRoot URI_location="LOCAL://"> <TargetType> <Linux CFLAGS="-g" LDFLAGS="-g"/> </TargetType> diff -r 6d2cc92eee0b -r d73d30b1095f tests/linux/python_cwiid/hmi.wxg --- a/tests/linux/python_cwiid/hmi.wxg Mon Jan 19 08:39:36 2009 +0100 +++ b/tests/linux/python_cwiid/hmi.wxg Mon Jan 19 08:40:09 2009 +0100 @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<!-- generated by wxGlade 0.6.3 on Sat Jan 17 03:40:12 2009 --> +<!-- generated by wxGlade 0.6.3 on Mon Jan 19 09:26:45 2009 --> <application path="" name="" class="" option="0" language="python" top_window="frame_1" encoding="UTF-8" use_gettext="0" overwrite="0" use_new_namespace="1" for_version="2.8" is_template="0"> <object class="HMIFrame" name="frame_1" base="EditFrame"> @@ -7,8 +7,8 @@ <title>frame_1</title> <object class="wxGridSizer" name="grid_sizer_1" base="EditGridSizer"> <hgap>0</hgap> - <rows>3</rows> - <cols>3</cols> + <rows>2</rows> + <cols>2</cols> <vgap>0</vgap> <object class="sizeritem"> <flag>wxEXPAND</flag> @@ -26,20 +26,12 @@ <border>0</border> <option>0</option> <object class="wxButton" name="button_1" base="EditButton"> - <label>Joystick</label> + <label>Connect Wiimote</label> <events> <handler event="EVT_BUTTON">start_manu</handler> </events> </object> </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxButton" name="button_1_copy" base="EditButton"> - <label>Auto</label> - </object> - </object> </object> </object> <object class="sizeritem"> @@ -63,87 +55,7 @@ <border>0</border> <option>0</option> <object class="wxSpinCtrl" name="spin_ctrl_X" base="EditSpinCtrl"> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxGridSizer" name="grid_sizer_3" base="EditGridSizer"> - <hgap>0</hgap> - <rows>1</rows> - <cols>2</cols> - <vgap>0</vgap> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxRadioButton" name="radio_btn_1" base="EditRadioButton"> - <label>Lock</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxButton" name="button_3" base="EditButton"> - <label>Set</label> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxStaticBoxSizer" name="sizer_A" base="EditStaticBoxSizer"> - <orient>wxHORIZONTAL</orient> - <label>Axis A</label> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxGridSizer" name="grid_sizer_2_copy" base="EditGridSizer"> - <hgap>0</hgap> - <rows>2</rows> - <cols>1</cols> - <vgap>0</vgap> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxSpinCtrl" name="spin_ctrl_A" base="EditSpinCtrl"> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxGridSizer" name="grid_sizer_3_copy_2" base="EditGridSizer"> - <hgap>0</hgap> - <rows>1</rows> - <cols>2</cols> - <vgap>0</vgap> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxRadioButton" name="radio_btn_1_copy_2" base="EditRadioButton"> - <label>Lock</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxButton" name="button_3_copy_2" base="EditButton"> - <label>Set</label> - </object> - </object> + <range>0, 255</range> </object> </object> </object> @@ -188,210 +100,13 @@ <border>0</border> <option>0</option> <object class="wxSpinCtrl" name="spin_ctrl_Y" base="EditSpinCtrl"> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxGridSizer" name="grid_sizer_3_copy" base="EditGridSizer"> - <hgap>0</hgap> - <rows>1</rows> - <cols>2</cols> - <vgap>0</vgap> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxRadioButton" name="radio_btn_1_copy" base="EditRadioButton"> - <label>Lock</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxButton" name="button_3_copy" base="EditButton"> - <label>Set</label> - </object> - </object> + <range>0, 255</range> </object> </object> </object> </object> </object> </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxStaticBoxSizer" name="sizer_B" base="EditStaticBoxSizer"> - <orient>wxHORIZONTAL</orient> - <label>Axis B</label> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxGridSizer" name="grid_sizer_2_copy_2" base="EditGridSizer"> - <hgap>0</hgap> - <rows>2</rows> - <cols>1</cols> - <vgap>0</vgap> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxSpinCtrl" name="spin_ctrl_B" base="EditSpinCtrl"> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxGridSizer" name="grid_sizer_3_copy_3" base="EditGridSizer"> - <hgap>0</hgap> - <rows>1</rows> - <cols>2</cols> - <vgap>0</vgap> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxRadioButton" name="radio_btn_1_copy_3" base="EditRadioButton"> - <label>Lock</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxButton" name="button_3_copy_3" base="EditButton"> - <label>Set</label> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxStaticBoxSizer" name="sizer_2" base="EditStaticBoxSizer"> - <orient>wxVERTICAL</orient> - <label>Speed Control</label> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxStaticText" name="label_2" base="EditStaticText"> - <style>wxALIGN_CENTRE</style> - <attribute>1</attribute> - <label>Max Speed</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxSlider" name="slider_1_copy" base="EditSlider"> - <style>wxSL_HORIZONTAL|wxSL_AUTOTICKS|wxSL_LABELS</style> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxStaticText" name="label_2_copy" base="EditStaticText"> - <style>wxALIGN_CENTRE</style> - <attribute>1</attribute> - <label>Max Acceleration</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxSlider" name="slider_1" base="EditSlider"> - <style>wxSL_HORIZONTAL|wxSL_AUTOTICKS|wxSL_LABELS</style> - </object> - </object> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxStaticBoxSizer" name="sizer_Z" base="EditStaticBoxSizer"> - <orient>wxHORIZONTAL</orient> - <label>Axis Z</label> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxGridSizer" name="grid_sizer_2_copy_3" base="EditGridSizer"> - <hgap>0</hgap> - <rows>2</rows> - <cols>1</cols> - <vgap>0</vgap> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxSpinCtrl" name="spin_ctrl_Z" base="EditSpinCtrl"> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>1</option> - <object class="wxGridSizer" name="grid_sizer_3_copy_1" base="EditGridSizer"> - <hgap>0</hgap> - <rows>1</rows> - <cols>2</cols> - <vgap>0</vgap> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxRadioButton" name="radio_btn_1_copy_1" base="EditRadioButton"> - <label>Lock</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxButton" name="button_3_copy_1" base="EditButton"> - <label>Set</label> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - <object class="sizeritem"> - <flag>wxEXPAND</flag> - <border>0</border> - <option>0</option> - <object class="wxButton" name="button_2" base="EditButton"> - <foreground>#ff0000</foreground> - <stockitem>STOP</stockitem> - <label>&Stop</label> - <font> - <size>20</size> - <family>default</family> - <style>normal</style> - <weight>normal</weight> - <underlined>0</underlined> - <face></face> - </font> - </object> - </object> </object> </object> </application> diff -r 6d2cc92eee0b -r d73d30b1095f tests/linux/python_cwiid/plc.xml --- a/tests/linux/python_cwiid/plc.xml Mon Jan 19 08:39:36 2009 +0100 +++ b/tests/linux/python_cwiid/plc.xml Mon Jan 19 08:40:09 2009 +0100 @@ -8,7 +8,7 @@ productVersion="0.0" creationDateTime="2008-12-14 16:21:19"/> <contentHeader name="Beremiz Python Support Tests" - modificationDateTime="2009-01-16 21:51:43"> + modificationDateTime="2009-01-19 09:02:00"> <coordinateInfo> <pageSize x="1024" y="1024"/> <fbd> @@ -58,9 +58,14 @@ <BOOL/> </type> </variable> - <variable name="Block1"> - <type> - <derived name="python_eval"/> + <variable name="pollX"> + <type> + <derived name="python_poll"/> + </type> + </variable> + <variable name="pollY"> + <type> + <derived name="python_poll"/> </type> </variable> </localVars> @@ -68,25 +73,25 @@ <body> <FBD> <inVariable localId="4" height="30" width="160"> - <position x="70" y="600"/> + <position x="25" y="285"/> <connectionPointOut> <relPosition x="160" y="15"/> </connectionPointOut> <expression>'last_point[0]'</expression> </inVariable> <block localId="5" width="125" height="80" typeName="python_poll" instanceName="py2"> - <position x="260" y="550"/> + <position x="215" y="235"/> <inputVariables> <variable formalParameter="TRIG"> <connectionPointIn> <relPosition x="0" y="35"/> <connection refLocalId="25" formalParameter="OUT"> - <position x="260" y="585"/> - <position x="245" y="585"/> - <position x="245" y="520"/> - <position x="920" y="520"/> - <position x="920" y="470"/> - <position x="870" y="470"/> + <position x="215" y="270"/> + <position x="200" y="270"/> + <position x="200" y="205"/> + <position x="875" y="205"/> + <position x="875" y="155"/> + <position x="825" y="155"/> </connection> </connectionPointIn> </variable> @@ -94,8 +99,8 @@ <connectionPointIn> <relPosition x="0" y="65"/> <connection refLocalId="4"> - <position x="260" y="615"/> - <position x="230" y="615"/> + <position x="215" y="300"/> + <position x="185" y="300"/> </connection> </connectionPointIn> </variable> @@ -115,18 +120,18 @@ </outputVariables> </block> <block localId="8" width="125" height="80" typeName="python_poll" instanceName="py3"> - <position x="260" y="660"/> + <position x="215" y="480"/> <inputVariables> <variable formalParameter="TRIG"> <connectionPointIn> <relPosition x="0" y="35"/> <connection refLocalId="25" formalParameter="OUT"> - <position x="260" y="695"/> - <position x="245" y="695"/> - <position x="245" y="520"/> - <position x="920" y="520"/> - <position x="920" y="470"/> - <position x="870" y="470"/> + <position x="215" y="515"/> + <position x="200" y="515"/> + <position x="200" y="205"/> + <position x="875" y="205"/> + <position x="875" y="155"/> + <position x="825" y="155"/> </connection> </connectionPointIn> </variable> @@ -134,8 +139,8 @@ <connectionPointIn> <relPosition x="0" y="65"/> <connection refLocalId="9"> - <position x="260" y="725"/> - <position x="230" y="725"/> + <position x="215" y="545"/> + <position x="185" y="545"/> </connection> </connectionPointIn> </variable> @@ -155,30 +160,30 @@ </outputVariables> </block> <inVariable localId="9" height="30" width="160"> - <position x="70" y="710"/> + <position x="25" y="530"/> <connectionPointOut> <relPosition x="160" y="15"/> </connectionPointOut> <expression>'last_point[1]'</expression> </inVariable> <inVariable localId="11" height="30" width="100"> - <position x="125" y="455"/> + <position x="80" y="140"/> <connectionPointOut> <relPosition x="100" y="15"/> </connectionPointOut> <expression>'btA'</expression> </inVariable> <block localId="12" width="125" height="80" typeName="python_poll" instanceName="py1"> - <position x="260" y="405"/> + <position x="215" y="90"/> <inputVariables> <variable formalParameter="TRIG"> <connectionPointIn> <relPosition x="0" y="35"/> <connection refLocalId="41"> - <position x="260" y="440"/> - <position x="235" y="440"/> - <position x="235" y="435"/> - <position x="225" y="435"/> + <position x="215" y="125"/> + <position x="190" y="125"/> + <position x="190" y="120"/> + <position x="180" y="120"/> </connection> </connectionPointIn> </variable> @@ -186,8 +191,8 @@ <connectionPointIn> <relPosition x="0" y="65"/> <connection refLocalId="11"> - <position x="260" y="470"/> - <position x="225" y="470"/> + <position x="215" y="155"/> + <position x="180" y="155"/> </connection> </connectionPointIn> </variable> @@ -206,21 +211,21 @@ </variable> </outputVariables> </block> - <comment localId="16" height="90" width="680"> - <position x="50" y="25"/> + <comment localId="16" height="40" width="1005"> + <position x="15" y="25"/> <content> -<![CDATA[This example test that, despite of 2T period clock stimulating TRIG pin of pyth_eval blocks, blocks keep executing one after the other, in respect of execution order.]]> +<![CDATA[A simple test that reads Nunchuk stick position and put it in spinctrls, when A button is pressed.]]> </content> </comment> <block localId="24" width="155" height="80" typeName="STRING_TO_UINT"> - <position x="505" y="405"/> + <position x="460" y="90"/> <inputVariables> <variable formalParameter="EN"> <connectionPointIn> <relPosition x="0" y="35"/> <connection refLocalId="12" formalParameter="ACK"> - <position x="505" y="440"/> - <position x="385" y="440"/> + <position x="460" y="125"/> + <position x="340" y="125"/> </connection> </connectionPointIn> </variable> @@ -228,8 +233,8 @@ <connectionPointIn> <relPosition x="0" y="65"/> <connection refLocalId="12" formalParameter="RESULT"> - <position x="505" y="470"/> - <position x="385" y="470"/> + <position x="460" y="155"/> + <position x="340" y="155"/> </connection> </connectionPointIn> </variable> @@ -249,14 +254,14 @@ </outputVariables> </block> <block localId="25" width="135" height="45" typeName="UINT_TO_BOOL"> - <position x="735" y="440"/> + <position x="690" y="125"/> <inputVariables> <variable formalParameter="IN"> <connectionPointIn> <relPosition x="0" y="30"/> <connection refLocalId="24" formalParameter="OUT"> - <position x="735" y="470"/> - <position x="660" y="470"/> + <position x="690" y="155"/> + <position x="615" y="155"/> </connection> </connectionPointIn> </variable> @@ -271,30 +276,320 @@ </outputVariables> </block> <inVariable localId="31" height="30" width="160"> - <position x="570" y="740"/> + <position x="565" y="385"/> <connectionPointOut> <relPosition x="160" y="15"/> </connectionPointOut> - <expression>'\n")'</expression> - </inVariable> - <block localId="32" width="125" height="85" typeName="python_eval" instanceName="Block1"> - <position x="960" y="550"/> + <expression>')'</expression> + </inVariable> + <inVariable localId="35" height="30" width="340"> + <position x="385" y="345"/> + <connectionPointOut> + <relPosition x="340" y="15"/> + </connectionPointOut> + <expression>'HMIFrame.spin_ctrl_X.SetValue('</expression> + </inVariable> + <inVariable localId="41" height="30" width="100"> + <position x="80" y="105"/> + <connectionPointOut> + <relPosition x="100" y="15"/> + </connectionPointOut> + <expression>BOOL#TRUE</expression> + </inVariable> + <block localId="42" width="80" height="100" typeName="CONCAT"> + <position x="750" y="310"/> + <inputVariables> + <variable formalParameter="EN"> + <connectionPointIn> + <relPosition x="0" y="30"/> + <connection refLocalId="44" formalParameter="ENO"> + <position x="750" y="340"/> + <position x="740" y="340"/> + <position x="740" y="270"/> + <position x="715" y="270"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN1"> + <connectionPointIn> + <relPosition x="0" y="50"/> + <connection refLocalId="35"> + <position x="750" y="360"/> + <position x="725" y="360"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN2"> + <connectionPointIn> + <relPosition x="0" y="70"/> + <connection refLocalId="44" formalParameter="OUT"> + <position x="750" y="380"/> + <position x="735" y="380"/> + <position x="735" y="300"/> + <position x="715" y="300"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN3"> + <connectionPointIn> + <relPosition x="0" y="90"/> + <connection refLocalId="31"> + <position x="750" y="400"/> + <position x="725" y="400"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="ENO"> + <connectionPointOut> + <relPosition x="80" y="30"/> + </connectionPointOut> + </variable> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="80" y="50"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <block localId="43" width="145" height="80" typeName="STRING_TO_INT"> + <position x="380" y="235"/> + <inputVariables> + <variable formalParameter="EN"> + <connectionPointIn> + <relPosition x="0" y="35"/> + <connection refLocalId="5" formalParameter="ACK"> + <position x="380" y="270"/> + <position x="340" y="270"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN"> + <connectionPointIn> + <relPosition x="0" y="65"/> + <connection refLocalId="5" formalParameter="RESULT"> + <position x="380" y="300"/> + <position x="340" y="300"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="ENO"> + <connectionPointOut> + <relPosition x="145" y="35"/> + </connectionPointOut> + </variable> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="145" y="65"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <block localId="44" width="145" height="80" typeName="INT_TO_STRING"> + <position x="570" y="235"/> + <inputVariables> + <variable formalParameter="EN"> + <connectionPointIn> + <relPosition x="0" y="35"/> + <connection refLocalId="43" formalParameter="ENO"> + <position x="570" y="270"/> + <position x="525" y="270"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN"> + <connectionPointIn> + <relPosition x="0" y="65"/> + <connection refLocalId="43" formalParameter="OUT"> + <position x="570" y="300"/> + <position x="525" y="300"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="ENO"> + <connectionPointOut> + <relPosition x="145" y="35"/> + </connectionPointOut> + </variable> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="145" y="65"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <inVariable localId="47" height="30" width="160"> + <position x="565" y="630"/> + <connectionPointOut> + <relPosition x="160" y="15"/> + </connectionPointOut> + <expression>')'</expression> + </inVariable> + <block localId="48" width="80" height="100" typeName="CONCAT"> + <position x="750" y="555"/> + <inputVariables> + <variable formalParameter="EN"> + <connectionPointIn> + <relPosition x="0" y="30"/> + <connection refLocalId="49" formalParameter="ENO"> + <position x="750" y="585"/> + <position x="740" y="585"/> + <position x="740" y="515"/> + <position x="715" y="515"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN1"> + <connectionPointIn> + <relPosition x="0" y="50"/> + <connection refLocalId="51"> + <position x="750" y="605"/> + <position x="725" y="605"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN2"> + <connectionPointIn> + <relPosition x="0" y="70"/> + <connection refLocalId="49" formalParameter="OUT"> + <position x="750" y="625"/> + <position x="735" y="625"/> + <position x="735" y="545"/> + <position x="715" y="545"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN3"> + <connectionPointIn> + <relPosition x="0" y="90"/> + <connection refLocalId="47"> + <position x="750" y="645"/> + <position x="725" y="645"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="ENO"> + <connectionPointOut> + <relPosition x="80" y="30"/> + </connectionPointOut> + </variable> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="80" y="50"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <block localId="49" width="145" height="80" typeName="INT_TO_STRING"> + <position x="570" y="480"/> + <inputVariables> + <variable formalParameter="EN"> + <connectionPointIn> + <relPosition x="0" y="35"/> + <connection refLocalId="50" formalParameter="ENO"> + <position x="570" y="515"/> + <position x="525" y="515"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN"> + <connectionPointIn> + <relPosition x="0" y="65"/> + <connection refLocalId="50" formalParameter="OUT"> + <position x="570" y="545"/> + <position x="525" y="545"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="ENO"> + <connectionPointOut> + <relPosition x="145" y="35"/> + </connectionPointOut> + </variable> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="145" y="65"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <block localId="50" width="145" height="80" typeName="STRING_TO_INT"> + <position x="380" y="480"/> + <inputVariables> + <variable formalParameter="EN"> + <connectionPointIn> + <relPosition x="0" y="35"/> + <connection refLocalId="8" formalParameter="ACK"> + <position x="380" y="515"/> + <position x="340" y="515"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN"> + <connectionPointIn> + <relPosition x="0" y="65"/> + <connection refLocalId="8" formalParameter="RESULT"> + <position x="380" y="545"/> + <position x="340" y="545"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="ENO"> + <connectionPointOut> + <relPosition x="145" y="35"/> + </connectionPointOut> + </variable> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="145" y="65"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <inVariable localId="51" height="30" width="340"> + <position x="385" y="590"/> + <connectionPointOut> + <relPosition x="340" y="15"/> + </connectionPointOut> + <expression>'HMIFrame.spin_ctrl_Y.SetValue('</expression> + </inVariable> + <block localId="52" width="125" height="65" typeName="python_poll" instanceName="pollX"> + <position x="875" y="310"/> <inputVariables> <variable formalParameter="TRIG"> <connectionPointIn> - <relPosition x="0" y="35"/> - <connection refLocalId="34" formalParameter="ENO"> - <position x="960" y="585"/> - <position x="920" y="585"/> + <relPosition x="0" y="30"/> + <connection refLocalId="42" formalParameter="ENO"> + <position x="875" y="340"/> + <position x="830" y="340"/> </connection> </connectionPointIn> </variable> <variable formalParameter="CODE"> <connectionPointIn> - <relPosition x="0" y="70"/> - <connection refLocalId="34" formalParameter="OUT"> - <position x="960" y="620"/> - <position x="920" y="620"/> + <relPosition x="0" y="55"/> + <connection refLocalId="42" formalParameter="OUT"> + <position x="875" y="365"/> + <position x="855" y="365"/> + <position x="855" y="360"/> + <position x="830" y="360"/> </connection> </connectionPointIn> </variable> @@ -303,144 +598,54 @@ <outputVariables> <variable formalParameter="ACK"> <connectionPointOut> - <relPosition x="125" y="35"/> + <relPosition x="125" y="30"/> </connectionPointOut> </variable> <variable formalParameter="RESULT"> <connectionPointOut> - <relPosition x="125" y="70"/> - </connectionPointOut> - </variable> - </outputVariables> - </block> - <block localId="33" width="80" height="65" typeName="AND"> - <position x="455" y="555"/> - <inputVariables> - <variable formalParameter="IN1"> + <relPosition x="125" y="55"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <block localId="53" width="125" height="65" typeName="python_poll" instanceName="pollY"> + <position x="875" y="555"/> + <inputVariables> + <variable formalParameter="TRIG"> <connectionPointIn> <relPosition x="0" y="30"/> - <connection refLocalId="5" formalParameter="ACK"> - <position x="455" y="585"/> - <position x="385" y="585"/> - </connection> - </connectionPointIn> - </variable> - <variable formalParameter="IN2"> + <connection refLocalId="48" formalParameter="ENO"> + <position x="875" y="585"/> + <position x="830" y="585"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="CODE"> <connectionPointIn> <relPosition x="0" y="55"/> - <connection refLocalId="8" formalParameter="ACK"> - <position x="455" y="610"/> - <position x="435" y="610"/> - <position x="435" y="695"/> - <position x="385" y="695"/> - </connection> - </connectionPointIn> - </variable> - </inputVariables> - <inOutVariables/> - <outputVariables> - <variable formalParameter="OUT"> - <connectionPointOut> - <relPosition x="80" y="30"/> - </connectionPointOut> - </variable> - </outputVariables> - </block> - <block localId="34" width="80" height="225" typeName="CONCAT"> - <position x="840" y="550"/> - <inputVariables> - <variable formalParameter="EN"> - <connectionPointIn> - <relPosition x="0" y="35"/> - <connection refLocalId="33" formalParameter="OUT"> - <position x="840" y="585"/> - <position x="535" y="585"/> - </connection> - </connectionPointIn> - </variable> - <variable formalParameter="IN1"> - <connectionPointIn> - <relPosition x="0" y="70"/> - <connection refLocalId="35"> - <position x="840" y="620"/> - <position x="800" y="620"/> - </connection> - </connectionPointIn> - </variable> - <variable formalParameter="IN2"> - <connectionPointIn> - <relPosition x="0" y="105"/> - <connection refLocalId="5" formalParameter="RESULT"> - <position x="840" y="655"/> - <position x="415" y="655"/> - <position x="415" y="615"/> - <position x="385" y="615"/> - </connection> - </connectionPointIn> - </variable> - <variable formalParameter="IN3"> - <connectionPointIn> - <relPosition x="0" y="140"/> - <connection refLocalId="36"> - <position x="840" y="690"/> - <position x="640" y="690"/> - </connection> - </connectionPointIn> - </variable> - <variable formalParameter="IN4"> - <connectionPointIn> - <relPosition x="0" y="175"/> - <connection refLocalId="8" formalParameter="RESULT"> - <position x="840" y="725"/> - <position x="385" y="725"/> - </connection> - </connectionPointIn> - </variable> - <variable formalParameter="IN5"> - <connectionPointIn> - <relPosition x="0" y="205"/> - <connection refLocalId="31"> - <position x="840" y="755"/> - <position x="730" y="755"/> - </connection> - </connectionPointIn> - </variable> - </inputVariables> - <inOutVariables/> - <outputVariables> - <variable formalParameter="ENO"> - <connectionPointOut> - <relPosition x="80" y="35"/> - </connectionPointOut> - </variable> - <variable formalParameter="OUT"> - <connectionPointOut> - <relPosition x="80" y="70"/> - </connectionPointOut> - </variable> - </outputVariables> - </block> - <inVariable localId="35" height="30" width="230"> - <position x="570" y="605"/> - <connectionPointOut> - <relPosition x="230" y="15"/> - </connectionPointOut> - <expression>'sys.stdout.write("x:'</expression> - </inVariable> - <inVariable localId="36" height="30" width="70"> - <position x="570" y="675"/> - <connectionPointOut> - <relPosition x="70" y="15"/> - </connectionPointOut> - <expression>', y:'</expression> - </inVariable> - <inVariable localId="41" height="30" width="100"> - <position x="125" y="420"/> - <connectionPointOut> - <relPosition x="100" y="15"/> - </connectionPointOut> - <expression>BOOL#TRUE</expression> - </inVariable> + <connection refLocalId="48" formalParameter="OUT"> + <position x="875" y="610"/> + <position x="857" y="610"/> + <position x="857" y="605"/> + <position x="830" y="605"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="ACK"> + <connectionPointOut> + <relPosition x="125" y="30"/> + </connectionPointOut> + </variable> + <variable formalParameter="RESULT"> + <connectionPointOut> + <relPosition x="125" y="55"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> </FBD> </body> </pou>