tests/svgui/plc.xml
changeset 3359 2c924cf26161
parent 3358 7478d0c0dc1c
child 3360 746e3e3f6537
equal deleted inserted replaced
3358:7478d0c0dc1c 3359:2c924cf26161
     1 <?xml version='1.0' encoding='utf-8'?>
       
     2 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
       
     3   <fileHeader companyName="beremiz" productName="Beremiz" productVersion="0.0" creationDateTime="2008-12-14T16:21:19"/>
       
     4   <contentHeader name="Beremiz SVGUI Test" modificationDateTime="2018-09-26T13:18:53">
       
     5     <coordinateInfo>
       
     6       <pageSize x="1024" y="1024"/>
       
     7       <fbd>
       
     8         <scaling x="0" y="0"/>
       
     9       </fbd>
       
    10       <ld>
       
    11         <scaling x="5" y="5"/>
       
    12       </ld>
       
    13       <sfc>
       
    14         <scaling x="5" y="5"/>
       
    15       </sfc>
       
    16     </coordinateInfo>
       
    17   </contentHeader>
       
    18   <types>
       
    19     <dataTypes/>
       
    20     <pous>
       
    21       <pou name="main_pytest" pouType="program">
       
    22         <interface>
       
    23           <localVars>
       
    24             <variable name="counter">
       
    25               <type>
       
    26                 <INT/>
       
    27               </type>
       
    28             </variable>
       
    29             <variable name="Start_Stop">
       
    30               <type>
       
    31                 <derived name="Button"/>
       
    32               </type>
       
    33             </variable>
       
    34             <variable name="Counter_TextCtrl">
       
    35               <type>
       
    36                 <derived name="TextCtrl"/>
       
    37               </type>
       
    38             </variable>
       
    39             <variable name="State_LedCtrl">
       
    40               <type>
       
    41                 <derived name="Led"/>
       
    42               </type>
       
    43             </variable>
       
    44           </localVars>
       
    45         </interface>
       
    46         <body>
       
    47           <FBD>
       
    48             <block localId="32" width="80" height="110" typeName="ADD" executionOrderId="0">
       
    49               <position x="649" y="285"/>
       
    50               <inputVariables>
       
    51                 <variable formalParameter="EN">
       
    52                   <connectionPointIn>
       
    53                     <relPosition x="0" y="35"/>
       
    54                     <connection refLocalId="5">
       
    55                       <position x="649" y="320"/>
       
    56                       <position x="594" y="320"/>
       
    57                     </connection>
       
    58                   </connectionPointIn>
       
    59                 </variable>
       
    60                 <variable formalParameter="IN1">
       
    61                   <connectionPointIn>
       
    62                     <relPosition x="0" y="65"/>
       
    63                     <connection refLocalId="100" formalParameter="OUT">
       
    64                       <position x="649" y="350"/>
       
    65                       <position x="474" y="350"/>
       
    66                     </connection>
       
    67                   </connectionPointIn>
       
    68                 </variable>
       
    69                 <variable formalParameter="IN2">
       
    70                   <connectionPointIn>
       
    71                     <relPosition x="0" y="95"/>
       
    72                     <connection refLocalId="33">
       
    73                       <position x="649" y="380"/>
       
    74                       <position x="629" y="380"/>
       
    75                       <position x="629" y="418"/>
       
    76                       <position x="854" y="418"/>
       
    77                       <position x="854" y="350"/>
       
    78                       <position x="839" y="350"/>
       
    79                     </connection>
       
    80                   </connectionPointIn>
       
    81                 </variable>
       
    82               </inputVariables>
       
    83               <inOutVariables/>
       
    84               <outputVariables>
       
    85                 <variable formalParameter="ENO">
       
    86                   <connectionPointOut>
       
    87                     <relPosition x="80" y="35"/>
       
    88                   </connectionPointOut>
       
    89                 </variable>
       
    90                 <variable formalParameter="OUT">
       
    91                   <connectionPointOut>
       
    92                     <relPosition x="80" y="65"/>
       
    93                   </connectionPointOut>
       
    94                 </variable>
       
    95               </outputVariables>
       
    96             </block>
       
    97             <inOutVariable localId="33" height="35" width="85" executionOrderId="0" negatedOut="false" negatedIn="false">
       
    98               <position x="754" y="333"/>
       
    99               <connectionPointIn>
       
   100                 <relPosition x="0" y="17"/>
       
   101                 <connection refLocalId="32" formalParameter="OUT">
       
   102                   <position x="754" y="350"/>
       
   103                   <position x="729" y="350"/>
       
   104                 </connection>
       
   105               </connectionPointIn>
       
   106               <connectionPointOut>
       
   107                 <relPosition x="85" y="17"/>
       
   108               </connectionPointOut>
       
   109               <expression>counter</expression>
       
   110             </inOutVariable>
       
   111             <inVariable localId="39" height="35" width="89" executionOrderId="0" negated="false">
       
   112               <position x="55" y="333"/>
       
   113               <connectionPointOut>
       
   114                 <relPosition x="89" y="17"/>
       
   115               </connectionPointOut>
       
   116               <expression>BOOL#1</expression>
       
   117             </inVariable>
       
   118             <inVariable localId="41" height="30" width="120" executionOrderId="0" negated="false">
       
   119               <position x="21" y="619"/>
       
   120               <connectionPointOut>
       
   121                 <relPosition x="120" y="15"/>
       
   122               </connectionPointOut>
       
   123               <expression>'stop_back'</expression>
       
   124             </inVariable>
       
   125             <inVariable localId="42" height="30" width="120" executionOrderId="0" negated="false">
       
   126               <position x="21" y="661"/>
       
   127               <connectionPointOut>
       
   128                 <relPosition x="120" y="15"/>
       
   129               </connectionPointOut>
       
   130               <expression>'stop_sele'</expression>
       
   131             </inVariable>
       
   132             <inVariable localId="46" height="30" width="122" executionOrderId="0" negated="false">
       
   133               <position x="694" y="799"/>
       
   134               <connectionPointOut>
       
   135                 <relPosition x="122" y="15"/>
       
   136               </connectionPointOut>
       
   137               <expression>'text_counter'</expression>
       
   138             </inVariable>
       
   139             <inVariable localId="51" height="30" width="119" executionOrderId="0" negated="false">
       
   140               <position x="692" y="612"/>
       
   141               <connectionPointOut>
       
   142                 <relPosition x="119" y="15"/>
       
   143               </connectionPointOut>
       
   144               <expression>'led_stop'</expression>
       
   145             </inVariable>
       
   146             <inVariable localId="52" height="30" width="120" executionOrderId="0" negated="false">
       
   147               <position x="691" y="648"/>
       
   148               <connectionPointOut>
       
   149                 <relPosition x="120" y="15"/>
       
   150               </connectionPointOut>
       
   151               <expression>'led_start'</expression>
       
   152             </inVariable>
       
   153             <block localId="83" width="145" height="60" typeName="INT_TO_STRING" executionOrderId="0">
       
   154               <position x="537" y="856"/>
       
   155               <inputVariables>
       
   156                 <variable formalParameter="IN">
       
   157                   <connectionPointIn>
       
   158                     <relPosition x="0" y="40"/>
       
   159                     <connection refLocalId="4">
       
   160                       <position x="537" y="896"/>
       
   161                       <position x="504" y="896"/>
       
   162                     </connection>
       
   163                   </connectionPointIn>
       
   164                 </variable>
       
   165               </inputVariables>
       
   166               <inOutVariables/>
       
   167               <outputVariables>
       
   168                 <variable formalParameter="OUT">
       
   169                   <connectionPointOut>
       
   170                     <relPosition x="145" y="40"/>
       
   171                   </connectionPointOut>
       
   172                 </variable>
       
   173               </outputVariables>
       
   174             </block>
       
   175             <block localId="92" width="187" height="230" typeName="Button" instanceName="Start_Stop" executionOrderId="0">
       
   176               <position x="201" y="593"/>
       
   177               <inputVariables>
       
   178                 <variable formalParameter="back_id">
       
   179                   <connectionPointIn>
       
   180                     <relPosition x="0" y="41"/>
       
   181                     <connection refLocalId="41">
       
   182                       <position x="201" y="634"/>
       
   183                       <position x="141" y="634"/>
       
   184                     </connection>
       
   185                   </connectionPointIn>
       
   186                 </variable>
       
   187                 <variable formalParameter="sele_id">
       
   188                   <connectionPointIn>
       
   189                     <relPosition x="0" y="83"/>
       
   190                     <connection refLocalId="42">
       
   191                       <position x="201" y="676"/>
       
   192                       <position x="141" y="676"/>
       
   193                     </connection>
       
   194                   </connectionPointIn>
       
   195                 </variable>
       
   196                 <variable formalParameter="toggle">
       
   197                   <connectionPointIn>
       
   198                     <relPosition x="0" y="125"/>
       
   199                     <connection refLocalId="93">
       
   200                       <position x="201" y="718"/>
       
   201                       <position x="141" y="718"/>
       
   202                     </connection>
       
   203                   </connectionPointIn>
       
   204                 </variable>
       
   205                 <variable formalParameter="set_state">
       
   206                   <connectionPointIn>
       
   207                     <relPosition x="0" y="167"/>
       
   208                   </connectionPointIn>
       
   209                 </variable>
       
   210                 <variable formalParameter="state_in">
       
   211                   <connectionPointIn>
       
   212                     <relPosition x="0" y="209"/>
       
   213                   </connectionPointIn>
       
   214                 </variable>
       
   215               </inputVariables>
       
   216               <inOutVariables/>
       
   217               <outputVariables>
       
   218                 <variable formalParameter="state_out">
       
   219                   <connectionPointOut>
       
   220                     <relPosition x="187" y="41"/>
       
   221                   </connectionPointOut>
       
   222                 </variable>
       
   223               </outputVariables>
       
   224             </block>
       
   225             <inVariable localId="93" height="30" width="120" executionOrderId="0" negated="false">
       
   226               <position x="21" y="703"/>
       
   227               <connectionPointOut>
       
   228                 <relPosition x="120" y="15"/>
       
   229               </connectionPointOut>
       
   230               <expression>BOOL#1</expression>
       
   231             </inVariable>
       
   232             <block localId="94" width="100" height="145" typeName="TextCtrl" instanceName="Counter_TextCtrl" executionOrderId="0">
       
   233               <position x="876" y="774"/>
       
   234               <inputVariables>
       
   235                 <variable formalParameter="back_id">
       
   236                   <connectionPointIn>
       
   237                     <relPosition x="0" y="40"/>
       
   238                     <connection refLocalId="46">
       
   239                       <position x="876" y="814"/>
       
   240                       <position x="816" y="814"/>
       
   241                     </connection>
       
   242                   </connectionPointIn>
       
   243                 </variable>
       
   244                 <variable formalParameter="set_text">
       
   245                   <connectionPointIn>
       
   246                     <relPosition x="0" y="81"/>
       
   247                     <connection refLocalId="3">
       
   248                       <position x="876" y="855"/>
       
   249                       <position x="815" y="855"/>
       
   250                     </connection>
       
   251                   </connectionPointIn>
       
   252                 </variable>
       
   253                 <variable formalParameter="text">
       
   254                   <connectionPointIn>
       
   255                     <relPosition x="0" y="122"/>
       
   256                     <connection refLocalId="83" formalParameter="OUT">
       
   257                       <position x="876" y="896"/>
       
   258                       <position x="682" y="896"/>
       
   259                     </connection>
       
   260                   </connectionPointIn>
       
   261                 </variable>
       
   262               </inputVariables>
       
   263               <inOutVariables/>
       
   264               <outputVariables/>
       
   265             </block>
       
   266             <inVariable localId="1" height="30" width="88" executionOrderId="0" negated="false">
       
   267               <position x="59" y="272"/>
       
   268               <connectionPointOut>
       
   269                 <relPosition x="88" y="15"/>
       
   270               </connectionPointOut>
       
   271               <expression>BOOL#1</expression>
       
   272             </inVariable>
       
   273             <block localId="95" width="100" height="130" typeName="Led" instanceName="State_LedCtrl" executionOrderId="0">
       
   274               <position x="876" y="589"/>
       
   275               <inputVariables>
       
   276                 <variable formalParameter="back_id">
       
   277                   <connectionPointIn>
       
   278                     <relPosition x="0" y="38"/>
       
   279                     <connection refLocalId="51">
       
   280                       <position x="876" y="627"/>
       
   281                       <position x="811" y="627"/>
       
   282                     </connection>
       
   283                   </connectionPointIn>
       
   284                 </variable>
       
   285                 <variable formalParameter="sele_id">
       
   286                   <connectionPointIn>
       
   287                     <relPosition x="0" y="74"/>
       
   288                     <connection refLocalId="52">
       
   289                       <position x="876" y="663"/>
       
   290                       <position x="811" y="663"/>
       
   291                     </connection>
       
   292                   </connectionPointIn>
       
   293                 </variable>
       
   294                 <variable formalParameter="state_in">
       
   295                   <connectionPointIn>
       
   296                     <relPosition x="0" y="110"/>
       
   297                     <connection refLocalId="2">
       
   298                       <position x="876" y="699"/>
       
   299                       <position x="811" y="699"/>
       
   300                     </connection>
       
   301                   </connectionPointIn>
       
   302                 </variable>
       
   303               </inputVariables>
       
   304               <inOutVariables/>
       
   305               <outputVariables/>
       
   306             </block>
       
   307             <block localId="96" width="80" height="65" typeName="AND" executionOrderId="0">
       
   308               <position x="200" y="234"/>
       
   309               <inputVariables>
       
   310                 <variable formalParameter="IN1" negated="true">
       
   311                   <connectionPointIn>
       
   312                     <relPosition x="0" y="31"/>
       
   313                     <connection refLocalId="96" formalParameter="OUT">
       
   314                       <position x="200" y="265"/>
       
   315                       <position x="175" y="265"/>
       
   316                       <position x="175" y="219"/>
       
   317                       <position x="305" y="219"/>
       
   318                       <position x="305" y="265"/>
       
   319                       <position x="280" y="265"/>
       
   320                     </connection>
       
   321                   </connectionPointIn>
       
   322                 </variable>
       
   323                 <variable formalParameter="IN2">
       
   324                   <connectionPointIn>
       
   325                     <relPosition x="0" y="53"/>
       
   326                     <connection refLocalId="1">
       
   327                       <position x="200" y="287"/>
       
   328                       <position x="147" y="287"/>
       
   329                     </connection>
       
   330                   </connectionPointIn>
       
   331                 </variable>
       
   332               </inputVariables>
       
   333               <inOutVariables/>
       
   334               <outputVariables>
       
   335                 <variable formalParameter="OUT">
       
   336                   <connectionPointOut>
       
   337                     <relPosition x="80" y="31"/>
       
   338                   </connectionPointOut>
       
   339                 </variable>
       
   340               </outputVariables>
       
   341             </block>
       
   342             <connector name="CLOCK" localId="97" height="30" width="90">
       
   343               <position x="345" y="250"/>
       
   344               <connectionPointIn>
       
   345                 <relPosition x="0" y="15"/>
       
   346                 <connection refLocalId="96" formalParameter="OUT">
       
   347                   <position x="345" y="265"/>
       
   348                   <position x="280" y="265"/>
       
   349                 </connection>
       
   350               </connectionPointIn>
       
   351             </connector>
       
   352             <connector name="COUNT" localId="98" height="30" width="90">
       
   353               <position x="461" y="619"/>
       
   354               <connectionPointIn>
       
   355                 <relPosition x="0" y="15"/>
       
   356                 <connection refLocalId="92" formalParameter="state_out">
       
   357                   <position x="461" y="634"/>
       
   358                   <position x="388" y="634"/>
       
   359                 </connection>
       
   360               </connectionPointIn>
       
   361             </connector>
       
   362             <continuation name="COUNT" localId="2" height="30" width="120">
       
   363               <position x="691" y="684"/>
       
   364               <connectionPointOut>
       
   365                 <relPosition x="120" y="15"/>
       
   366               </connectionPointOut>
       
   367             </continuation>
       
   368             <inVariable localId="4" height="35" width="85" executionOrderId="0" negated="false">
       
   369               <position x="419" y="879"/>
       
   370               <connectionPointOut>
       
   371                 <relPosition x="85" y="17"/>
       
   372               </connectionPointOut>
       
   373               <expression>counter</expression>
       
   374             </inVariable>
       
   375             <continuation name="COUNT" localId="5" height="30" width="90">
       
   376               <position x="504" y="305"/>
       
   377               <connectionPointOut>
       
   378                 <relPosition x="90" y="15"/>
       
   379               </connectionPointOut>
       
   380             </continuation>
       
   381             <block localId="99" width="80" height="110" typeName="AND" executionOrderId="0">
       
   382               <position x="199" y="308"/>
       
   383               <inputVariables>
       
   384                 <variable formalParameter="IN1">
       
   385                   <connectionPointIn>
       
   386                     <relPosition x="0" y="42"/>
       
   387                     <connection refLocalId="39">
       
   388                       <position x="199" y="350"/>
       
   389                       <position x="144" y="350"/>
       
   390                     </connection>
       
   391                   </connectionPointIn>
       
   392                 </variable>
       
   393                 <variable formalParameter="IN2">
       
   394                   <connectionPointIn>
       
   395                     <relPosition x="0" y="87"/>
       
   396                     <connection refLocalId="6">
       
   397                       <position x="199" y="395"/>
       
   398                       <position x="144" y="395"/>
       
   399                     </connection>
       
   400                   </connectionPointIn>
       
   401                 </variable>
       
   402               </inputVariables>
       
   403               <inOutVariables/>
       
   404               <outputVariables>
       
   405                 <variable formalParameter="OUT">
       
   406                   <connectionPointOut>
       
   407                     <relPosition x="80" y="42"/>
       
   408                   </connectionPointOut>
       
   409                 </variable>
       
   410               </outputVariables>
       
   411             </block>
       
   412             <continuation name="CLOCK" localId="6" height="30" width="90">
       
   413               <position x="54" y="380"/>
       
   414               <connectionPointOut>
       
   415                 <relPosition x="90" y="15"/>
       
   416               </connectionPointOut>
       
   417             </continuation>
       
   418             <block localId="100" width="125" height="45" typeName="BOOL_TO_INT" executionOrderId="0">
       
   419               <position x="349" y="318"/>
       
   420               <inputVariables>
       
   421                 <variable formalParameter="IN">
       
   422                   <connectionPointIn>
       
   423                     <relPosition x="0" y="32"/>
       
   424                     <connection refLocalId="99" formalParameter="OUT">
       
   425                       <position x="349" y="350"/>
       
   426                       <position x="279" y="350"/>
       
   427                     </connection>
       
   428                   </connectionPointIn>
       
   429                 </variable>
       
   430               </inputVariables>
       
   431               <inOutVariables/>
       
   432               <outputVariables>
       
   433                 <variable formalParameter="OUT">
       
   434                   <connectionPointOut>
       
   435                     <relPosition x="125" y="32"/>
       
   436                   </connectionPointOut>
       
   437                 </variable>
       
   438               </outputVariables>
       
   439             </block>
       
   440             <continuation name="CLOCK" localId="3" height="30" width="122">
       
   441               <position x="693" y="840"/>
       
   442               <connectionPointOut>
       
   443                 <relPosition x="122" y="15"/>
       
   444               </connectionPointOut>
       
   445             </continuation>
       
   446             <comment localId="101" height="197" width="1001">
       
   447               <position x="11" y="12"/>
       
   448               <content>
       
   449                 <xhtml:p><![CDATA[This example shows how IEC program in PLC can interact with web interface. 
       
   450 
       
   451 svgui is extensions to build web interface to PLC. It has *integrated* web-server. So it's NOT necessary to install Apache, lighttpd or nginx for that!!!
       
   452 
       
   453 As the program is running in PLC, web UI will be available at http://localhost:8009/.
       
   454 
       
   455 
       
   456 Web interface is build as SVG file in Inkscape. To edit SVG file click 'Inkscape' button in 0x: svgui extension. 
       
   457 Inkscape is a free and open-source vector graphics editor. It's not part of Beremiz and needs to be installed separately.
       
   458 ]]></xhtml:p>
       
   459               </content>
       
   460             </comment>
       
   461             <comment localId="102" height="126" width="641">
       
   462               <position x="17" y="441"/>
       
   463               <content>
       
   464                 <xhtml:p><![CDATA[In this example basic elements like 'Button', 'Led' and 'Text' are used. 
       
   465 Back_id and sele_id inputs of these blocks are IDs  of graphic primitives in SVG file. 
       
   466 This is the way how elements in SVG are bound to elements in PLC program. 
       
   467 You can find out or edit these IDs in Inkscape.]]></xhtml:p>
       
   468               </content>
       
   469             </comment>
       
   470           </FBD>
       
   471         </body>
       
   472       </pou>
       
   473     </pous>
       
   474   </types>
       
   475   <instances>
       
   476     <configurations>
       
   477       <configuration name="config">
       
   478         <resource name="res_pytest">
       
   479           <task name="pytest_task" interval="t#100ms" priority="0"/>
       
   480           <pouInstance name="pytest_instance" typeName="main_pytest"/>
       
   481         </resource>
       
   482       </configuration>
       
   483     </configurations>
       
   484   </instances>
       
   485 </project>