First working IEC std lib test, actually test from string and to_string functions.
authoretisserant
Fri, 13 Jul 2007 19:21:17 +0200
changeset 39 5b04b4670697
parent 38 e7cc8bea78f3
child 40 49c8ebc1ee25
First working IEC std lib test, actually test from string and to_string functions.
examples/STD_TEST.xml
plcopen/iec_std.csv
--- a/examples/STD_TEST.xml	Thu Jul 12 11:49:27 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1331 +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 http://www.plcopen.org/xml/tc6.xsd">
-  <fileHeader contentDescription="This tests as most as possible IEC standard library"
-              companyName="LOLITECH"
-              companyURL="www.lolitech.com"
-              productName="BREMIZ"
-              productRelease="1"
-              productVersion="1"
-              creationDateTime="2007-07-07 11:58:26"/>
-  <contentHeader name="STD_TEST">
-    <coordinateInfo>
-      <fbd>
-        <scaling y="0" x="0"/>
-      </fbd>
-      <ld>
-        <scaling y="0" x="0"/>
-      </ld>
-      <sfc>
-        <scaling y="0" x="0"/>
-      </sfc>
-    </coordinateInfo>
-  </contentHeader>
-  <types>
-    <dataTypes/>
-    <pous>
-      <pou name="TEST_STRINGS" pouType="functionBlock">
-        <interface>
-          <inputVars>
-            <variable name="IN1">
-              <type>
-                <STRING/>
-              </type>
-            </variable>
-            <variable name="IN2">
-              <type>
-                <STRING/>
-              </type>
-            </variable>
-            <variable name="IN3">
-              <type>
-                <STRING/>
-              </type>
-            </variable>
-            <variable name="TESTNR">
-              <type>
-                <INT/>
-              </type>
-            </variable>
-          </inputVars>
-          <outputVars>
-            <variable name="STRRES">
-              <type>
-                <STRING/>
-              </type>
-            </variable>
-            <variable name="INTRES">
-              <type>
-                <INT/>
-              </type>
-            </variable>
-          </outputVars>
-          <inputVars>
-            <variable name="K">
-              <type>
-                <INT/>
-              </type>
-            </variable>
-            <variable name="P">
-              <type>
-                <INT/>
-              </type>
-            </variable>
-            <variable name="L">
-              <type>
-                <INT/>
-              </type>
-            </variable>
-          </inputVars>
-        </interface>
-        <body>
-          <FBD>
-            <block localId="1" height="242" width="93" typeName="MUX">
-              <position y="240" x="696"/>
-              <inputVariables>
-                <variable formalParameter="K">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="6" formalParameter="K">
-                      <position y="270" x="696"/>
-                      <position y="270" x="455"/>
-                      <position y="256" x="455"/>
-                      <position y="256" x="331"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN0">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="20" formalParameter="IN0">
-                      <position y="290" x="696"/>
-                      <position y="290" x="444"/>
-                      <position y="300" x="444"/>
-                      <position y="300" x="258"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition y="70" x="0"/>
-                    <connection refLocalId="21" formalParameter="IN1">
-                      <position y="310" x="696"/>
-                      <position y="310" x="467"/>
-                      <position y="331" x="467"/>
-                      <position y="331" x="257"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition y="90" x="0"/>
-                    <connection refLocalId="22" formalParameter="IN2">
-                      <position y="330" x="696"/>
-                      <position y="330" x="492"/>
-                      <position y="368" x="492"/>
-                      <position y="368" x="208"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN3">
-                  <connectionPointIn>
-                    <relPosition y="110" x="0"/>
-                    <connection refLocalId="27" formalParameter="IN3">
-                      <position y="350" x="696"/>
-                      <position y="350" x="510"/>
-                      <position y="415" x="510"/>
-                      <position y="415" x="360"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN4">
-                  <connectionPointIn>
-                    <relPosition y="130" x="0"/>
-                    <connection refLocalId="31" formalParameter="IN4">
-                      <position y="370" x="696"/>
-                      <position y="370" x="528"/>
-                      <position y="504" x="528"/>
-                      <position y="504" x="341"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN5">
-                  <connectionPointIn>
-                    <relPosition y="150" x="0"/>
-                    <connection refLocalId="34" formalParameter="IN5">
-                      <position y="390" x="696"/>
-                      <position y="390" x="543"/>
-                      <position y="580" x="543"/>
-                      <position y="580" x="338"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN6">
-                  <connectionPointIn>
-                    <relPosition y="170" x="0"/>
-                    <connection refLocalId="39" formalParameter="IN6">
-                      <position y="410" x="696"/>
-                      <position y="410" x="562"/>
-                      <position y="690" x="562"/>
-                      <position y="690" x="352"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN7">
-                  <connectionPointIn>
-                    <relPosition y="190" x="0"/>
-                    <connection refLocalId="46" formalParameter="IN7">
-                      <position y="430" x="696"/>
-                      <position y="430" x="587"/>
-                      <position y="789" x="587"/>
-                      <position y="789" x="319"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN8">
-                  <connectionPointIn>
-                    <relPosition y="210" x="0"/>
-                    <connection refLocalId="48" formalParameter="IN8">
-                      <position y="450" x="696"/>
-                      <position y="450" x="605"/>
-                      <position y="885" x="605"/>
-                      <position y="885" x="309"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN9">
-                  <connectionPointIn>
-                    <relPosition y="230" x="0"/>
-                    <connection refLocalId="52" formalParameter="IN9">
-                      <position y="470" x="696"/>
-                      <position y="470" x="625"/>
-                      <position y="1040" x="625"/>
-                      <position y="1040" x="318"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="93"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <outVariable localId="2" width="105" height="61">
-              <position y="245" x="843"/>
-              <connectionPointIn>
-                <relPosition y="30" x="0"/>
-                <connection refLocalId="1">
-                  <position y="275" x="843"/>
-                  <position y="275" x="825"/>
-                  <position y="270" x="825"/>
-                  <position y="270" x="789"/>
-                </connection>
-              </connectionPointIn>
-              <expression>STRRES</expression>
-            </outVariable>
-            <inVariable localId="6" width="59" height="27">
-              <position y="243" x="272"/>
-              <connectionPointOut>
-                <relPosition y="13" x="59"/>
-              </connectionPointOut>
-              <expression>TESTNR</expression>
-            </inVariable>
-            <block localId="7" height="88" width="135" typeName="STRING_TO_INT">
-              <position y="718" x="1024"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="54" x="0"/>
-                    <connection refLocalId="25" formalParameter="IN">
-                      <position y="772" x="1024"/>
-                      <position y="772" x="1006"/>
-                      <position y="771" x="1006"/>
-                      <position y="771" x="989"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="54" x="135"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <outVariable localId="8" width="92" height="47">
-              <position y="533" x="1459"/>
-              <connectionPointIn>
-                <relPosition y="23" x="0"/>
-                <connection refLocalId="16">
-                  <position y="556" x="1459"/>
-                  <position y="556" x="1442"/>
-                  <position y="563" x="1442"/>
-                  <position y="563" x="1425"/>
-                </connection>
-              </connectionPointIn>
-              <expression>INTRES</expression>
-            </outVariable>
-            <block localId="9" height="99" width="120" typeName="STRING_TO_REAL">
-              <position y="607" x="798"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="59" x="0"/>
-                    <connection refLocalId="23" formalParameter="IN">
-                      <position y="666" x="798"/>
-                      <position y="666" x="772"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="59" x="120"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <block localId="11" height="114" width="115" typeName="LEN">
-              <position y="524" x="958"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="67" x="0"/>
-                    <connection refLocalId="24" formalParameter="IN">
-                      <position y="591" x="958"/>
-                      <position y="591" x="937"/>
-                      <position y="579" x="937"/>
-                      <position y="579" x="916"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="67" x="115"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <block localId="16" height="240" width="107" typeName="MUX">
-              <position y="521" x="1318"/>
-              <inputVariables>
-                <variable formalParameter="K">
-                  <connectionPointIn>
-                    <relPosition y="42" x="0"/>
-                    <connection refLocalId="60" formalParameter="K">
-                      <position y="563" x="1318"/>
-                      <position y="563" x="1275"/>
-                      <position y="501" x="1275"/>
-                      <position y="501" x="1247"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN0">
-                  <connectionPointIn>
-                    <relPosition y="86" x="0"/>
-                    <connection refLocalId="11" formalParameter="IN0">
-                      <position y="607" x="1318"/>
-                      <position y="607" x="1195"/>
-                      <position y="591" x="1195"/>
-                      <position y="591" x="1073"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition y="130" x="0"/>
-                    <connection refLocalId="19" formalParameter="IN1">
-                      <position y="651" x="1318"/>
-                      <position y="651" x="1251"/>
-                      <position y="668" x="1251"/>
-                      <position y="668" x="1184"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition y="174" x="0"/>
-                    <connection refLocalId="7" formalParameter="IN2">
-                      <position y="695" x="1318"/>
-                      <position y="695" x="1238"/>
-                      <position y="772" x="1238"/>
-                      <position y="772" x="1159"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN3">
-                  <connectionPointIn>
-                    <relPosition y="218" x="0"/>
-                    <connection refLocalId="57" formalParameter="IN3">
-                      <position y="739" x="1318"/>
-                      <position y="739" x="1265"/>
-                      <position y="851" x="1265"/>
-                      <position y="851" x="1105"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="42" x="107"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <block localId="17" height="60" width="100" typeName="MUL">
-              <position y="646" x="953"/>
-              <inputVariables>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="9" formalParameter="IN1">
-                      <position y="676" x="953"/>
-                      <position y="676" x="930"/>
-                      <position y="666" x="930"/>
-                      <position y="666" x="918"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="64">
-                      <position y="696" x="953"/>
-                      <position y="696" x="938"/>
-                      <position y="728" x="938"/>
-                      <position y="728" x="876"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="100"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <block localId="19" height="43" width="97" typeName="REAL_TO_INT">
-              <position y="637" x="1087"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="31" x="0"/>
-                    <connection refLocalId="17" formalParameter="IN">
-                      <position y="668" x="1087"/>
-                      <position y="668" x="1070"/>
-                      <position y="676" x="1070"/>
-                      <position y="676" x="1053"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="31" x="97"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="20" width="31" height="27">
-              <position y="287" x="227"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="21" width="32" height="29">
-              <position y="317" x="225"/>
-              <connectionPointOut>
-                <relPosition y="14" x="32"/>
-              </connectionPointOut>
-              <expression>IN2</expression>
-            </inVariable>
-            <inVariable localId="22" width="48" height="29">
-              <position y="354" x="160"/>
-              <connectionPointOut>
-                <relPosition y="14" x="48"/>
-              </connectionPointOut>
-              <expression>IN3</expression>
-            </inVariable>
-            <inVariable localId="23" width="89" height="30">
-              <position y="651" x="683"/>
-              <connectionPointOut>
-                <relPosition y="15" x="89"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="24" width="75" height="33">
-              <position y="563" x="841"/>
-              <connectionPointOut>
-                <relPosition y="16" x="75"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="25" width="71" height="29">
-              <position y="757" x="918"/>
-              <connectionPointOut>
-                <relPosition y="14" x="71"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <block localId="27" height="61" width="75" typeName="LEFT">
-              <position y="385" x="285"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="28" formalParameter="IN">
-                      <position y="415" x="285"/>
-                      <position y="415" x="264"/>
-                      <position y="407" x="264"/>
-                      <position y="407" x="193"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="L">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="29" formalParameter="L">
-                      <position y="435" x="285"/>
-                      <position y="435" x="265"/>
-                      <position y="445" x="265"/>
-                      <position y="445" x="181"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="75"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="28" width="35" height="30">
-              <position y="392" x="158"/>
-              <connectionPointOut>
-                <relPosition y="15" x="35"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="29" width="21" height="27">
-              <position y="432" x="160"/>
-              <connectionPointOut>
-                <relPosition y="13" x="21"/>
-              </connectionPointOut>
-              <expression>L</expression>
-            </inVariable>
-            <block localId="31" height="60" width="55" typeName="RIGHT">
-              <position y="474" x="286"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="32" formalParameter="IN">
-                      <position y="504" x="286"/>
-                      <position y="504" x="261"/>
-                      <position y="489" x="261"/>
-                      <position y="489" x="237"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="L">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="33" formalParameter="L">
-                      <position y="524" x="286"/>
-                      <position y="524" x="250"/>
-                      <position y="537" x="250"/>
-                      <position y="537" x="215"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="55"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="32" width="31" height="28">
-              <position y="475" x="206"/>
-              <connectionPointOut>
-                <relPosition y="14" x="31"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="33" width="17" height="27">
-              <position y="524" x="198"/>
-              <connectionPointOut>
-                <relPosition y="13" x="17"/>
-              </connectionPointOut>
-              <expression>L</expression>
-            </inVariable>
-            <block localId="34" height="80" width="55" typeName="MID">
-              <position y="550" x="283"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="35" formalParameter="IN">
-                      <position y="580" x="283"/>
-                      <position y="580" x="258"/>
-                      <position y="576" x="258"/>
-                      <position y="576" x="234"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="L">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="38" formalParameter="L">
-                      <position y="600" x="283"/>
-                      <position y="600" x="232"/>
-                      <position y="594" x="232"/>
-                      <position y="594" x="182"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="P">
-                  <connectionPointIn>
-                    <relPosition y="70" x="0"/>
-                    <connection refLocalId="37" formalParameter="P">
-                      <position y="620" x="283"/>
-                      <position y="620" x="255"/>
-                      <position y="616" x="255"/>
-                      <position y="616" x="227"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="55"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="35" width="31" height="27">
-              <position y="563" x="203"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="37" width="18" height="27">
-              <position y="603" x="209"/>
-              <connectionPointOut>
-                <relPosition y="13" x="18"/>
-              </connectionPointOut>
-              <expression>P</expression>
-            </inVariable>
-            <inVariable localId="38" width="17" height="27">
-              <position y="581" x="165"/>
-              <connectionPointOut>
-                <relPosition y="13" x="17"/>
-              </connectionPointOut>
-              <expression>L</expression>
-            </inVariable>
-            <block localId="39" height="83" width="67" typeName="CONCAT">
-              <position y="660" x="285"/>
-              <inputVariables>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="40" formalParameter="IN1">
-                      <position y="690" x="285"/>
-                      <position y="690" x="252"/>
-                      <position y="664" x="252"/>
-                      <position y="664" x="219"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition y="51" x="0"/>
-                    <connection refLocalId="41" formalParameter="IN2">
-                      <position y="711" x="285"/>
-                      <position y="711" x="252"/>
-                      <position y="702" x="252"/>
-                      <position y="702" x="220"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN3">
-                  <connectionPointIn>
-                    <relPosition y="72" x="0"/>
-                    <connection refLocalId="42" formalParameter="IN3">
-                      <position y="732" x="285"/>
-                      <position y="732" x="252"/>
-                      <position y="737" x="252"/>
-                      <position y="737" x="219"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="67"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="40" width="31" height="27">
-              <position y="651" x="188"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="41" width="31" height="27">
-              <position y="689" x="189"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN2</expression>
-            </inVariable>
-            <inVariable localId="42" width="31" height="27">
-              <position y="724" x="188"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN3</expression>
-            </inVariable>
-            <inVariable localId="44" width="31" height="27">
-              <position y="773" x="182"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="45" width="31" height="27">
-              <position y="802" x="178"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN2</expression>
-            </inVariable>
-            <block localId="46" height="80" width="63" typeName="INSERT">
-              <position y="759" x="256"/>
-              <inputVariables>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="44" formalParameter="IN1">
-                      <position y="789" x="256"/>
-                      <position y="789" x="234"/>
-                      <position y="786" x="234"/>
-                      <position y="786" x="213"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="45" formalParameter="IN2">
-                      <position y="809" x="256"/>
-                      <position y="809" x="232"/>
-                      <position y="815" x="232"/>
-                      <position y="815" x="209"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="P">
-                  <connectionPointIn>
-                    <relPosition y="70" x="0"/>
-                    <connection refLocalId="47" formalParameter="P">
-                      <position y="829" x="256"/>
-                      <position y="829" x="228"/>
-                      <position y="852" x="228"/>
-                      <position y="852" x="200"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="63"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="47" width="18" height="27">
-              <position y="839" x="182"/>
-              <connectionPointOut>
-                <relPosition y="13" x="18"/>
-              </connectionPointOut>
-              <expression>P</expression>
-            </inVariable>
-            <block localId="48" height="80" width="58" typeName="DELETE">
-              <position y="855" x="251"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="49" formalParameter="IN">
-                      <position y="885" x="251"/>
-                      <position y="885" x="228"/>
-                      <position y="892" x="228"/>
-                      <position y="892" x="205"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="L">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="50" formalParameter="L">
-                      <position y="905" x="251"/>
-                      <position y="905" x="226"/>
-                      <position y="927" x="226"/>
-                      <position y="927" x="202"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="P">
-                  <connectionPointIn>
-                    <relPosition y="70" x="0"/>
-                    <connection refLocalId="51" formalParameter="P">
-                      <position y="925" x="251"/>
-                      <position y="925" x="233"/>
-                      <position y="968" x="233"/>
-                      <position y="968" x="216"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="58"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="49" width="31" height="27">
-              <position y="879" x="174"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="50" width="17" height="27">
-              <position y="914" x="185"/>
-              <connectionPointOut>
-                <relPosition y="13" x="17"/>
-              </connectionPointOut>
-              <expression>L</expression>
-            </inVariable>
-            <inVariable localId="51" width="18" height="27">
-              <position y="955" x="198"/>
-              <connectionPointOut>
-                <relPosition y="13" x="18"/>
-              </connectionPointOut>
-              <expression>P</expression>
-            </inVariable>
-            <block localId="52" height="100" width="67" typeName="REPLACE">
-              <position y="1010" x="251"/>
-              <inputVariables>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="53" formalParameter="IN1">
-                      <position y="1040" x="251"/>
-                      <position y="1040" x="227"/>
-                      <position y="1025" x="227"/>
-                      <position y="1025" x="203"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="54" formalParameter="IN2">
-                      <position y="1060" x="251"/>
-                      <position y="1060" x="220"/>
-                      <position y="1055" x="220"/>
-                      <position y="1055" x="190"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="L">
-                  <connectionPointIn>
-                    <relPosition y="70" x="0"/>
-                    <connection refLocalId="55">
-                      <position y="1080" x="251"/>
-                      <position y="1080" x="224"/>
-                      <position y="1096" x="224"/>
-                      <position y="1096" x="197"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="P">
-                  <connectionPointIn>
-                    <relPosition y="90" x="0"/>
-                    <connection refLocalId="56" formalParameter="P">
-                      <position y="1100" x="251"/>
-                      <position y="1100" x="219"/>
-                      <position y="1134" x="219"/>
-                      <position y="1134" x="187"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="67"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="53" width="31" height="27">
-              <position y="1012" x="172"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="54" width="31" height="27">
-              <position y="1042" x="159"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN2</expression>
-            </inVariable>
-            <inVariable localId="55" width="31" height="27">
-              <position y="1083" x="166"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>L</expression>
-            </inVariable>
-            <inVariable localId="56" width="18" height="27">
-              <position y="1121" x="169"/>
-              <connectionPointOut>
-                <relPosition y="13" x="18"/>
-              </connectionPointOut>
-              <expression>P</expression>
-            </inVariable>
-            <block localId="57" height="60" width="63" typeName="FIND">
-              <position y="821" x="1042"/>
-              <inputVariables>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="58" formalParameter="IN1">
-                      <position y="851" x="1042"/>
-                      <position y="851" x="1028"/>
-                      <position y="839" x="1028"/>
-                      <position y="839" x="1004"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="59" formalParameter="IN2">
-                      <position y="871" x="1042"/>
-                      <position y="871" x="1028"/>
-                      <position y="874" x="1028"/>
-                      <position y="874" x="1005"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="63"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="58" width="31" height="27">
-              <position y="826" x="973"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN1</expression>
-            </inVariable>
-            <inVariable localId="59" width="31" height="27">
-              <position y="861" x="974"/>
-              <connectionPointOut>
-                <relPosition y="13" x="31"/>
-              </connectionPointOut>
-              <expression>IN2</expression>
-            </inVariable>
-            <block localId="60" height="80" width="63" typeName="LIMIT">
-              <position y="471" x="1184"/>
-              <inputVariables>
-                <variable formalParameter="MN">
-                  <connectionPointIn>
-                    <relPosition y="30" x="0"/>
-                    <connection refLocalId="65">
-                      <position y="501" x="1184"/>
-                      <position y="501" x="1156"/>
-                      <position y="484" x="1156"/>
-                      <position y="484" x="1129"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition y="50" x="0"/>
-                    <connection refLocalId="6" formalParameter="IN">
-                      <position y="521" x="1184"/>
-                      <position y="521" x="1093"/>
-                      <position y="223" x="1093"/>
-                      <position y="223" x="454"/>
-                      <position y="256" x="454"/>
-                      <position y="256" x="331"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="MX">
-                  <connectionPointIn>
-                    <relPosition y="70" x="0"/>
-                    <connection refLocalId="62">
-                      <position y="541" x="1184"/>
-                      <position y="541" x="1165"/>
-                      <position y="553" x="1165"/>
-                      <position y="553" x="1146"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition y="30" x="63"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="62" width="38" height="27">
-              <position y="540" x="1108"/>
-              <connectionPointOut>
-                <relPosition y="13" x="38"/>
-              </connectionPointOut>
-              <expression>3</expression>
-            </inVariable>
-            <comment localId="63" height="87" width="209">
-              <position y="32" x="34"/>
-              <content>The STRING test machine</content>
-            </comment>
-            <inVariable localId="64" width="28" height="27">
-              <position y="715" x="848"/>
-              <connectionPointOut>
-                <relPosition y="13" x="28"/>
-              </connectionPointOut>
-              <expression>10</expression>
-            </inVariable>
-            <inVariable localId="65" width="18" height="27">
-              <position y="471" x="1111"/>
-              <connectionPointOut>
-                <relPosition y="13" x="18"/>
-              </connectionPointOut>
-              <expression>0</expression>
-            </inVariable>
-          </FBD>
-        </body>
-      </pou>
-      <pou name="MAIN_TEST" pouType="program">
-        <interface>
-          <localVars>
-            <variable name="STR1">
-              <type>
-                <STRING/>
-              </type>
-              <initialValue>
-                <simpleValue value="1.2345"/>
-              </initialValue>
-            </variable>
-            <variable name="STR2">
-              <type>
-                <STRING/>
-              </type>
-              <initialValue>
-                <simpleValue value="4.5678"/>
-              </initialValue>
-            </variable>
-            <variable name="STR3">
-              <type>
-                <STRING/>
-              </type>
-              <initialValue>
-                <simpleValue value="abcdefg"/>
-              </initialValue>
-            </variable>
-            <variable name="INT1">
-              <type>
-                <INT/>
-              </type>
-              <initialValue>
-                <simpleValue value="2"/>
-              </initialValue>
-            </variable>
-            <variable name="INT2">
-              <type>
-                <INT/>
-              </type>
-              <initialValue>
-                <simpleValue value="3"/>
-              </initialValue>
-            </variable>
-            <variable name="INT3">
-              <type>
-                <INT/>
-              </type>
-              <initialValue>
-                <simpleValue value="4"/>
-              </initialValue>
-            </variable>
-          </localVars>
-          <localVars>
-            <variable name="TEST_NB" address="%IW0">
-              <type>
-                <INT/>
-              </type>
-            </variable>
-            <variable name="RES_STR" address="%QB0">
-              <type>
-                <STRING/>
-              </type>
-            </variable>
-            <variable name="RES_INT" address="%QW1">
-              <type>
-                <INT/>
-              </type>
-            </variable>
-          </localVars>
-        </interface>
-        <body>
-          <FBD>
-            <inVariable localId="2" width="42" height="27">
-              <position y="186" x="188"/>
-              <connectionPointOut>
-                <relPosition y="13" x="42"/>
-              </connectionPointOut>
-              <expression>STR1</expression>
-            </inVariable>
-            <inVariable localId="3" width="42" height="27">
-              <position y="217" x="188"/>
-              <connectionPointOut>
-                <relPosition y="13" x="42"/>
-              </connectionPointOut>
-              <expression>STR2</expression>
-            </inVariable>
-            <inVariable localId="4" width="42" height="27">
-              <position y="250" x="187"/>
-              <connectionPointOut>
-                <relPosition y="13" x="42"/>
-              </connectionPointOut>
-              <expression>STR3</expression>
-            </inVariable>
-            <inVariable localId="5" width="38" height="27">
-              <position y="320" x="188"/>
-              <connectionPointOut>
-                <relPosition y="13" x="38"/>
-              </connectionPointOut>
-              <expression>INT1</expression>
-            </inVariable>
-            <inVariable localId="6" width="38" height="27">
-              <position y="354" x="187"/>
-              <connectionPointOut>
-                <relPosition y="13" x="38"/>
-              </connectionPointOut>
-              <expression>INT2</expression>
-            </inVariable>
-            <inVariable localId="7" width="38" height="27">
-              <position y="387" x="187"/>
-              <connectionPointOut>
-                <relPosition y="13" x="38"/>
-              </connectionPointOut>
-              <expression>INT3</expression>
-            </inVariable>
-            <block localId="11" height="266" width="113" instanceName="test_str1" typeName="TEST_STRINGS">
-              <position y="154" x="348"/>
-              <inputVariables>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition y="37" x="0"/>
-                    <connection refLocalId="2">
-                      <position y="191" x="348"/>
-                      <position y="191" x="289"/>
-                      <position y="199" x="289"/>
-                      <position y="199" x="230"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition y="72" x="0"/>
-                    <connection refLocalId="3">
-                      <position y="226" x="348"/>
-                      <position y="226" x="289"/>
-                      <position y="230" x="289"/>
-                      <position y="230" x="230"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN3">
-                  <connectionPointIn>
-                    <relPosition y="107" x="0"/>
-                    <connection refLocalId="4">
-                      <position y="261" x="348"/>
-                      <position y="261" x="288"/>
-                      <position y="263" x="288"/>
-                      <position y="263" x="229"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="TESTNR">
-                  <connectionPointIn>
-                    <relPosition y="142" x="0"/>
-                    <connection refLocalId="12">
-                      <position y="296" x="348"/>
-                      <position y="296" x="253"/>
-                      <position y="309" x="253"/>
-                      <position y="309" x="159"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="K">
-                  <connectionPointIn>
-                    <relPosition y="177" x="0"/>
-                    <connection refLocalId="5">
-                      <position y="331" x="348"/>
-                      <position y="331" x="287"/>
-                      <position y="333" x="287"/>
-                      <position y="333" x="226"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="P">
-                  <connectionPointIn>
-                    <relPosition y="212" x="0"/>
-                    <connection refLocalId="6">
-                      <position y="366" x="348"/>
-                      <position y="366" x="286"/>
-                      <position y="367" x="286"/>
-                      <position y="367" x="225"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="L">
-                  <connectionPointIn>
-                    <relPosition y="247" x="0"/>
-                    <connection refLocalId="7">
-                      <position y="401" x="348"/>
-                      <position y="401" x="286"/>
-                      <position y="400" x="286"/>
-                      <position y="400" x="225"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="STRRES">
-                  <connectionPointOut>
-                    <relPosition y="37" x="113"/>
-                  </connectionPointOut>
-                </variable>
-                <variable formalParameter="INTRES">
-                  <connectionPointOut>
-                    <relPosition y="72" x="113"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="12" width="67" height="27">
-              <position y="296" x="92"/>
-              <connectionPointOut>
-                <relPosition y="13" x="67"/>
-              </connectionPointOut>
-              <expression>TEST_NB</expression>
-            </inVariable>
-            <outVariable localId="13" width="66" height="27">
-              <position y="170" x="541"/>
-              <connectionPointIn>
-                <relPosition y="13" x="0"/>
-                <connection refLocalId="11" formalParameter="STRRES">
-                  <position y="183" x="541"/>
-                  <position y="183" x="501"/>
-                  <position y="191" x="501"/>
-                  <position y="191" x="461"/>
-                </connection>
-              </connectionPointIn>
-              <expression>RES_STR</expression>
-            </outVariable>
-            <outVariable localId="14" width="62" height="27">
-              <position y="234" x="574"/>
-              <connectionPointIn>
-                <relPosition y="13" x="0"/>
-                <connection refLocalId="11" formalParameter="INTRES">
-                  <position y="247" x="574"/>
-                  <position y="247" x="517"/>
-                  <position y="226" x="517"/>
-                  <position y="226" x="461"/>
-                </connection>
-              </connectionPointIn>
-              <expression>RES_INT</expression>
-            </outVariable>
-          </FBD>
-        </body>
-      </pou>
-    </pous>
-  </types>
-  <instances>
-    <configurations>
-      <configuration name="STD_CONF">
-        <resource name="STD_RESSOURCE">
-          <task interval="00:10:00" name="STD_TASK" priority="0"/>
-          <pouInstance type="MAIN_TEST" name="MAIN_INSTANCE"/>
-        </resource>
-        <globalVars>
-          <variable name="LOC1" address="%QW2">
-            <type>
-              <INT/>
-            </type>
-          </variable>
-        </globalVars>
-      </configuration>
-    </configurations>
-  </instances>
-</project>
--- a/plcopen/iec_std.csv	Thu Jul 12 11:49:27 2007 +0200
+++ b/plcopen/iec_std.csv	Fri Jul 13 19:21:17 2007 +0200
@@ -71,7 +71,7 @@
 ;LEFT;1;(STRING, L);STRING;string left of;no;"__left(%(IN_value)s, %(L_value)s)";defined;
 ;RIGHT;1;(STRING, L);STRING;string right of;no;"__right(%(IN_value)s, %(L_value)s)";defined;
 ;MID;1;(STRING, L, P);STRING;string from the middle;no;"__mid(%(IN_value)s, %(L_value)s, %(P_value)s)";defined;
-;CONCAT;1;(STRING, STRING);STRING;Concatenation;yes;("__concat(%(param_count)s,",",&",")");defined;
+;CONCAT;1;(STRING, STRING);STRING;Concatenation;yes;("__concat(%(param_count)s,",",",")");defined;
 ;CONCAT;1;(DATE, TOD);DT;Time concatenation;no;"__time_add(%(IN1_value)s, %(IN2_value)s)";defined;
 ;INSERT;1;(STRING, STRING, P);STRING;Insertion (into);no;"__insert(%(IN1_value)s, %(IN2_value)s, %(P_value)s)";defined;
 ;DELETE;1;(STRING, L, P);STRING;Deletion (within);no;"__delete(%(IN_value)s, %(L_value)s, %(P_value)s)";defined;