tests/traffic_lights/plc.xml
changeset 2296 a2ab363f9e90
parent 1546 f1840d27823d
child 2346 ac16bad593cf
equal deleted inserted replaced
2295:dda34e671700 2296:a2ab363f9e90
     1 <?xml version='1.0' encoding='utf-8'?>
     1 <?xml version='1.0' encoding='utf-8'?>
     2 <project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
     2 <project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
     3   <fileHeader companyName="Beremiz" productName="Unnamed" productVersion="1" creationDateTime="2012-09-04T16:16:33"/>
     3   <fileHeader companyName="Beremiz" productName="Unnamed" productVersion="1" creationDateTime="2012-09-04T16:16:33"/>
     4   <contentHeader name="traffic_lights" modificationDateTime="2016-10-20T13:08:53">
     4   <contentHeader name="traffic_lights" modificationDateTime="2018-08-24T13:21:35">
     5     <coordinateInfo>
     5     <coordinateInfo>
     6       <fbd>
     6       <fbd>
     7         <scaling x="0" y="0"/>
     7         <scaling x="0" y="0"/>
     8       </fbd>
     8       </fbd>
     9       <ld>
     9       <ld>
   118         </interface>
   118         </interface>
   119         <actions>
   119         <actions>
   120           <action name="BLINK_ORANGE_LIGHT">
   120           <action name="BLINK_ORANGE_LIGHT">
   121             <body>
   121             <body>
   122               <LD>
   122               <LD>
   123                 <leftPowerRail localId="1" height="40" width="2">
   123                 <leftPowerRail localId="1" height="40" width="3">
   124                   <position x="54" y="123"/>
   124                   <position x="54" y="123"/>
   125                   <connectionPointOut formalParameter="">
   125                   <connectionPointOut formalParameter="">
   126                     <relPosition x="2" y="20"/>
   126                     <relPosition x="3" y="20"/>
   127                   </connectionPointOut>
   127                   </connectionPointOut>
   128                 </leftPowerRail>
   128                 </leftPowerRail>
   129                 <contact localId="2" height="15" width="21" negated="true">
   129                 <contact localId="2" height="15" width="21" negated="true">
   130                   <position x="121" y="135"/>
   130                   <position x="121" y="135"/>
   131                   <connectionPointIn>
   131                   <connectionPointIn>
   174                         <relPosition x="97" y="81"/>
   174                         <relPosition x="97" y="81"/>
   175                       </connectionPointOut>
   175                       </connectionPointOut>
   176                     </variable>
   176                     </variable>
   177                   </outputVariables>
   177                   </outputVariables>
   178                 </block>
   178                 </block>
   179                 <inVariable localId="4" height="27" width="72">
   179                 <inVariable localId="4" height="30" width="72" negated="false">
   180                   <position x="79" y="171"/>
   180                   <position x="79" y="171"/>
   181                   <connectionPointOut>
   181                   <connectionPointOut>
   182                     <relPosition x="72" y="13"/>
   182                     <relPosition x="72" y="15"/>
   183                   </connectionPointOut>
   183                   </connectionPointOut>
   184                   <expression>T#500ms</expression>
   184                   <expression>T#500ms</expression>
   185                 </inVariable>
   185                 </inVariable>
   186                 <block localId="5" width="97" height="106" typeName="TON" instanceName="TON2">
   186                 <block localId="5" width="97" height="106" typeName="TON" instanceName="TON2">
   187                   <position x="216" y="251"/>
   187                   <position x="216" y="251"/>
   231                   <connectionPointOut>
   231                   <connectionPointOut>
   232                     <relPosition x="21" y="8"/>
   232                     <relPosition x="21" y="8"/>
   233                   </connectionPointOut>
   233                   </connectionPointOut>
   234                   <variable>ORANGE_LIGHT</variable>
   234                   <variable>ORANGE_LIGHT</variable>
   235                 </coil>
   235                 </coil>
   236                 <rightPowerRail localId="7" height="40" width="2">
   236                 <rightPowerRail localId="7" height="40" width="3">
   237                   <position x="598" y="123"/>
   237                   <position x="598" y="123"/>
   238                   <connectionPointIn>
   238                   <connectionPointIn>
   239                     <relPosition x="0" y="20"/>
   239                     <relPosition x="0" y="20"/>
   240                     <connection refLocalId="8">
   240                     <connection refLocalId="8">
   241                       <position x="598" y="143"/>
   241                       <position x="598" y="143"/>
   255                   <connectionPointOut>
   255                   <connectionPointOut>
   256                     <relPosition x="21" y="8"/>
   256                     <relPosition x="21" y="8"/>
   257                   </connectionPointOut>
   257                   </connectionPointOut>
   258                   <variable>ORANGE_LIGHT</variable>
   258                   <variable>ORANGE_LIGHT</variable>
   259                 </coil>
   259                 </coil>
   260                 <comment localId="9" height="39" width="308">
   260                 <comment localId="9" height="52" width="318">
   261                   <position x="54" y="26"/>
   261                   <position x="51" y="11"/>
   262                   <content>
   262                   <content>
   263                     <xhtml:p><![CDATA[This action makes the orange light blink]]></xhtml:p>
   263                     <xhtml:p><![CDATA[This action makes the orange light blink]]></xhtml:p>
   264                   </content>
   264                   </content>
   265                 </comment>
   265                 </comment>
   266                 <block localId="10" width="57" height="40" typeName="R_TRIG" instanceName="R_TRIG0">
   266                 <block localId="10" width="58" height="40" typeName="R_TRIG" instanceName="R_TRIG0">
   267                   <position x="370" y="262"/>
   267                   <position x="370" y="262"/>
   268                   <inputVariables>
   268                   <inputVariables>
   269                     <variable formalParameter="CLK">
   269                     <variable formalParameter="CLK">
   270                       <connectionPointIn>
   270                       <connectionPointIn>
   271                         <relPosition x="0" y="30"/>
   271                         <relPosition x="0" y="30"/>
   278                   </inputVariables>
   278                   </inputVariables>
   279                   <inOutVariables/>
   279                   <inOutVariables/>
   280                   <outputVariables>
   280                   <outputVariables>
   281                     <variable formalParameter="Q">
   281                     <variable formalParameter="Q">
   282                       <connectionPointOut>
   282                       <connectionPointOut>
   283                         <relPosition x="57" y="30"/>
   283                         <relPosition x="58" y="30"/>
   284                       </connectionPointOut>
   284                       </connectionPointOut>
   285                     </variable>
   285                     </variable>
   286                   </outputVariables>
   286                   </outputVariables>
   287                 </block>
   287                 </block>
   288                 <block localId="11" width="57" height="40" typeName="R_TRIG" instanceName="R_TRIG1">
   288                 <block localId="11" width="58" height="40" typeName="R_TRIG" instanceName="R_TRIG1">
   289                   <position x="371" y="113"/>
   289                   <position x="371" y="113"/>
   290                   <inputVariables>
   290                   <inputVariables>
   291                     <variable formalParameter="CLK">
   291                     <variable formalParameter="CLK">
   292                       <connectionPointIn>
   292                       <connectionPointIn>
   293                         <relPosition x="0" y="30"/>
   293                         <relPosition x="0" y="30"/>
   300                   </inputVariables>
   300                   </inputVariables>
   301                   <inOutVariables/>
   301                   <inOutVariables/>
   302                   <outputVariables>
   302                   <outputVariables>
   303                     <variable formalParameter="Q">
   303                     <variable formalParameter="Q">
   304                       <connectionPointOut>
   304                       <connectionPointOut>
   305                         <relPosition x="57" y="30"/>
   305                         <relPosition x="58" y="30"/>
   306                       </connectionPointOut>
   306                       </connectionPointOut>
   307                     </variable>
   307                     </variable>
   308                   </outputVariables>
   308                   </outputVariables>
   309                 </block>
   309                 </block>
   310                 <rightPowerRail localId="12" height="40" width="2">
   310                 <rightPowerRail localId="12" height="40" width="3">
   311                   <position x="597" y="272"/>
   311                   <position x="597" y="272"/>
   312                   <connectionPointIn>
   312                   <connectionPointIn>
   313                     <relPosition x="0" y="20"/>
   313                     <relPosition x="0" y="20"/>
   314                     <connection refLocalId="6">
   314                     <connection refLocalId="6">
   315                       <position x="597" y="292"/>
   315                       <position x="597" y="292"/>
   316                       <position x="538" y="292"/>
   316                       <position x="538" y="292"/>
   317                     </connection>
   317                     </connection>
   318                   </connectionPointIn>
   318                   </connectionPointIn>
   319                 </rightPowerRail>
   319                 </rightPowerRail>
   320                 <leftPowerRail localId="13" height="40" width="2">
   320                 <leftPowerRail localId="13" height="40" width="3">
   321                   <position x="67" y="272"/>
   321                   <position x="67" y="272"/>
   322                   <connectionPointOut formalParameter="">
   322                   <connectionPointOut formalParameter="">
   323                     <relPosition x="2" y="20"/>
   323                     <relPosition x="3" y="20"/>
   324                   </connectionPointOut>
   324                   </connectionPointOut>
   325                 </leftPowerRail>
   325                 </leftPowerRail>
   326                 <contact localId="14" height="15" width="21">
   326                 <contact localId="14" height="15" width="21">
   327                   <position x="134" y="284"/>
   327                   <position x="134" y="284"/>
   328                   <connectionPointIn>
   328                   <connectionPointIn>
   335                   <connectionPointOut>
   335                   <connectionPointOut>
   336                     <relPosition x="21" y="8"/>
   336                     <relPosition x="21" y="8"/>
   337                   </connectionPointOut>
   337                   </connectionPointOut>
   338                   <variable>ORANGE_LIGHT</variable>
   338                   <variable>ORANGE_LIGHT</variable>
   339                 </contact>
   339                 </contact>
   340                 <inVariable localId="15" height="27" width="72">
   340                 <inVariable localId="15" height="30" width="72" negated="false">
   341                   <position x="90" y="322"/>
   341                   <position x="90" y="322"/>
   342                   <connectionPointOut>
   342                   <connectionPointOut>
   343                     <relPosition x="72" y="13"/>
   343                     <relPosition x="72" y="15"/>
   344                   </connectionPointOut>
   344                   </connectionPointOut>
   345                   <expression>T#500ms</expression>
   345                   <expression>T#500ms</expression>
   346                 </inVariable>
   346                 </inVariable>
   347               </LD>
   347               </LD>
   348             </body>
   348             </body>
   372                         <relPosition x="59" y="30"/>
   372                         <relPosition x="59" y="30"/>
   373                       </connectionPointOut>
   373                       </connectionPointOut>
   374                     </variable>
   374                     </variable>
   375                   </outputVariables>
   375                   </outputVariables>
   376                 </block>
   376                 </block>
   377                 <inVariable localId="43" height="27" width="156">
   377                 <inVariable localId="43" height="30" width="156" executionOrderId="0" negated="false">
   378                   <position x="46" y="57"/>
   378                   <position x="46" y="57"/>
   379                   <connectionPointOut>
   379                   <connectionPointOut>
   380                     <relPosition x="156" y="13"/>
   380                     <relPosition x="156" y="15"/>
   381                   </connectionPointOut>
   381                   </connectionPointOut>
   382                   <expression>SWITCH_BUTTON</expression>
   382                   <expression>SWITCH_BUTTON</expression>
   383                 </inVariable>
   383                 </inVariable>
   384                 <outVariable localId="44" height="27" width="46">
   384                 <outVariable localId="44" height="30" width="46" executionOrderId="0" negated="false">
   385                   <position x="351" y="57"/>
   385                   <position x="351" y="57"/>
   386                   <connectionPointIn>
   386                   <connectionPointIn>
   387                     <relPosition x="0" y="13"/>
   387                     <relPosition x="0" y="15"/>
   388                     <connection refLocalId="42" formalParameter="OUT">
   388                     <connection refLocalId="42" formalParameter="OUT">
   389                       <position x="351" y="70"/>
   389                       <position x="351" y="72"/>
       
   390                       <position x="320" y="72"/>
       
   391                       <position x="320" y="70"/>
   390                       <position x="289" y="70"/>
   392                       <position x="289" y="70"/>
   391                     </connection>
   393                     </connection>
   392                   </connectionPointIn>
   394                   </connectionPointIn>
   393                   <expression>STOP</expression>
   395                   <expression>STOP</expression>
   394                 </outVariable>
   396                 </outVariable>
   436                     <xhtml:p><![CDATA[SWITCH_BUTTON]]></xhtml:p>
   438                     <xhtml:p><![CDATA[SWITCH_BUTTON]]></xhtml:p>
   437                   </ST>
   439                   </ST>
   438                 </inline>
   440                 </inline>
   439               </condition>
   441               </condition>
   440             </transition>
   442             </transition>
   441             <step localId="3" height="27" width="69" name="ORANGE">
   443             <step localId="3" height="30" width="69" name="ORANGE">
   442               <position x="535" y="252"/>
   444               <position x="535" y="252"/>
   443               <connectionPointIn>
   445               <connectionPointIn>
   444                 <relPosition x="34" y="0"/>
   446                 <relPosition x="34" y="0"/>
   445                 <connection refLocalId="2">
   447                 <connection refLocalId="2">
   446                   <position x="569" y="252"/>
   448                   <position x="569" y="252"/>
   447                   <position x="569" y="227"/>
   449                   <position x="569" y="227"/>
   448                 </connection>
   450                 </connection>
   449               </connectionPointIn>
   451               </connectionPointIn>
   450               <connectionPointOut formalParameter="">
   452               <connectionPointOut formalParameter="">
   451                 <relPosition x="34" y="27"/>
   453                 <relPosition x="34" y="30"/>
   452               </connectionPointOut>
   454               </connectionPointOut>
   453               <connectionPointOutAction formalParameter="">
   455               <connectionPointOutAction formalParameter="">
   454                 <relPosition x="69" y="13"/>
   456                 <relPosition x="69" y="15"/>
   455               </connectionPointOutAction>
   457               </connectionPointOutAction>
   456             </step>
   458             </step>
   457             <transition localId="6" height="2" width="20">
   459             <transition localId="6" height="2" width="20">
   458               <position x="559" y="376"/>
   460               <position x="559" y="376"/>
   459               <connectionPointIn>
   461               <connectionPointIn>
   678               </connectionPointOut>
   680               </connectionPointOut>
   679               <connectionPointOut formalParameter="">
   681               <connectionPointOut formalParameter="">
   680                 <relPosition x="159" y="1"/>
   682                 <relPosition x="159" y="1"/>
   681               </connectionPointOut>
   683               </connectionPointOut>
   682             </selectionDivergence>
   684             </selectionDivergence>
   683             <step localId="18" height="27" width="148" name="PEDESTRIAN_GREEN">
   685             <step localId="18" height="30" width="148" name="PEDESTRIAN_GREEN">
   684               <position x="495" y="575"/>
   686               <position x="495" y="575"/>
   685               <connectionPointIn>
   687               <connectionPointIn>
   686                 <relPosition x="74" y="0"/>
   688                 <relPosition x="74" y="0"/>
   687                 <connection refLocalId="12">
   689                 <connection refLocalId="12">
   688                   <position x="569" y="575"/>
   690                   <position x="569" y="575"/>
   689                   <position x="569" y="535"/>
   691                   <position x="569" y="535"/>
   690                 </connection>
   692                 </connection>
   691               </connectionPointIn>
   693               </connectionPointIn>
   692               <connectionPointOut formalParameter="">
   694               <connectionPointOut formalParameter="">
   693                 <relPosition x="74" y="27"/>
   695                 <relPosition x="74" y="30"/>
   694               </connectionPointOut>
   696               </connectionPointOut>
   695               <connectionPointOutAction formalParameter="">
   697               <connectionPointOutAction formalParameter="">
   696                 <relPosition x="148" y="13"/>
   698                 <relPosition x="148" y="15"/>
   697               </connectionPointOutAction>
   699               </connectionPointOutAction>
   698             </step>
   700             </step>
   699             <actionBlock localId="19" width="236" height="110">
   701             <actionBlock localId="19" width="247" height="110">
   700               <position x="708" y="573"/>
   702               <position x="708" y="573"/>
   701               <connectionPointIn>
   703               <connectionPointIn>
   702                 <relPosition x="0" y="15"/>
   704                 <relPosition x="0" y="15"/>
   703                 <connection refLocalId="18">
   705                 <connection refLocalId="18">
   704                   <position x="708" y="588"/>
   706                   <position x="708" y="588"/>
   705                   <position x="643" y="588"/>
   707                   <position x="675" y="588"/>
       
   708                   <position x="675" y="590"/>
       
   709                   <position x="643" y="590"/>
   706                 </connection>
   710                 </connection>
   707               </connectionPointIn>
   711               </connectionPointIn>
   708               <action localId="0" qualifier="S">
   712               <action localId="0" qualifier="S">
   709                 <relPosition x="0" y="0"/>
   713                 <relPosition x="0" y="0"/>
   710                 <reference name="PEDESTRIAN_GREEN_LIGHT"/>
   714                 <reference name="PEDESTRIAN_GREEN_LIGHT"/>
   782                     <xhtml:p><![CDATA[STOP_PEDESTRIANS]]></xhtml:p>
   786                     <xhtml:p><![CDATA[STOP_PEDESTRIANS]]></xhtml:p>
   783                   </ST>
   787                   </ST>
   784                 </inline>
   788                 </inline>
   785               </condition>
   789               </condition>
   786             </transition>
   790             </transition>
   787             <step localId="24" height="27" width="148" name="PEDESTRIAN_RED">
   791             <step localId="24" height="30" width="148" name="PEDESTRIAN_RED">
   788               <position x="495" y="750"/>
   792               <position x="495" y="750"/>
   789               <connectionPointIn>
   793               <connectionPointIn>
   790                 <relPosition x="74" y="0"/>
   794                 <relPosition x="74" y="0"/>
   791                 <connection refLocalId="23">
   795                 <connection refLocalId="23">
   792                   <position x="569" y="750"/>
   796                   <position x="569" y="750"/>
   793                   <position x="569" y="711"/>
   797                   <position x="569" y="711"/>
   794                 </connection>
   798                 </connection>
   795               </connectionPointIn>
   799               </connectionPointIn>
   796               <connectionPointOut formalParameter="">
   800               <connectionPointOut formalParameter="">
   797                 <relPosition x="74" y="27"/>
   801                 <relPosition x="74" y="30"/>
   798               </connectionPointOut>
   802               </connectionPointOut>
   799               <connectionPointOutAction formalParameter="">
   803               <connectionPointOutAction formalParameter="">
   800                 <relPosition x="148" y="13"/>
   804                 <relPosition x="148" y="15"/>
   801               </connectionPointOutAction>
   805               </connectionPointOutAction>
   802             </step>
   806             </step>
   803             <actionBlock localId="25" width="233" height="110">
   807             <actionBlock localId="25" width="239" height="110">
   804               <position x="708" y="748"/>
   808               <position x="708" y="748"/>
   805               <connectionPointIn>
   809               <connectionPointIn>
   806                 <relPosition x="0" y="15"/>
   810                 <relPosition x="0" y="15"/>
   807                 <connection refLocalId="24">
   811                 <connection refLocalId="24">
   808                   <position x="708" y="763"/>
   812                   <position x="708" y="763"/>
   809                   <position x="643" y="763"/>
   813                   <position x="675" y="763"/>
       
   814                   <position x="675" y="765"/>
       
   815                   <position x="643" y="765"/>
   810                 </connection>
   816                 </connection>
   811               </connectionPointIn>
   817               </connectionPointIn>
   812               <action localId="0" qualifier="S">
   818               <action localId="0" qualifier="S">
   813                 <relPosition x="0" y="0"/>
   819                 <relPosition x="0" y="0"/>
   814                 <reference name="PEDESTRIAN_RED_LIGHT"/>
   820                 <reference name="PEDESTRIAN_RED_LIGHT"/>
   887                     <xhtml:p><![CDATA[ALLOW_CARS]]></xhtml:p>
   893                     <xhtml:p><![CDATA[ALLOW_CARS]]></xhtml:p>
   888                   </ST>
   894                   </ST>
   889                 </inline>
   895                 </inline>
   890               </condition>
   896               </condition>
   891             </transition>
   897             </transition>
   892             <step localId="30" height="27" width="56" name="GREEN">
   898             <step localId="30" height="30" width="56" name="GREEN">
   893               <position x="541" y="933"/>
   899               <position x="541" y="933"/>
   894               <connectionPointIn>
   900               <connectionPointIn>
   895                 <relPosition x="28" y="0"/>
   901                 <relPosition x="28" y="0"/>
   896                 <connection refLocalId="29">
   902                 <connection refLocalId="29">
   897                   <position x="569" y="933"/>
   903                   <position x="569" y="933"/>
   898                   <position x="569" y="881"/>
   904                   <position x="569" y="881"/>
   899                 </connection>
   905                 </connection>
   900               </connectionPointIn>
   906               </connectionPointIn>
   901               <connectionPointOut formalParameter="">
   907               <connectionPointOut formalParameter="">
   902                 <relPosition x="28" y="27"/>
   908                 <relPosition x="28" y="30"/>
   903               </connectionPointOut>
   909               </connectionPointOut>
   904               <connectionPointOutAction formalParameter="">
   910               <connectionPointOutAction formalParameter="">
   905                 <relPosition x="56" y="13"/>
   911                 <relPosition x="56" y="15"/>
   906               </connectionPointOutAction>
   912               </connectionPointOutAction>
   907             </step>
   913             </step>
   908             <actionBlock localId="31" width="227" height="110">
   914             <actionBlock localId="31" width="227" height="110">
   909               <position x="709" y="931"/>
   915               <position x="709" y="931"/>
   910               <connectionPointIn>
   916               <connectionPointIn>
   963                     <relPosition x="89" y="75"/>
   969                     <relPosition x="89" y="75"/>
   964                   </connectionPointOut>
   970                   </connectionPointOut>
   965                 </variable>
   971                 </variable>
   966               </outputVariables>
   972               </outputVariables>
   967             </block>
   973             </block>
   968             <inVariable localId="33" height="27" width="159">
   974             <inVariable localId="33" height="30" width="159" negated="false">
   969               <position x="24" y="1052"/>
   975               <position x="24" y="1052"/>
   970               <connectionPointOut>
   976               <connectionPointOut>
   971                 <relPosition x="159" y="13"/>
   977                 <relPosition x="159" y="15"/>
   972               </connectionPointOut>
   978               </connectionPointOut>
   973               <expression>PEDESTRIAN_BUTTON</expression>
   979               <expression>PEDESTRIAN_BUTTON</expression>
   974             </inVariable>
   980             </inVariable>
   975             <inVariable localId="34" height="27" width="43">
   981             <inVariable localId="34" height="30" width="43" negated="false">
   976               <position x="227" y="1115"/>
   982               <position x="227" y="1115"/>
   977               <connectionPointOut>
   983               <connectionPointOut>
   978                 <relPosition x="43" y="13"/>
   984                 <relPosition x="43" y="15"/>
   979               </connectionPointOut>
   985               </connectionPointOut>
   980               <expression>T#2s</expression>
   986               <expression>T#2s</expression>
   981             </inVariable>
   987             </inVariable>
   982             <block localId="35" width="67" height="60" typeName="OR">
   988             <block localId="35" width="67" height="60" typeName="OR">
   983               <position x="459" y="1061"/>
   989               <position x="459" y="1061"/>
  1010                     <relPosition x="67" y="30"/>
  1016                     <relPosition x="67" y="30"/>
  1011                   </connectionPointOut>
  1017                   </connectionPointOut>
  1012                 </variable>
  1018                 </variable>
  1013               </outputVariables>
  1019               </outputVariables>
  1014             </block>
  1020             </block>
  1015             <inVariable localId="36" height="27" width="97">
  1021             <inVariable localId="36" height="30" width="97" negated="false">
  1016               <position x="163" y="1182"/>
  1022               <position x="163" y="1182"/>
  1017               <connectionPointOut>
  1023               <connectionPointOut>
  1018                 <relPosition x="97" y="13"/>
  1024                 <relPosition x="97" y="15"/>
  1019               </connectionPointOut>
  1025               </connectionPointOut>
  1020               <expression>WARN_CARS</expression>
  1026               <expression>WARN_CARS</expression>
  1021             </inVariable>
  1027             </inVariable>
  1022             <transition localId="37" height="2" width="20">
  1028             <transition localId="37" height="2" width="20">
  1023               <position x="559" y="1090"/>
  1029               <position x="559" y="1090"/>
  1084                   <position x="569" y="1137"/>
  1090                   <position x="569" y="1137"/>
  1085                   <position x="569" y="1092"/>
  1091                   <position x="569" y="1092"/>
  1086                 </connection>
  1092                 </connection>
  1087               </connectionPointIn>
  1093               </connectionPointIn>
  1088             </jumpStep>
  1094             </jumpStep>
  1089             <block localId="44" width="50" height="60" typeName="SR" instanceName="SR0">
  1095             <block localId="44" width="51" height="60" typeName="SR" instanceName="SR0">
  1090               <position x="224" y="1035"/>
  1096               <position x="224" y="1035"/>
  1091               <inputVariables>
  1097               <inputVariables>
  1092                 <variable formalParameter="S1">
  1098                 <variable formalParameter="S1">
  1093                   <connectionPointIn>
  1099                   <connectionPointIn>
  1094                     <relPosition x="0" y="30"/>
  1100                     <relPosition x="0" y="30"/>
  1095                     <connection refLocalId="33">
  1101                     <connection refLocalId="33">
  1096                       <position x="224" y="1065"/>
  1102                       <position x="224" y="1065"/>
  1097                       <position x="183" y="1065"/>
  1103                       <position x="203" y="1065"/>
       
  1104                       <position x="203" y="1067"/>
       
  1105                       <position x="183" y="1067"/>
  1098                     </connection>
  1106                     </connection>
  1099                   </connectionPointIn>
  1107                   </connectionPointIn>
  1100                 </variable>
  1108                 </variable>
  1101                 <variable formalParameter="R">
  1109                 <variable formalParameter="R">
  1102                   <connectionPointIn>
  1110                   <connectionPointIn>
  1114               </inputVariables>
  1122               </inputVariables>
  1115               <inOutVariables/>
  1123               <inOutVariables/>
  1116               <outputVariables>
  1124               <outputVariables>
  1117                 <variable formalParameter="Q1">
  1125                 <variable formalParameter="Q1">
  1118                   <connectionPointOut>
  1126                   <connectionPointOut>
  1119                     <relPosition x="50" y="30"/>
  1127                     <relPosition x="51" y="30"/>
  1120                   </connectionPointOut>
  1128                   </connectionPointOut>
  1121                 </variable>
  1129                 </variable>
  1122               </outputVariables>
  1130               </outputVariables>
  1123             </block>
  1131             </block>
  1124             <comment localId="45" height="681" width="645">
  1132             <comment localId="45" height="907" width="645">
  1125               <position x="1021" y="21"/>
  1133               <position x="1021" y="21"/>
  1126               <content>
  1134               <content>
  1127                 <xhtml:p><![CDATA[*** Description of SFC action qualifiers ***
  1135                 <xhtml:p><![CDATA[*** Description of SFC action qualifiers ***
  1128 
  1136 
  1129 N : non-stored - The action code body is executed or the Boolean variable is set as
  1137 N : non-stored - The action code body is executed or the Boolean variable is set as
  1166 interval anyway. If the action is reset during the time interval the action becomes
  1174 interval anyway. If the action is reset during the time interval the action becomes
  1167 inactive as soon as the action is reset.
  1175 inactive as soon as the action is reset.
  1168 ]]></xhtml:p>
  1176 ]]></xhtml:p>
  1169               </content>
  1177               </content>
  1170             </comment>
  1178             </comment>
  1171             <comment localId="46" height="160" width="375">
  1179             <comment localId="46" height="224" width="375">
  1172               <position x="8" y="326"/>
  1180               <position x="8" y="326"/>
  1173               <content>
  1181               <content>
  1174                 <xhtml:p><![CDATA[Conditions can be written in any IEC 61131-3 language.
  1182                 <xhtml:p><![CDATA[Conditions can be written in any IEC 61131-3 language.
  1175 They can be implemented in defferent ways:
  1183 They can be implemented in defferent ways:
  1176 - reference to external implementation;
  1184 - reference to external implementation;
  1198               <connectionPointOut>
  1206               <connectionPointOut>
  1199                 <relPosition x="21" y="8"/>
  1207                 <relPosition x="21" y="8"/>
  1200               </connectionPointOut>
  1208               </connectionPointOut>
  1201               <variable>SWITCH_BUTTON</variable>
  1209               <variable>SWITCH_BUTTON</variable>
  1202             </contact>
  1210             </contact>
  1203             <comment localId="13" height="66" width="375">
  1211             <comment localId="13" height="86" width="379">
  1204               <position x="9" y="28"/>
  1212               <position x="9" y="28"/>
  1205               <content>
  1213               <content>
  1206                 <xhtml:p><![CDATA[
  1214                 <xhtml:p><![CDATA[
  1207 Sequential function chart (SFC) is commonly used to describe state machines.]]></xhtml:p>
  1215 Sequential function chart (SFC) is commonly used to describe state machines.]]></xhtml:p>
  1208               </content>
  1216               </content>
  1255             </variable>
  1263             </variable>
  1256           </localVars>
  1264           </localVars>
  1257         </interface>
  1265         </interface>
  1258         <body>
  1266         <body>
  1259           <FBD>
  1267           <FBD>
  1260             <block localId="1" width="349" height="836" typeName="traffic_light_sequence" instanceName="trafic_light_sequence0" executionOrderId="0">
  1268             <block localId="1" width="350" height="836" typeName="traffic_light_sequence" instanceName="trafic_light_sequence0" executionOrderId="0">
  1261               <position x="470" y="406"/>
  1269               <position x="470" y="406"/>
  1262               <inputVariables>
  1270               <inputVariables>
  1263                 <variable formalParameter="SWITCH_BUTTON">
  1271                 <variable formalParameter="SWITCH_BUTTON">
  1264                   <connectionPointIn>
  1272                   <connectionPointIn>
  1265                     <relPosition x="0" y="101"/>
  1273                     <relPosition x="0" y="101"/>
  1283               </inputVariables>
  1291               </inputVariables>
  1284               <inOutVariables/>
  1292               <inOutVariables/>
  1285               <outputVariables>
  1293               <outputVariables>
  1286                 <variable formalParameter="RED_LIGHT">
  1294                 <variable formalParameter="RED_LIGHT">
  1287                   <connectionPointOut>
  1295                   <connectionPointOut>
  1288                     <relPosition x="349" y="101"/>
  1296                     <relPosition x="350" y="101"/>
  1289                   </connectionPointOut>
  1297                   </connectionPointOut>
  1290                 </variable>
  1298                 </variable>
  1291                 <variable formalParameter="ORANGE_LIGHT">
  1299                 <variable formalParameter="ORANGE_LIGHT">
  1292                   <connectionPointOut>
  1300                   <connectionPointOut>
  1293                     <relPosition x="349" y="264"/>
  1301                     <relPosition x="350" y="264"/>
  1294                   </connectionPointOut>
  1302                   </connectionPointOut>
  1295                 </variable>
  1303                 </variable>
  1296                 <variable formalParameter="GREEN_LIGHT">
  1304                 <variable formalParameter="GREEN_LIGHT">
  1297                   <connectionPointOut>
  1305                   <connectionPointOut>
  1298                     <relPosition x="349" y="427"/>
  1306                     <relPosition x="350" y="427"/>
  1299                   </connectionPointOut>
  1307                   </connectionPointOut>
  1300                 </variable>
  1308                 </variable>
  1301                 <variable formalParameter="PEDESTRIAN_RED_LIGHT">
  1309                 <variable formalParameter="PEDESTRIAN_RED_LIGHT">
  1302                   <connectionPointOut>
  1310                   <connectionPointOut>
  1303                     <relPosition x="349" y="590"/>
  1311                     <relPosition x="350" y="590"/>
  1304                   </connectionPointOut>
  1312                   </connectionPointOut>
  1305                 </variable>
  1313                 </variable>
  1306                 <variable formalParameter="PEDESTRIAN_GREEN_LIGHT">
  1314                 <variable formalParameter="PEDESTRIAN_GREEN_LIGHT">
  1307                   <connectionPointOut>
  1315                   <connectionPointOut>
  1308                     <relPosition x="349" y="753"/>
  1316                     <relPosition x="350" y="753"/>
  1309                   </connectionPointOut>
  1317                   </connectionPointOut>
  1310                 </variable>
  1318                 </variable>
  1311               </outputVariables>
  1319               </outputVariables>
  1312             </block>
  1320             </block>
  1313             <block localId="2" width="143" height="183" typeName="Button" instanceName="SwitchButton" executionOrderId="0">
  1321             <block localId="2" width="143" height="183" typeName="Button" instanceName="SwitchButton" executionOrderId="0">
  1404                     <relPosition x="143" y="37"/>
  1412                     <relPosition x="143" y="37"/>
  1405                   </connectionPointOut>
  1413                   </connectionPointOut>
  1406                 </variable>
  1414                 </variable>
  1407               </outputVariables>
  1415               </outputVariables>
  1408             </block>
  1416             </block>
  1409             <inVariable localId="4" height="27" width="18" executionOrderId="0" negated="false">
  1417             <inVariable localId="4" height="30" width="18" executionOrderId="0" negated="false">
  1410               <position x="118" y="558"/>
  1418               <position x="118" y="558"/>
  1411               <connectionPointOut>
  1419               <connectionPointOut>
  1412                 <relPosition x="18" y="13"/>
  1420                 <relPosition x="18" y="15"/>
  1413               </connectionPointOut>
  1421               </connectionPointOut>
  1414               <expression>1</expression>
  1422               <expression>1</expression>
  1415             </inVariable>
  1423             </inVariable>
  1416             <inVariable localId="5" height="27" width="105" executionOrderId="0" negated="false">
  1424             <inVariable localId="5" height="30" width="105" executionOrderId="0" negated="false">
  1417               <position x="31" y="494"/>
  1425               <position x="31" y="494"/>
  1418               <connectionPointOut>
  1426               <connectionPointOut>
  1419                 <relPosition x="105" y="13"/>
  1427                 <relPosition x="105" y="15"/>
  1420               </connectionPointOut>
  1428               </connectionPointOut>
  1421               <expression>'SWITCH_OFF'</expression>
  1429               <expression>'SWITCH_OFF'</expression>
  1422             </inVariable>
  1430             </inVariable>
  1423             <inVariable localId="6" height="27" width="105" executionOrderId="0" negated="false">
  1431             <inVariable localId="6" height="30" width="105" executionOrderId="0" negated="false">
  1424               <position x="31" y="526"/>
  1432               <position x="31" y="526"/>
  1425               <connectionPointOut>
  1433               <connectionPointOut>
  1426                 <relPosition x="105" y="13"/>
  1434                 <relPosition x="105" y="15"/>
  1427               </connectionPointOut>
  1435               </connectionPointOut>
  1428               <expression>'SWITCH_ON'</expression>
  1436               <expression>'SWITCH_ON'</expression>
  1429             </inVariable>
  1437             </inVariable>
  1430             <inVariable localId="7" height="27" width="137" executionOrderId="0" negated="false">
  1438             <inVariable localId="7" height="30" width="137" executionOrderId="0" negated="false">
  1431               <position x="22" y="708"/>
  1439               <position x="22" y="708"/>
  1432               <connectionPointOut>
  1440               <connectionPointOut>
  1433                 <relPosition x="137" y="13"/>
  1441                 <relPosition x="137" y="15"/>
  1434               </connectionPointOut>
  1442               </connectionPointOut>
  1435               <expression>'PEDESTRIAN_OFF'</expression>
  1443               <expression>'PEDESTRIAN_OFF'</expression>
  1436             </inVariable>
  1444             </inVariable>
  1437             <inVariable localId="8" height="27" width="137" executionOrderId="0" negated="false">
  1445             <inVariable localId="8" height="30" width="137" executionOrderId="0" negated="false">
  1438               <position x="22" y="743"/>
  1446               <position x="22" y="743"/>
  1439               <connectionPointOut>
  1447               <connectionPointOut>
  1440                 <relPosition x="137" y="13"/>
  1448                 <relPosition x="137" y="15"/>
  1441               </connectionPointOut>
  1449               </connectionPointOut>
  1442               <expression>'PEDESTRIAN_ON'</expression>
  1450               <expression>'PEDESTRIAN_ON'</expression>
  1443             </inVariable>
  1451             </inVariable>
  1444             <block localId="9" width="115" height="133" typeName="Led" instanceName="RedLight" executionOrderId="0">
  1452             <block localId="9" width="115" height="133" typeName="Led" instanceName="RedLight" executionOrderId="0">
  1445               <position x="1057" y="395"/>
  1453               <position x="1057" y="395"/>
  1473                 </variable>
  1481                 </variable>
  1474               </inputVariables>
  1482               </inputVariables>
  1475               <inOutVariables/>
  1483               <inOutVariables/>
  1476               <outputVariables/>
  1484               <outputVariables/>
  1477             </block>
  1485             </block>
  1478             <inVariable localId="10" height="27" width="79" executionOrderId="0" negated="false">
  1486             <inVariable localId="10" height="30" width="79" executionOrderId="0" negated="false">
  1479               <position x="931" y="420"/>
  1487               <position x="931" y="420"/>
  1480               <connectionPointOut>
  1488               <connectionPointOut>
  1481                 <relPosition x="79" y="13"/>
  1489                 <relPosition x="79" y="15"/>
  1482               </connectionPointOut>
  1490               </connectionPointOut>
  1483               <expression>'RED_OFF'</expression>
  1491               <expression>'RED_OFF'</expression>
  1484             </inVariable>
  1492             </inVariable>
  1485             <inVariable localId="11" height="27" width="79" executionOrderId="0" negated="false">
  1493             <inVariable localId="11" height="30" width="79" executionOrderId="0" negated="false">
  1486               <position x="931" y="457"/>
  1494               <position x="931" y="457"/>
  1487               <connectionPointOut>
  1495               <connectionPointOut>
  1488                 <relPosition x="79" y="13"/>
  1496                 <relPosition x="79" y="15"/>
  1489               </connectionPointOut>
  1497               </connectionPointOut>
  1490               <expression>'RED_ON'</expression>
  1498               <expression>'RED_ON'</expression>
  1491             </inVariable>
  1499             </inVariable>
  1492             <block localId="12" width="115" height="133" typeName="Led" instanceName="OrangeLight" executionOrderId="0">
  1500             <block localId="12" width="115" height="133" typeName="Led" instanceName="OrangeLight" executionOrderId="0">
  1493               <position x="1058" y="558"/>
  1501               <position x="1058" y="558"/>
  1521                 </variable>
  1529                 </variable>
  1522               </inputVariables>
  1530               </inputVariables>
  1523               <inOutVariables/>
  1531               <inOutVariables/>
  1524               <outputVariables/>
  1532               <outputVariables/>
  1525             </block>
  1533             </block>
  1526             <inVariable localId="13" height="27" width="111" executionOrderId="0" negated="false">
  1534             <inVariable localId="13" height="30" width="111" executionOrderId="0" negated="false">
  1527               <position x="899" y="583"/>
  1535               <position x="899" y="583"/>
  1528               <connectionPointOut>
  1536               <connectionPointOut>
  1529                 <relPosition x="111" y="13"/>
  1537                 <relPosition x="111" y="15"/>
  1530               </connectionPointOut>
  1538               </connectionPointOut>
  1531               <expression>'ORANGE_OFF'</expression>
  1539               <expression>'ORANGE_OFF'</expression>
  1532             </inVariable>
  1540             </inVariable>
  1533             <inVariable localId="14" height="27" width="106" executionOrderId="0" negated="false">
  1541             <inVariable localId="14" height="30" width="106" executionOrderId="0" negated="false">
  1534               <position x="904" y="620"/>
  1542               <position x="904" y="620"/>
  1535               <connectionPointOut>
  1543               <connectionPointOut>
  1536                 <relPosition x="106" y="13"/>
  1544                 <relPosition x="106" y="15"/>
  1537               </connectionPointOut>
  1545               </connectionPointOut>
  1538               <expression>'ORANGE_ON'</expression>
  1546               <expression>'ORANGE_ON'</expression>
  1539             </inVariable>
  1547             </inVariable>
  1540             <block localId="15" width="115" height="133" typeName="Led" instanceName="GreenLight" executionOrderId="0">
  1548             <block localId="15" width="115" height="133" typeName="Led" instanceName="GreenLight" executionOrderId="0">
  1541               <position x="1058" y="721"/>
  1549               <position x="1058" y="721"/>
  1569                 </variable>
  1577                 </variable>
  1570               </inputVariables>
  1578               </inputVariables>
  1571               <inOutVariables/>
  1579               <inOutVariables/>
  1572               <outputVariables/>
  1580               <outputVariables/>
  1573             </block>
  1581             </block>
  1574             <inVariable localId="16" height="27" width="111" executionOrderId="0" negated="false">
  1582             <inVariable localId="16" height="30" width="111" executionOrderId="0" negated="false">
  1575               <position x="899" y="746"/>
  1583               <position x="899" y="746"/>
  1576               <connectionPointOut>
  1584               <connectionPointOut>
  1577                 <relPosition x="111" y="13"/>
  1585                 <relPosition x="111" y="15"/>
  1578               </connectionPointOut>
  1586               </connectionPointOut>
  1579               <expression>'GREEN_OFF'</expression>
  1587               <expression>'GREEN_OFF'</expression>
  1580             </inVariable>
  1588             </inVariable>
  1581             <inVariable localId="17" height="27" width="106" executionOrderId="0" negated="false">
  1589             <inVariable localId="17" height="30" width="106" executionOrderId="0" negated="false">
  1582               <position x="904" y="783"/>
  1590               <position x="904" y="783"/>
  1583               <connectionPointOut>
  1591               <connectionPointOut>
  1584                 <relPosition x="106" y="13"/>
  1592                 <relPosition x="106" y="15"/>
  1585               </connectionPointOut>
  1593               </connectionPointOut>
  1586               <expression>'GREEN_ON'</expression>
  1594               <expression>'GREEN_ON'</expression>
  1587             </inVariable>
  1595             </inVariable>
  1588             <block localId="18" width="115" height="133" typeName="Led" instanceName="PedestrianRedLight" executionOrderId="0">
  1596             <block localId="18" width="115" height="133" typeName="Led" instanceName="PedestrianRedLight" executionOrderId="0">
  1589               <position x="1059" y="884"/>
  1597               <position x="1059" y="884"/>
  1617                 </variable>
  1625                 </variable>
  1618               </inputVariables>
  1626               </inputVariables>
  1619               <inOutVariables/>
  1627               <inOutVariables/>
  1620               <outputVariables/>
  1628               <outputVariables/>
  1621             </block>
  1629             </block>
  1622             <inVariable localId="19" height="27" width="171" executionOrderId="0" negated="false">
  1630             <inVariable localId="19" height="30" width="171" executionOrderId="0" negated="false">
  1623               <position x="849" y="909"/>
  1631               <position x="849" y="909"/>
  1624               <connectionPointOut>
  1632               <connectionPointOut>
  1625                 <relPosition x="171" y="13"/>
  1633                 <relPosition x="171" y="15"/>
  1626               </connectionPointOut>
  1634               </connectionPointOut>
  1627               <expression>'PEDESTRIAN_RED_OFF'</expression>
  1635               <expression>'PEDESTRIAN_RED_OFF'</expression>
  1628             </inVariable>
  1636             </inVariable>
  1629             <inVariable localId="20" height="27" width="166" executionOrderId="0" negated="false">
  1637             <inVariable localId="20" height="30" width="166" executionOrderId="0" negated="false">
  1630               <position x="854" y="946"/>
  1638               <position x="854" y="946"/>
  1631               <connectionPointOut>
  1639               <connectionPointOut>
  1632                 <relPosition x="166" y="13"/>
  1640                 <relPosition x="166" y="15"/>
  1633               </connectionPointOut>
  1641               </connectionPointOut>
  1634               <expression>'PEDESTRIAN_RED_ON'</expression>
  1642               <expression>'PEDESTRIAN_RED_ON'</expression>
  1635             </inVariable>
  1643             </inVariable>
  1636             <block localId="21" width="115" height="133" typeName="Led" instanceName="PedestrianGreenLight" executionOrderId="0">
  1644             <block localId="21" width="115" height="133" typeName="Led" instanceName="PedestrianGreenLight" executionOrderId="0">
  1637               <position x="1059" y="1047"/>
  1645               <position x="1059" y="1047"/>
  1665                 </variable>
  1673                 </variable>
  1666               </inputVariables>
  1674               </inputVariables>
  1667               <inOutVariables/>
  1675               <inOutVariables/>
  1668               <outputVariables/>
  1676               <outputVariables/>
  1669             </block>
  1677             </block>
  1670             <inVariable localId="22" height="27" width="190" executionOrderId="0" negated="false">
  1678             <inVariable localId="22" height="30" width="190" executionOrderId="0" negated="false">
  1671               <position x="845" y="1072"/>
  1679               <position x="845" y="1072"/>
  1672               <connectionPointOut>
  1680               <connectionPointOut>
  1673                 <relPosition x="190" y="13"/>
  1681                 <relPosition x="190" y="15"/>
  1674               </connectionPointOut>
  1682               </connectionPointOut>
  1675               <expression>'PEDESTRIAN_GREEN_OFF'</expression>
  1683               <expression>'PEDESTRIAN_GREEN_OFF'</expression>
  1676             </inVariable>
  1684             </inVariable>
  1677             <inVariable localId="23" height="27" width="185" executionOrderId="0" negated="false">
  1685             <inVariable localId="23" height="30" width="185" executionOrderId="0" negated="false">
  1678               <position x="850" y="1109"/>
  1686               <position x="850" y="1109"/>
  1679               <connectionPointOut>
  1687               <connectionPointOut>
  1680                 <relPosition x="185" y="13"/>
  1688                 <relPosition x="185" y="15"/>
  1681               </connectionPointOut>
  1689               </connectionPointOut>
  1682               <expression>'PEDESTRIAN_GREEN_ON'</expression>
  1690               <expression>'PEDESTRIAN_GREEN_ON'</expression>
  1683             </inVariable>
  1691             </inVariable>
  1684             <comment localId="24" height="262" width="804">
  1692             <comment localId="24" height="287" width="1008">
  1685               <position x="22" y="13"/>
  1693               <position x="22" y="13"/>
  1686               <content>
  1694               <content>
  1687                 <xhtml:p><![CDATA[This example implements control of traffic lights.
  1695                 <xhtml:p><![CDATA[This example implements control of traffic lights.
  1688 
  1696 
  1689 Basically it shows following features of Beremiz:
  1697 Basically it shows following features of Beremiz:
  1701 Web interface is build as SVG file in Inkscape. To edit SVG file click 'Inkscape' button in 0x: svgui extension. 
  1709 Web interface is build as SVG file in Inkscape. To edit SVG file click 'Inkscape' button in 0x: svgui extension. 
  1702 Inkscape is a free and open-source vector graphics editor. It's not part of Beremiz and needs to be installed separately.
  1710 Inkscape is a free and open-source vector graphics editor. It's not part of Beremiz and needs to be installed separately.
  1703 ]]></xhtml:p>
  1711 ]]></xhtml:p>
  1704               </content>
  1712               </content>
  1705             </comment>
  1713             </comment>
  1706             <comment localId="102" height="126" width="411">
  1714             <comment localId="102" height="144" width="444">
  1707               <position x="20" y="319"/>
  1715               <position x="20" y="303"/>
  1708               <content>
  1716               <content>
  1709                 <xhtml:p><![CDATA[In this example FB like 'Button', 'Led' and 'Text' are used. 
  1717                 <xhtml:p><![CDATA[In this example FB like 'Button', 'Led' and 'Text' are used. 
  1710 Back_id and sele_id inputs of these blocks are IDs  of 
  1718 Back_id and sele_id inputs of these blocks are IDs  of 
  1711 graphic primitives in SVG file. 
  1719 graphic primitives in SVG file. 
  1712 This is the way how elements in SVG are bound to elements 
  1720 This is the way how elements in SVG are bound to elements