tests/wxHMI/plc.xml
changeset 3416 53c66c4aefa3
parent 3415 c270b6c8162b
child 3422 700b39cb4525
child 3427 f748161de54b
equal deleted inserted replaced
3415:c270b6c8162b 3416:53c66c4aefa3
     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">
       
     3   <fileHeader companyName="Unknown" productName="Beremiz" productVersion="1" creationDateTime="2012-09-12T23:30:19"/>
       
     4   <contentHeader name="extended wxHMI example" modificationDateTime="2018-09-26T14:07:02">
       
     5     <coordinateInfo>
       
     6       <pageSize x="1050" y="1485"/>
       
     7       <fbd>
       
     8         <scaling x="5" y="5"/>
       
     9       </fbd>
       
    10       <ld>
       
    11         <scaling x="0" y="0"/>
       
    12       </ld>
       
    13       <sfc>
       
    14         <scaling x="0" y="0"/>
       
    15       </sfc>
       
    16     </coordinateInfo>
       
    17   </contentHeader>
       
    18   <types>
       
    19     <dataTypes/>
       
    20     <pous>
       
    21       <pou name="main" pouType="program">
       
    22         <interface>
       
    23           <externalVars>
       
    24             <variable name="Power_ON">
       
    25               <type>
       
    26                 <BOOL/>
       
    27               </type>
       
    28             </variable>
       
    29             <variable name="Power_OFF">
       
    30               <type>
       
    31                 <BOOL/>
       
    32               </type>
       
    33             </variable>
       
    34           </externalVars>
       
    35           <localVars>
       
    36             <variable name="power">
       
    37               <type>
       
    38                 <BOOL/>
       
    39               </type>
       
    40             </variable>
       
    41           </localVars>
       
    42           <externalVars>
       
    43             <variable name="DrawTest">
       
    44               <type>
       
    45                 <BOOL/>
       
    46               </type>
       
    47             </variable>
       
    48             <variable name="DrawTestBtn">
       
    49               <type>
       
    50                 <BOOL/>
       
    51               </type>
       
    52             </variable>
       
    53             <variable name="DrawLogo">
       
    54               <type>
       
    55                 <BOOL/>
       
    56               </type>
       
    57             </variable>
       
    58             <variable name="XaxisPos">
       
    59               <type>
       
    60                 <INT/>
       
    61               </type>
       
    62             </variable>
       
    63             <variable name="YaxisPos">
       
    64               <type>
       
    65                 <INT/>
       
    66               </type>
       
    67             </variable>
       
    68             <variable name="ZaxisPos">
       
    69               <type>
       
    70                 <INT/>
       
    71               </type>
       
    72             </variable>
       
    73             <variable name="TaxisPos">
       
    74               <type>
       
    75                 <INT/>
       
    76               </type>
       
    77             </variable>
       
    78           </externalVars>
       
    79           <localVars>
       
    80             <variable name="PowerCtrl">
       
    81               <type>
       
    82                 <derived name="RS"/>
       
    83               </type>
       
    84             </variable>
       
    85             <variable name="Xaxis">
       
    86               <type>
       
    87                 <derived name="axis"/>
       
    88               </type>
       
    89             </variable>
       
    90           </localVars>
       
    91           <externalVars>
       
    92             <variable name="XAxisMinus">
       
    93               <type>
       
    94                 <BOOL/>
       
    95               </type>
       
    96             </variable>
       
    97             <variable name="XAxisPlus">
       
    98               <type>
       
    99                 <BOOL/>
       
   100               </type>
       
   101             </variable>
       
   102             <variable name="YAxisPlus">
       
   103               <type>
       
   104                 <BOOL/>
       
   105               </type>
       
   106             </variable>
       
   107             <variable name="YAxisMinus">
       
   108               <type>
       
   109                 <BOOL/>
       
   110               </type>
       
   111             </variable>
       
   112             <variable name="ZAxisPlus">
       
   113               <type>
       
   114                 <BOOL/>
       
   115               </type>
       
   116             </variable>
       
   117             <variable name="ZAxisMinus">
       
   118               <type>
       
   119                 <BOOL/>
       
   120               </type>
       
   121             </variable>
       
   122             <variable name="TAxisPlus">
       
   123               <type>
       
   124                 <BOOL/>
       
   125               </type>
       
   126             </variable>
       
   127             <variable name="TAxisMinus">
       
   128               <type>
       
   129                 <BOOL/>
       
   130               </type>
       
   131             </variable>
       
   132           </externalVars>
       
   133           <localVars>
       
   134             <variable name="Yaxis">
       
   135               <type>
       
   136                 <derived name="axis"/>
       
   137               </type>
       
   138             </variable>
       
   139             <variable name="Taxis">
       
   140               <type>
       
   141                 <derived name="axis"/>
       
   142               </type>
       
   143             </variable>
       
   144             <variable name="Zaxis">
       
   145               <type>
       
   146                 <derived name="axis"/>
       
   147               </type>
       
   148             </variable>
       
   149             <variable name="DrawTestDo">
       
   150               <type>
       
   151                 <derived name="RS"/>
       
   152               </type>
       
   153             </variable>
       
   154             <variable name="DrawLogoDo">
       
   155               <type>
       
   156                 <derived name="RS"/>
       
   157               </type>
       
   158             </variable>
       
   159           </localVars>
       
   160         </interface>
       
   161         <body>
       
   162           <FBD>
       
   163             <comment localId="296" height="330" width="655">
       
   164               <position x="390" y="10"/>
       
   165               <content>
       
   166                 <xhtml:p><![CDATA[Example shows 
       
   167 - how to use wxGlade extension to create user interface and dynamically extend it using Python, 
       
   168 - how to respond to user actions in PLC program and 
       
   169 - how to use several PLC tasks to handle process of different speeds.
       
   170 
       
   171 Program has two tasks:
       
   172 1. Slow task that communicates with user interface created in wxGlade and updates axes state.
       
   173 2. Main task that drives virtual axes.
       
   174 
       
   175 When power is on, user can control axes.
       
   176 "Draw Logo" buttons starts X, Y, Z axes. "Draw Test" buttons  starts Z and T axes. 
       
   177 User can adjust position of axes using manual keys.
       
   178 
       
   179 
       
   180 Happy hacking!]]></xhtml:p>
       
   181               </content>
       
   182             </comment>
       
   183             <inVariable localId="288" executionOrderId="0" height="30" width="85" negated="false">
       
   184               <position x="35" y="190"/>
       
   185               <connectionPointOut>
       
   186                 <relPosition x="85" y="15"/>
       
   187               </connectionPointOut>
       
   188               <expression>Power_OFF</expression>
       
   189             </inVariable>
       
   190             <inVariable localId="286" executionOrderId="0" height="30" width="85" negated="false">
       
   191               <position x="35" y="155"/>
       
   192               <connectionPointOut>
       
   193                 <relPosition x="85" y="15"/>
       
   194               </connectionPointOut>
       
   195               <expression>Power_ON</expression>
       
   196             </inVariable>
       
   197             <block localId="287" typeName="RS" instanceName="PowerCtrl" executionOrderId="0" height="95" width="55">
       
   198               <position x="190" y="130"/>
       
   199               <inputVariables>
       
   200                 <variable formalParameter="S">
       
   201                   <connectionPointIn>
       
   202                     <relPosition x="0" y="40"/>
       
   203                     <connection refLocalId="286">
       
   204                       <position x="190" y="170"/>
       
   205                       <position x="120" y="170"/>
       
   206                     </connection>
       
   207                   </connectionPointIn>
       
   208                 </variable>
       
   209                 <variable formalParameter="R1">
       
   210                   <connectionPointIn>
       
   211                     <relPosition x="0" y="75"/>
       
   212                     <connection refLocalId="288">
       
   213                       <position x="190" y="205"/>
       
   214                       <position x="120" y="205"/>
       
   215                     </connection>
       
   216                   </connectionPointIn>
       
   217                 </variable>
       
   218               </inputVariables>
       
   219               <inOutVariables/>
       
   220               <outputVariables>
       
   221                 <variable formalParameter="Q1">
       
   222                   <connectionPointOut>
       
   223                     <relPosition x="55" y="40"/>
       
   224                   </connectionPointOut>
       
   225                 </variable>
       
   226               </outputVariables>
       
   227             </block>
       
   228             <outVariable localId="289" executionOrderId="0" height="30" width="50" negated="false">
       
   229               <position x="290" y="155"/>
       
   230               <connectionPointIn>
       
   231                 <relPosition x="0" y="15"/>
       
   232                 <connection refLocalId="287" formalParameter="Q1">
       
   233                   <position x="290" y="170"/>
       
   234                   <position x="241" y="170"/>
       
   235                 </connection>
       
   236               </connectionPointIn>
       
   237               <expression>power</expression>
       
   238             </outVariable>
       
   239             <block localId="297" typeName="axis" instanceName="Xaxis" executionOrderId="0" height="160" width="100">
       
   240               <position x="300" y="770"/>
       
   241               <inputVariables>
       
   242                 <variable formalParameter="Power">
       
   243                   <connectionPointIn>
       
   244                     <relPosition x="0" y="45"/>
       
   245                     <connection refLocalId="1">
       
   246                       <position x="300" y="815"/>
       
   247                       <position x="265" y="815"/>
       
   248                       <position x="265" y="755"/>
       
   249                       <position x="255" y="755"/>
       
   250                     </connection>
       
   251                   </connectionPointIn>
       
   252                 </variable>
       
   253                 <variable formalParameter="Up">
       
   254                   <connectionPointIn>
       
   255                     <relPosition x="0" y="90"/>
       
   256                     <connection refLocalId="301" formalParameter="OUT">
       
   257                       <position x="300" y="860"/>
       
   258                       <position x="277" y="860"/>
       
   259                       <position x="277" y="835"/>
       
   260                       <position x="255" y="835"/>
       
   261                     </connection>
       
   262                   </connectionPointIn>
       
   263                 </variable>
       
   264                 <variable formalParameter="Down">
       
   265                   <connectionPointIn>
       
   266                     <relPosition x="0" y="135"/>
       
   267                     <connection refLocalId="299">
       
   268                       <position x="300" y="905"/>
       
   269                       <position x="110" y="905"/>
       
   270                     </connection>
       
   271                   </connectionPointIn>
       
   272                 </variable>
       
   273               </inputVariables>
       
   274               <inOutVariables/>
       
   275               <outputVariables>
       
   276                 <variable formalParameter="Out">
       
   277                   <connectionPointOut>
       
   278                     <relPosition x="100" y="45"/>
       
   279                   </connectionPointOut>
       
   280                 </variable>
       
   281               </outputVariables>
       
   282             </block>
       
   283             <outVariable localId="298" executionOrderId="0" height="35" width="74" negated="false">
       
   284               <position x="435" y="800"/>
       
   285               <connectionPointIn>
       
   286                 <relPosition x="0" y="15"/>
       
   287                 <connection refLocalId="297" formalParameter="Out">
       
   288                   <position x="435" y="815"/>
       
   289                   <position x="375" y="815"/>
       
   290                   <position x="375" y="815"/>
       
   291                   <position x="416" y="815"/>
       
   292                 </connection>
       
   293               </connectionPointIn>
       
   294               <expression>XaxisPos</expression>
       
   295             </outVariable>
       
   296             <inVariable localId="1" executionOrderId="0" height="30" width="50" negated="false">
       
   297               <position x="205" y="740"/>
       
   298               <connectionPointOut>
       
   299                 <relPosition x="50" y="15"/>
       
   300               </connectionPointOut>
       
   301               <expression>power</expression>
       
   302             </inVariable>
       
   303             <inVariable localId="299" executionOrderId="0" height="35" width="90" negated="false">
       
   304               <position x="25" y="890"/>
       
   305               <connectionPointOut>
       
   306                 <relPosition x="90" y="15"/>
       
   307               </connectionPointOut>
       
   308               <expression>XAxisMinus</expression>
       
   309             </inVariable>
       
   310             <inVariable localId="300" executionOrderId="0" height="35" width="85" negated="false">
       
   311               <position x="25" y="845"/>
       
   312               <connectionPointOut>
       
   313                 <relPosition x="85" y="15"/>
       
   314               </connectionPointOut>
       
   315               <expression>XAxisPlus</expression>
       
   316             </inVariable>
       
   317             <block localId="301" typeName="OR" executionOrderId="0" height="65" width="70">
       
   318               <position x="185" y="805"/>
       
   319               <inputVariables>
       
   320                 <variable formalParameter="IN1">
       
   321                   <connectionPointIn>
       
   322                     <relPosition x="0" y="30"/>
       
   323                     <connection refLocalId="2">
       
   324                       <position x="185" y="835"/>
       
   325                       <position x="162" y="835"/>
       
   326                       <position x="162" y="805"/>
       
   327                       <position x="140" y="805"/>
       
   328                     </connection>
       
   329                   </connectionPointIn>
       
   330                 </variable>
       
   331                 <variable formalParameter="IN2">
       
   332                   <connectionPointIn>
       
   333                     <relPosition x="0" y="55"/>
       
   334                     <connection refLocalId="300">
       
   335                       <position x="185" y="860"/>
       
   336                       <position x="110" y="860"/>
       
   337                     </connection>
       
   338                   </connectionPointIn>
       
   339                 </variable>
       
   340               </inputVariables>
       
   341               <inOutVariables/>
       
   342               <outputVariables>
       
   343                 <variable formalParameter="OUT">
       
   344                   <connectionPointOut>
       
   345                     <relPosition x="70" y="30"/>
       
   346                   </connectionPointOut>
       
   347                 </variable>
       
   348               </outputVariables>
       
   349             </block>
       
   350             <inVariable localId="2" executionOrderId="0" height="35" width="115" negated="false">
       
   351               <position x="25" y="790"/>
       
   352               <connectionPointOut>
       
   353                 <relPosition x="115" y="15"/>
       
   354               </connectionPointOut>
       
   355               <expression>DrawTestDo.Q1</expression>
       
   356             </inVariable>
       
   357             <inVariable localId="3" executionOrderId="0" height="35" width="115" negated="false">
       
   358               <position x="560" y="785"/>
       
   359               <connectionPointOut>
       
   360                 <relPosition x="115" y="15"/>
       
   361               </connectionPointOut>
       
   362               <expression>DrawTestDo.Q1</expression>
       
   363             </inVariable>
       
   364             <inVariable localId="4" executionOrderId="0" height="30" width="50" negated="false">
       
   365               <position x="735" y="735"/>
       
   366               <connectionPointOut>
       
   367                 <relPosition x="50" y="15"/>
       
   368               </connectionPointOut>
       
   369               <expression>power</expression>
       
   370             </inVariable>
       
   371             <block localId="5" typeName="axis" instanceName="Yaxis" executionOrderId="0" height="160" width="100">
       
   372               <position x="830" y="765"/>
       
   373               <inputVariables>
       
   374                 <variable formalParameter="Power">
       
   375                   <connectionPointIn>
       
   376                     <relPosition x="0" y="45"/>
       
   377                     <connection refLocalId="4">
       
   378                       <position x="830" y="810"/>
       
   379                       <position x="815" y="810"/>
       
   380                       <position x="815" y="750"/>
       
   381                       <position x="785" y="750"/>
       
   382                     </connection>
       
   383                   </connectionPointIn>
       
   384                 </variable>
       
   385                 <variable formalParameter="Up">
       
   386                   <connectionPointIn>
       
   387                     <relPosition x="0" y="90"/>
       
   388                     <connection refLocalId="9" formalParameter="OUT">
       
   389                       <position x="830" y="855"/>
       
   390                       <position x="807" y="855"/>
       
   391                       <position x="807" y="830"/>
       
   392                       <position x="785" y="830"/>
       
   393                     </connection>
       
   394                   </connectionPointIn>
       
   395                 </variable>
       
   396                 <variable formalParameter="Down">
       
   397                   <connectionPointIn>
       
   398                     <relPosition x="0" y="135"/>
       
   399                     <connection refLocalId="7">
       
   400                       <position x="830" y="900"/>
       
   401                       <position x="645" y="900"/>
       
   402                     </connection>
       
   403                   </connectionPointIn>
       
   404                 </variable>
       
   405               </inputVariables>
       
   406               <inOutVariables/>
       
   407               <outputVariables>
       
   408                 <variable formalParameter="Out">
       
   409                   <connectionPointOut>
       
   410                     <relPosition x="100" y="45"/>
       
   411                   </connectionPointOut>
       
   412                 </variable>
       
   413               </outputVariables>
       
   414             </block>
       
   415             <outVariable localId="6" executionOrderId="0" height="35" width="74" negated="false">
       
   416               <position x="955" y="795"/>
       
   417               <connectionPointIn>
       
   418                 <relPosition x="0" y="15"/>
       
   419                 <connection refLocalId="5" formalParameter="Out">
       
   420                   <position x="955" y="810"/>
       
   421                   <position x="930" y="810"/>
       
   422                 </connection>
       
   423               </connectionPointIn>
       
   424               <expression>YaxisPos</expression>
       
   425             </outVariable>
       
   426             <inVariable localId="7" executionOrderId="0" height="35" width="90" negated="false">
       
   427               <position x="560" y="885"/>
       
   428               <connectionPointOut>
       
   429                 <relPosition x="90" y="15"/>
       
   430               </connectionPointOut>
       
   431               <expression>YAxisMinus</expression>
       
   432             </inVariable>
       
   433             <inVariable localId="8" executionOrderId="0" height="35" width="85" negated="false">
       
   434               <position x="560" y="840"/>
       
   435               <connectionPointOut>
       
   436                 <relPosition x="85" y="15"/>
       
   437               </connectionPointOut>
       
   438               <expression>YAxisPlus</expression>
       
   439             </inVariable>
       
   440             <block localId="9" typeName="OR" executionOrderId="0" height="65" width="70">
       
   441               <position x="715" y="800"/>
       
   442               <inputVariables>
       
   443                 <variable formalParameter="IN1">
       
   444                   <connectionPointIn>
       
   445                     <relPosition x="0" y="30"/>
       
   446                     <connection refLocalId="3">
       
   447                       <position x="715" y="830"/>
       
   448                       <position x="657" y="830"/>
       
   449                       <position x="657" y="800"/>
       
   450                       <position x="645" y="800"/>
       
   451                     </connection>
       
   452                   </connectionPointIn>
       
   453                 </variable>
       
   454                 <variable formalParameter="IN2">
       
   455                   <connectionPointIn>
       
   456                     <relPosition x="0" y="55"/>
       
   457                     <connection refLocalId="8">
       
   458                       <position x="715" y="855"/>
       
   459                       <position x="645" y="855"/>
       
   460                     </connection>
       
   461                   </connectionPointIn>
       
   462                 </variable>
       
   463               </inputVariables>
       
   464               <inOutVariables/>
       
   465               <outputVariables>
       
   466                 <variable formalParameter="OUT">
       
   467                   <connectionPointOut>
       
   468                     <relPosition x="70" y="30"/>
       
   469                   </connectionPointOut>
       
   470                 </variable>
       
   471               </outputVariables>
       
   472             </block>
       
   473             <inVariable localId="10" executionOrderId="0" height="35" width="115" negated="false">
       
   474               <position x="25" y="1045"/>
       
   475               <connectionPointOut>
       
   476                 <relPosition x="115" y="15"/>
       
   477               </connectionPointOut>
       
   478               <expression>DrawTestDo.Q1</expression>
       
   479             </inVariable>
       
   480             <inVariable localId="11" executionOrderId="0" height="35" width="115" negated="false">
       
   481               <position x="560" y="1025"/>
       
   482               <connectionPointOut>
       
   483                 <relPosition x="115" y="15"/>
       
   484               </connectionPointOut>
       
   485               <expression>DrawLogoDo.Q1</expression>
       
   486             </inVariable>
       
   487             <inVariable localId="12" executionOrderId="0" height="30" width="50" negated="false">
       
   488               <position x="740" y="975"/>
       
   489               <connectionPointOut>
       
   490                 <relPosition x="50" y="15"/>
       
   491               </connectionPointOut>
       
   492               <expression>power</expression>
       
   493             </inVariable>
       
   494             <block localId="13" typeName="axis" instanceName="Taxis" executionOrderId="0" height="160" width="100">
       
   495               <position x="835" y="1005"/>
       
   496               <inputVariables>
       
   497                 <variable formalParameter="Power">
       
   498                   <connectionPointIn>
       
   499                     <relPosition x="0" y="45"/>
       
   500                     <connection refLocalId="12">
       
   501                       <position x="835" y="1050"/>
       
   502                       <position x="820" y="1050"/>
       
   503                       <position x="820" y="990"/>
       
   504                       <position x="790" y="990"/>
       
   505                     </connection>
       
   506                   </connectionPointIn>
       
   507                 </variable>
       
   508                 <variable formalParameter="Up">
       
   509                   <connectionPointIn>
       
   510                     <relPosition x="0" y="90"/>
       
   511                     <connection refLocalId="22" formalParameter="OUT">
       
   512                       <position x="835" y="1095"/>
       
   513                       <position x="812" y="1095"/>
       
   514                       <position x="812" y="1070"/>
       
   515                       <position x="790" y="1070"/>
       
   516                     </connection>
       
   517                   </connectionPointIn>
       
   518                 </variable>
       
   519                 <variable formalParameter="Down">
       
   520                   <connectionPointIn>
       
   521                     <relPosition x="0" y="135"/>
       
   522                     <connection refLocalId="23">
       
   523                       <position x="835" y="1140"/>
       
   524                       <position x="645" y="1140"/>
       
   525                     </connection>
       
   526                   </connectionPointIn>
       
   527                 </variable>
       
   528               </inputVariables>
       
   529               <inOutVariables/>
       
   530               <outputVariables>
       
   531                 <variable formalParameter="Out">
       
   532                   <connectionPointOut>
       
   533                     <relPosition x="100" y="45"/>
       
   534                   </connectionPointOut>
       
   535                 </variable>
       
   536               </outputVariables>
       
   537             </block>
       
   538             <outVariable localId="14" executionOrderId="0" height="35" width="74" negated="false">
       
   539               <position x="960" y="1035"/>
       
   540               <connectionPointIn>
       
   541                 <relPosition x="0" y="15"/>
       
   542                 <connection refLocalId="13" formalParameter="Out">
       
   543                   <position x="960" y="1050"/>
       
   544                   <position x="935" y="1050"/>
       
   545                 </connection>
       
   546               </connectionPointIn>
       
   547               <expression>TaxisPos</expression>
       
   548             </outVariable>
       
   549             <inVariable localId="15" executionOrderId="0" height="30" width="50" negated="false">
       
   550               <position x="200" y="980"/>
       
   551               <connectionPointOut>
       
   552                 <relPosition x="50" y="15"/>
       
   553               </connectionPointOut>
       
   554               <expression>power</expression>
       
   555             </inVariable>
       
   556             <inVariable localId="16" executionOrderId="0" height="35" width="85" negated="false">
       
   557               <position x="560" y="1080"/>
       
   558               <connectionPointOut>
       
   559                 <relPosition x="85" y="15"/>
       
   560               </connectionPointOut>
       
   561               <expression>TAxisPlus</expression>
       
   562             </inVariable>
       
   563             <block localId="17" typeName="axis" instanceName="Zaxis" executionOrderId="0" height="160" width="100">
       
   564               <position x="300" y="1010"/>
       
   565               <inputVariables>
       
   566                 <variable formalParameter="Power">
       
   567                   <connectionPointIn>
       
   568                     <relPosition x="0" y="45"/>
       
   569                     <connection refLocalId="15">
       
   570                       <position x="300" y="1055"/>
       
   571                       <position x="285" y="1055"/>
       
   572                       <position x="285" y="995"/>
       
   573                       <position x="250" y="995"/>
       
   574                     </connection>
       
   575                   </connectionPointIn>
       
   576                 </variable>
       
   577                 <variable formalParameter="Up">
       
   578                   <connectionPointIn>
       
   579                     <relPosition x="0" y="90"/>
       
   580                     <connection refLocalId="21" formalParameter="OUT">
       
   581                       <position x="300" y="1100"/>
       
   582                       <position x="280" y="1100"/>
       
   583                       <position x="280" y="1055"/>
       
   584                       <position x="270" y="1055"/>
       
   585                     </connection>
       
   586                   </connectionPointIn>
       
   587                 </variable>
       
   588                 <variable formalParameter="Down">
       
   589                   <connectionPointIn>
       
   590                     <relPosition x="0" y="135"/>
       
   591                     <connection refLocalId="19">
       
   592                       <position x="300" y="1145"/>
       
   593                       <position x="110" y="1145"/>
       
   594                     </connection>
       
   595                   </connectionPointIn>
       
   596                 </variable>
       
   597               </inputVariables>
       
   598               <inOutVariables/>
       
   599               <outputVariables>
       
   600                 <variable formalParameter="Out">
       
   601                   <connectionPointOut>
       
   602                     <relPosition x="100" y="45"/>
       
   603                   </connectionPointOut>
       
   604                 </variable>
       
   605               </outputVariables>
       
   606             </block>
       
   607             <outVariable localId="18" executionOrderId="0" height="35" width="74" negated="false">
       
   608               <position x="435" y="1040"/>
       
   609               <connectionPointIn>
       
   610                 <relPosition x="0" y="15"/>
       
   611                 <connection refLocalId="17" formalParameter="Out">
       
   612                   <position x="435" y="1055"/>
       
   613                   <position x="400" y="1055"/>
       
   614                 </connection>
       
   615               </connectionPointIn>
       
   616               <expression>ZaxisPos</expression>
       
   617             </outVariable>
       
   618             <inVariable localId="19" executionOrderId="0" height="35" width="90" negated="false">
       
   619               <position x="25" y="1130"/>
       
   620               <connectionPointOut>
       
   621                 <relPosition x="90" y="15"/>
       
   622               </connectionPointOut>
       
   623               <expression>ZAxisMinus</expression>
       
   624             </inVariable>
       
   625             <inVariable localId="20" executionOrderId="0" height="35" width="85" negated="false">
       
   626               <position x="25" y="1090"/>
       
   627               <connectionPointOut>
       
   628                 <relPosition x="85" y="15"/>
       
   629               </connectionPointOut>
       
   630               <expression>ZAxisPlus</expression>
       
   631             </inVariable>
       
   632             <block localId="21" typeName="OR" executionOrderId="0" height="100" width="70">
       
   633               <position x="200" y="1020"/>
       
   634               <inputVariables>
       
   635                 <variable formalParameter="IN1">
       
   636                   <connectionPointIn>
       
   637                     <relPosition x="0" y="35"/>
       
   638                     <connection refLocalId="24">
       
   639                       <position x="200" y="1055"/>
       
   640                       <position x="170" y="1055"/>
       
   641                       <position x="170" y="1015"/>
       
   642                       <position x="140" y="1015"/>
       
   643                     </connection>
       
   644                   </connectionPointIn>
       
   645                 </variable>
       
   646                 <variable formalParameter="IN2">
       
   647                   <connectionPointIn>
       
   648                     <relPosition x="0" y="60"/>
       
   649                     <connection refLocalId="10">
       
   650                       <position x="200" y="1080"/>
       
   651                       <position x="150" y="1080"/>
       
   652                       <position x="150" y="1060"/>
       
   653                       <position x="140" y="1060"/>
       
   654                     </connection>
       
   655                   </connectionPointIn>
       
   656                 </variable>
       
   657                 <variable formalParameter="IN3">
       
   658                   <connectionPointIn>
       
   659                     <relPosition x="0" y="85"/>
       
   660                     <connection refLocalId="20">
       
   661                       <position x="200" y="1105"/>
       
   662                       <position x="110" y="1105"/>
       
   663                     </connection>
       
   664                   </connectionPointIn>
       
   665                 </variable>
       
   666               </inputVariables>
       
   667               <inOutVariables/>
       
   668               <outputVariables>
       
   669                 <variable formalParameter="OUT">
       
   670                   <connectionPointOut>
       
   671                     <relPosition x="70" y="35"/>
       
   672                   </connectionPointOut>
       
   673                 </variable>
       
   674               </outputVariables>
       
   675             </block>
       
   676             <block localId="22" typeName="OR" executionOrderId="0" height="65" width="70">
       
   677               <position x="720" y="1040"/>
       
   678               <inputVariables>
       
   679                 <variable formalParameter="IN1">
       
   680                   <connectionPointIn>
       
   681                     <relPosition x="0" y="30"/>
       
   682                     <connection refLocalId="11">
       
   683                       <position x="720" y="1070"/>
       
   684                       <position x="657" y="1070"/>
       
   685                       <position x="657" y="1040"/>
       
   686                       <position x="645" y="1040"/>
       
   687                     </connection>
       
   688                   </connectionPointIn>
       
   689                 </variable>
       
   690                 <variable formalParameter="IN2">
       
   691                   <connectionPointIn>
       
   692                     <relPosition x="0" y="55"/>
       
   693                     <connection refLocalId="16">
       
   694                       <position x="720" y="1095"/>
       
   695                       <position x="645" y="1095"/>
       
   696                     </connection>
       
   697                   </connectionPointIn>
       
   698                 </variable>
       
   699               </inputVariables>
       
   700               <inOutVariables/>
       
   701               <outputVariables>
       
   702                 <variable formalParameter="OUT">
       
   703                   <connectionPointOut>
       
   704                     <relPosition x="70" y="30"/>
       
   705                   </connectionPointOut>
       
   706                 </variable>
       
   707               </outputVariables>
       
   708             </block>
       
   709             <inVariable localId="23" executionOrderId="0" height="35" width="90" negated="false">
       
   710               <position x="560" y="1125"/>
       
   711               <connectionPointOut>
       
   712                 <relPosition x="90" y="15"/>
       
   713               </connectionPointOut>
       
   714               <expression>TAxisMinus</expression>
       
   715             </inVariable>
       
   716             <inVariable localId="24" executionOrderId="0" height="35" width="115" negated="false">
       
   717               <position x="25" y="1000"/>
       
   718               <connectionPointOut>
       
   719                 <relPosition x="115" y="15"/>
       
   720               </connectionPointOut>
       
   721               <expression>DrawLogoDo.Q1</expression>
       
   722             </inVariable>
       
   723             <inVariable localId="25" executionOrderId="0" height="30" width="85" negated="false">
       
   724               <position x="40" y="450"/>
       
   725               <connectionPointOut>
       
   726                 <relPosition x="85" y="15"/>
       
   727               </connectionPointOut>
       
   728               <expression>DrawTest</expression>
       
   729             </inVariable>
       
   730             <block localId="26" typeName="RS" instanceName="DrawTestDo" executionOrderId="0" height="115" width="55">
       
   731               <position x="280" y="445"/>
       
   732               <inputVariables>
       
   733                 <variable formalParameter="S">
       
   734                   <connectionPointIn>
       
   735                     <relPosition x="0" y="45"/>
       
   736                     <connection refLocalId="28" formalParameter="OUT">
       
   737                       <position x="280" y="490"/>
       
   738                       <position x="255" y="490"/>
       
   739                       <position x="255" y="465"/>
       
   740                       <position x="230" y="465"/>
       
   741                     </connection>
       
   742                   </connectionPointIn>
       
   743                 </variable>
       
   744                 <variable formalParameter="R1">
       
   745                   <connectionPointIn>
       
   746                     <relPosition x="0" y="90"/>
       
   747                     <connection refLocalId="33" formalParameter="OUT">
       
   748                       <position x="280" y="535"/>
       
   749                       <position x="255" y="535"/>
       
   750                       <position x="255" y="560"/>
       
   751                       <position x="230" y="560"/>
       
   752                     </connection>
       
   753                   </connectionPointIn>
       
   754                 </variable>
       
   755               </inputVariables>
       
   756               <inOutVariables/>
       
   757               <outputVariables>
       
   758                 <variable formalParameter="Q1">
       
   759                   <connectionPointOut>
       
   760                     <relPosition x="55" y="45"/>
       
   761                   </connectionPointOut>
       
   762                 </variable>
       
   763               </outputVariables>
       
   764             </block>
       
   765             <inVariable localId="27" executionOrderId="0" height="30" width="85" negated="false">
       
   766               <position x="40" y="545"/>
       
   767               <connectionPointOut>
       
   768                 <relPosition x="85" y="15"/>
       
   769               </connectionPointOut>
       
   770               <expression>Power_OFF</expression>
       
   771             </inVariable>
       
   772             <block localId="28" typeName="OR" executionOrderId="0" height="85" width="70">
       
   773               <position x="160" y="430"/>
       
   774               <inputVariables>
       
   775                 <variable formalParameter="IN1">
       
   776                   <connectionPointIn>
       
   777                     <relPosition x="0" y="35"/>
       
   778                     <connection refLocalId="25">
       
   779                       <position x="160" y="465"/>
       
   780                       <position x="125" y="465"/>
       
   781                     </connection>
       
   782                   </connectionPointIn>
       
   783                 </variable>
       
   784                 <variable formalParameter="IN2">
       
   785                   <connectionPointIn>
       
   786                     <relPosition x="0" y="70"/>
       
   787                     <connection refLocalId="29">
       
   788                       <position x="160" y="500"/>
       
   789                       <position x="135" y="500"/>
       
   790                     </connection>
       
   791                   </connectionPointIn>
       
   792                 </variable>
       
   793               </inputVariables>
       
   794               <inOutVariables/>
       
   795               <outputVariables>
       
   796                 <variable formalParameter="OUT">
       
   797                   <connectionPointOut>
       
   798                     <relPosition x="70" y="35"/>
       
   799                   </connectionPointOut>
       
   800                 </variable>
       
   801               </outputVariables>
       
   802             </block>
       
   803             <inVariable localId="29" executionOrderId="0" height="30" width="98" negated="false">
       
   804               <position x="40" y="485"/>
       
   805               <connectionPointOut>
       
   806                 <relPosition x="98" y="15"/>
       
   807               </connectionPointOut>
       
   808               <expression>DrawTestBtn</expression>
       
   809             </inVariable>
       
   810             <block localId="33" typeName="OR" executionOrderId="0" height="85" width="70">
       
   811               <position x="160" y="525"/>
       
   812               <inputVariables>
       
   813                 <variable formalParameter="IN1">
       
   814                   <connectionPointIn>
       
   815                     <relPosition x="0" y="35"/>
       
   816                     <connection refLocalId="27">
       
   817                       <position x="160" y="560"/>
       
   818                       <position x="125" y="560"/>
       
   819                     </connection>
       
   820                   </connectionPointIn>
       
   821                 </variable>
       
   822                 <variable formalParameter="IN2">
       
   823                   <connectionPointIn>
       
   824                     <relPosition x="0" y="70"/>
       
   825                     <connection refLocalId="35">
       
   826                       <position x="160" y="595"/>
       
   827                       <position x="125" y="595"/>
       
   828                     </connection>
       
   829                   </connectionPointIn>
       
   830                 </variable>
       
   831               </inputVariables>
       
   832               <inOutVariables/>
       
   833               <outputVariables>
       
   834                 <variable formalParameter="OUT">
       
   835                   <connectionPointOut>
       
   836                     <relPosition x="70" y="35"/>
       
   837                   </connectionPointOut>
       
   838                 </variable>
       
   839               </outputVariables>
       
   840             </block>
       
   841             <inVariable localId="35" executionOrderId="0" height="30" width="85" negated="false">
       
   842               <position x="40" y="580"/>
       
   843               <connectionPointOut>
       
   844                 <relPosition x="85" y="15"/>
       
   845               </connectionPointOut>
       
   846               <expression>DrawLogo</expression>
       
   847             </inVariable>
       
   848             <comment localId="36" height="45" width="215">
       
   849               <position x="20" y="670"/>
       
   850               <content>
       
   851                 <xhtml:p><![CDATA[Control virtual axes.]]></xhtml:p>
       
   852               </content>
       
   853             </comment>
       
   854             <inVariable localId="30" executionOrderId="0" height="30" width="85" negated="false">
       
   855               <position x="510" y="475"/>
       
   856               <connectionPointOut>
       
   857                 <relPosition x="85" y="15"/>
       
   858               </connectionPointOut>
       
   859               <expression>DrawLogo</expression>
       
   860             </inVariable>
       
   861             <block localId="31" typeName="RS" instanceName="DrawLogoDo" executionOrderId="0" height="115" width="55">
       
   862               <position x="740" y="445"/>
       
   863               <inputVariables>
       
   864                 <variable formalParameter="S">
       
   865                   <connectionPointIn>
       
   866                     <relPosition x="0" y="45"/>
       
   867                     <connection refLocalId="30">
       
   868                       <position x="740" y="490"/>
       
   869                       <position x="595" y="490"/>
       
   870                     </connection>
       
   871                   </connectionPointIn>
       
   872                 </variable>
       
   873                 <variable formalParameter="R1">
       
   874                   <connectionPointIn>
       
   875                     <relPosition x="0" y="90"/>
       
   876                     <connection refLocalId="39" formalParameter="OUT">
       
   877                       <position x="740" y="535"/>
       
   878                       <position x="715" y="535"/>
       
   879                       <position x="715" y="560"/>
       
   880                       <position x="690" y="560"/>
       
   881                     </connection>
       
   882                   </connectionPointIn>
       
   883                 </variable>
       
   884               </inputVariables>
       
   885               <inOutVariables/>
       
   886               <outputVariables>
       
   887                 <variable formalParameter="Q1">
       
   888                   <connectionPointOut>
       
   889                     <relPosition x="55" y="45"/>
       
   890                   </connectionPointOut>
       
   891                 </variable>
       
   892               </outputVariables>
       
   893             </block>
       
   894             <inVariable localId="32" executionOrderId="0" height="30" width="85" negated="false">
       
   895               <position x="500" y="545"/>
       
   896               <connectionPointOut>
       
   897                 <relPosition x="85" y="15"/>
       
   898               </connectionPointOut>
       
   899               <expression>Power_OFF</expression>
       
   900             </inVariable>
       
   901             <inVariable localId="38" executionOrderId="0" height="30" width="85" negated="false">
       
   902               <position x="500" y="580"/>
       
   903               <connectionPointOut>
       
   904                 <relPosition x="85" y="15"/>
       
   905               </connectionPointOut>
       
   906               <expression>DrawTest</expression>
       
   907             </inVariable>
       
   908             <block localId="39" typeName="OR" executionOrderId="0" height="85" width="70">
       
   909               <position x="620" y="525"/>
       
   910               <inputVariables>
       
   911                 <variable formalParameter="IN1">
       
   912                   <connectionPointIn>
       
   913                     <relPosition x="0" y="35"/>
       
   914                     <connection refLocalId="32">
       
   915                       <position x="620" y="560"/>
       
   916                       <position x="585" y="560"/>
       
   917                     </connection>
       
   918                   </connectionPointIn>
       
   919                 </variable>
       
   920                 <variable formalParameter="IN2">
       
   921                   <connectionPointIn>
       
   922                     <relPosition x="0" y="70"/>
       
   923                     <connection refLocalId="38">
       
   924                       <position x="620" y="595"/>
       
   925                       <position x="585" y="595"/>
       
   926                     </connection>
       
   927                   </connectionPointIn>
       
   928                 </variable>
       
   929               </inputVariables>
       
   930               <inOutVariables/>
       
   931               <outputVariables>
       
   932                 <variable formalParameter="OUT">
       
   933                   <connectionPointOut>
       
   934                     <relPosition x="70" y="35"/>
       
   935                   </connectionPointOut>
       
   936                 </variable>
       
   937               </outputVariables>
       
   938             </block>
       
   939             <comment localId="34" height="45" width="365">
       
   940               <position x="15" y="55"/>
       
   941               <content>
       
   942                 <xhtml:p><![CDATA[Turn on/off power, Power on enables axes control.]]></xhtml:p>
       
   943               </content>
       
   944             </comment>
       
   945             <comment localId="37" height="45" width="550">
       
   946               <position x="35" y="360"/>
       
   947               <content>
       
   948                 <xhtml:p><![CDATA[Only one mode can be selected at any time ("Draw Logo" or "Draw Test").]]></xhtml:p>
       
   949               </content>
       
   950             </comment>
       
   951           </FBD>
       
   952         </body>
       
   953         <documentation>
       
   954           <xhtml:p><![CDATA[]]></xhtml:p>
       
   955         </documentation>
       
   956       </pou>
       
   957       <pou name="ReadGUIdata" pouType="program">
       
   958         <interface>
       
   959           <localVars>
       
   960             <variable name="python_poll0">
       
   961               <type>
       
   962                 <derived name="python_poll"/>
       
   963               </type>
       
   964             </variable>
       
   965           </localVars>
       
   966         </interface>
       
   967         <body>
       
   968           <FBD>
       
   969             <block localId="220" typeName="python_poll" instanceName="python_poll0" executionOrderId="0" height="85" width="104">
       
   970               <position x="338" y="130"/>
       
   971               <inputVariables>
       
   972                 <variable formalParameter="TRIG">
       
   973                   <connectionPointIn>
       
   974                     <relPosition x="0" y="35"/>
       
   975                     <connection refLocalId="221">
       
   976                       <position x="338" y="165"/>
       
   977                       <position x="268" y="165"/>
       
   978                     </connection>
       
   979                   </connectionPointIn>
       
   980                 </variable>
       
   981                 <variable formalParameter="CODE">
       
   982                   <connectionPointIn>
       
   983                     <relPosition x="0" y="70"/>
       
   984                     <connection refLocalId="222">
       
   985                       <position x="338" y="200"/>
       
   986                       <position x="296" y="200"/>
       
   987                     </connection>
       
   988                   </connectionPointIn>
       
   989                 </variable>
       
   990               </inputVariables>
       
   991               <inOutVariables/>
       
   992               <outputVariables>
       
   993                 <variable formalParameter="ACK">
       
   994                   <connectionPointOut>
       
   995                     <relPosition x="104" y="35"/>
       
   996                   </connectionPointOut>
       
   997                 </variable>
       
   998                 <variable formalParameter="RESULT">
       
   999                   <connectionPointOut>
       
  1000                     <relPosition x="104" y="70"/>
       
  1001                   </connectionPointOut>
       
  1002                 </variable>
       
  1003               </outputVariables>
       
  1004             </block>
       
  1005             <inVariable localId="221" executionOrderId="0" height="30" width="93" negated="false">
       
  1006               <position x="175" y="150"/>
       
  1007               <connectionPointOut>
       
  1008                 <relPosition x="93" y="15"/>
       
  1009               </connectionPointOut>
       
  1010               <expression>BOOL#TRUE</expression>
       
  1011             </inVariable>
       
  1012             <inVariable localId="222" executionOrderId="0" height="30" width="186" negated="false">
       
  1013               <position x="110" y="185"/>
       
  1014               <connectionPointOut>
       
  1015                 <relPosition x="186" y="15"/>
       
  1016               </connectionPointOut>
       
  1017               <expression>'wxglade_hmi.UpdPos()'</expression>
       
  1018             </inVariable>
       
  1019             <comment localId="296" height="55" width="445">
       
  1020               <position x="35" y="25"/>
       
  1021               <content>
       
  1022                 <xhtml:p><![CDATA[This is slow PLC task. It just updates state of axes on HMI.]]></xhtml:p>
       
  1023               </content>
       
  1024             </comment>
       
  1025           </FBD>
       
  1026         </body>
       
  1027         <documentation>
       
  1028           <xhtml:p><![CDATA[]]></xhtml:p>
       
  1029         </documentation>
       
  1030       </pou>
       
  1031       <pou name="Declarations" pouType="program">
       
  1032         <interface>
       
  1033           <localVars>
       
  1034             <variable name="InitValue">
       
  1035               <type>
       
  1036                 <DINT/>
       
  1037               </type>
       
  1038               <initialValue>
       
  1039                 <simpleValue value="17"/>
       
  1040               </initialValue>
       
  1041             </variable>
       
  1042             <variable name="NotInitializedVariable">
       
  1043               <type>
       
  1044                 <DINT/>
       
  1045               </type>
       
  1046             </variable>
       
  1047             <variable name="counter">
       
  1048               <type>
       
  1049                 <DINT/>
       
  1050               </type>
       
  1051             </variable>
       
  1052           </localVars>
       
  1053         </interface>
       
  1054         <body>
       
  1055           <FBD>
       
  1056             <inVariable localId="127" executionOrderId="0" height="30" width="82" negated="false">
       
  1057               <position x="60" y="180"/>
       
  1058               <connectionPointOut>
       
  1059                 <relPosition x="82" y="15"/>
       
  1060               </connectionPointOut>
       
  1061               <expression>InitValue</expression>
       
  1062             </inVariable>
       
  1063             <outVariable localId="128" executionOrderId="0" height="30" width="235" negated="false">
       
  1064               <position x="180" y="180"/>
       
  1065               <connectionPointIn>
       
  1066                 <relPosition x="0" y="15"/>
       
  1067                 <connection refLocalId="127">
       
  1068                   <position x="180" y="195"/>
       
  1069                   <position x="142" y="195"/>
       
  1070                 </connection>
       
  1071               </connectionPointIn>
       
  1072               <expression>NotInitializedVariable</expression>
       
  1073             </outVariable>
       
  1074             <comment localId="129" height="90" width="395">
       
  1075               <position x="65" y="40"/>
       
  1076               <content>
       
  1077                 <xhtml:p><![CDATA[This program called only once at start.
       
  1078 See task configuration in config.resource1.]]></xhtml:p>
       
  1079               </content>
       
  1080             </comment>
       
  1081             <block localId="131" typeName="ADD" executionOrderId="0" height="95" width="70">
       
  1082               <position x="160" y="340"/>
       
  1083               <inputVariables>
       
  1084                 <variable formalParameter="IN1">
       
  1085                   <connectionPointIn>
       
  1086                     <relPosition x="0" y="40"/>
       
  1087                     <connection refLocalId="130">
       
  1088                       <position x="160" y="380"/>
       
  1089                       <position x="125" y="380"/>
       
  1090                       <position x="125" y="325"/>
       
  1091                       <position x="380" y="325"/>
       
  1092                       <position x="380" y="380"/>
       
  1093                       <position x="365" y="380"/>
       
  1094                     </connection>
       
  1095                   </connectionPointIn>
       
  1096                 </variable>
       
  1097                 <variable formalParameter="IN2">
       
  1098                   <connectionPointIn>
       
  1099                     <relPosition x="0" y="75"/>
       
  1100                     <connection refLocalId="1">
       
  1101                       <position x="160" y="415"/>
       
  1102                       <position x="120" y="415"/>
       
  1103                     </connection>
       
  1104                   </connectionPointIn>
       
  1105                 </variable>
       
  1106               </inputVariables>
       
  1107               <inOutVariables/>
       
  1108               <outputVariables>
       
  1109                 <variable formalParameter="OUT">
       
  1110                   <connectionPointOut>
       
  1111                     <relPosition x="70" y="40"/>
       
  1112                   </connectionPointOut>
       
  1113                 </variable>
       
  1114               </outputVariables>
       
  1115             </block>
       
  1116             <inVariable localId="1" executionOrderId="0" height="35" width="60" negated="false">
       
  1117               <position x="60" y="400"/>
       
  1118               <connectionPointOut>
       
  1119                 <relPosition x="60" y="15"/>
       
  1120               </connectionPointOut>
       
  1121               <expression>1</expression>
       
  1122             </inVariable>
       
  1123             <inOutVariable localId="130" executionOrderId="0" height="35" width="90" negatedOut="false" negatedIn="false">
       
  1124               <position x="275" y="365"/>
       
  1125               <connectionPointIn>
       
  1126                 <relPosition x="0" y="15"/>
       
  1127                 <connection refLocalId="131" formalParameter="OUT">
       
  1128                   <position x="275" y="380"/>
       
  1129                   <position x="230" y="380"/>
       
  1130                 </connection>
       
  1131               </connectionPointIn>
       
  1132               <connectionPointOut>
       
  1133                 <relPosition x="90" y="15"/>
       
  1134               </connectionPointOut>
       
  1135               <expression>counter</expression>
       
  1136             </inOutVariable>
       
  1137             <comment localId="2" height="75" width="390">
       
  1138               <position x="70" y="240"/>
       
  1139               <content>
       
  1140                 <xhtml:p><![CDATA[Counts how many times the program is called.
       
  1141 Check counter value in debugger.]]></xhtml:p>
       
  1142               </content>
       
  1143             </comment>
       
  1144           </FBD>
       
  1145         </body>
       
  1146         <documentation>
       
  1147           <xhtml:p><![CDATA[]]></xhtml:p>
       
  1148         </documentation>
       
  1149       </pou>
       
  1150       <pou name="clock" pouType="functionBlock">
       
  1151         <interface>
       
  1152           <localVars>
       
  1153             <variable name="TimerOn">
       
  1154               <type>
       
  1155                 <derived name="TON"/>
       
  1156               </type>
       
  1157             </variable>
       
  1158           </localVars>
       
  1159           <outputVars>
       
  1160             <variable name="Out">
       
  1161               <type>
       
  1162                 <BOOL/>
       
  1163               </type>
       
  1164             </variable>
       
  1165           </outputVars>
       
  1166           <inputVars>
       
  1167             <variable name="Period">
       
  1168               <type>
       
  1169                 <TIME/>
       
  1170               </type>
       
  1171               <initialValue>
       
  1172                 <simpleValue value="T#3s"/>
       
  1173               </initialValue>
       
  1174             </variable>
       
  1175           </inputVars>
       
  1176           <localVars>
       
  1177             <variable name="TimerOff">
       
  1178               <type>
       
  1179                 <derived name="TON"/>
       
  1180               </type>
       
  1181             </variable>
       
  1182           </localVars>
       
  1183         </interface>
       
  1184         <body>
       
  1185           <FBD>
       
  1186             <block localId="14" typeName="TON" instanceName="TimerOn" executionOrderId="0" height="100" width="50">
       
  1187               <position x="260" y="70"/>
       
  1188               <inputVariables>
       
  1189                 <variable formalParameter="IN">
       
  1190                   <connectionPointIn>
       
  1191                     <relPosition x="0" y="40"/>
       
  1192                     <connection refLocalId="2" formalParameter="Q">
       
  1193                       <position x="260" y="110"/>
       
  1194                       <position x="225" y="110"/>
       
  1195                       <position x="225" y="10"/>
       
  1196                       <position x="550" y="10"/>
       
  1197                       <position x="550" y="110"/>
       
  1198                       <position x="510" y="110"/>
       
  1199                     </connection>
       
  1200                   </connectionPointIn>
       
  1201                 </variable>
       
  1202                 <variable formalParameter="PT">
       
  1203                   <connectionPointIn>
       
  1204                     <relPosition x="0" y="80"/>
       
  1205                     <connection refLocalId="16" formalParameter="OUT">
       
  1206                       <position x="260" y="150"/>
       
  1207                       <position x="225" y="150"/>
       
  1208                       <position x="225" y="255"/>
       
  1209                       <position x="190" y="255"/>
       
  1210                     </connection>
       
  1211                   </connectionPointIn>
       
  1212                 </variable>
       
  1213               </inputVariables>
       
  1214               <inOutVariables/>
       
  1215               <outputVariables>
       
  1216                 <variable formalParameter="Q">
       
  1217                   <connectionPointOut>
       
  1218                     <relPosition x="50" y="40"/>
       
  1219                   </connectionPointOut>
       
  1220                 </variable>
       
  1221                 <variable formalParameter="ET">
       
  1222                   <connectionPointOut>
       
  1223                     <relPosition x="50" y="80"/>
       
  1224                   </connectionPointOut>
       
  1225                 </variable>
       
  1226               </outputVariables>
       
  1227             </block>
       
  1228             <block localId="2" typeName="TON" instanceName="TimerOff" executionOrderId="0" height="100" width="50">
       
  1229               <position x="460" y="70"/>
       
  1230               <inputVariables>
       
  1231                 <variable formalParameter="IN">
       
  1232                   <connectionPointIn>
       
  1233                     <relPosition x="0" y="40"/>
       
  1234                     <connection refLocalId="14" formalParameter="Q">
       
  1235                       <position x="460" y="110"/>
       
  1236                       <position x="310" y="110"/>
       
  1237                     </connection>
       
  1238                   </connectionPointIn>
       
  1239                 </variable>
       
  1240                 <variable formalParameter="PT">
       
  1241                   <connectionPointIn>
       
  1242                     <relPosition x="0" y="80"/>
       
  1243                     <connection refLocalId="16" formalParameter="OUT">
       
  1244                       <position x="460" y="150"/>
       
  1245                       <position x="350" y="150"/>
       
  1246                       <position x="350" y="255"/>
       
  1247                       <position x="190" y="255"/>
       
  1248                     </connection>
       
  1249                   </connectionPointIn>
       
  1250                 </variable>
       
  1251               </inputVariables>
       
  1252               <inOutVariables/>
       
  1253               <outputVariables>
       
  1254                 <variable formalParameter="Q" negated="true">
       
  1255                   <connectionPointOut>
       
  1256                     <relPosition x="50" y="40"/>
       
  1257                   </connectionPointOut>
       
  1258                 </variable>
       
  1259                 <variable formalParameter="ET">
       
  1260                   <connectionPointOut>
       
  1261                     <relPosition x="50" y="80"/>
       
  1262                   </connectionPointOut>
       
  1263                 </variable>
       
  1264               </outputVariables>
       
  1265             </block>
       
  1266             <outVariable localId="15" executionOrderId="0" height="35" width="35" negated="false">
       
  1267               <position x="365" y="25"/>
       
  1268               <connectionPointIn>
       
  1269                 <relPosition x="0" y="15"/>
       
  1270                 <connection refLocalId="14" formalParameter="Q">
       
  1271                   <position x="365" y="40"/>
       
  1272                   <position x="340" y="40"/>
       
  1273                   <position x="340" y="110"/>
       
  1274                   <position x="310" y="110"/>
       
  1275                 </connection>
       
  1276               </connectionPointIn>
       
  1277               <expression>Out</expression>
       
  1278             </outVariable>
       
  1279             <block localId="16" typeName="DIV" executionOrderId="0" height="95" width="70">
       
  1280               <position x="120" y="215"/>
       
  1281               <inputVariables>
       
  1282                 <variable formalParameter="IN1">
       
  1283                   <connectionPointIn>
       
  1284                     <relPosition x="0" y="40"/>
       
  1285                     <connection refLocalId="1">
       
  1286                       <position x="120" y="255"/>
       
  1287                       <position x="78" y="255"/>
       
  1288                     </connection>
       
  1289                   </connectionPointIn>
       
  1290                 </variable>
       
  1291                 <variable formalParameter="IN2">
       
  1292                   <connectionPointIn>
       
  1293                     <relPosition x="0" y="75"/>
       
  1294                     <connection refLocalId="4">
       
  1295                       <position x="120" y="290"/>
       
  1296                       <position x="75" y="290"/>
       
  1297                     </connection>
       
  1298                   </connectionPointIn>
       
  1299                 </variable>
       
  1300               </inputVariables>
       
  1301               <inOutVariables/>
       
  1302               <outputVariables>
       
  1303                 <variable formalParameter="OUT">
       
  1304                   <connectionPointOut>
       
  1305                     <relPosition x="70" y="40"/>
       
  1306                   </connectionPointOut>
       
  1307                 </variable>
       
  1308               </outputVariables>
       
  1309             </block>
       
  1310             <inVariable localId="1" executionOrderId="0" height="30" width="58" negated="false">
       
  1311               <position x="20" y="240"/>
       
  1312               <connectionPointOut>
       
  1313                 <relPosition x="58" y="15"/>
       
  1314               </connectionPointOut>
       
  1315               <expression>Period</expression>
       
  1316             </inVariable>
       
  1317             <inVariable localId="4" executionOrderId="0" height="30" width="55" negated="false">
       
  1318               <position x="20" y="275"/>
       
  1319               <connectionPointOut>
       
  1320                 <relPosition x="55" y="15"/>
       
  1321               </connectionPointOut>
       
  1322               <expression>2</expression>
       
  1323             </inVariable>
       
  1324           </FBD>
       
  1325         </body>
       
  1326       </pou>
       
  1327       <pou name="axis" pouType="functionBlock">
       
  1328         <interface>
       
  1329           <inputVars>
       
  1330             <variable name="Power">
       
  1331               <type>
       
  1332                 <BOOL/>
       
  1333               </type>
       
  1334             </variable>
       
  1335             <variable name="Up">
       
  1336               <type>
       
  1337                 <BOOL/>
       
  1338               </type>
       
  1339             </variable>
       
  1340             <variable name="Down">
       
  1341               <type>
       
  1342                 <BOOL/>
       
  1343               </type>
       
  1344             </variable>
       
  1345           </inputVars>
       
  1346           <outputVars>
       
  1347             <variable name="Out">
       
  1348               <type>
       
  1349                 <INT/>
       
  1350               </type>
       
  1351             </variable>
       
  1352           </outputVars>
       
  1353           <localVars>
       
  1354             <variable name="axis_conuter">
       
  1355               <type>
       
  1356                 <derived name="CTUD"/>
       
  1357               </type>
       
  1358             </variable>
       
  1359             <variable name="clock0">
       
  1360               <type>
       
  1361                 <derived name="clock"/>
       
  1362               </type>
       
  1363             </variable>
       
  1364           </localVars>
       
  1365         </interface>
       
  1366         <body>
       
  1367           <FBD>
       
  1368             <block localId="297" typeName="CTUD" instanceName="axis_conuter" executionOrderId="0" height="310" width="70">
       
  1369               <position x="645" y="30"/>
       
  1370               <inputVariables>
       
  1371                 <variable formalParameter="CU" edge="rising">
       
  1372                   <connectionPointIn>
       
  1373                     <relPosition x="0" y="50"/>
       
  1374                     <connection refLocalId="303" formalParameter="OUT">
       
  1375                       <position x="645" y="80"/>
       
  1376                       <position x="580" y="80"/>
       
  1377                     </connection>
       
  1378                   </connectionPointIn>
       
  1379                 </variable>
       
  1380                 <variable formalParameter="CD" edge="rising">
       
  1381                   <connectionPointIn>
       
  1382                     <relPosition x="0" y="105"/>
       
  1383                     <connection refLocalId="2" formalParameter="OUT">
       
  1384                       <position x="645" y="135"/>
       
  1385                       <position x="612" y="135"/>
       
  1386                       <position x="612" y="150"/>
       
  1387                       <position x="580" y="150"/>
       
  1388                     </connection>
       
  1389                   </connectionPointIn>
       
  1390                 </variable>
       
  1391                 <variable formalParameter="R">
       
  1392                   <connectionPointIn>
       
  1393                     <relPosition x="0" y="165"/>
       
  1394                   </connectionPointIn>
       
  1395                 </variable>
       
  1396                 <variable formalParameter="LD">
       
  1397                   <connectionPointIn>
       
  1398                     <relPosition x="0" y="225"/>
       
  1399                   </connectionPointIn>
       
  1400                 </variable>
       
  1401                 <variable formalParameter="PV">
       
  1402                   <connectionPointIn>
       
  1403                     <relPosition x="0" y="280"/>
       
  1404                     <connection refLocalId="3">
       
  1405                       <position x="645" y="310"/>
       
  1406                       <position x="610" y="310"/>
       
  1407                     </connection>
       
  1408                   </connectionPointIn>
       
  1409                 </variable>
       
  1410               </inputVariables>
       
  1411               <inOutVariables/>
       
  1412               <outputVariables>
       
  1413                 <variable formalParameter="QU">
       
  1414                   <connectionPointOut>
       
  1415                     <relPosition x="70" y="50"/>
       
  1416                   </connectionPointOut>
       
  1417                 </variable>
       
  1418                 <variable formalParameter="QD">
       
  1419                   <connectionPointOut>
       
  1420                     <relPosition x="70" y="105"/>
       
  1421                   </connectionPointOut>
       
  1422                 </variable>
       
  1423                 <variable formalParameter="CV">
       
  1424                   <connectionPointOut>
       
  1425                     <relPosition x="70" y="165"/>
       
  1426                   </connectionPointOut>
       
  1427                 </variable>
       
  1428                 <variable formalParameter="CD_T">
       
  1429                   <connectionPointOut>
       
  1430                     <relPosition x="70" y="225"/>
       
  1431                   </connectionPointOut>
       
  1432                 </variable>
       
  1433                 <variable formalParameter="CU_T">
       
  1434                   <connectionPointOut>
       
  1435                     <relPosition x="70" y="280"/>
       
  1436                   </connectionPointOut>
       
  1437                 </variable>
       
  1438               </outputVariables>
       
  1439             </block>
       
  1440             <outVariable localId="298" executionOrderId="0" height="35" width="35" negated="false">
       
  1441               <position x="750" y="180"/>
       
  1442               <connectionPointIn>
       
  1443                 <relPosition x="0" y="15"/>
       
  1444                 <connection refLocalId="297" formalParameter="CV">
       
  1445                   <position x="750" y="195"/>
       
  1446                   <position x="715" y="195"/>
       
  1447                 </connection>
       
  1448               </connectionPointIn>
       
  1449               <expression>Out</expression>
       
  1450             </outVariable>
       
  1451             <block localId="299" typeName="clock" instanceName="clock0" executionOrderId="0" height="70" width="87">
       
  1452               <position x="165" y="270"/>
       
  1453               <inputVariables>
       
  1454                 <variable formalParameter="Period">
       
  1455                   <connectionPointIn>
       
  1456                     <relPosition x="0" y="45"/>
       
  1457                     <connection refLocalId="1">
       
  1458                       <position x="165" y="315"/>
       
  1459                       <position x="110" y="315"/>
       
  1460                     </connection>
       
  1461                   </connectionPointIn>
       
  1462                 </variable>
       
  1463               </inputVariables>
       
  1464               <inOutVariables/>
       
  1465               <outputVariables>
       
  1466                 <variable formalParameter="Out">
       
  1467                   <connectionPointOut>
       
  1468                     <relPosition x="87" y="45"/>
       
  1469                   </connectionPointOut>
       
  1470                 </variable>
       
  1471               </outputVariables>
       
  1472             </block>
       
  1473             <inVariable localId="300" executionOrderId="0" height="35" width="55" negated="false">
       
  1474               <position x="35" y="205"/>
       
  1475               <connectionPointOut>
       
  1476                 <relPosition x="55" y="15"/>
       
  1477               </connectionPointOut>
       
  1478               <expression>Power</expression>
       
  1479             </inVariable>
       
  1480             <inVariable localId="1" executionOrderId="0" height="35" width="75" negated="false">
       
  1481               <position x="35" y="300"/>
       
  1482               <connectionPointOut>
       
  1483                 <relPosition x="75" y="15"/>
       
  1484               </connectionPointOut>
       
  1485               <expression>T#100ms</expression>
       
  1486             </inVariable>
       
  1487             <inVariable localId="301" executionOrderId="0" height="35" width="55" negated="false">
       
  1488               <position x="340" y="85"/>
       
  1489               <connectionPointOut>
       
  1490                 <relPosition x="55" y="15"/>
       
  1491               </connectionPointOut>
       
  1492               <expression>Up</expression>
       
  1493             </inVariable>
       
  1494             <inVariable localId="302" executionOrderId="0" height="35" width="50" negated="false">
       
  1495               <position x="340" y="155"/>
       
  1496               <connectionPointOut>
       
  1497                 <relPosition x="50" y="15"/>
       
  1498               </connectionPointOut>
       
  1499               <expression>Down</expression>
       
  1500             </inVariable>
       
  1501             <block localId="303" typeName="AND" executionOrderId="0" height="60" width="110">
       
  1502               <position x="470" y="50"/>
       
  1503               <inputVariables>
       
  1504                 <variable formalParameter="IN1">
       
  1505                   <connectionPointIn>
       
  1506                     <relPosition x="0" y="30"/>
       
  1507                     <connection refLocalId="4" formalParameter="OUT">
       
  1508                       <position x="470" y="80"/>
       
  1509                       <position x="432" y="80"/>
       
  1510                       <position x="432" y="275"/>
       
  1511                       <position x="395" y="275"/>
       
  1512                     </connection>
       
  1513                   </connectionPointIn>
       
  1514                 </variable>
       
  1515                 <variable formalParameter="IN2">
       
  1516                   <connectionPointIn>
       
  1517                     <relPosition x="0" y="50"/>
       
  1518                     <connection refLocalId="301">
       
  1519                       <position x="470" y="100"/>
       
  1520                       <position x="395" y="100"/>
       
  1521                     </connection>
       
  1522                   </connectionPointIn>
       
  1523                 </variable>
       
  1524               </inputVariables>
       
  1525               <inOutVariables/>
       
  1526               <outputVariables>
       
  1527                 <variable formalParameter="OUT">
       
  1528                   <connectionPointOut>
       
  1529                     <relPosition x="110" y="30"/>
       
  1530                   </connectionPointOut>
       
  1531                 </variable>
       
  1532               </outputVariables>
       
  1533             </block>
       
  1534             <block localId="2" typeName="AND" executionOrderId="0" height="60" width="110">
       
  1535               <position x="470" y="120"/>
       
  1536               <inputVariables>
       
  1537                 <variable formalParameter="IN1">
       
  1538                   <connectionPointIn>
       
  1539                     <relPosition x="0" y="30"/>
       
  1540                     <connection refLocalId="4" formalParameter="OUT">
       
  1541                       <position x="470" y="150"/>
       
  1542                       <position x="432" y="150"/>
       
  1543                       <position x="432" y="275"/>
       
  1544                       <position x="395" y="275"/>
       
  1545                     </connection>
       
  1546                   </connectionPointIn>
       
  1547                 </variable>
       
  1548                 <variable formalParameter="IN2">
       
  1549                   <connectionPointIn>
       
  1550                     <relPosition x="0" y="50"/>
       
  1551                     <connection refLocalId="302">
       
  1552                       <position x="470" y="170"/>
       
  1553                       <position x="390" y="170"/>
       
  1554                     </connection>
       
  1555                   </connectionPointIn>
       
  1556                 </variable>
       
  1557               </inputVariables>
       
  1558               <inOutVariables/>
       
  1559               <outputVariables>
       
  1560                 <variable formalParameter="OUT">
       
  1561                   <connectionPointOut>
       
  1562                     <relPosition x="110" y="30"/>
       
  1563                   </connectionPointOut>
       
  1564                 </variable>
       
  1565               </outputVariables>
       
  1566             </block>
       
  1567             <inVariable localId="3" executionOrderId="0" height="35" width="85" negated="false">
       
  1568               <position x="525" y="295"/>
       
  1569               <connectionPointOut>
       
  1570                 <relPosition x="85" y="15"/>
       
  1571               </connectionPointOut>
       
  1572               <expression>INT#32767</expression>
       
  1573             </inVariable>
       
  1574             <block localId="4" typeName="AND" executionOrderId="0" height="100" width="110">
       
  1575               <position x="285" y="235"/>
       
  1576               <inputVariables>
       
  1577                 <variable formalParameter="IN1">
       
  1578                   <connectionPointIn>
       
  1579                     <relPosition x="0" y="40"/>
       
  1580                     <connection refLocalId="300">
       
  1581                       <position x="285" y="275"/>
       
  1582                       <position x="265" y="275"/>
       
  1583                       <position x="265" y="220"/>
       
  1584                       <position x="90" y="220"/>
       
  1585                     </connection>
       
  1586                   </connectionPointIn>
       
  1587                 </variable>
       
  1588                 <variable formalParameter="IN2">
       
  1589                   <connectionPointIn>
       
  1590                     <relPosition x="0" y="80"/>
       
  1591                     <connection refLocalId="299" formalParameter="Out">
       
  1592                       <position x="285" y="315"/>
       
  1593                       <position x="250" y="315"/>
       
  1594                     </connection>
       
  1595                   </connectionPointIn>
       
  1596                 </variable>
       
  1597               </inputVariables>
       
  1598               <inOutVariables/>
       
  1599               <outputVariables>
       
  1600                 <variable formalParameter="OUT">
       
  1601                   <connectionPointOut>
       
  1602                     <relPosition x="110" y="40"/>
       
  1603                   </connectionPointOut>
       
  1604                 </variable>
       
  1605               </outputVariables>
       
  1606             </block>
       
  1607           </FBD>
       
  1608         </body>
       
  1609       </pou>
       
  1610     </pous>
       
  1611   </types>
       
  1612   <instances>
       
  1613     <configurations>
       
  1614       <configuration name="config">
       
  1615         <resource name="resource1">
       
  1616           <task name="InitOneShot" priority="0" single="Initialize">
       
  1617             <pouInstance name="Initializer" typeName="Declarations"/>
       
  1618           </task>
       
  1619           <task name="ControlTask" priority="1" interval="T#2ms">
       
  1620             <pouInstance name="MainInstance" typeName="main"/>
       
  1621           </task>
       
  1622           <task name="GUIupdate" priority="0" interval="T#200ms">
       
  1623             <pouInstance name="PosReader" typeName="ReadGUIdata"/>
       
  1624           </task>
       
  1625           <globalVars>
       
  1626             <variable name="Initialize">
       
  1627               <type>
       
  1628                 <BOOL/>
       
  1629               </type>
       
  1630               <initialValue>
       
  1631                 <simpleValue value="TRUE"/>
       
  1632               </initialValue>
       
  1633             </variable>
       
  1634           </globalVars>
       
  1635         </resource>
       
  1636       </configuration>
       
  1637     </configurations>
       
  1638   </instances>
       
  1639 </project>