--- a/tests/motion/plc.xml Thu Oct 08 11:09:01 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,585 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://www.plcopen.org/xml/tc6.xsd"
- xmlns:xhtml="http://www.w3.org/1999/xhtml"
- xsi:schemaLocation="http://www.plcopen.org/xml/tc6.xsd">
- <fileHeader companyName="Lolitech"
- productName="GenTraj"
- productVersion="1.0"
- creationDateTime="2009-01-13T12:15:00"/>
- <contentHeader name="GenTraj"
- modificationDateTime="2009-01-14T20:10:13">
- <coordinateInfo>
- <fbd>
- <scaling x="0" y="0"/>
- </fbd>
- <ld>
- <scaling x="0" y="0"/>
- </ld>
- <sfc>
- <scaling x="0" y="0"/>
- </sfc>
- </coordinateInfo>
- </contentHeader>
- <types>
- <dataTypes/>
- <pous>
- <pou name="GenTraj" pouType="functionBlock">
- <interface>
- <inputVars>
- <variable name="Period">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Gmvt">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Vmvt">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="P0">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="V0">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Pf">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Vf">
- <type>
- <REAL/>
- </type>
- </variable>
- </inputVars>
- <outputVars>
- <variable name="Pn">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Vn">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Gn">
- <type>
- <REAL/>
- </type>
- </variable>
- </outputVars>
- <localVars>
- <variable name="P">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="F">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Ps2">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Fs3">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="delta">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Va">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Vb">
- <type>
- <REAL/>
- </type>
- </variable>
- <variable name="Vaut">
- <type>
- <REAL/>
- </type>
- </variable>
- </localVars>
- </interface>
- <body>
- <ST>
-<![CDATA[IF Period <> P THEN
- P := Period;
- F := 1.0 / P;
- Ps2 := P / 2.0;
- Fs3 := F / 3.0;
-END_IF;
-
-IF Pf <> Pn THEN
- delta := Pf - P0 - V0 * P;
-
- Va := SQRT(ABS(2.0 * Gmvt * delta) + Vf * Vf);
- Vb := Vf + delta * Fs3;
-
- IF Va > ABS(Vb) THEN
- Vaut := MIN(ABS(Vb), Vmvt);
- IF Vb < 0.0 THEN
- Vaut := -Vaut;
- END_IF;
- ELSE
- Vaut := MIN(Va, Vmvt);
- IF Pf < P0 THEN
- Vaut := -Vaut;
- END_IF;
- END_IF;
-
- Gn := MIN(ABS((Vaut - V0) * F), Gmvt);
- IF Vaut < V0 THEN
- Gn := -Gn;
- END_IF;
-
-END_IF;
-
-Vn := V0 + Gn * P;
-
-Pn := P0 + (Vn + V0) * Ps2;
-
-IF (P0 >= Pf) <> (Pn >= Pf) AND Vf <> 0.0 THEN
- Pn := Pf;
-END_IF;
-
-]]>
- </ST>
- </body>
- </pou>
- <pou name="TestMotion" pouType="program">
- <interface>
- <localVars>
- <variable name="GO">
- <type>
- <BOOL/>
- </type>
- <initialValue>
- <simpleValue value="TRUE"/>
- </initialValue>
- </variable>
- <variable name="TRIG">
- <type>
- <BOOL/>
- </type>
- </variable>
- <variable name="GenTraj1">
- <type>
- <derived name="GenTraj"/>
- </type>
- </variable>
- <variable name="py_eval">
- <type>
- <derived name="python_eval"/>
- </type>
- </variable>
- <variable name="RS1">
- <type>
- <derived name="RS"/>
- </type>
- </variable>
- </localVars>
- </interface>
- <body>
- <FBD>
- <inVariable localId="2" height="25" width="63">
- <position x="203" y="208"/>
- <connectionPointOut>
- <relPosition x="63" y="12"/>
- </connectionPointOut>
- <expression>GO</expression>
- </inVariable>
- <inVariable localId="4" height="25" width="100">
- <position x="295" y="312"/>
- <connectionPointOut>
- <relPosition x="100" y="12"/>
- </connectionPointOut>
- <expression>REAL#0.1</expression>
- </inVariable>
- <inVariable localId="6" height="25" width="100">
- <position x="294" y="345"/>
- <connectionPointOut>
- <relPosition x="100" y="12"/>
- </connectionPointOut>
- <expression>REAL#1.0</expression>
- </inVariable>
- <inVariable localId="7" height="25" width="99">
- <position x="294" y="378"/>
- <connectionPointOut>
- <relPosition x="99" y="12"/>
- </connectionPointOut>
- <expression>REAL#1.0</expression>
- </inVariable>
- <inVariable localId="8" height="25" width="100">
- <position x="292" y="477"/>
- <connectionPointOut>
- <relPosition x="100" y="12"/>
- </connectionPointOut>
- <expression>REAL#10.0</expression>
- </inVariable>
- <block localId="9" width="178" height="290" typeName="GenTraj" instanceName="GenTraj1">
- <position x="488" y="255"/>
- <inputVariables>
- <variable formalParameter="EN">
- <connectionPointIn>
- <relPosition x="0" y="36"/>
- <connection refLocalId="13" formalParameter="Q1">
- <position x="488" y="291"/>
- <position x="442" y="291"/>
- <position x="442" y="259"/>
- <position x="396" y="259"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="Period">
- <connectionPointIn>
- <relPosition x="0" y="69"/>
- <connection refLocalId="4">
- <position x="488" y="324"/>
- <position x="395" y="324"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="Gmvt">
- <connectionPointIn>
- <relPosition x="0" y="102"/>
- <connection refLocalId="6">
- <position x="488" y="357"/>
- <position x="394" y="357"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="Vmvt">
- <connectionPointIn>
- <relPosition x="0" y="135"/>
- <connection refLocalId="7">
- <position x="488" y="390"/>
- <position x="393" y="390"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="P0">
- <connectionPointIn>
- <relPosition x="0" y="168"/>
- <connection refLocalId="9" formalParameter="Pn">
- <position x="488" y="423"/>
- <position x="430" y="423"/>
- <position x="430" y="607"/>
- <position x="724" y="607"/>
- <position x="724" y="324"/>
- <position x="666" y="324"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="V0">
- <connectionPointIn>
- <relPosition x="0" y="201"/>
- <connection refLocalId="9" formalParameter="Vn">
- <position x="488" y="456"/>
- <position x="453" y="456"/>
- <position x="453" y="577"/>
- <position x="696" y="577"/>
- <position x="696" y="357"/>
- <position x="666" y="357"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="Pf">
- <connectionPointIn>
- <relPosition x="0" y="234"/>
- <connection refLocalId="8">
- <position x="488" y="489"/>
- <position x="392" y="489"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="Vf">
- <connectionPointIn>
- <relPosition x="0" y="267"/>
- <connection refLocalId="10">
- <position x="488" y="522"/>
- <position x="392" y="522"/>
- </connection>
- </connectionPointIn>
- </variable>
- </inputVariables>
- <inOutVariables/>
- <outputVariables>
- <variable formalParameter="ENO">
- <connectionPointOut>
- <relPosition x="178" y="36"/>
- </connectionPointOut>
- </variable>
- <variable formalParameter="Pn">
- <connectionPointOut>
- <relPosition x="178" y="69"/>
- </connectionPointOut>
- </variable>
- <variable formalParameter="Vn">
- <connectionPointOut>
- <relPosition x="178" y="102"/>
- </connectionPointOut>
- </variable>
- <variable formalParameter="Gn">
- <connectionPointOut>
- <relPosition x="178" y="135"/>
- </connectionPointOut>
- </variable>
- </outputVariables>
- </block>
- <inVariable localId="10" height="25" width="99">
- <position x="293" y="510"/>
- <connectionPointOut>
- <relPosition x="99" y="12"/>
- </connectionPointOut>
- <expression>REAL#0.0</expression>
- </inVariable>
- <block localId="11" width="75" height="70" typeName="EQ">
- <position x="197" y="247"/>
- <inputVariables>
- <variable formalParameter="IN1">
- <connectionPointIn>
- <relPosition x="0" y="32"/>
- <connection refLocalId="9" formalParameter="Pn">
- <position x="197" y="279"/>
- <position x="145" y="279"/>
- <position x="145" y="629"/>
- <position x="724" y="629"/>
- <position x="724" y="324"/>
- <position x="666" y="324"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="IN2">
- <connectionPointIn>
- <relPosition x="0" y="57"/>
- <connection refLocalId="8">
- <position x="197" y="304"/>
- <position x="176" y="304"/>
- <position x="176" y="433"/>
- <position x="409" y="433"/>
- <position x="409" y="489"/>
- <position x="392" y="489"/>
- </connection>
- </connectionPointIn>
- </variable>
- </inputVariables>
- <inOutVariables/>
- <outputVariables>
- <variable formalParameter="OUT">
- <connectionPointOut>
- <relPosition x="75" y="32"/>
- </connectionPointOut>
- </variable>
- </outputVariables>
- </block>
- <block localId="12" width="120" height="87" typeName="python_eval" instanceName="py_eval">
- <position x="318" y="73"/>
- <inputVariables>
- <variable formalParameter="TRIG">
- <connectionPointIn>
- <relPosition x="0" y="36"/>
- <connection refLocalId="15" formalParameter="OUT">
- <position x="318" y="109"/>
- <position x="225" y="109"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="CODE">
- <connectionPointIn>
- <relPosition x="0" y="69"/>
- <connection refLocalId="14">
- <position x="318" y="142"/>
- <position x="280" y="142"/>
- </connection>
- </connectionPointIn>
- </variable>
- </inputVariables>
- <inOutVariables/>
- <outputVariables>
- <variable formalParameter="ACK">
- <connectionPointOut>
- <relPosition x="120" y="36"/>
- </connectionPointOut>
- </variable>
- <variable formalParameter="RESULT">
- <connectionPointOut>
- <relPosition x="120" y="69"/>
- </connectionPointOut>
- </variable>
- </outputVariables>
- </block>
- <block localId="13" width="55" height="60" typeName="RS" instanceName="RS1">
- <position x="341" y="229"/>
- <inputVariables>
- <variable formalParameter="S">
- <connectionPointIn>
- <relPosition x="0" y="30"/>
- <connection refLocalId="2">
- <position x="341" y="259"/>
- <position x="303" y="259"/>
- <position x="303" y="220"/>
- <position x="266" y="220"/>
- </connection>
- </connectionPointIn>
- </variable>
- <variable formalParameter="R1">
- <connectionPointIn>
- <relPosition x="0" y="50"/>
- <connection refLocalId="11" formalParameter="OUT">
- <position x="341" y="279"/>
- <position x="272" y="279"/>
- </connection>
- </connectionPointIn>
- </variable>
- </inputVariables>
- <inOutVariables/>
- <outputVariables>
- <variable formalParameter="Q1">
- <connectionPointOut>
- <relPosition x="55" y="30"/>
- </connectionPointOut>
- </variable>
- </outputVariables>
- </block>
- <inVariable localId="14" height="25" width="50">
- <position x="230" y="130"/>
- <connectionPointOut>
- <relPosition x="50" y="12"/>
- </connectionPointOut>
- <expression>'GO'</expression>
- </inVariable>
- <block localId="15" width="65" height="40" typeName="NOT">
- <position x="160" y="79"/>
- <inputVariables>
- <variable formalParameter="IN">
- <connectionPointIn>
- <relPosition x="0" y="30"/>
- <connection refLocalId="16">
- <position x="160" y="109"/>
- <position x="118" y="109"/>
- </connection>
- </connectionPointIn>
- </variable>
- </inputVariables>
- <inOutVariables/>
- <outputVariables>
- <variable formalParameter="OUT">
- <connectionPointOut>
- <relPosition x="65" y="30"/>
- </connectionPointOut>
- </variable>
- </outputVariables>
- </block>
- <inOutVariable localId="16" height="25" width="50">
- <position x="68" y="97"/>
- <connectionPointIn>
- <relPosition x="0" y="12"/>
- <connection refLocalId="15" formalParameter="OUT">
- <position x="68" y="109"/>
- <position x="42" y="109"/>
- <position x="42" y="50"/>
- <position x="262" y="50"/>
- <position x="262" y="109"/>
- <position x="225" y="109"/>
- </connection>
- </connectionPointIn>
- <connectionPointOut>
- <relPosition x="50" y="12"/>
- </connectionPointOut>
- <expression>TRIG</expression>
- </inOutVariable>
- <block localId="17" width="140" height="40" typeName="STRING_TO_INT">
- <position x="486" y="112"/>
- <inputVariables>
- <variable formalParameter="IN">
- <connectionPointIn>
- <relPosition x="0" y="30"/>
- <connection refLocalId="12" formalParameter="RESULT">
- <position x="486" y="142"/>
- <position x="438" y="142"/>
- </connection>
- </connectionPointIn>
- </variable>
- </inputVariables>
- <inOutVariables/>
- <outputVariables>
- <variable formalParameter="OUT">
- <connectionPointOut>
- <relPosition x="140" y="30"/>
- </connectionPointOut>
- </variable>
- </outputVariables>
- </block>
- <block localId="18" width="120" height="40" typeName="INT_TO_BOOL">
- <position x="671" y="112"/>
- <inputVariables>
- <variable formalParameter="IN">
- <connectionPointIn>
- <relPosition x="0" y="30"/>
- <connection refLocalId="17" formalParameter="OUT">
- <position x="671" y="142"/>
- <position x="626" y="142"/>
- </connection>
- </connectionPointIn>
- </variable>
- </inputVariables>
- <inOutVariables/>
- <outputVariables>
- <variable formalParameter="OUT">
- <connectionPointOut>
- <relPosition x="120" y="30"/>
- </connectionPointOut>
- </variable>
- </outputVariables>
- </block>
- <outVariable localId="19" height="25" width="63">
- <position x="826" y="130"/>
- <connectionPointIn>
- <relPosition x="0" y="12"/>
- <connection refLocalId="18" formalParameter="OUT">
- <position x="826" y="142"/>
- <position x="791" y="142"/>
- </connection>
- </connectionPointIn>
- <expression>GO</expression>
- </outVariable>
- </FBD>
- </body>
- </pou>
- </pous>
- </types>
- <instances>
- <configurations>
- <configuration name="config">
- <resource name="ress">
- <task name="MAIN_TASK" interval="00:00:00.100000" priority="0">
- <pouInstance name="MAIN_INSTANCE" type="TestMotion"/>
- </task>
- </resource>
- </configuration>
- </configurations>
- </instances>
-</project>