examples/example.xml
changeset 67 3a1b0afdaf84
parent 58 39cd981ff242
child 68 66308e07402c
equal deleted inserted replaced
66:fd138fc77510 67:3a1b0afdaf84
    53               <type>
    53               <type>
    54                 <BOOL/>
    54                 <BOOL/>
    55               </type>
    55               </type>
    56             </variable>
    56             </variable>
    57           </outputVars>
    57           </outputVars>
       
    58           <localVars>
       
    59             <variable name="SR1">
       
    60               <type>
       
    61                 <derived name="SR"/>
       
    62               </type>
       
    63             </variable>
       
    64           </localVars>
    58         </interface>
    65         </interface>
    59         <body>
    66         <body>
    60           <FBD>
    67           <FBD>
    61             <inVariable localId="2" width="89" height="27">
    68             <inVariable localId="2" width="89" height="27">
    62               <position y="84" x="64"/>
    69               <position y="84" x="64"/>
    76               <position y="182" x="587"/>
    83               <position y="182" x="587"/>
    77               <connectionPointIn>
    84               <connectionPointIn>
    78                 <relPosition y="16" x="0"/>
    85                 <relPosition y="16" x="0"/>
    79                 <connection refLocalId="11" formalParameter="Q1">
    86                 <connection refLocalId="11" formalParameter="Q1">
    80                   <position y="198" x="587"/>
    87                   <position y="198" x="587"/>
    81                   <position y="198" x="517"/>
    88                   <position y="198" x="523"/>
    82                 </connection>
    89                 </connection>
    83               </connectionPointIn>
    90               </connectionPointIn>
    84               <expression>OUT</expression>
    91               <expression>OUT</expression>
    85             </outVariable>
    92             </outVariable>
    86             <block localId="6" height="84" width="99" typeName="AND">
    93             <block localId="6" height="84" width="99" instanceName="" typeName="AND">
    87               <position y="105" x="235"/>
    94               <position y="105" x="235"/>
    88               <inputVariables>
    95               <inputVariables>
    89                 <variable formalParameter="" edge="rising">
    96                 <variable formalParameter="IN1" edge="rising">
    90                   <connectionPointIn>
    97                   <connectionPointIn>
    91                     <relPosition y="36" x="0"/>
    98                     <relPosition y="36" x="0"/>
    92                     <connection refLocalId="2">
    99                     <connection refLocalId="2">
    93                       <position y="141" x="235"/>
   100                       <position y="141" x="235"/>
    94                       <position y="141" x="190"/>
   101                       <position y="141" x="190"/>
    95                       <position y="97" x="190"/>
   102                       <position y="97" x="190"/>
    96                       <position y="97" x="153"/>
   103                       <position y="97" x="153"/>
    97                     </connection>
   104                     </connection>
    98                   </connectionPointIn>
   105                   </connectionPointIn>
    99                 </variable>
   106                 </variable>
   100                 <variable formalParameter="">
   107                 <variable formalParameter="IN2">
   101                   <connectionPointIn>
   108                   <connectionPointIn>
   102                     <relPosition y="68" x="0"/>
   109                     <relPosition y="68" x="0"/>
   103                     <connection refLocalId="3">
   110                     <connection refLocalId="3">
   104                       <position y="173" x="235"/>
   111                       <position y="173" x="235"/>
   105                       <position y="173" x="190"/>
   112                       <position y="173" x="190"/>
   109                   </connectionPointIn>
   116                   </connectionPointIn>
   110                 </variable>
   117                 </variable>
   111               </inputVariables>
   118               </inputVariables>
   112               <inOutVariables/>
   119               <inOutVariables/>
   113               <outputVariables>
   120               <outputVariables>
   114                 <variable formalParameter="" negated="true">
   121                 <variable formalParameter="OUT" negated="true">
   115                   <connectionPointOut>
   122                   <connectionPointOut>
   116                     <relPosition y="36" x="99"/>
   123                     <relPosition y="36" x="99"/>
   117                   </connectionPointOut>
   124                   </connectionPointOut>
   118                 </variable>
   125                 </variable>
   119               </outputVariables>
   126               </outputVariables>
   123               <connectionPointOut>
   130               <connectionPointOut>
   124                 <relPosition y="14" x="90"/>
   131                 <relPosition y="14" x="90"/>
   125               </connectionPointOut>
   132               </connectionPointOut>
   126               <expression>IN3</expression>
   133               <expression>IN3</expression>
   127             </inVariable>
   134             </inVariable>
   128             <block localId="8" height="87" width="99" typeName="OR">
   135             <block localId="8" height="87" width="99" instanceName="" typeName="OR">
   129               <position y="246" x="235"/>
   136               <position y="246" x="235"/>
   130               <inputVariables>
   137               <inputVariables>
   131                 <variable formalParameter="IN1" negated="true">
   138                 <variable formalParameter="IN1" negated="true">
   132                   <connectionPointIn>
   139                   <connectionPointIn>
   133                     <relPosition y="36" x="0"/>
   140                     <relPosition y="36" x="0"/>
   160                 </variable>
   167                 </variable>
   161               </outputVariables>
   168               </outputVariables>
   162             </block>
   169             </block>
   163             <comment localId="10" height="37" width="261">
   170             <comment localId="10" height="37" width="261">
   164               <position y="32" x="243"/>
   171               <position y="32" x="243"/>
   165               <content>POU qui sert a tester PLCOpenEditor.</content>
   172               <content><![CDATA[POU used for testing PLCOpenEditor.]]></content>
   166             </comment>
   173             </comment>
   167             <block localId="11" height="91" width="97" instanceName="SR1" typeName="SR">
   174             <block localId="11" height="97" width="105" instanceName="SR1" typeName="SR">
   168               <position y="161" x="420"/>
   175               <position y="159" x="418"/>
   169               <inputVariables>
   176               <inputVariables>
   170                 <variable formalParameter="S1">
   177                 <variable formalParameter="S1">
   171                   <connectionPointIn>
   178                   <connectionPointIn>
   172                     <relPosition y="37" x="0"/>
   179                     <relPosition y="39" x="0"/>
   173                     <connection refLocalId="6" formalParameter="OUT">
   180                     <connection refLocalId="6" formalParameter="OUT">
   174                       <position y="198" x="420"/>
   181                       <position y="198" x="418"/>
   175                       <position y="198" x="369"/>
   182                       <position y="198" x="376"/>
   176                       <position y="141" x="369"/>
   183                       <position y="141" x="376"/>
   177                       <position y="141" x="334"/>
   184                       <position y="141" x="334"/>
   178                     </connection>
   185                     </connection>
   179                   </connectionPointIn>
   186                   </connectionPointIn>
   180                 </variable>
   187                 </variable>
   181                 <variable formalParameter="R">
   188                 <variable formalParameter="R">
   182                   <connectionPointIn>
   189                   <connectionPointIn>
   183                     <relPosition y="72" x="0"/>
   190                     <relPosition y="77" x="0"/>
   184                     <connection refLocalId="8" formalParameter="OUT">
   191                     <connection refLocalId="8" formalParameter="OUT">
   185                       <position y="233" x="420"/>
   192                       <position y="236" x="418"/>
   186                       <position y="233" x="369"/>
   193                       <position y="236" x="376"/>
   187                       <position y="282" x="369"/>
   194                       <position y="282" x="376"/>
   188                       <position y="282" x="334"/>
   195                       <position y="282" x="334"/>
   189                     </connection>
   196                     </connection>
   190                   </connectionPointIn>
   197                   </connectionPointIn>
   191                 </variable>
   198                 </variable>
   192               </inputVariables>
   199               </inputVariables>
   193               <inOutVariables/>
   200               <inOutVariables/>
   194               <outputVariables>
   201               <outputVariables>
   195                 <variable formalParameter="Q1">
   202                 <variable formalParameter="Q1">
   196                   <connectionPointOut>
   203                   <connectionPointOut>
   197                     <relPosition y="37" x="97"/>
   204                     <relPosition y="39" x="105"/>
   198                   </connectionPointOut>
   205                   </connectionPointOut>
   199                 </variable>
   206                 </variable>
   200               </outputVariables>
   207               </outputVariables>
   201             </block>
   208             </block>
   202           </FBD>
   209           </FBD>
   232         </interface>
   239         </interface>
   233         <body>
   240         <body>
   234           <LD>
   241           <LD>
   235             <comment localId="1" height="40" width="600">
   242             <comment localId="1" height="40" width="600">
   236               <position y="10" x="10"/>
   243               <position y="10" x="10"/>
   237               <content>Commentaire</content>
   244               <content><![CDATA[Comment]]></content>
   238             </comment>
   245             </comment>
   239             <leftPowerRail localId="2" height="80" width="2">
   246             <leftPowerRail localId="2" height="80" width="2">
   240               <position y="60" x="10"/>
   247               <position y="60" x="10"/>
   241               <connectionPointOut formalParameter="">
   248               <connectionPointOut formalParameter="">
   242                 <relPosition y="20" x="2"/>
   249                 <relPosition y="20" x="2"/>
   383             </variable>
   390             </variable>
   384           </outputVars>
   391           </outputVars>
   385         </interface>
   392         </interface>
   386         <body>
   393         <body>
   387           <IL>
   394           <IL>
       
   395 <![CDATA[
   388      LD   Y1
   396      LD   Y1
   389      SUB  Y2     (* Substract Y2 from Y1 *)
   397      SUB  Y2     (* Substract Y2 from Y1 *)
   390      ST   Temp   (* Store Y1-Y2 in Temp *)
   398      ST   Temp   (* Store Y1-Y2 in Temp *)
   391      MUL  Temp   (* Multiply by Temp to square *)
   399      MUL  Temp   (* Multiply by Temp to square *)
   392      ADD( X1     (* Defer ADD *)
   400      ADD( X1     (* Defer ADD *)
   399      GT   TMax   (* Greater than TMax ? *)
   407      GT   TMax   (* Greater than TMax ? *)
   400      JMPC ERR    (* Yes, Jump to Error *)
   408      JMPC ERR    (* Yes, Jump to Error *)
   401      S    ERROR  (* Set ERROR *)
   409      S    ERROR  (* Set ERROR *)
   402      RET         (* Normal return *)
   410      RET         (* Normal return *)
   403 ERR: RET         (* Error return, ENO not set *)
   411 ERR: RET         (* Error return, ENO not set *)
       
   412 ]]>
   404           </IL>
   413           </IL>
   405         </body>
   414         </body>
   406       </pou>
   415       </pou>
   407       <pou name="SFCTest" pouType="program">
   416       <pou name="SFCTest" pouType="program">
   408         <interface>
   417         <interface>
   436         </interface>
   445         </interface>
   437         <actions>
   446         <actions>
   438           <action name="ACT1">
   447           <action name="ACT1">
   439             <body>
   448             <body>
   440               <ST>
   449               <ST>
       
   450 <![CDATA[
   441 IF IN1 THEN
   451 IF IN1 THEN
   442   IN2 := 1;
   452   IN2 := 1;
   443 ELSE
   453 ELSE
   444   IN3 := 1;
   454   IN3 := 1;
   445 END_IF;
   455 END_IF;
       
   456 ]]>
   446               </ST>
   457               </ST>
   447             </body>
   458             </body>
   448           </action>
   459           </action>
   449         </actions>
   460         </actions>
   450         <transitions>
   461         <transitions>
   451           <transition name="TR1">
   462           <transition name="TR1">
   452             <body>
   463             <body>
   453               <ST>:= AND(IN1, IN2, IN3);</ST>
   464               <ST><![CDATA[:= AND(IN1, IN2, IN3);]]></ST>
       
   465             </body>
       
   466           </transition>
       
   467           <transition name="TR2">
       
   468             <body>
       
   469               <FBD>
       
   470                 <block localId="1" height="82" width="107" typeName="AND">
       
   471                   <position y="61" x="160"/>
       
   472                   <inputVariables>
       
   473                     <variable formalParameter="IN1">
       
   474                       <connectionPointIn>
       
   475                         <relPosition y="35" x="0"/>
       
   476                         <connection refLocalId="2">
       
   477                           <position y="96" x="160"/>
       
   478                           <position y="96" x="120"/>
       
   479                           <position y="72" x="120"/>
       
   480                           <position y="72" x="81"/>
       
   481                         </connection>
       
   482                       </connectionPointIn>
       
   483                     </variable>
       
   484                     <variable formalParameter="IN2">
       
   485                       <connectionPointIn>
       
   486                         <relPosition y="66" x="0"/>
       
   487                         <connection refLocalId="3">
       
   488                           <position y="127" x="160"/>
       
   489                           <position y="127" x="120"/>
       
   490                           <position y="153" x="120"/>
       
   491                           <position y="153" x="81"/>
       
   492                         </connection>
       
   493                       </connectionPointIn>
       
   494                     </variable>
       
   495                   </inputVariables>
       
   496                   <inOutVariables/>
       
   497                   <outputVariables>
       
   498                     <variable formalParameter="OUT">
       
   499                       <connectionPointOut>
       
   500                         <relPosition y="35" x="107"/>
       
   501                       </connectionPointOut>
       
   502                     </variable>
       
   503                   </outputVariables>
       
   504                 </block>
       
   505                 <inVariable localId="2" width="54" height="27">
       
   506                   <position y="59" x="27"/>
       
   507                   <connectionPointOut>
       
   508                     <relPosition y="13" x="54"/>
       
   509                   </connectionPointOut>
       
   510                   <expression>IN1</expression>
       
   511                 </inVariable>
       
   512                 <inVariable localId="3" width="53" height="27">
       
   513                   <position y="140" x="28"/>
       
   514                   <connectionPointOut>
       
   515                     <relPosition y="13" x="53"/>
       
   516                   </connectionPointOut>
       
   517                   <expression>IN2</expression>
       
   518                 </inVariable>
       
   519                 <outVariable localId="4" width="57" height="27">
       
   520                   <position y="83" x="351"/>
       
   521                   <connectionPointIn>
       
   522                     <relPosition y="13" x="0"/>
       
   523                     <connection refLocalId="1" formalParameter="OUT">
       
   524                       <position y="96" x="351"/>
       
   525                       <position y="96" x="267"/>
       
   526                     </connection>
       
   527                   </connectionPointIn>
       
   528                   <expression>TR2</expression>
       
   529                 </outVariable>
       
   530               </FBD>
       
   531             </body>
       
   532           </transition>
       
   533           <transition name="TR3">
       
   534             <body>
       
   535               <LD>
       
   536                 <leftPowerRail localId="1" height="98" width="2">
       
   537                   <position y="20" x="31"/>
       
   538                   <connectionPointOut formalParameter="">
       
   539                     <relPosition y="20" x="2"/>
       
   540                   </connectionPointOut>
       
   541                   <connectionPointOut formalParameter="">
       
   542                     <relPosition y="64" x="2"/>
       
   543                   </connectionPointOut>
       
   544                 </leftPowerRail>
       
   545                 <contact localId="2" width="21" height="15" edge="none" negated="false">
       
   546                   <position y="32" x="72"/>
       
   547                   <connectionPointIn>
       
   548                     <relPosition y="8" x="0"/>
       
   549                     <connection refLocalId="1">
       
   550                       <position y="40" x="72"/>
       
   551                       <position y="40" x="33"/>
       
   552                     </connection>
       
   553                   </connectionPointIn>
       
   554                   <connectionPointOut>
       
   555                     <relPosition y="8" x="21"/>
       
   556                   </connectionPointOut>
       
   557                   <variable>IN2</variable>
       
   558                 </contact>
       
   559                 <contact localId="3" width="21" height="15" edge="rising" negated="false">
       
   560                   <position y="76" x="72"/>
       
   561                   <connectionPointIn>
       
   562                     <relPosition y="8" x="0"/>
       
   563                     <connection refLocalId="1">
       
   564                       <position y="84" x="72"/>
       
   565                       <position y="84" x="33"/>
       
   566                     </connection>
       
   567                   </connectionPointIn>
       
   568                   <connectionPointOut>
       
   569                     <relPosition y="8" x="21"/>
       
   570                   </connectionPointOut>
       
   571                   <variable>IN5</variable>
       
   572                 </contact>
       
   573                 <coil localId="4" width="21" storage="none" height="15" negated="true">
       
   574                   <position y="32" x="208"/>
       
   575                   <connectionPointIn>
       
   576                     <relPosition y="8" x="0"/>
       
   577                     <connection refLocalId="2">
       
   578                       <position y="40" x="208"/>
       
   579                       <position y="40" x="93"/>
       
   580                     </connection>
       
   581                     <connection refLocalId="3">
       
   582                       <position y="40" x="208"/>
       
   583                       <position y="40" x="131"/>
       
   584                       <position y="84" x="131"/>
       
   585                       <position y="84" x="93"/>
       
   586                     </connection>
       
   587                   </connectionPointIn>
       
   588                   <connectionPointOut>
       
   589                     <relPosition y="8" x="21"/>
       
   590                   </connectionPointOut>
       
   591                   <variable>TR3</variable>
       
   592                 </coil>
       
   593                 <rightPowerRail localId="5" height="40" width="2">
       
   594                   <position y="19" x="271"/>
       
   595                   <connectionPointIn>
       
   596                     <relPosition y="21" x="0"/>
       
   597                     <connection refLocalId="4">
       
   598                       <position y="40" x="271"/>
       
   599                       <position y="40" x="229"/>
       
   600                     </connection>
       
   601                   </connectionPointIn>
       
   602                 </rightPowerRail>
       
   603               </LD>
       
   604             </body>
       
   605           </transition>
       
   606           <transition name="TR4">
       
   607             <body>
       
   608               <IL>
       
   609 <![CDATA[
       
   610     LD  IN3
       
   611     AND IN4
       
   612 ]]>
       
   613               </IL>
   454             </body>
   614             </body>
   455           </transition>
   615           </transition>
   456         </transitions>
   616         </transitions>
   457         <body>
   617         <body>
   458           <SFC>
   618           <SFC>
   525               <connectionPointOut>
   685               <connectionPointOut>
   526                 <relPosition y="2" x="10"/>
   686                 <relPosition y="2" x="10"/>
   527               </connectionPointOut>
   687               </connectionPointOut>
   528               <condition>
   688               <condition>
   529                 <inline name="">
   689                 <inline name="">
   530                   <ST>IN2 AND IN3</ST>
   690                   <ST><![CDATA[IN2 AND IN3]]></ST>
   531                 </inline>
   691                 </inline>
   532               </condition>
   692               </condition>
   533             </transition>
   693             </transition>
   534             <step localId="6" height="27" width="48" initialStep="false" name="Step1">
   694             <step localId="6" height="27" width="48" initialStep="false" name="Step1">
   535               <position y="262" x="81"/>
   695               <position y="262" x="81"/>
   555               </connectionPointIn>
   715               </connectionPointIn>
   556               <connectionPointOut>
   716               <connectionPointOut>
   557                 <relPosition y="2" x="10"/>
   717                 <relPosition y="2" x="10"/>
   558               </connectionPointOut>
   718               </connectionPointOut>
   559               <condition>
   719               <condition>
   560                 <inline name="">
   720                 <reference name="TR2"/>
   561                   <ST>IN3</ST>
       
   562                 </inline>
       
   563               </condition>
   721               </condition>
   564             </transition>
   722             </transition>
   565             <step localId="8" height="27" width="48" initialStep="false" name="Step2">
   723             <step localId="8" height="27" width="48" initialStep="false" name="Step2">
   566               <position y="234" x="309"/>
   724               <position y="234" x="309"/>
   567               <connectionPointIn>
   725               <connectionPointIn>
   586               </connectionPointIn>
   744               </connectionPointIn>
   587               <connectionPointOut>
   745               <connectionPointOut>
   588                 <relPosition y="2" x="10"/>
   746                 <relPosition y="2" x="10"/>
   589               </connectionPointOut>
   747               </connectionPointOut>
   590               <condition>
   748               <condition>
   591                 <inline name="">
   749                 <reference name="TR4"/>
   592                   <ST>IN4</ST>
       
   593                 </inline>
       
   594               </condition>
   750               </condition>
   595             </transition>
   751             </transition>
   596             <step localId="10" height="27" width="48" initialStep="false" name="Step3">
   752             <step localId="10" height="27" width="48" initialStep="false" name="Step3">
   597               <position y="234" x="472"/>
   753               <position y="234" x="472"/>
   598               <connectionPointIn>
   754               <connectionPointIn>
   620               </connectionPointIn>
   776               </connectionPointIn>
   621               <connectionPointOut>
   777               <connectionPointOut>
   622                 <relPosition y="2" x="10"/>
   778                 <relPosition y="2" x="10"/>
   623               </connectionPointOut>
   779               </connectionPointOut>
   624               <condition>
   780               <condition>
   625                 <inline name="">
   781                 <reference name="TR3"/>
   626                   <ST>IN5</ST>
       
   627                 </inline>
       
   628               </condition>
   782               </condition>
   629             </transition>
   783             </transition>
   630             <jumpStep localId="12" height="13" width="12" targetName="Start">
   784             <jumpStep localId="12" height="13" width="12" targetName="Start">
   631               <position y="369" x="99"/>
   785               <position y="369" x="99"/>
   632               <connectionPointIn>
   786               <connectionPointIn>
   662               <connectionPointOut>
   816               <connectionPointOut>
   663                 <relPosition y="2" x="10"/>
   817                 <relPosition y="2" x="10"/>
   664               </connectionPointOut>
   818               </connectionPointOut>
   665               <condition>
   819               <condition>
   666                 <inline name="">
   820                 <inline name="">
   667                   <ST>IN5</ST>
   821                   <ST><![CDATA[IN5]]></ST>
   668                 </inline>
   822                 </inline>
   669               </condition>
   823               </condition>
   670             </transition>
   824             </transition>
   671             <transition localId="15" height="2" width="20">
   825             <transition localId="15" height="2" width="20">
   672               <position y="346" x="486"/>
   826               <position y="346" x="486"/>
   680               <connectionPointOut>
   834               <connectionPointOut>
   681                 <relPosition y="2" x="10"/>
   835                 <relPosition y="2" x="10"/>
   682               </connectionPointOut>
   836               </connectionPointOut>
   683               <condition>
   837               <condition>
   684                 <inline name="">
   838                 <inline name="">
   685                   <ST>IN5</ST>
   839                   <ST><![CDATA[IN5]]></ST>
   686                 </inline>
   840                 </inline>
   687               </condition>
   841               </condition>
   688             </transition>
   842             </transition>
   689             <selectionConvergence localId="16" height="1" width="163">
   843             <selectionConvergence localId="16" height="1" width="163">
   690               <position y="373" x="333"/>
   844               <position y="373" x="333"/>
   731               <action qualifier="D" duration="T#10s">
   885               <action qualifier="D" duration="T#10s">
   732                 <reference name="IN1"/>
   886                 <reference name="IN1"/>
   733               </action>
   887               </action>
   734               <action qualifier="P">
   888               <action qualifier="P">
   735                 <inline>
   889                 <inline>
   736                   <ST>IN2 := TRUE;</ST>
   890                   <ST><![CDATA[IN2 := TRUE;]]></ST>
   737                 </inline>
   891                 </inline>
   738               </action>
   892               </action>
   739             </actionBlock>
   893             </actionBlock>
   740             <simultaneousDivergence localId="21" height="3" width="118">
   894             <simultaneousDivergence localId="21" height="3" width="118">
   741               <position y="234" x="105"/>
   895               <position y="234" x="105"/>
   836             </variable>
   990             </variable>
   837           </outputVars>
   991           </outputVars>
   838         </interface>
   992         </interface>
   839         <body>
   993         <body>
   840           <ST>
   994           <ST>
       
   995 <![CDATA[
   841 IF Collision THEN
   996 IF Collision THEN
   842   Speed := 0;
   997   Speed := 0;
   843   Brakes := TRUE;
   998   Brakes := TRUE;
   844 END_IF;
   999 END_IF;
   845 
  1000 
   849 ELSE
  1004 ELSE
   850   Control_State := FALSE;
  1005   Control_State := FALSE;
   851 
  1006 
   852   PumpSpeed := 10.0;
  1007   PumpSpeed := 10.0;
   853 END_IF;
  1008 END_IF;
       
  1009 ]]>
   854           </ST>
  1010           </ST>
   855         </body>
  1011         </body>
   856       </pou>
  1012       </pou>
   857     </pous>
  1013     </pous>
   858   </types>
  1014   </types>