Laurent@2086: <?xml version="1.0" encoding="UTF-8"?>
Laurent@2086: <project xmlns="http://www.plcopen.org/xml/tc6.xsd"
Laurent@2086:          xsi:schemaLocation="http://www.plcopen.org/xml/tc6.xsd"
Laurent@2086:          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Laurent@2086:          xmlns:xhtml="http://www.w3.org/1999/xhtml">
Laurent@2086:   <fileHeader companyName="EtherlabMaster"
Laurent@2086:               productName="EtherlabMaster"
Laurent@2086:               productVersion="1"
Laurent@2086:               creationDateTime="2012-10-22T12:12:45"/>
Laurent@2086:   <contentHeader name="EtherlabMaster SDO Blocks"
Laurent@2092:                  modificationDateTime="2012-11-13T18:03:39">
Laurent@2086:     <coordinateInfo>
Laurent@2086:       <fbd>
Laurent@2086:         <scaling x="0" y="0"/>
Laurent@2086:       </fbd>
Laurent@2086:       <ld>
Laurent@2086:         <scaling x="0" y="0"/>
Laurent@2086:       </ld>
Laurent@2086:       <sfc>
Laurent@2086:         <scaling x="0" y="0"/>
Laurent@2086:       </sfc>
Laurent@2086:     </coordinateInfo>
Laurent@2086:   </contentHeader>
Laurent@2086:   <types>
Laurent@2086:     <dataTypes/>
Laurent@2086:     <pous>
Laurent@2086:       <pou name="EtherLabSDOUpload" pouType="functionBlock">
Laurent@2086:         <interface>
Laurent@2086:           <inputVars>
Laurent@2086:             <variable name="EXECUTE">
Laurent@2086:               <type>
Laurent@2086:                 <BOOL/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="POS">
Laurent@2086:               <type>
Laurent@2086:                 <INT/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="INDEX">
Laurent@2086:               <type>
Laurent@2086:                 <UINT/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="SUBINDEX">
Laurent@2086:               <type>
Laurent@2086:                 <USINT/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="VARTYPE">
Laurent@2086:               <type>
Laurent@2086:                 <string/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:           </inputVars>
Laurent@2086:           <outputVars>
Laurent@2086:             <variable name="ACK">
Laurent@2086:               <type>
Laurent@2086:                 <BOOL/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="VALID">
Laurent@2086:               <type>
Laurent@2086:                 <BOOL/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="VALUE">
Laurent@2086:               <type>
Laurent@2086:                 <string/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:           </outputVars>
Laurent@2086:           <localVars>
Laurent@2086:             <variable name="PY0">
Laurent@2086:               <type>
Laurent@2086:                 <derived name="python_eval"/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="PY1">
Laurent@2086:               <type>
Laurent@2086:                 <derived name="python_eval"/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="EXECUTE0">
Laurent@2086:               <type>
Laurent@2086:                 <BOOL/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="STATE">
Laurent@2086:               <type>
Laurent@2086:                 <INT/>
Laurent@2086:               </type>
Laurent@2086:               <initialValue>
Laurent@2086:                 <simpleValue value="0"/>
Laurent@2086:               </initialValue>
Laurent@2086:             </variable>
Laurent@2086:           </localVars>
Laurent@2086:         </interface>
Laurent@2086:         <body>
Laurent@2086:           <ST>
Laurent@2086: <![CDATA[{extern int AcquireSDOLock();}
Laurent@2086: {extern int HasAnswer();}
Laurent@2086: {extern void ReleaseSDOLock();}
Laurent@2086: CASE STATE OF
Laurent@2086:   0:
Laurent@2086:     IF EXECUTE AND NOT EXECUTE0 THEN
Laurent@2086:       STATE := 1;
Laurent@2086:       ACK := 0;
Laurent@2086:       VALID := 0;
Laurent@2086:       VALUE := 'None';
Laurent@2086:     END_IF;
Laurent@2086:   1:
Edouard@2164:     {if (AcquireSDOLock()) __SET_VAR(data__->,STATE,, 2)}
Laurent@2086:   2:
Laurent@2086:     IF PY0.ACK THEN
Laurent@2086:       STATE := 3;
Laurent@2086:     END_IF;
Laurent@2086:   3:
Edouard@2164:     {if (HasAnswer()) __SET_VAR(data__->,STATE,, 4)}
Laurent@2086:   4:
Laurent@2086:     IF PY1.ACK THEN
Laurent@2086:       ACK := 1;
Laurent@2086:       VALUE := PY1.RESULT;
Laurent@2086:       VALID := NE(VALUE, 'None');
Laurent@2086:       STATE := 0;
Laurent@2086:       {ReleaseSDOLock();}
Laurent@2086:     END_IF;
Laurent@2086: ELSE
Laurent@2086:   STATE := 0;
Laurent@2086: END_CASE;
Laurent@2086: 
Laurent@2086: EXECUTE0 := EXECUTE;
Laurent@2086: PY0(TRIG := STATE = 2, 
Laurent@2086:     CODE := CONCAT('EthercatSDOUpload(',
Laurent@2086:                    INT_TO_STRING(POS),
Laurent@2086:                    ',',
Laurent@2086:                    UINT_TO_STRING(INDEX),
Laurent@2086:                    ',',
Laurent@2086:                    USINT_TO_STRING(SUBINDEX),
Laurent@2086:                    ',"',
Laurent@2086:                    VARTYPE,
Laurent@2086:                    '")'));
Laurent@2086: PY1(TRIG := STATE = 4, 
Laurent@2086:     CODE := 'GetResult()');
Laurent@2086: ]]>
Laurent@2086:           </ST>
Laurent@2086:         </body>
Laurent@2086:       </pou>
Laurent@2086:       <pou name="EtherLabSDODownload" pouType="functionBlock">
Laurent@2086:         <interface>
Laurent@2086:           <inputVars>
Laurent@2086:             <variable name="EXECUTE">
Laurent@2086:               <type>
Laurent@2086:                 <BOOL/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="POS">
Laurent@2086:               <type>
Laurent@2086:                 <INT/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="INDEX">
Laurent@2086:               <type>
Laurent@2086:                 <UINT/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="SUBINDEX">
Laurent@2086:               <type>
Laurent@2086:                 <USINT/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="VARTYPE">
Laurent@2086:               <type>
Laurent@2086:                 <string/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="VALUE">
Laurent@2086:               <type>
Laurent@2086:                 <string/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:           </inputVars>
Laurent@2086:           <outputVars>
Laurent@2086:             <variable name="ACK">
Laurent@2086:               <type>
Laurent@2086:                 <BOOL/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="ERROR">
Laurent@2086:               <type>
Laurent@2086:                 <BOOL/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:           </outputVars>
Laurent@2086:           <localVars>
Laurent@2086:             <variable name="PY0">
Laurent@2086:               <type>
Laurent@2086:                 <derived name="python_eval"/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="PY1">
Laurent@2086:               <type>
Laurent@2086:                 <derived name="python_eval"/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="EXECUTE0">
Laurent@2086:               <type>
Laurent@2086:                 <BOOL/>
Laurent@2086:               </type>
Laurent@2086:             </variable>
Laurent@2086:             <variable name="STATE">
Laurent@2086:               <type>
Laurent@2086:                 <INT/>
Laurent@2086:               </type>
Laurent@2086:               <initialValue>
Laurent@2086:                 <simpleValue value="0"/>
Laurent@2086:               </initialValue>
Laurent@2086:             </variable>
Laurent@2086:           </localVars>
Laurent@2086:         </interface>
Laurent@2086:         <body>
Laurent@2086:           <ST>
Laurent@2086: <![CDATA[{extern int AcquireSDOLock();}
Laurent@2086: {extern int HasAnswer();}
Laurent@2086: {extern void ReleaseSDOLock();}
Laurent@2086: CASE STATE OF
Laurent@2086:   0:
Laurent@2086:     IF EXECUTE AND NOT EXECUTE0 THEN
Laurent@2086:       STATE := 1;
Laurent@2086:       ACK := 0;
Laurent@2086:       ERROR := 0;
Laurent@2086:     END_IF;
Laurent@2086:   1:
Edouard@2164:     {if (AcquireSDOLock()) __SET_VAR(data__->,STATE,, 2)}
Laurent@2086:   2:
Laurent@2086:     IF PY0.ACK THEN
Laurent@2086:       STATE := 3;
Laurent@2086:     END_IF;
Laurent@2086:   3:
Edouard@2164:     {if (HasAnswer()) __SET_VAR(data__->,STATE,, 4)}
Laurent@2086:   4:
Laurent@2086:     IF PY1.ACK THEN
Laurent@2086:       ACK := 1;
Laurent@2086:       ERROR := EQ(PY1.RESULT, 'False');
Laurent@2086:       STATE := 0;
Laurent@2086:       {ReleaseSDOLock();}
Laurent@2086:     END_IF;
Laurent@2086: ELSE
Laurent@2086:   STATE := 0;
Laurent@2086: END_CASE;
Laurent@2086: EXECUTE0 := EXECUTE;
Laurent@2086: PY0(TRIG := STATE = 2, 
Laurent@2086:     CODE := CONCAT('EthercatSDODownload(',
Laurent@2086:                    INT_TO_STRING(POS),
Laurent@2086:                    ',',
Laurent@2086:                    UINT_TO_STRING(INDEX),
Laurent@2086:                    ',',
Laurent@2086:                    USINT_TO_STRING(SUBINDEX),
Laurent@2086:                    ',"',
Laurent@2086:                    VARTYPE,
Laurent@2086:                    '",',
Laurent@2086:                    VALUE,
Laurent@2086:                    ')'));
Laurent@2086: PY1(TRIG := STATE = 4, 
Laurent@2086:     CODE := 'GetResult()');
Laurent@2086: ]]>
Laurent@2086:           </ST>
Laurent@2086:         </body>
Laurent@2086:       </pou>
Laurent@2092:       <pou name="EtherLabSetTorqueLimit" pouType="functionBlock">
Laurent@2092:         <interface>
Laurent@2092:           <inputVars>
Laurent@2092:             <variable name="Pos">
Laurent@2092:               <type>
Laurent@2092:                 <INT/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="Execute">
Laurent@2092:               <type>
Laurent@2092:                 <BOOL/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="TorqueLimitPos">
Laurent@2092:               <type>
Laurent@2092:                 <UINT/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="TorqueLimitNeg">
Laurent@2092:               <type>
Laurent@2092:                 <UINT/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:           </inputVars>
Laurent@2092:           <outputVars>
Laurent@2092:             <variable name="Done">
Laurent@2092:               <type>
Laurent@2092:                 <BOOL/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="Busy">
Laurent@2092:               <type>
Laurent@2092:                 <BOOL/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="Error">
Laurent@2092:               <type>
Laurent@2092:                 <BOOL/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="ErrorID">
Laurent@2092:               <type>
Laurent@2092:                 <WORD/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:           </outputVars>
Laurent@2092:           <localVars>
Laurent@2092:             <variable name="EtherLabSDOUpload0">
Laurent@2092:               <type>
Laurent@2092:                 <derived name="EtherLabSDODownload"/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="EtherLabSDOUpload1">
Laurent@2092:               <type>
Laurent@2092:                 <derived name="EtherLabSDODownload"/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="RS0">
Laurent@2092:               <type>
Laurent@2092:                 <derived name="RS"/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:           </localVars>
Laurent@2092:         </interface>
Laurent@2092:         <body>
Laurent@2092:           <FBD>
Laurent@2092:             <block localId="1" width="168" height="238" typeName="EtherLabSDODownload" instanceName="EtherLabSDOUpload0">
Laurent@2092:               <position x="479" y="70"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="EXECUTE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="38"/>
Laurent@2092:                     <connection refLocalId="3">
Laurent@2092:                       <position x="479" y="108"/>
Laurent@2092:                       <position x="111" y="108"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="POS">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="74"/>
Laurent@2092:                     <connection refLocalId="4">
Laurent@2092:                       <position x="479" y="144"/>
Laurent@2092:                       <position x="423" y="144"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="INDEX">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="110"/>
Laurent@2092:                     <connection refLocalId="6">
Laurent@2092:                       <position x="479" y="180"/>
Laurent@2092:                       <position x="423" y="180"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="SUBINDEX">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="146"/>
Laurent@2092:                     <connection refLocalId="8">
Laurent@2092:                       <position x="479" y="216"/>
Laurent@2092:                       <position x="423" y="216"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VARTYPE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="182"/>
Laurent@2092:                     <connection refLocalId="10">
Laurent@2092:                       <position x="479" y="252"/>
Laurent@2092:                       <position x="423" y="252"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VALUE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="218"/>
Laurent@2092:                     <connection refLocalId="25" formalParameter="OUT">
Laurent@2092:                       <position x="479" y="288"/>
Laurent@2092:                       <position x="450" y="288"/>
Laurent@2092:                       <position x="450" y="306"/>
Laurent@2092:                       <position x="422" y="306"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="ACK">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="168" y="38"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="ERROR">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="168" y="74"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <block localId="2" width="168" height="264" typeName="EtherLabSDODownload" instanceName="EtherLabSDOUpload1">
Laurent@2092:               <position x="482" y="351"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="EXECUTE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="40"/>
Laurent@2092:                     <connection refLocalId="3">
Laurent@2092:                       <position x="482" y="391"/>
Laurent@2092:                       <position x="131" y="391"/>
Laurent@2092:                       <position x="131" y="108"/>
Laurent@2092:                       <position x="111" y="108"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="POS">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="80"/>
Laurent@2092:                     <connection refLocalId="5">
Laurent@2092:                       <position x="482" y="431"/>
Laurent@2092:                       <position x="431" y="431"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="INDEX">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="120"/>
Laurent@2092:                     <connection refLocalId="7">
Laurent@2092:                       <position x="482" y="471"/>
Laurent@2092:                       <position x="431" y="471"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="SUBINDEX">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="160"/>
Laurent@2092:                     <connection refLocalId="9">
Laurent@2092:                       <position x="482" y="511"/>
Laurent@2092:                       <position x="430" y="511"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VARTYPE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="200"/>
Laurent@2092:                     <connection refLocalId="11">
Laurent@2092:                       <position x="482" y="551"/>
Laurent@2092:                       <position x="431" y="551"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VALUE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="240"/>
Laurent@2092:                     <connection refLocalId="12" formalParameter="OUT">
Laurent@2092:                       <position x="482" y="591"/>
Laurent@2092:                       <position x="456" y="591"/>
Laurent@2092:                       <position x="456" y="610"/>
Laurent@2092:                       <position x="431" y="610"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="ACK">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="168" y="40"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="ERROR">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="168" y="80"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <inVariable localId="3" height="27" width="63">
Laurent@2092:               <position x="48" y="95"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="63" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Execute</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="4" height="27" width="35">
Laurent@2092:               <position x="388" y="131"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="35" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Pos</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="5" height="27" width="35">
Laurent@2092:               <position x="396" y="418"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="35" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Pos</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="6" height="27" width="68">
Laurent@2092:               <position x="355" y="167"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="68" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>16#60E0</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="7" height="27" width="68">
Laurent@2092:               <position x="363" y="458"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="68" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2094:               <expression>16#60E1</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="8" height="27" width="33">
Laurent@2092:               <position x="390" y="203"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="33" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>0</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="9" height="27" width="33">
Laurent@2092:               <position x="397" y="498"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="33" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>0</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="10" height="27" width="60">
Laurent@2092:               <position x="363" y="239"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="60" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>'uint16'</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="11" height="27" width="60">
Laurent@2092:               <position x="371" y="538"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="60" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>'uint16'</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <block localId="16" width="67" height="98" typeName="AND">
Laurent@2092:               <position x="763" y="69"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN1">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="39"/>
Laurent@2092:                     <connection refLocalId="1" formalParameter="ACK">
Laurent@2092:                       <position x="763" y="108"/>
Laurent@2092:                       <position x="647" y="108"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="IN2">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="78"/>
Laurent@2092:                     <connection refLocalId="2" formalParameter="ACK">
Laurent@2092:                       <position x="763" y="147"/>
Laurent@2092:                       <position x="707" y="147"/>
Laurent@2092:                       <position x="707" y="391"/>
Laurent@2092:                       <position x="650" y="391"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="67" y="39"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <outVariable localId="17" height="27" width="45">
Laurent@2092:               <position x="941" y="95"/>
Laurent@2092:               <connectionPointIn>
Laurent@2092:                 <relPosition x="0" y="13"/>
Laurent@2092:                 <connection refLocalId="16" formalParameter="OUT">
Laurent@2092:                   <position x="941" y="108"/>
Laurent@2092:                   <position x="830" y="108"/>
Laurent@2092:                 </connection>
Laurent@2092:               </connectionPointIn>
Laurent@2092:               <expression>Done</expression>
Laurent@2092:             </outVariable>
Laurent@2092:             <block localId="18" width="67" height="111" typeName="OR">
Laurent@2092:               <position x="778" y="344"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN1">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="42"/>
Laurent@2092:                     <connection refLocalId="1" formalParameter="ERROR">
Laurent@2092:                       <position x="778" y="386"/>
Laurent@2092:                       <position x="752" y="386"/>
Laurent@2092:                       <position x="752" y="254"/>
Laurent@2092:                       <position x="659" y="254"/>
Laurent@2092:                       <position x="659" y="144"/>
Laurent@2092:                       <position x="647" y="144"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="IN2">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="87"/>
Laurent@2092:                     <connection refLocalId="2" formalParameter="ERROR">
Laurent@2092:                       <position x="778" y="431"/>
Laurent@2092:                       <position x="650" y="431"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="67" y="42"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <block localId="19" width="67" height="98" typeName="AND">
Laurent@2092:               <position x="933" y="308"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN1">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="39"/>
Laurent@2092:                     <connection refLocalId="16" formalParameter="OUT">
Laurent@2092:                       <position x="933" y="347"/>
Laurent@2092:                       <position x="886" y="347"/>
Laurent@2092:                       <position x="886" y="108"/>
Laurent@2092:                       <position x="830" y="108"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="IN2">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="78"/>
Laurent@2092:                     <connection refLocalId="18" formalParameter="OUT">
Laurent@2092:                       <position x="933" y="386"/>
Laurent@2092:                       <position x="845" y="386"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="67" y="39"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <outVariable localId="20" height="27" width="45">
Laurent@2092:               <position x="1037" y="334"/>
Laurent@2092:               <connectionPointIn>
Laurent@2092:                 <relPosition x="0" y="13"/>
Laurent@2092:                 <connection refLocalId="19" formalParameter="OUT">
Laurent@2092:                   <position x="1037" y="347"/>
Laurent@2092:                   <position x="1000" y="347"/>
Laurent@2092:                 </connection>
Laurent@2092:               </connectionPointIn>
Laurent@2092:               <expression>Error</expression>
Laurent@2092:             </outVariable>
Laurent@2092:             <block localId="22" width="97" height="93" typeName="RS" instanceName="RS0">
Laurent@2092:               <position x="854" y="498"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="S">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="38"/>
Laurent@2092:                     <connection refLocalId="23">
Laurent@2092:                       <position x="854" y="536"/>
Laurent@2092:                       <position x="795" y="536"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="R1">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="74"/>
Laurent@2092:                     <connection refLocalId="21">
Laurent@2092:                       <position x="854" y="572"/>
Laurent@2092:                       <position x="790" y="572"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="Q1">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="97" y="38"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <inVariable localId="21" height="27" width="45">
Laurent@2092:               <position x="745" y="559"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="45" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Done</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="23" height="27" width="63">
Laurent@2092:               <position x="732" y="523"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="63" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Execute</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <outVariable localId="24" height="27" width="41">
Laurent@2092:               <position x="1006" y="523"/>
Laurent@2092:               <connectionPointIn>
Laurent@2092:                 <relPosition x="0" y="13"/>
Laurent@2092:                 <connection refLocalId="22" formalParameter="Q1">
Laurent@2092:                   <position x="1006" y="536"/>
Laurent@2092:                   <position x="951" y="536"/>
Laurent@2092:                 </connection>
Laurent@2092:               </connectionPointIn>
Laurent@2092:               <expression>Busy</expression>
Laurent@2092:             </outVariable>
Laurent@2092:             <block localId="25" width="126" height="40" typeName="UINT_TO_STRING">
Laurent@2092:               <position x="296" y="276"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="30"/>
Laurent@2092:                     <connection refLocalId="14">
Laurent@2092:                       <position x="296" y="306"/>
Laurent@2092:                       <position x="262" y="306"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="126" y="30"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <inVariable localId="14" height="27" width="117">
Laurent@2092:               <position x="145" y="293"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="117" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>TorqueLimitPos</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <block localId="12" width="126" height="40" typeName="UINT_TO_STRING">
Laurent@2092:               <position x="305" y="580"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="30"/>
Laurent@2092:                     <connection refLocalId="15">
Laurent@2092:                       <position x="305" y="610"/>
Laurent@2092:                       <position x="283" y="610"/>
Laurent@2092:                       <position x="283" y="611"/>
Laurent@2092:                       <position x="262" y="611"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="126" y="30"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <inVariable localId="15" height="27" width="119">
Laurent@2092:               <position x="143" y="598"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="119" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>TorqueLimitNeg</expression>
Laurent@2092:             </inVariable>
Laurent@2092:           </FBD>
Laurent@2092:         </body>
Laurent@2092:       </pou>
Laurent@2092:       <pou name="EtherLabGetTorqueLimit" pouType="functionBlock">
Laurent@2092:         <interface>
Laurent@2092:           <inputVars>
Laurent@2092:             <variable name="Pos">
Laurent@2092:               <type>
Laurent@2092:                 <INT/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="Execute">
Laurent@2092:               <type>
Laurent@2092:                 <BOOL/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:           </inputVars>
Laurent@2092:           <outputVars>
Laurent@2092:             <variable name="Done">
Laurent@2092:               <type>
Laurent@2092:                 <BOOL/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="Busy">
Laurent@2092:               <type>
Laurent@2092:                 <BOOL/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="Error">
Laurent@2092:               <type>
Laurent@2092:                 <BOOL/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="ErrorID">
Laurent@2092:               <type>
Laurent@2092:                 <WORD/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="TorqueLimitPos">
Laurent@2092:               <type>
Laurent@2092:                 <UINT/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="TorqueLimitNeg">
Laurent@2092:               <type>
Laurent@2092:                 <UINT/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:           </outputVars>
Laurent@2092:           <localVars>
Laurent@2092:             <variable name="EtherLabSDOUpload0">
Laurent@2092:               <type>
Laurent@2092:                 <derived name="EtherLabSDOUpload"/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="EtherLabSDOUpload1">
Laurent@2092:               <type>
Laurent@2092:                 <derived name="EtherLabSDOUpload"/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:             <variable name="RS0">
Laurent@2092:               <type>
Laurent@2092:                 <derived name="RS"/>
Laurent@2092:               </type>
Laurent@2092:             </variable>
Laurent@2092:           </localVars>
Laurent@2092:         </interface>
Laurent@2092:         <body>
Laurent@2092:           <FBD>
Laurent@2092:             <block localId="1" width="149" height="203" typeName="EtherLabSDOUpload" instanceName="EtherLabSDOUpload0">
Laurent@2092:               <position x="283" y="70"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="EXECUTE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="38"/>
Laurent@2092:                     <connection refLocalId="3">
Laurent@2092:                       <position x="283" y="108"/>
Laurent@2092:                       <position x="111" y="108"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="POS">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="74"/>
Laurent@2092:                     <connection refLocalId="4">
Laurent@2092:                       <position x="283" y="144"/>
Laurent@2092:                       <position x="219" y="144"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="INDEX">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="110"/>
Laurent@2092:                     <connection refLocalId="6">
Laurent@2092:                       <position x="283" y="180"/>
Laurent@2092:                       <position x="219" y="180"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="SUBINDEX">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="146"/>
Laurent@2092:                     <connection refLocalId="8">
Laurent@2092:                       <position x="283" y="216"/>
Laurent@2092:                       <position x="219" y="216"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VARTYPE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="182"/>
Laurent@2092:                     <connection refLocalId="10">
Laurent@2092:                       <position x="283" y="252"/>
Laurent@2092:                       <position x="219" y="252"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="ACK">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="149" y="38"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VALID">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="149" y="74"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VALUE">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="149" y="110"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <block localId="2" width="149" height="228" typeName="EtherLabSDOUpload" instanceName="EtherLabSDOUpload1">
Laurent@2092:               <position x="284" y="321"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="EXECUTE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="40"/>
Laurent@2092:                     <connection refLocalId="3">
Laurent@2092:                       <position x="284" y="361"/>
Laurent@2092:                       <position x="131" y="361"/>
Laurent@2092:                       <position x="131" y="108"/>
Laurent@2092:                       <position x="111" y="108"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="POS">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="81"/>
Laurent@2092:                     <connection refLocalId="5">
Laurent@2092:                       <position x="284" y="402"/>
Laurent@2092:                       <position x="219" y="402"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="INDEX">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="122"/>
Laurent@2092:                     <connection refLocalId="7">
Laurent@2092:                       <position x="284" y="443"/>
Laurent@2092:                       <position x="219" y="443"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="SUBINDEX">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="163"/>
Laurent@2092:                     <connection refLocalId="9">
Laurent@2092:                       <position x="284" y="484"/>
Laurent@2092:                       <position x="219" y="484"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VARTYPE">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="204"/>
Laurent@2092:                     <connection refLocalId="11">
Laurent@2092:                       <position x="284" y="525"/>
Laurent@2092:                       <position x="219" y="525"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="ACK">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="149" y="40"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VALID">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="149" y="81"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="VALUE">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="149" y="122"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <inVariable localId="3" height="27" width="63">
Laurent@2092:               <position x="48" y="95"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="63" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Execute</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="4" height="27" width="35">
Laurent@2092:               <position x="184" y="131"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="35" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Pos</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="5" height="27" width="35">
Laurent@2092:               <position x="184" y="389"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="35" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Pos</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="6" height="27" width="68">
Laurent@2092:               <position x="151" y="167"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="68" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>16#60E0</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="7" height="27" width="68">
Laurent@2092:               <position x="151" y="430"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="68" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2094:               <expression>16#60E1</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="8" height="27" width="33">
Laurent@2092:               <position x="186" y="203"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="33" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>0</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="9" height="27" width="33">
Laurent@2092:               <position x="186" y="471"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="33" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>0</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="10" height="27" width="60">
Laurent@2092:               <position x="159" y="239"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="60" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>'uint16'</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="11" height="27" width="60">
Laurent@2092:               <position x="159" y="512"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="60" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>'uint16'</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <block localId="12" width="126" height="40" typeName="STRING_TO_UINT">
Laurent@2092:               <position x="492" y="150"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="30"/>
Laurent@2092:                     <connection refLocalId="1" formalParameter="VALUE">
Laurent@2092:                       <position x="492" y="180"/>
Laurent@2092:                       <position x="432" y="180"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="126" y="30"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <block localId="13" width="126" height="40" typeName="STRING_TO_UINT">
Laurent@2092:               <position x="498" y="413"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="30"/>
Laurent@2092:                     <connection refLocalId="2" formalParameter="VALUE">
Laurent@2092:                       <position x="498" y="443"/>
Laurent@2092:                       <position x="433" y="443"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="126" y="30"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <outVariable localId="14" height="27" width="117">
Laurent@2092:               <position x="673" y="167"/>
Laurent@2092:               <connectionPointIn>
Laurent@2092:                 <relPosition x="0" y="13"/>
Laurent@2092:                 <connection refLocalId="12" formalParameter="OUT">
Laurent@2092:                   <position x="673" y="180"/>
Laurent@2092:                   <position x="618" y="180"/>
Laurent@2092:                 </connection>
Laurent@2092:               </connectionPointIn>
Laurent@2092:               <expression>TorqueLimitPos</expression>
Laurent@2092:             </outVariable>
Laurent@2092:             <outVariable localId="15" height="27" width="119">
Laurent@2092:               <position x="679" y="430"/>
Laurent@2092:               <connectionPointIn>
Laurent@2092:                 <relPosition x="0" y="13"/>
Laurent@2092:                 <connection refLocalId="13" formalParameter="OUT">
Laurent@2092:                   <position x="679" y="443"/>
Laurent@2092:                   <position x="624" y="443"/>
Laurent@2092:                 </connection>
Laurent@2092:               </connectionPointIn>
Laurent@2092:               <expression>TorqueLimitNeg</expression>
Laurent@2092:             </outVariable>
Laurent@2092:             <block localId="16" width="67" height="98" typeName="AND">
Laurent@2092:               <position x="861" y="69"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN1">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="39"/>
Laurent@2092:                     <connection refLocalId="1" formalParameter="ACK">
Laurent@2092:                       <position x="861" y="108"/>
Laurent@2092:                       <position x="432" y="108"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="IN2">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="78"/>
Laurent@2092:                     <connection refLocalId="2" formalParameter="ACK">
Laurent@2092:                       <position x="861" y="147"/>
Laurent@2092:                       <position x="804" y="147"/>
Laurent@2092:                       <position x="804" y="361"/>
Laurent@2092:                       <position x="433" y="361"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="67" y="39"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <outVariable localId="17" height="27" width="45">
Laurent@2092:               <position x="1009" y="95"/>
Laurent@2092:               <connectionPointIn>
Laurent@2092:                 <relPosition x="0" y="13"/>
Laurent@2092:                 <connection refLocalId="16" formalParameter="OUT">
Laurent@2092:                   <position x="1009" y="108"/>
Laurent@2092:                   <position x="928" y="108"/>
Laurent@2092:                 </connection>
Laurent@2092:               </connectionPointIn>
Laurent@2092:               <expression>Done</expression>
Laurent@2092:             </outVariable>
Laurent@2092:             <block localId="18" width="67" height="111" typeName="OR">
Laurent@2092:               <position x="862" y="315"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN1" negated="true">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="42"/>
Laurent@2092:                     <connection refLocalId="1" formalParameter="VALID">
Laurent@2092:                       <position x="862" y="357"/>
Laurent@2092:                       <position x="839" y="357"/>
Laurent@2092:                       <position x="839" y="254"/>
Laurent@2092:                       <position x="469" y="254"/>
Laurent@2092:                       <position x="469" y="144"/>
Laurent@2092:                       <position x="432" y="144"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="IN2" negated="true">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="87"/>
Laurent@2092:                     <connection refLocalId="2" formalParameter="VALID">
Laurent@2092:                       <position x="862" y="402"/>
Laurent@2092:                       <position x="433" y="402"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="67" y="42"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <block localId="19" width="67" height="98" typeName="AND">
Laurent@2092:               <position x="989" y="279"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="IN1">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="39"/>
Laurent@2092:                     <connection refLocalId="16" formalParameter="OUT">
Laurent@2092:                       <position x="989" y="318"/>
Laurent@2092:                       <position x="958" y="318"/>
Laurent@2092:                       <position x="958" y="108"/>
Laurent@2092:                       <position x="928" y="108"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="IN2">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="78"/>
Laurent@2092:                     <connection refLocalId="18" formalParameter="OUT">
Laurent@2092:                       <position x="989" y="357"/>
Laurent@2092:                       <position x="929" y="357"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="OUT">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="67" y="39"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <outVariable localId="20" height="27" width="45">
Laurent@2092:               <position x="1102" y="305"/>
Laurent@2092:               <connectionPointIn>
Laurent@2092:                 <relPosition x="0" y="13"/>
Laurent@2092:                 <connection refLocalId="19" formalParameter="OUT">
Laurent@2092:                   <position x="1102" y="318"/>
Laurent@2092:                   <position x="1056" y="318"/>
Laurent@2092:                 </connection>
Laurent@2092:               </connectionPointIn>
Laurent@2092:               <expression>Error</expression>
Laurent@2092:             </outVariable>
Laurent@2092:             <block localId="22" width="97" height="93" typeName="RS" instanceName="RS0">
Laurent@2092:               <position x="657" y="517"/>
Laurent@2092:               <inputVariables>
Laurent@2092:                 <variable formalParameter="S">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="38"/>
Laurent@2092:                     <connection refLocalId="23">
Laurent@2092:                       <position x="657" y="555"/>
Laurent@2092:                       <position x="600" y="555"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:                 <variable formalParameter="R1">
Laurent@2092:                   <connectionPointIn>
Laurent@2092:                     <relPosition x="0" y="74"/>
Laurent@2092:                     <connection refLocalId="21">
Laurent@2092:                       <position x="657" y="591"/>
Laurent@2092:                       <position x="599" y="591"/>
Laurent@2092:                     </connection>
Laurent@2092:                   </connectionPointIn>
Laurent@2092:                 </variable>
Laurent@2092:               </inputVariables>
Laurent@2092:               <inOutVariables/>
Laurent@2092:               <outputVariables>
Laurent@2092:                 <variable formalParameter="Q1">
Laurent@2092:                   <connectionPointOut>
Laurent@2092:                     <relPosition x="97" y="38"/>
Laurent@2092:                   </connectionPointOut>
Laurent@2092:                 </variable>
Laurent@2092:               </outputVariables>
Laurent@2092:             </block>
Laurent@2092:             <inVariable localId="21" height="27" width="45">
Laurent@2092:               <position x="554" y="578"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="45" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Done</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <inVariable localId="23" height="27" width="63">
Laurent@2092:               <position x="537" y="542"/>
Laurent@2092:               <connectionPointOut>
Laurent@2092:                 <relPosition x="63" y="13"/>
Laurent@2092:               </connectionPointOut>
Laurent@2092:               <expression>Execute</expression>
Laurent@2092:             </inVariable>
Laurent@2092:             <outVariable localId="24" height="27" width="41">
Laurent@2092:               <position x="811" y="542"/>
Laurent@2092:               <connectionPointIn>
Laurent@2092:                 <relPosition x="0" y="13"/>
Laurent@2092:                 <connection refLocalId="22" formalParameter="Q1">
Laurent@2092:                   <position x="811" y="555"/>
Laurent@2092:                   <position x="754" y="555"/>
Laurent@2092:                 </connection>
Laurent@2092:               </connectionPointIn>
Laurent@2092:               <expression>Busy</expression>
Laurent@2092:             </outVariable>
Laurent@2092:           </FBD>
Laurent@2092:         </body>
Laurent@2092:       </pou>
Laurent@2086:     </pous>
Laurent@2086:   </types>
Laurent@2086:   <instances>
Laurent@2086:     <configurations/>
Laurent@2086:   </instances>
Laurent@2086: </project>