tests/python/plc.xml
changeset 1541 9be98ccfed97
parent 1457 ff7cfce737ca
child 2296 a2ab363f9e90
equal deleted inserted replaced
1540:cf1df00e6f86 1541:9be98ccfed97
     1 <?xml version='1.0' encoding='utf-8'?>
     1 <?xml version='1.0' encoding='utf-8'?>
     2 <project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
     2 <project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
     3   <fileHeader companyName="" productName="Beremiz" productVersion="0.0" creationDateTime="2008-12-14T16:21:19"/>
     3   <fileHeader companyName="" productName="Beremiz" productVersion="0.0" creationDateTime="2008-12-14T16:21:19" contentDescription="This example shows many features in Beremiz:&#10;&#10;   1. How to implement python extensions.&#10;   2. How to implement basic C extension.&#10;   3. How to use C code in IEC POUs.&#10;   4. How to call C functions from python code.&#10;   5. How to avoid race conditions between IEC, C and python code.&#10;   6. How to convert betweet different IEC types.&#10;"/>
     4   <contentHeader name="Beremiz Python Support Tests" modificationDateTime="2015-03-13T22:06:10">
     4   <contentHeader name="Beremiz Python Support Tests" modificationDateTime="2016-10-12T14:15:35">
     5     <coordinateInfo>
     5     <coordinateInfo>
     6       <pageSize x="1024" y="1024"/>
     6       <pageSize x="1024" y="1024"/>
     7       <fbd>
     7       <fbd>
     8         <scaling x="5" y="5"/>
     8         <scaling x="5" y="5"/>
     9       </fbd>
     9       </fbd>
    52     </dataTypes>
    52     </dataTypes>
    53     <pous>
    53     <pous>
    54       <pou name="main_pytest" pouType="program">
    54       <pou name="main_pytest" pouType="program">
    55         <interface>
    55         <interface>
    56           <localVars>
    56           <localVars>
       
    57             <variable name="mux1_sel">
       
    58               <type>
       
    59                 <INT/>
       
    60               </type>
       
    61               <initialValue>
       
    62                 <simpleValue value="3"/>
       
    63               </initialValue>
       
    64             </variable>
       
    65             <variable name="mux2_sel">
       
    66               <type>
       
    67                 <INT/>
       
    68               </type>
       
    69               <initialValue>
       
    70                 <simpleValue value="3"/>
       
    71               </initialValue>
       
    72             </variable>
    57             <variable name="pytest_var1">
    73             <variable name="pytest_var1">
    58               <type>
    74               <type>
    59                 <string/>
    75                 <string/>
    60               </type>
    76               </type>
    61             </variable>
    77             </variable>
   126             <variable name="Test_BCD">
   142             <variable name="Test_BCD">
   127               <type>
   143               <type>
   128                 <WORD/>
   144                 <WORD/>
   129               </type>
   145               </type>
   130               <initialValue>
   146               <initialValue>
   131                 <simpleValue value="300"/>
   147                 <simpleValue value="151"/>
   132               </initialValue>
   148               </initialValue>
   133             </variable>
   149             </variable>
       
   150             <variable name="Test_BCD_WRONG">
       
   151               <type>
       
   152                 <WORD/>
       
   153               </type>
       
   154               <initialValue>
       
   155                 <simpleValue value="154"/>
       
   156               </initialValue>
       
   157             </variable>
       
   158             <variable name="Test_BCD_CONVERTED">
       
   159               <type>
       
   160                 <BOOL/>
       
   161               </type>
       
   162             </variable>
   134             <variable name="Test_BCD_RESULT">
   163             <variable name="Test_BCD_RESULT">
   135               <type>
   164               <type>
   136                 <UINT/>
   165                 <UINT/>
   137               </type>
   166               </type>
   138             </variable>
   167             </variable>
   139             <variable name="Test_BCD_ENO">
   168             <variable name="Test_BCD_WRONG_RESULT">
   140               <type>
   169               <type>
   141                 <BOOL/>
   170                 <UINT/>
   142               </type>
   171               </type>
   143             </variable>
   172             </variable>
   144             <variable name="Test_DT">
   173             <variable name="Test_DT">
   145               <type>
   174               <type>
   146                 <DT/>
   175                 <DT/>
   206             </variable>
   235             </variable>
   207           </externalVars>
   236           </externalVars>
   208         </interface>
   237         </interface>
   209         <body>
   238         <body>
   210           <FBD>
   239           <FBD>
   211             <inVariable localId="4" height="30" width="160">
   240             <inVariable localId="4" height="30" width="160" executionOrderId="0" negated="false">
   212               <position x="295" y="230"/>
   241               <position x="295" y="450"/>
   213               <connectionPointOut>
   242               <connectionPointOut>
   214                 <relPosition x="160" y="15"/>
   243                 <relPosition x="160" y="15"/>
   215               </connectionPointOut>
   244               </connectionPointOut>
   216               <expression>'time.sleep(1)'</expression>
   245               <expression>'time.sleep(1)'</expression>
   217             </inVariable>
   246             </inVariable>
   218             <block localId="5" width="125" height="80" typeName="python_eval" instanceName="py1">
   247             <block localId="5" width="125" height="80" typeName="python_eval" instanceName="py1" executionOrderId="0">
   219               <position x="650" y="180"/>
   248               <position x="650" y="400"/>
   220               <inputVariables>
   249               <inputVariables>
   221                 <variable formalParameter="TRIG">
   250                 <variable formalParameter="TRIG">
   222                   <connectionPointIn>
   251                   <connectionPointIn>
   223                     <relPosition x="0" y="35"/>
   252                     <relPosition x="0" y="35"/>
   224                     <connection refLocalId="7" formalParameter="OUT">
   253                     <connection refLocalId="7" formalParameter="OUT">
   225                       <position x="650" y="215"/>
   254                       <position x="650" y="435"/>
   226                       <position x="285" y="215"/>
   255                       <position x="285" y="435"/>
   227                       <position x="285" y="260"/>
   256                       <position x="285" y="480"/>
   228                       <position x="250" y="260"/>
   257                       <position x="250" y="480"/>
   229                     </connection>
   258                     </connection>
   230                   </connectionPointIn>
   259                   </connectionPointIn>
   231                 </variable>
   260                 </variable>
   232                 <variable formalParameter="CODE">
   261                 <variable formalParameter="CODE">
   233                   <connectionPointIn>
   262                   <connectionPointIn>
   234                     <relPosition x="0" y="65"/>
   263                     <relPosition x="0" y="65"/>
   235                     <connection refLocalId="4">
   264                     <connection refLocalId="4">
   236                       <position x="650" y="245"/>
   265                       <position x="650" y="465"/>
   237                       <position x="455" y="245"/>
   266                       <position x="455" y="465"/>
   238                     </connection>
   267                     </connection>
   239                   </connectionPointIn>
   268                   </connectionPointIn>
   240                 </variable>
   269                 </variable>
   241               </inputVariables>
   270               </inputVariables>
   242               <inOutVariables/>
   271               <inOutVariables/>
   251                     <relPosition x="125" y="65"/>
   280                     <relPosition x="125" y="65"/>
   252                   </connectionPointOut>
   281                   </connectionPointOut>
   253                 </variable>
   282                 </variable>
   254               </outputVariables>
   283               </outputVariables>
   255             </block>
   284             </block>
   256             <block localId="7" width="70" height="45" typeName="NOT">
   285             <block localId="7" width="70" height="45" typeName="NOT" executionOrderId="0">
   257               <position x="180" y="230"/>
   286               <position x="180" y="450"/>
   258               <inputVariables>
   287               <inputVariables>
   259                 <variable formalParameter="IN">
   288                 <variable formalParameter="IN">
   260                   <connectionPointIn>
   289                   <connectionPointIn>
   261                     <relPosition x="0" y="30"/>
   290                     <relPosition x="0" y="30"/>
   262                     <connection refLocalId="3">
   291                     <connection refLocalId="3">
   263                       <position x="180" y="260"/>
   292                       <position x="180" y="480"/>
   264                       <position x="155" y="260"/>
   293                       <position x="155" y="480"/>
   265                     </connection>
   294                     </connection>
   266                   </connectionPointIn>
   295                   </connectionPointIn>
   267                 </variable>
   296                 </variable>
   268               </inputVariables>
   297               </inputVariables>
   269               <inOutVariables/>
   298               <inOutVariables/>
   273                     <relPosition x="70" y="30"/>
   302                     <relPosition x="70" y="30"/>
   274                   </connectionPointOut>
   303                   </connectionPointOut>
   275                 </variable>
   304                 </variable>
   276               </outputVariables>
   305               </outputVariables>
   277             </block>
   306             </block>
   278             <inOutVariable localId="3" height="30" width="120">
   307             <inOutVariable localId="3" height="30" width="120" executionOrderId="0" negatedOut="false" negatedIn="false">
   279               <position x="35" y="245"/>
   308               <position x="35" y="465"/>
   280               <connectionPointIn>
   309               <connectionPointIn>
   281                 <relPosition x="0" y="15"/>
   310                 <relPosition x="0" y="15"/>
   282                 <connection refLocalId="7" formalParameter="OUT">
   311                 <connection refLocalId="7" formalParameter="OUT">
   283                   <position x="35" y="260"/>
   312                   <position x="35" y="480"/>
   284                   <position x="25" y="260"/>
   313                   <position x="25" y="480"/>
   285                   <position x="25" y="220"/>
   314                   <position x="25" y="440"/>
   286                   <position x="270" y="220"/>
   315                   <position x="270" y="440"/>
   287                   <position x="270" y="260"/>
   316                   <position x="270" y="480"/>
   288                   <position x="250" y="260"/>
   317                   <position x="250" y="480"/>
   289                 </connection>
   318                 </connection>
   290               </connectionPointIn>
   319               </connectionPointIn>
   291               <connectionPointOut>
   320               <connectionPointOut>
   292                 <relPosition x="120" y="15"/>
   321                 <relPosition x="120" y="15"/>
   293               </connectionPointOut>
   322               </connectionPointOut>
   294               <expression>pytest_var2</expression>
   323               <expression>pytest_var2</expression>
   295             </inOutVariable>
   324             </inOutVariable>
   296             <block localId="8" width="125" height="80" typeName="python_eval" instanceName="Block1">
   325             <block localId="8" width="125" height="80" typeName="python_eval" instanceName="Block1" executionOrderId="0">
   297               <position x="650" y="295"/>
   326               <position x="650" y="515"/>
   298               <inputVariables>
   327               <inputVariables>
   299                 <variable formalParameter="TRIG">
   328                 <variable formalParameter="TRIG">
   300                   <connectionPointIn>
   329                   <connectionPointIn>
   301                     <relPosition x="0" y="35"/>
   330                     <relPosition x="0" y="35"/>
   302                     <connection refLocalId="7" formalParameter="OUT">
   331                     <connection refLocalId="7" formalParameter="OUT">
   303                       <position x="650" y="330"/>
   332                       <position x="650" y="550"/>
   304                       <position x="285" y="330"/>
   333                       <position x="285" y="550"/>
   305                       <position x="285" y="260"/>
   334                       <position x="285" y="480"/>
   306                       <position x="250" y="260"/>
   335                       <position x="250" y="480"/>
   307                     </connection>
   336                     </connection>
   308                   </connectionPointIn>
   337                   </connectionPointIn>
   309                 </variable>
   338                 </variable>
   310                 <variable formalParameter="CODE">
   339                 <variable formalParameter="CODE">
   311                   <connectionPointIn>
   340                   <connectionPointIn>
   312                     <relPosition x="0" y="65"/>
   341                     <relPosition x="0" y="65"/>
   313                     <connection refLocalId="9">
   342                     <connection refLocalId="9">
   314                       <position x="650" y="360"/>
   343                       <position x="650" y="580"/>
   315                       <position x="585" y="360"/>
   344                       <position x="585" y="580"/>
   316                     </connection>
   345                     </connection>
   317                   </connectionPointIn>
   346                   </connectionPointIn>
   318                 </variable>
   347                 </variable>
   319               </inputVariables>
   348               </inputVariables>
   320               <inOutVariables/>
   349               <inOutVariables/>
   329                     <relPosition x="125" y="65"/>
   358                     <relPosition x="125" y="65"/>
   330                   </connectionPointOut>
   359                   </connectionPointOut>
   331                 </variable>
   360                 </variable>
   332               </outputVariables>
   361               </outputVariables>
   333             </block>
   362             </block>
   334             <inVariable localId="9" height="30" width="290">
   363             <inVariable localId="9" height="30" width="290" executionOrderId="0" negated="false">
   335               <position x="295" y="345"/>
   364               <position x="295" y="565"/>
   336               <connectionPointOut>
   365               <connectionPointOut>
   337                 <relPosition x="290" y="15"/>
   366                 <relPosition x="290" y="15"/>
   338               </connectionPointOut>
   367               </connectionPointOut>
   339               <expression>'sys.stdout.write("FBID :"+str(FBID)+"\n")'</expression>
   368               <expression>'sys.stdout.write("FBID :"+str(FBID)+"\n")'</expression>
   340             </inVariable>
   369             </inVariable>
   341             <inVariable localId="11" height="30" width="290">
   370             <inVariable localId="11" height="30" width="290" executionOrderId="0" negated="false">
   342               <position x="295" y="465"/>
   371               <position x="295" y="685"/>
   343               <connectionPointOut>
   372               <connectionPointOut>
   344                 <relPosition x="290" y="15"/>
   373                 <relPosition x="290" y="15"/>
   345               </connectionPointOut>
   374               </connectionPointOut>
   346               <expression>'PLCBinary.Simple_C_Call(5678)'</expression>
   375               <expression>'PLCBinary.Simple_C_Call(5678)'</expression>
   347             </inVariable>
   376             </inVariable>
   348             <block localId="12" width="125" height="80" typeName="python_eval" instanceName="Block2">
   377             <block localId="12" width="125" height="80" typeName="python_eval" instanceName="Block2" executionOrderId="0">
   349               <position x="650" y="417"/>
   378               <position x="650" y="637"/>
   350               <inputVariables>
   379               <inputVariables>
   351                 <variable formalParameter="TRIG">
   380                 <variable formalParameter="TRIG">
   352                   <connectionPointIn>
   381                   <connectionPointIn>
   353                     <relPosition x="0" y="33"/>
   382                     <relPosition x="0" y="33"/>
   354                     <connection refLocalId="7" formalParameter="OUT">
   383                     <connection refLocalId="7" formalParameter="OUT">
   355                       <position x="650" y="450"/>
   384                       <position x="650" y="670"/>
   356                       <position x="285" y="450"/>
   385                       <position x="285" y="670"/>
   357                       <position x="285" y="260"/>
   386                       <position x="285" y="480"/>
   358                       <position x="250" y="260"/>
   387                       <position x="250" y="480"/>
   359                     </connection>
   388                     </connection>
   360                   </connectionPointIn>
   389                   </connectionPointIn>
   361                 </variable>
   390                 </variable>
   362                 <variable formalParameter="CODE">
   391                 <variable formalParameter="CODE">
   363                   <connectionPointIn>
   392                   <connectionPointIn>
   364                     <relPosition x="0" y="63"/>
   393                     <relPosition x="0" y="63"/>
   365                     <connection refLocalId="11">
   394                     <connection refLocalId="11">
   366                       <position x="650" y="480"/>
   395                       <position x="650" y="700"/>
   367                       <position x="585" y="480"/>
   396                       <position x="585" y="700"/>
   368                     </connection>
   397                     </connection>
   369                   </connectionPointIn>
   398                   </connectionPointIn>
   370                 </variable>
   399                 </variable>
   371               </inputVariables>
   400               </inputVariables>
   372               <inOutVariables/>
   401               <inOutVariables/>
   381                     <relPosition x="125" y="63"/>
   410                     <relPosition x="125" y="63"/>
   382                   </connectionPointOut>
   411                   </connectionPointOut>
   383                 </variable>
   412                 </variable>
   384               </outputVariables>
   413               </outputVariables>
   385             </block>
   414             </block>
   386             <inVariable localId="14" height="30" width="290">
   415             <inVariable localId="14" height="30" width="290" executionOrderId="0" negated="false">
   387               <position x="290" y="590"/>
   416               <position x="290" y="810"/>
   388               <connectionPointOut>
   417               <connectionPointOut>
   389                 <relPosition x="290" y="15"/>
   418                 <relPosition x="290" y="15"/>
   390               </connectionPointOut>
   419               </connectionPointOut>
   391               <expression>'MyPythonFunc(42)'</expression>
   420               <expression>'MyPythonFunc(42)'</expression>
   392             </inVariable>
   421             </inVariable>
   393             <block localId="15" width="125" height="80" typeName="python_eval" instanceName="Block3">
   422             <block localId="15" width="125" height="80" typeName="python_eval" instanceName="Block3" executionOrderId="0">
   394               <position x="650" y="542"/>
   423               <position x="650" y="762"/>
   395               <inputVariables>
   424               <inputVariables>
   396                 <variable formalParameter="TRIG">
   425                 <variable formalParameter="TRIG">
   397                   <connectionPointIn>
   426                   <connectionPointIn>
   398                     <relPosition x="0" y="33"/>
   427                     <relPosition x="0" y="33"/>
   399                     <connection refLocalId="7" formalParameter="OUT">
   428                     <connection refLocalId="7" formalParameter="OUT">
   400                       <position x="650" y="575"/>
   429                       <position x="650" y="795"/>
   401                       <position x="285" y="575"/>
   430                       <position x="285" y="795"/>
   402                       <position x="285" y="260"/>
   431                       <position x="285" y="480"/>
   403                       <position x="250" y="260"/>
   432                       <position x="250" y="480"/>
   404                     </connection>
   433                     </connection>
   405                   </connectionPointIn>
   434                   </connectionPointIn>
   406                 </variable>
   435                 </variable>
   407                 <variable formalParameter="CODE">
   436                 <variable formalParameter="CODE">
   408                   <connectionPointIn>
   437                   <connectionPointIn>
   409                     <relPosition x="0" y="63"/>
   438                     <relPosition x="0" y="63"/>
   410                     <connection refLocalId="14">
   439                     <connection refLocalId="14">
   411                       <position x="650" y="605"/>
   440                       <position x="650" y="825"/>
   412                       <position x="580" y="605"/>
   441                       <position x="580" y="825"/>
   413                     </connection>
   442                     </connection>
   414                   </connectionPointIn>
   443                   </connectionPointIn>
   415                 </variable>
   444                 </variable>
   416               </inputVariables>
   445               </inputVariables>
   417               <inOutVariables/>
   446               <inOutVariables/>
   427                   </connectionPointOut>
   456                   </connectionPointOut>
   428                 </variable>
   457                 </variable>
   429               </outputVariables>
   458               </outputVariables>
   430             </block>
   459             </block>
   431             <comment localId="16" height="90" width="680">
   460             <comment localId="16" height="90" width="680">
   432               <position x="50" y="25"/>
   461               <position x="35" y="275"/>
   433               <content>
   462               <content>
   434                 <xhtml:p><![CDATA[This example test that, despite of 2T period clock stimulating TRIG pin of pyth_eval blocks, blocks keep executing one after the other, in respect of execution order.]]></xhtml:p>
   463                 <xhtml:p><![CDATA[This part of the example test that, despite of 2T period clock stimulating TRIG pin of pyth_eval blocks, blocks keep executing one after the other, in respect of execution order.]]></xhtml:p>
   435               </content>
   464               </content>
   436             </comment>
   465             </comment>
   437             <block localId="17" width="80" height="120" typeName="MUX">
   466             <block localId="17" width="80" height="120" typeName="MUX" executionOrderId="0">
   438               <position x="1065" y="495"/>
   467               <position x="1065" y="715"/>
   439               <inputVariables>
   468               <inputVariables>
   440                 <variable formalParameter="K">
   469                 <variable formalParameter="K">
   441                   <connectionPointIn>
   470                   <connectionPointIn>
   442                     <relPosition x="0" y="30"/>
   471                     <relPosition x="0" y="30"/>
   443                     <connection refLocalId="18">
   472                     <connection refLocalId="18">
   444                       <position x="1065" y="525"/>
   473                       <position x="1065" y="745"/>
   445                       <position x="1030" y="525"/>
   474                       <position x="1040" y="745"/>
       
   475                       <position x="1040" y="735"/>
       
   476                       <position x="1015" y="735"/>
   446                     </connection>
   477                     </connection>
   447                   </connectionPointIn>
   478                   </connectionPointIn>
   448                 </variable>
   479                 </variable>
   449                 <variable formalParameter="IN0">
   480                 <variable formalParameter="IN0">
   450                   <connectionPointIn>
   481                   <connectionPointIn>
   451                     <relPosition x="0" y="50"/>
   482                     <relPosition x="0" y="50"/>
   452                     <connection refLocalId="5" formalParameter="RESULT">
   483                     <connection refLocalId="5" formalParameter="RESULT">
   453                       <position x="1065" y="545"/>
   484                       <position x="1065" y="765"/>
   454                       <position x="905" y="545"/>
   485                       <position x="905" y="765"/>
   455                       <position x="905" y="245"/>
   486                       <position x="905" y="465"/>
   456                       <position x="775" y="245"/>
   487                       <position x="775" y="465"/>
   457                     </connection>
   488                     </connection>
   458                   </connectionPointIn>
   489                   </connectionPointIn>
   459                 </variable>
   490                 </variable>
   460                 <variable formalParameter="IN1">
   491                 <variable formalParameter="IN1">
   461                   <connectionPointIn>
   492                   <connectionPointIn>
   462                     <relPosition x="0" y="70"/>
   493                     <relPosition x="0" y="70"/>
   463                     <connection refLocalId="8" formalParameter="RESULT">
   494                     <connection refLocalId="8" formalParameter="RESULT">
   464                       <position x="1065" y="565"/>
   495                       <position x="1065" y="785"/>
   465                       <position x="890" y="565"/>
   496                       <position x="890" y="785"/>
   466                       <position x="890" y="360"/>
   497                       <position x="890" y="580"/>
   467                       <position x="775" y="360"/>
   498                       <position x="775" y="580"/>
   468                     </connection>
   499                     </connection>
   469                   </connectionPointIn>
   500                   </connectionPointIn>
   470                 </variable>
   501                 </variable>
   471                 <variable formalParameter="IN2">
   502                 <variable formalParameter="IN2">
   472                   <connectionPointIn>
   503                   <connectionPointIn>
   473                     <relPosition x="0" y="90"/>
   504                     <relPosition x="0" y="90"/>
   474                     <connection refLocalId="12" formalParameter="RESULT">
   505                     <connection refLocalId="12" formalParameter="RESULT">
   475                       <position x="1065" y="585"/>
   506                       <position x="1065" y="805"/>
   476                       <position x="875" y="585"/>
   507                       <position x="875" y="805"/>
   477                       <position x="875" y="480"/>
   508                       <position x="875" y="700"/>
   478                       <position x="775" y="480"/>
   509                       <position x="775" y="700"/>
   479                     </connection>
   510                     </connection>
   480                   </connectionPointIn>
   511                   </connectionPointIn>
   481                 </variable>
   512                 </variable>
   482                 <variable formalParameter="IN3">
   513                 <variable formalParameter="IN3">
   483                   <connectionPointIn>
   514                   <connectionPointIn>
   484                     <relPosition x="0" y="110"/>
   515                     <relPosition x="0" y="110"/>
   485                     <connection refLocalId="15" formalParameter="RESULT">
   516                     <connection refLocalId="15" formalParameter="RESULT">
   486                       <position x="1065" y="605"/>
   517                       <position x="1065" y="825"/>
   487                       <position x="775" y="605"/>
   518                       <position x="775" y="825"/>
   488                     </connection>
   519                     </connection>
   489                   </connectionPointIn>
   520                   </connectionPointIn>
   490                 </variable>
   521                 </variable>
   491               </inputVariables>
   522               </inputVariables>
   492               <inOutVariables/>
   523               <inOutVariables/>
   496                     <relPosition x="80" y="30"/>
   527                     <relPosition x="80" y="30"/>
   497                   </connectionPointOut>
   528                   </connectionPointOut>
   498                 </variable>
   529                 </variable>
   499               </outputVariables>
   530               </outputVariables>
   500             </block>
   531             </block>
   501             <inVariable localId="18" height="30" width="20">
   532             <outVariable localId="19" height="35" width="125" executionOrderId="0" negated="false">
   502               <position x="1010" y="510"/>
   533               <position x="1235" y="730"/>
   503               <connectionPointOut>
       
   504                 <relPosition x="20" y="15"/>
       
   505               </connectionPointOut>
       
   506               <expression>3</expression>
       
   507             </inVariable>
       
   508             <outVariable localId="19" height="35" width="125">
       
   509               <position x="1185" y="510"/>
       
   510               <connectionPointIn>
   534               <connectionPointIn>
   511                 <relPosition x="0" y="15"/>
   535                 <relPosition x="0" y="15"/>
   512                 <connection refLocalId="17" formalParameter="OUT">
   536                 <connection refLocalId="17" formalParameter="OUT">
   513                   <position x="1185" y="525"/>
   537                   <position x="1235" y="745"/>
   514                   <position x="1145" y="525"/>
   538                   <position x="1145" y="745"/>
   515                 </connection>
   539                 </connection>
   516               </connectionPointIn>
   540               </connectionPointIn>
   517               <expression>pytest_var1</expression>
   541               <expression>pytest_var1</expression>
   518             </outVariable>
   542             </outVariable>
   519             <block localId="21" width="80" height="120" typeName="MUX">
   543             <block localId="21" width="80" height="120" typeName="MUX" executionOrderId="0">
   520               <position x="985" y="165"/>
   544               <position x="1070" y="385"/>
   521               <inputVariables>
   545               <inputVariables>
   522                 <variable formalParameter="K">
   546                 <variable formalParameter="K">
   523                   <connectionPointIn>
   547                   <connectionPointIn>
   524                     <relPosition x="0" y="30"/>
   548                     <relPosition x="0" y="30"/>
   525                     <connection refLocalId="22">
   549                     <connection refLocalId="22">
   526                       <position x="985" y="195"/>
   550                       <position x="1070" y="415"/>
   527                       <position x="950" y="195"/>
   551                       <position x="1040" y="415"/>
       
   552                       <position x="1040" y="405"/>
       
   553                       <position x="1010" y="405"/>
   528                     </connection>
   554                     </connection>
   529                   </connectionPointIn>
   555                   </connectionPointIn>
   530                 </variable>
   556                 </variable>
   531                 <variable formalParameter="IN0">
   557                 <variable formalParameter="IN0">
   532                   <connectionPointIn>
   558                   <connectionPointIn>
   533                     <relPosition x="0" y="50"/>
   559                     <relPosition x="0" y="50"/>
   534                     <connection refLocalId="5" formalParameter="ACK">
   560                     <connection refLocalId="5" formalParameter="ACK">
   535                       <position x="985" y="215"/>
   561                       <position x="1070" y="435"/>
   536                       <position x="775" y="215"/>
   562                       <position x="775" y="435"/>
   537                     </connection>
   563                     </connection>
   538                   </connectionPointIn>
   564                   </connectionPointIn>
   539                 </variable>
   565                 </variable>
   540                 <variable formalParameter="IN1">
   566                 <variable formalParameter="IN1">
   541                   <connectionPointIn>
   567                   <connectionPointIn>
   542                     <relPosition x="0" y="70"/>
   568                     <relPosition x="0" y="70"/>
   543                     <connection refLocalId="8" formalParameter="ACK">
   569                     <connection refLocalId="8" formalParameter="ACK">
   544                       <position x="985" y="235"/>
   570                       <position x="1070" y="455"/>
   545                       <position x="805" y="235"/>
   571                       <position x="805" y="455"/>
   546                       <position x="805" y="330"/>
   572                       <position x="805" y="550"/>
   547                       <position x="775" y="330"/>
   573                       <position x="775" y="550"/>
   548                     </connection>
   574                     </connection>
   549                   </connectionPointIn>
   575                   </connectionPointIn>
   550                 </variable>
   576                 </variable>
   551                 <variable formalParameter="IN2">
   577                 <variable formalParameter="IN2">
   552                   <connectionPointIn>
   578                   <connectionPointIn>
   553                     <relPosition x="0" y="90"/>
   579                     <relPosition x="0" y="90"/>
   554                     <connection refLocalId="12" formalParameter="ACK">
   580                     <connection refLocalId="12" formalParameter="ACK">
   555                       <position x="985" y="255"/>
   581                       <position x="1070" y="475"/>
   556                       <position x="820" y="255"/>
   582                       <position x="820" y="475"/>
   557                       <position x="820" y="450"/>
   583                       <position x="820" y="670"/>
   558                       <position x="775" y="450"/>
   584                       <position x="775" y="670"/>
   559                     </connection>
   585                     </connection>
   560                   </connectionPointIn>
   586                   </connectionPointIn>
   561                 </variable>
   587                 </variable>
   562                 <variable formalParameter="IN3">
   588                 <variable formalParameter="IN3">
   563                   <connectionPointIn>
   589                   <connectionPointIn>
   564                     <relPosition x="0" y="110"/>
   590                     <relPosition x="0" y="110"/>
   565                     <connection refLocalId="15" formalParameter="ACK">
   591                     <connection refLocalId="15" formalParameter="ACK">
   566                       <position x="985" y="275"/>
   592                       <position x="1070" y="495"/>
   567                       <position x="835" y="275"/>
   593                       <position x="835" y="495"/>
   568                       <position x="835" y="575"/>
   594                       <position x="835" y="795"/>
   569                       <position x="775" y="575"/>
   595                       <position x="775" y="795"/>
   570                     </connection>
   596                     </connection>
   571                   </connectionPointIn>
   597                   </connectionPointIn>
   572                 </variable>
   598                 </variable>
   573               </inputVariables>
   599               </inputVariables>
   574               <inOutVariables/>
   600               <inOutVariables/>
   578                     <relPosition x="80" y="30"/>
   604                     <relPosition x="80" y="30"/>
   579                   </connectionPointOut>
   605                   </connectionPointOut>
   580                 </variable>
   606                 </variable>
   581               </outputVariables>
   607               </outputVariables>
   582             </block>
   608             </block>
   583             <inVariable localId="22" height="30" width="20">
   609             <inVariable localId="22" height="30" width="65" executionOrderId="0" negated="false">
   584               <position x="930" y="180"/>
   610               <position x="945" y="390"/>
   585               <connectionPointOut>
   611               <connectionPointOut>
   586                 <relPosition x="20" y="15"/>
   612                 <relPosition x="65" y="15"/>
   587               </connectionPointOut>
   613               </connectionPointOut>
   588               <expression>3</expression>
   614               <expression>mux1_sel</expression>
   589             </inVariable>
   615             </inVariable>
   590             <outVariable localId="23" height="35" width="125">
   616             <outVariable localId="23" height="35" width="125" executionOrderId="0" negated="false">
   591               <position x="1150" y="180"/>
   617               <position x="1235" y="400"/>
   592               <connectionPointIn>
   618               <connectionPointIn>
   593                 <relPosition x="0" y="15"/>
   619                 <relPosition x="0" y="15"/>
   594                 <connection refLocalId="21" formalParameter="OUT">
   620                 <connection refLocalId="21" formalParameter="OUT">
   595                   <position x="1150" y="195"/>
   621                   <position x="1235" y="415"/>
   596                   <position x="1065" y="195"/>
   622                   <position x="1150" y="415"/>
   597                 </connection>
   623                 </connection>
   598               </connectionPointIn>
   624               </connectionPointIn>
   599               <expression>pytest_var3</expression>
   625               <expression>pytest_var3</expression>
   600             </outVariable>
   626             </outVariable>
   601             <outVariable localId="25" height="30" width="60">
   627             <outVariable localId="25" height="30" width="60" executionOrderId="0" negated="false">
   602               <position x="520" y="655"/>
   628               <position x="320" y="1075"/>
   603               <connectionPointIn>
   629               <connectionPointIn>
   604                 <relPosition x="0" y="15"/>
   630                 <relPosition x="0" y="15"/>
   605                 <connection refLocalId="26" formalParameter="OUT">
   631                 <connection refLocalId="26" formalParameter="OUT">
   606                   <position x="520" y="670"/>
   632                   <position x="320" y="1090"/>
   607                   <position x="465" y="670"/>
   633                   <position x="265" y="1090"/>
   608                 </connection>
   634                 </connection>
   609               </connectionPointIn>
   635               </connectionPointIn>
   610               <expression>FromC</expression>
   636               <expression>FromC</expression>
   611             </outVariable>
   637             </outVariable>
   612             <inVariable localId="1" height="30" width="30">
   638             <inVariable localId="1" height="30" width="30" executionOrderId="0" negated="false">
   613               <position x="305" y="655"/>
   639               <position x="105" y="1075"/>
   614               <connectionPointOut>
   640               <connectionPointOut>
   615                 <relPosition x="30" y="15"/>
   641                 <relPosition x="30" y="15"/>
   616               </connectionPointOut>
   642               </connectionPointOut>
   617               <expression>23</expression>
   643               <expression>23</expression>
   618             </inVariable>
   644             </inVariable>
   619             <block localId="26" width="80" height="45" typeName="C_Pragma" instanceName="C_Pragma0">
   645             <block localId="26" width="80" height="45" typeName="C_Pragma" instanceName="C_Pragma0" executionOrderId="0">
   620               <position x="385" y="640"/>
   646               <position x="185" y="1060"/>
   621               <inputVariables>
   647               <inputVariables>
   622                 <variable formalParameter="IN">
   648                 <variable formalParameter="IN">
   623                   <connectionPointIn>
   649                   <connectionPointIn>
   624                     <relPosition x="0" y="30"/>
   650                     <relPosition x="0" y="30"/>
   625                     <connection refLocalId="1">
   651                     <connection refLocalId="1">
   626                       <position x="385" y="670"/>
   652                       <position x="185" y="1090"/>
   627                       <position x="335" y="670"/>
   653                       <position x="135" y="1090"/>
   628                     </connection>
   654                     </connection>
   629                   </connectionPointIn>
   655                   </connectionPointIn>
   630                 </variable>
   656                 </variable>
   631               </inputVariables>
   657               </inputVariables>
   632               <inOutVariables/>
   658               <inOutVariables/>
   636                     <relPosition x="80" y="30"/>
   662                     <relPosition x="80" y="30"/>
   637                   </connectionPointOut>
   663                   </connectionPointOut>
   638                 </variable>
   664                 </variable>
   639               </outputVariables>
   665               </outputVariables>
   640             </block>
   666             </block>
   641             <inVariable localId="27" height="30" width="90">
   667             <inVariable localId="27" height="30" width="90" executionOrderId="0" negated="false">
   642               <position x="300" y="770"/>
   668               <position x="100" y="1190"/>
   643               <connectionPointOut>
   669               <connectionPointOut>
   644                 <relPosition x="90" y="15"/>
   670                 <relPosition x="90" y="15"/>
   645               </connectionPointOut>
   671               </connectionPointOut>
   646               <expression>TestInput</expression>
   672               <expression>TestInput</expression>
   647             </inVariable>
   673             </inVariable>
   648             <outVariable localId="28" height="30" width="105">
   674             <outVariable localId="28" height="30" width="105" executionOrderId="0" negated="false">
   649               <position x="395" y="705"/>
   675               <position x="195" y="1125"/>
   650               <connectionPointIn>
   676               <connectionPointIn>
   651                 <relPosition x="0" y="15"/>
   677                 <relPosition x="0" y="15"/>
   652                 <connection refLocalId="2">
   678                 <connection refLocalId="2">
   653                   <position x="395" y="720"/>
   679                   <position x="195" y="1140"/>
   654                   <position x="340" y="720"/>
   680                   <position x="140" y="1140"/>
   655                 </connection>
   681                 </connection>
   656               </connectionPointIn>
   682               </connectionPointIn>
   657               <expression>TestOutput</expression>
   683               <expression>TestOutput</expression>
   658             </outVariable>
   684             </outVariable>
   659             <outVariable localId="29" height="30" width="85">
   685             <outVariable localId="29" height="30" width="85" executionOrderId="0" negated="false">
   660               <position x="415" y="770"/>
   686               <position x="215" y="1190"/>
   661               <connectionPointIn>
   687               <connectionPointIn>
   662                 <relPosition x="0" y="15"/>
   688                 <relPosition x="0" y="15"/>
   663                 <connection refLocalId="27">
   689                 <connection refLocalId="27">
   664                   <position x="415" y="785"/>
   690                   <position x="215" y="1205"/>
   665                   <position x="390" y="785"/>
   691                   <position x="190" y="1205"/>
   666                 </connection>
   692                 </connection>
   667               </connectionPointIn>
   693               </connectionPointIn>
   668               <expression>FromInput</expression>
   694               <expression>FromInput</expression>
   669             </outVariable>
   695             </outVariable>
   670             <inVariable localId="2" height="30" width="30">
   696             <inVariable localId="2" height="30" width="30" executionOrderId="0" negated="false">
   671               <position x="310" y="705"/>
   697               <position x="110" y="1125"/>
   672               <connectionPointOut>
   698               <connectionPointOut>
   673                 <relPosition x="30" y="15"/>
   699                 <relPosition x="30" y="15"/>
   674               </connectionPointOut>
   700               </connectionPointOut>
   675               <expression>10</expression>
   701               <expression>10</expression>
   676             </inVariable>
   702             </inVariable>
   677             <comment localId="30" height="90" width="405">
   703             <comment localId="30" height="75" width="465">
   678               <position x="245" y="825"/>
   704               <position x="50" y="945"/>
   679               <content>
   705               <content>
   680                 <xhtml:p><![CDATA[You will be ready to use beremiz with C and Python when you will understand why "FromInput" is equal  to 75.
   706                 <xhtml:p><![CDATA[You will be ready to use beremiz with C and Python when you will understand why "FromInput" is equal  to 75.
   681 Enjoy. ]]></xhtml:p>
   707 Happy hacking! ]]></xhtml:p>
   682               </content>
   708               </content>
   683             </comment>
   709             </comment>
   684             <comment localId="31" height="60" width="345">
   710             <comment localId="31" height="60" width="345">
   685               <position x="295" y="265"/>
   711               <position x="295" y="485"/>
   686               <content>
   712               <content>
   687                 <xhtml:p><![CDATA[Sleep here is bad. It blocks other py_eval instances. Whith a wxGlade GUI, GUI freeze for a second.]]></xhtml:p>
   713                 <xhtml:p><![CDATA[Sleep here is bad. It blocks other py_eval instances. Whith a wxGlade GUI, GUI freeze for a second.]]></xhtml:p>
   688               </content>
   714               </content>
   689             </comment>
   715             </comment>
   690             <comment localId="6" height="60" width="345">
   716             <comment localId="6" height="60" width="345">
   691               <position x="295" y="380"/>
   717               <position x="295" y="600"/>
   692               <content>
   718               <content>
   693                 <xhtml:p><![CDATA[Prints FBID to stdout of PLC runtime. FBID is a unique reference to py_eval instance.]]></xhtml:p>
   719                 <xhtml:p><![CDATA[Prints FBID to stdout of PLC runtime. FBID is a unique reference to py_eval instance.]]></xhtml:p>
   694               </content>
   720               </content>
   695             </comment>
   721             </comment>
   696             <comment localId="10" height="60" width="345">
   722             <comment localId="10" height="60" width="345">
   697               <position x="295" y="500"/>
   723               <position x="295" y="720"/>
   698               <content>
   724               <content>
   699                 <xhtml:p><![CDATA[Simple_C_Call is declared in C_File "1.x:c_code". See python ctypes manual for details on typing.]]></xhtml:p>
   725                 <xhtml:p><![CDATA[Simple_C_Call is declared in C_File "1.x:c_code". See python ctypes manual for details on typing.]]></xhtml:p>
   700               </content>
   726               </content>
   701             </comment>
   727             </comment>
   702             <comment localId="32" height="105" width="235">
   728             <comment localId="32" height="105" width="235">
   703               <position x="25" y="285"/>
   729               <position x="25" y="505"/>
   704               <content>
   730               <content>
   705                 <xhtml:p><![CDATA[Fast clock, at least faster that sleep(1). See what happens when python takes time to answer : PLC continues.]]></xhtml:p>
   731                 <xhtml:p><![CDATA[Fast clock, at least faster that sleep(1). See what happens when python takes time to answer : PLC continues.]]></xhtml:p>
   706               </content>
   732               </content>
   707             </comment>
   733             </comment>
   708             <outVariable localId="33" height="30" width="130">
   734             <outVariable localId="33" height="30" width="130" executionOrderId="0" negated="false">
   709               <position x="1060" y="740"/>
   735               <position x="580" y="1564"/>
   710               <connectionPointIn>
   736               <connectionPointIn>
   711                 <relPosition x="0" y="15"/>
   737                 <relPosition x="0" y="16"/>
   712                 <connection refLocalId="35" formalParameter="OUT">
   738                 <connection refLocalId="35" formalParameter="OUT">
   713                   <position x="1060" y="755"/>
   739                   <position x="580" y="1580"/>
   714                   <position x="1005" y="755"/>
   740                   <position x="370" y="1580"/>
   715                 </connection>
   741                 </connection>
   716               </connectionPointIn>
   742               </connectionPointIn>
   717               <expression>Test_BCD_RESULT</expression>
   743               <expression>Test_BCD_RESULT</expression>
   718             </outVariable>
   744             </outVariable>
   719             <inVariable localId="34" height="30" width="75">
   745             <inVariable localId="34" height="30" width="75" executionOrderId="0" negated="false">
   720               <position x="785" y="740"/>
   746               <position x="60" y="1564"/>
   721               <connectionPointOut>
   747               <connectionPointOut>
   722                 <relPosition x="75" y="15"/>
   748                 <relPosition x="75" y="16"/>
   723               </connectionPointOut>
   749               </connectionPointOut>
   724               <expression>Test_BCD</expression>
   750               <expression>Test_BCD</expression>
   725             </inVariable>
   751             </inVariable>
   726             <block localId="35" width="105" height="60" typeName="BCD_TO_UINT">
   752             <block localId="35" width="105" height="60" typeName="BCD_TO_UINT" executionOrderId="0">
   727               <position x="900" y="705"/>
   753               <position x="265" y="1539"/>
   728               <inputVariables>
   754               <inputVariables>
   729                 <variable formalParameter="EN">
       
   730                   <connectionPointIn>
       
   731                     <relPosition x="0" y="30"/>
       
   732                   </connectionPointIn>
       
   733                 </variable>
       
   734                 <variable formalParameter="IN">
   755                 <variable formalParameter="IN">
   735                   <connectionPointIn>
   756                   <connectionPointIn>
   736                     <relPosition x="0" y="50"/>
   757                     <relPosition x="0" y="41"/>
   737                     <connection refLocalId="34">
   758                     <connection refLocalId="34">
   738                       <position x="900" y="755"/>
   759                       <position x="265" y="1580"/>
   739                       <position x="860" y="755"/>
   760                       <position x="135" y="1580"/>
   740                     </connection>
   761                     </connection>
   741                   </connectionPointIn>
   762                   </connectionPointIn>
   742                 </variable>
   763                 </variable>
   743               </inputVariables>
   764               </inputVariables>
   744               <inOutVariables/>
   765               <inOutVariables/>
   745               <outputVariables>
   766               <outputVariables>
   746                 <variable formalParameter="ENO">
       
   747                   <connectionPointOut>
       
   748                     <relPosition x="105" y="30"/>
       
   749                   </connectionPointOut>
       
   750                 </variable>
       
   751                 <variable formalParameter="OUT">
   767                 <variable formalParameter="OUT">
   752                   <connectionPointOut>
   768                   <connectionPointOut>
   753                     <relPosition x="105" y="50"/>
   769                     <relPosition x="105" y="41"/>
   754                   </connectionPointOut>
   770                   </connectionPointOut>
   755                 </variable>
   771                 </variable>
   756               </outputVariables>
   772               </outputVariables>
   757             </block>
   773             </block>
   758             <inVariable localId="36" height="30" width="65">
   774             <inVariable localId="36" height="30" width="65" executionOrderId="0" negated="false">
   759               <position x="790" y="815"/>
   775               <position x="60" y="1774"/>
   760               <connectionPointOut>
   776               <connectionPointOut>
   761                 <relPosition x="65" y="15"/>
   777                 <relPosition x="65" y="16"/>
   762               </connectionPointOut>
   778               </connectionPointOut>
   763               <expression>Test_DT</expression>
   779               <expression>Test_DT</expression>
   764             </inVariable>
   780             </inVariable>
   765             <block localId="37" width="255" height="45" typeName="DATE_AND_TIME_TO_TIME_OF_DAY">
   781             <block localId="37" width="255" height="45" typeName="DATE_AND_TIME_TO_TIME_OF_DAY" executionOrderId="0">
   766               <position x="900" y="800"/>
   782               <position x="265" y="1759"/>
   767               <inputVariables>
   783               <inputVariables>
   768                 <variable formalParameter="IN">
   784                 <variable formalParameter="IN">
   769                   <connectionPointIn>
   785                   <connectionPointIn>
   770                     <relPosition x="0" y="30"/>
   786                     <relPosition x="0" y="31"/>
   771                     <connection refLocalId="36">
   787                     <connection refLocalId="36">
   772                       <position x="900" y="830"/>
   788                       <position x="265" y="1790"/>
   773                       <position x="855" y="830"/>
   789                       <position x="125" y="1790"/>
   774                     </connection>
   790                     </connection>
   775                   </connectionPointIn>
   791                   </connectionPointIn>
   776                 </variable>
   792                 </variable>
   777               </inputVariables>
   793               </inputVariables>
   778               <inOutVariables/>
   794               <inOutVariables/>
   779               <outputVariables>
   795               <outputVariables>
   780                 <variable formalParameter="OUT">
   796                 <variable formalParameter="OUT">
   781                   <connectionPointOut>
   797                   <connectionPointOut>
   782                     <relPosition x="255" y="30"/>
   798                     <relPosition x="255" y="31"/>
   783                   </connectionPointOut>
   799                   </connectionPointOut>
   784                 </variable>
   800                 </variable>
   785               </outputVariables>
   801               </outputVariables>
   786             </block>
   802             </block>
   787             <block localId="38" width="195" height="45" typeName="DATE_AND_TIME_TO_DATE">
   803             <block localId="38" width="195" height="45" typeName="DATE_AND_TIME_TO_DATE" executionOrderId="0">
   788               <position x="900" y="875"/>
   804               <position x="265" y="1834"/>
   789               <inputVariables>
   805               <inputVariables>
   790                 <variable formalParameter="IN">
   806                 <variable formalParameter="IN">
   791                   <connectionPointIn>
   807                   <connectionPointIn>
   792                     <relPosition x="0" y="30"/>
   808                     <relPosition x="0" y="31"/>
   793                     <connection refLocalId="36">
   809                     <connection refLocalId="36">
   794                       <position x="900" y="905"/>
   810                       <position x="265" y="1865"/>
   795                       <position x="877" y="905"/>
   811                       <position x="242" y="1865"/>
   796                       <position x="877" y="830"/>
   812                       <position x="242" y="1790"/>
   797                       <position x="855" y="830"/>
   813                       <position x="125" y="1790"/>
   798                     </connection>
   814                     </connection>
   799                   </connectionPointIn>
   815                   </connectionPointIn>
   800                 </variable>
   816                 </variable>
   801               </inputVariables>
   817               </inputVariables>
   802               <inOutVariables/>
   818               <inOutVariables/>
   803               <outputVariables>
   819               <outputVariables>
   804                 <variable formalParameter="OUT">
   820                 <variable formalParameter="OUT">
   805                   <connectionPointOut>
   821                   <connectionPointOut>
   806                     <relPosition x="195" y="30"/>
   822                     <relPosition x="195" y="31"/>
   807                   </connectionPointOut>
   823                   </connectionPointOut>
   808                 </variable>
   824                 </variable>
   809               </outputVariables>
   825               </outputVariables>
   810             </block>
   826             </block>
   811             <outVariable localId="40" height="30" width="80">
   827             <outVariable localId="40" height="30" width="80" executionOrderId="0" negated="false">
   812               <position x="1215" y="890"/>
   828               <position x="580" y="1849"/>
   813               <connectionPointIn>
   829               <connectionPointIn>
   814                 <relPosition x="0" y="15"/>
   830                 <relPosition x="0" y="16"/>
   815                 <connection refLocalId="38" formalParameter="OUT">
   831                 <connection refLocalId="38" formalParameter="OUT">
   816                   <position x="1215" y="905"/>
   832                   <position x="580" y="1865"/>
   817                   <position x="1095" y="905"/>
   833                   <position x="460" y="1865"/>
   818                 </connection>
   834                 </connection>
   819               </connectionPointIn>
   835               </connectionPointIn>
   820               <expression>Test_Date</expression>
   836               <expression>Test_Date</expression>
   821             </outVariable>
   837             </outVariable>
   822             <outVariable localId="42" height="30" width="90">
   838             <outVariable localId="42" height="30" width="90" executionOrderId="0" negated="false">
   823               <position x="1100" y="985"/>
   839               <position x="465" y="1944"/>
   824               <connectionPointIn>
   840               <connectionPointIn>
   825                 <relPosition x="0" y="15"/>
   841                 <relPosition x="0" y="16"/>
   826                 <connection refLocalId="46" formalParameter="OUT">
   842                 <connection refLocalId="46" formalParameter="OUT">
   827                   <position x="1100" y="1000"/>
   843                   <position x="465" y="1960"/>
   828                   <position x="1030" y="1000"/>
   844                   <position x="395" y="1960"/>
   829                 </connection>
   845                 </connection>
   830               </connectionPointIn>
   846               </connectionPointIn>
   831               <expression>Test_String</expression>
   847               <expression>Test_String</expression>
   832             </outVariable>
   848             </outVariable>
   833             <outVariable localId="43" height="30" width="80">
   849             <outVariable localId="43" height="30" width="80" executionOrderId="0" negated="false">
   834               <position x="1100" y="1055"/>
   850               <position x="465" y="2014"/>
   835               <connectionPointIn>
   851               <connectionPointIn>
   836                 <relPosition x="0" y="15"/>
   852                 <relPosition x="0" y="16"/>
   837                 <connection refLocalId="44" formalParameter="OUT">
   853                 <connection refLocalId="44" formalParameter="OUT">
   838                   <position x="1100" y="1070"/>
   854                   <position x="465" y="2030"/>
   839                   <position x="1035" y="1070"/>
   855                   <position x="400" y="2030"/>
   840                 </connection>
   856                 </connection>
   841               </connectionPointIn>
   857               </connectionPointIn>
   842               <expression>Test_Bool</expression>
   858               <expression>Test_Bool</expression>
   843             </outVariable>
   859             </outVariable>
   844             <block localId="44" width="135" height="45" typeName="STRING_TO_BOOL">
   860             <block localId="44" width="135" height="45" typeName="STRING_TO_BOOL" executionOrderId="0">
   845               <position x="900" y="1040"/>
   861               <position x="265" y="1999"/>
   846               <inputVariables>
   862               <inputVariables>
   847                 <variable formalParameter="IN">
   863                 <variable formalParameter="IN">
   848                   <connectionPointIn>
   864                   <connectionPointIn>
   849                     <relPosition x="0" y="30"/>
   865                     <relPosition x="0" y="31"/>
   850                     <connection refLocalId="45">
   866                     <connection refLocalId="45">
   851                       <position x="900" y="1070"/>
   867                       <position x="265" y="2030"/>
   852                       <position x="850" y="1070"/>
   868                       <position x="115" y="2030"/>
   853                     </connection>
   869                     </connection>
   854                   </connectionPointIn>
   870                   </connectionPointIn>
   855                 </variable>
   871                 </variable>
   856               </inputVariables>
   872               </inputVariables>
   857               <inOutVariables/>
   873               <inOutVariables/>
   858               <outputVariables>
   874               <outputVariables>
   859                 <variable formalParameter="OUT">
   875                 <variable formalParameter="OUT">
   860                   <connectionPointOut>
   876                   <connectionPointOut>
   861                     <relPosition x="135" y="30"/>
   877                     <relPosition x="135" y="31"/>
   862                   </connectionPointOut>
   878                   </connectionPointOut>
   863                 </variable>
   879                 </variable>
   864               </outputVariables>
   880               </outputVariables>
   865             </block>
   881             </block>
   866             <inVariable localId="45" height="30" width="55">
   882             <inVariable localId="45" height="30" width="55" executionOrderId="0" negated="false">
   867               <position x="795" y="1055"/>
   883               <position x="60" y="2014"/>
   868               <connectionPointOut>
   884               <connectionPointOut>
   869                 <relPosition x="55" y="15"/>
   885                 <relPosition x="55" y="16"/>
   870               </connectionPointOut>
   886               </connectionPointOut>
   871               <expression>'True'</expression>
   887               <expression>'True'</expression>
   872             </inVariable>
   888             </inVariable>
   873             <block localId="46" width="130" height="45" typeName="INT_TO_STRING">
   889             <block localId="46" width="130" height="45" typeName="INT_TO_STRING" executionOrderId="0">
   874               <position x="900" y="970"/>
   890               <position x="265" y="1929"/>
   875               <inputVariables>
   891               <inputVariables>
   876                 <variable formalParameter="IN">
   892                 <variable formalParameter="IN">
   877                   <connectionPointIn>
   893                   <connectionPointIn>
   878                     <relPosition x="0" y="30"/>
   894                     <relPosition x="0" y="31"/>
   879                     <connection refLocalId="58">
   895                     <connection refLocalId="58">
   880                       <position x="900" y="1000"/>
   896                       <position x="265" y="1960"/>
   881                       <position x="840" y="1000"/>
   897                       <position x="205" y="1960"/>
   882                     </connection>
   898                     </connection>
   883                   </connectionPointIn>
   899                   </connectionPointIn>
   884                 </variable>
   900                 </variable>
   885               </inputVariables>
   901               </inputVariables>
   886               <inOutVariables/>
   902               <inOutVariables/>
   887               <outputVariables>
   903               <outputVariables>
   888                 <variable formalParameter="OUT">
   904                 <variable formalParameter="OUT">
   889                   <connectionPointOut>
   905                   <connectionPointOut>
   890                     <relPosition x="130" y="30"/>
   906                     <relPosition x="130" y="31"/>
   891                   </connectionPointOut>
   907                   </connectionPointOut>
   892                 </variable>
   908                 </variable>
   893               </outputVariables>
   909               </outputVariables>
   894             </block>
   910             </block>
   895             <inVariable localId="50" height="30" width="105" executionOrderId="0" negated="false">
   911             <inVariable localId="50" height="30" width="105" executionOrderId="0" negated="false">
   896               <position x="200" y="1085"/>
   912               <position x="75" y="2275"/>
   897               <connectionPointOut>
   913               <connectionPointOut>
   898                 <relPosition x="105" y="15"/>
   914                 <relPosition x="105" y="15"/>
   899               </connectionPointOut>
   915               </connectionPointOut>
   900               <expression>Global_RS.Q1</expression>
   916               <expression>Global_RS.Q1</expression>
   901             </inVariable>
   917             </inVariable>
   902             <block localId="51" width="70" height="85" typeName="AND" executionOrderId="0">
   918             <block localId="51" width="70" height="85" typeName="AND" executionOrderId="0">
   903               <position x="365" y="1065"/>
   919               <position x="240" y="2255"/>
   904               <inputVariables>
   920               <inputVariables>
   905                 <variable formalParameter="IN1" negated="true">
   921                 <variable formalParameter="IN1" negated="true">
   906                   <connectionPointIn>
   922                   <connectionPointIn>
   907                     <relPosition x="0" y="35"/>
   923                     <relPosition x="0" y="35"/>
   908                     <connection refLocalId="50">
   924                     <connection refLocalId="50">
   909                       <position x="365" y="1100"/>
   925                       <position x="240" y="2290"/>
   910                       <position x="305" y="1100"/>
   926                       <position x="180" y="2290"/>
   911                     </connection>
   927                     </connection>
   912                   </connectionPointIn>
   928                   </connectionPointIn>
   913                 </variable>
   929                 </variable>
   914                 <variable formalParameter="IN2">
   930                 <variable formalParameter="IN2">
   915                   <connectionPointIn>
   931                   <connectionPointIn>
   916                     <relPosition x="0" y="70"/>
   932                     <relPosition x="0" y="70"/>
   917                     <connection refLocalId="52">
   933                     <connection refLocalId="52">
   918                       <position x="365" y="1135"/>
   934                       <position x="240" y="2325"/>
   919                       <position x="305" y="1135"/>
   935                       <position x="180" y="2325"/>
   920                     </connection>
   936                     </connection>
   921                   </connectionPointIn>
   937                   </connectionPointIn>
   922                 </variable>
   938                 </variable>
   923               </inputVariables>
   939               </inputVariables>
   924               <inOutVariables/>
   940               <inOutVariables/>
   928                     <relPosition x="70" y="35"/>
   944                     <relPosition x="70" y="35"/>
   929                   </connectionPointOut>
   945                   </connectionPointOut>
   930                 </variable>
   946                 </variable>
   931               </outputVariables>
   947               </outputVariables>
   932             </block>
   948             </block>
   933             <inVariable localId="52" height="30" width="95">
   949             <inVariable localId="52" height="30" width="105" executionOrderId="0" negated="false">
   934               <position x="210" y="1120"/>
   950               <position x="75" y="2310"/>
   935               <connectionPointOut>
   951               <connectionPointOut>
   936                 <relPosition x="95" y="15"/>
   952                 <relPosition x="105" y="15"/>
   937               </connectionPointOut>
   953               </connectionPointOut>
   938               <expression>BOOL#TRUE</expression>
   954               <expression>BOOL#TRUE</expression>
   939             </inVariable>
   955             </inVariable>
   940             <outVariable localId="13" height="30" width="105" executionOrderId="0" negated="false">
   956             <outVariable localId="13" height="30" width="105" executionOrderId="0" negated="false">
   941               <position x="510" y="1085"/>
   957               <position x="385" y="2275"/>
   942               <connectionPointIn>
   958               <connectionPointIn>
   943                 <relPosition x="0" y="15"/>
   959                 <relPosition x="0" y="15"/>
   944                 <connection refLocalId="51" formalParameter="OUT">
   960                 <connection refLocalId="51" formalParameter="OUT">
   945                   <position x="510" y="1100"/>
   961                   <position x="385" y="2290"/>
   946                   <position x="435" y="1100"/>
   962                   <position x="310" y="2290"/>
   947                 </connection>
   963                 </connection>
   948               </connectionPointIn>
   964               </connectionPointIn>
   949               <expression>Global_RS.S</expression>
   965               <expression>Global_RS.S</expression>
   950             </outVariable>
   966             </outVariable>
   951             <outVariable localId="20" height="30" width="105" executionOrderId="0" negated="false">
   967             <outVariable localId="20" height="30" width="105" executionOrderId="0" negated="false">
   952               <position x="510" y="1200"/>
   968               <position x="385" y="2390"/>
   953               <connectionPointIn>
   969               <connectionPointIn>
   954                 <relPosition x="0" y="15"/>
   970                 <relPosition x="0" y="15"/>
   955                 <connection refLocalId="41" formalParameter="OUT">
   971                 <connection refLocalId="41" formalParameter="OUT">
   956                   <position x="510" y="1215"/>
   972                   <position x="385" y="2405"/>
   957                   <position x="435" y="1215"/>
   973                   <position x="310" y="2405"/>
   958                 </connection>
   974                 </connection>
   959               </connectionPointIn>
   975               </connectionPointIn>
   960               <expression>Global_RS.R1</expression>
   976               <expression>Global_RS.R1</expression>
   961             </outVariable>
   977             </outVariable>
   962             <inVariable localId="24" height="30" width="105" executionOrderId="0" negated="false">
   978             <inVariable localId="24" height="30" width="105" executionOrderId="0" negated="false">
   963               <position x="200" y="1200"/>
   979               <position x="75" y="2390"/>
   964               <connectionPointOut>
   980               <connectionPointOut>
   965                 <relPosition x="105" y="15"/>
   981                 <relPosition x="105" y="15"/>
   966               </connectionPointOut>
   982               </connectionPointOut>
   967               <expression>Global_RS.Q1</expression>
   983               <expression>Global_RS.Q1</expression>
   968             </inVariable>
   984             </inVariable>
   969             <block localId="41" width="70" height="85" typeName="OR" executionOrderId="0">
   985             <block localId="41" width="70" height="85" typeName="OR" executionOrderId="0">
   970               <position x="365" y="1180"/>
   986               <position x="240" y="2370"/>
   971               <inputVariables>
   987               <inputVariables>
   972                 <variable formalParameter="IN1">
   988                 <variable formalParameter="IN1">
   973                   <connectionPointIn>
   989                   <connectionPointIn>
   974                     <relPosition x="0" y="35"/>
   990                     <relPosition x="0" y="35"/>
   975                     <connection refLocalId="24">
   991                     <connection refLocalId="24">
   976                       <position x="365" y="1215"/>
   992                       <position x="240" y="2405"/>
   977                       <position x="305" y="1215"/>
   993                       <position x="180" y="2405"/>
   978                     </connection>
   994                     </connection>
   979                   </connectionPointIn>
   995                   </connectionPointIn>
   980                 </variable>
   996                 </variable>
   981                 <variable formalParameter="IN2">
   997                 <variable formalParameter="IN2">
   982                   <connectionPointIn>
   998                   <connectionPointIn>
   983                     <relPosition x="0" y="70"/>
   999                     <relPosition x="0" y="70"/>
   984                     <connection refLocalId="48">
  1000                     <connection refLocalId="48">
   985                       <position x="365" y="1250"/>
  1001                       <position x="240" y="2440"/>
   986                       <position x="305" y="1250"/>
  1002                       <position x="180" y="2440"/>
   987                     </connection>
  1003                     </connection>
   988                   </connectionPointIn>
  1004                   </connectionPointIn>
   989                 </variable>
  1005                 </variable>
   990               </inputVariables>
  1006               </inputVariables>
   991               <inOutVariables/>
  1007               <inOutVariables/>
   995                     <relPosition x="70" y="35"/>
  1011                     <relPosition x="70" y="35"/>
   996                   </connectionPointOut>
  1012                   </connectionPointOut>
   997                 </variable>
  1013                 </variable>
   998               </outputVariables>
  1014               </outputVariables>
   999             </block>
  1015             </block>
  1000             <inVariable localId="48" height="30" width="100">
  1016             <inVariable localId="48" height="30" width="105" executionOrderId="0" negated="false">
  1001               <position x="205" y="1235"/>
  1017               <position x="75" y="2425"/>
  1002               <connectionPointOut>
  1018               <connectionPointOut>
  1003                 <relPosition x="100" y="15"/>
  1019                 <relPosition x="105" y="15"/>
  1004               </connectionPointOut>
  1020               </connectionPointOut>
  1005               <expression>BOOL#FALSE</expression>
  1021               <expression>BOOL#FALSE</expression>
  1006             </inVariable>
  1022             </inVariable>
  1007             <outVariable localId="53" height="30" width="115">
  1023             <outVariable localId="54" height="30" width="135" executionOrderId="0" negated="false">
  1008               <position x="1060" y="700"/>
  1024               <position x="930" y="1774"/>
  1009               <connectionPointIn>
  1025               <connectionPointIn>
  1010                 <relPosition x="0" y="15"/>
  1026                 <relPosition x="0" y="16"/>
  1011                 <connection refLocalId="35" formalParameter="ENO">
       
  1012                   <position x="1060" y="715"/>
       
  1013                   <position x="1032" y="715"/>
       
  1014                   <position x="1032" y="735"/>
       
  1015                   <position x="1005" y="735"/>
       
  1016                 </connection>
       
  1017               </connectionPointIn>
       
  1018               <expression>Test_BCD_ENO</expression>
       
  1019             </outVariable>
       
  1020             <outVariable localId="54" height="30" width="135">
       
  1021               <position x="1565" y="815"/>
       
  1022               <connectionPointIn>
       
  1023                 <relPosition x="0" y="15"/>
       
  1024                 <connection refLocalId="55" formalParameter="OUT">
  1027                 <connection refLocalId="55" formalParameter="OUT">
  1025                   <position x="1565" y="830"/>
  1028                   <position x="930" y="1790"/>
  1026                   <position x="1490" y="830"/>
  1029                   <position x="855" y="1790"/>
  1027                 </connection>
  1030                 </connection>
  1028               </connectionPointIn>
  1031               </connectionPointIn>
  1029               <expression>Test_TOD_STRING</expression>
  1032               <expression>Test_TOD_STRING</expression>
  1030             </outVariable>
  1033             </outVariable>
  1031             <block localId="55" width="125" height="45" typeName="TOD_TO_STRING">
  1034             <block localId="55" width="125" height="45" typeName="TOD_TO_STRING" executionOrderId="0">
  1032               <position x="1365" y="800"/>
  1035               <position x="730" y="1759"/>
  1033               <inputVariables>
  1036               <inputVariables>
  1034                 <variable formalParameter="IN">
  1037                 <variable formalParameter="IN">
  1035                   <connectionPointIn>
  1038                   <connectionPointIn>
  1036                     <relPosition x="0" y="30"/>
  1039                     <relPosition x="0" y="31"/>
  1037                     <connection refLocalId="39">
  1040                     <connection refLocalId="39">
  1038                       <position x="1365" y="830"/>
  1041                       <position x="730" y="1790"/>
  1039                       <position x="1290" y="830"/>
  1042                       <position x="655" y="1790"/>
  1040                     </connection>
  1043                     </connection>
  1041                   </connectionPointIn>
  1044                   </connectionPointIn>
  1042                 </variable>
  1045                 </variable>
  1043               </inputVariables>
  1046               </inputVariables>
  1044               <inOutVariables/>
  1047               <inOutVariables/>
  1045               <outputVariables>
  1048               <outputVariables>
  1046                 <variable formalParameter="OUT">
  1049                 <variable formalParameter="OUT">
  1047                   <connectionPointOut>
  1050                   <connectionPointOut>
  1048                     <relPosition x="125" y="30"/>
  1051                     <relPosition x="125" y="31"/>
  1049                   </connectionPointOut>
  1052                   </connectionPointOut>
  1050                 </variable>
  1053                 </variable>
  1051               </outputVariables>
  1054               </outputVariables>
  1052             </block>
  1055             </block>
  1053             <inOutVariable localId="39" height="30" width="75">
  1056             <inOutVariable localId="39" height="30" width="75" executionOrderId="0" negatedOut="false" negatedIn="false">
  1054               <position x="1215" y="815"/>
  1057               <position x="580" y="1774"/>
  1055               <connectionPointIn>
  1058               <connectionPointIn>
  1056                 <relPosition x="0" y="15"/>
  1059                 <relPosition x="0" y="16"/>
  1057                 <connection refLocalId="37" formalParameter="OUT">
  1060                 <connection refLocalId="37" formalParameter="OUT">
  1058                   <position x="1215" y="830"/>
  1061                   <position x="580" y="1790"/>
  1059                   <position x="1155" y="830"/>
  1062                   <position x="520" y="1790"/>
  1060                 </connection>
  1063                 </connection>
  1061               </connectionPointIn>
  1064               </connectionPointIn>
  1062               <connectionPointOut>
  1065               <connectionPointOut>
  1063                 <relPosition x="75" y="15"/>
  1066                 <relPosition x="75" y="16"/>
  1064               </connectionPointOut>
  1067               </connectionPointOut>
  1065               <expression>Test_TOD</expression>
  1068               <expression>Test_TOD</expression>
  1066             </inOutVariable>
  1069             </inOutVariable>
  1067             <inVariable localId="49" height="30" width="30">
  1070             <inVariable localId="49" height="30" width="30" executionOrderId="0" negated="false">
  1068               <position x="765" y="1200"/>
  1071               <position x="160" y="2510"/>
  1069               <connectionPointOut>
  1072               <connectionPointOut>
  1070                 <relPosition x="30" y="15"/>
  1073                 <relPosition x="30" y="15"/>
  1071               </connectionPointOut>
  1074               </connectionPointOut>
  1072               <expression>42</expression>
  1075               <expression>42</expression>
  1073             </inVariable>
  1076             </inVariable>
  1074             <outVariable localId="57" height="30" width="50">
  1077             <outVariable localId="57" height="30" width="50" executionOrderId="0" negated="false">
  1075               <position x="845" y="1200"/>
  1078               <position x="240" y="2510"/>
  1076               <connectionPointIn>
  1079               <connectionPointIn>
  1077                 <relPosition x="0" y="15"/>
  1080                 <relPosition x="0" y="15"/>
  1078                 <connection refLocalId="49">
  1081                 <connection refLocalId="49">
  1079                   <position x="845" y="1215"/>
  1082                   <position x="240" y="2525"/>
  1080                   <position x="795" y="1215"/>
  1083                   <position x="190" y="2525"/>
  1081                 </connection>
  1084                 </connection>
  1082               </connectionPointIn>
  1085               </connectionPointIn>
  1083               <expression>TOTO</expression>
  1086               <expression>TOTO</expression>
  1084             </outVariable>
  1087             </outVariable>
  1085             <outVariable localId="56" height="30" width="50">
  1088             <outVariable localId="56" height="30" width="50" executionOrderId="0" negated="false">
  1086               <position x="845" y="1240"/>
  1089               <position x="240" y="2550"/>
  1087               <connectionPointIn>
  1090               <connectionPointIn>
  1088                 <relPosition x="0" y="15"/>
  1091                 <relPosition x="0" y="15"/>
  1089                 <connection refLocalId="49">
  1092                 <connection refLocalId="49">
  1090                   <position x="845" y="1255"/>
  1093                   <position x="240" y="2565"/>
  1091                   <position x="820" y="1255"/>
  1094                   <position x="215" y="2565"/>
  1092                   <position x="820" y="1215"/>
  1095                   <position x="215" y="2525"/>
  1093                   <position x="795" y="1215"/>
  1096                   <position x="190" y="2525"/>
  1094                 </connection>
  1097                 </connection>
  1095               </connectionPointIn>
  1098               </connectionPointIn>
  1096               <expression>TUTU</expression>
  1099               <expression>TUTU</expression>
  1097             </outVariable>
  1100             </outVariable>
  1098             <inVariable localId="58" height="30" width="145">
  1101             <inVariable localId="58" height="30" width="145" executionOrderId="0" negated="false">
  1099               <position x="715" y="985"/>
  1102               <position x="60" y="1944"/>
  1100               <connectionPointOut>
  1103               <connectionPointOut>
  1101                 <relPosition x="145" y="15"/>
  1104                 <relPosition x="145" y="16"/>
  1102               </connectionPointOut>
  1105               </connectionPointOut>
  1103               <expression>Second_Python_Var</expression>
  1106               <expression>Second_Python_Var</expression>
  1104             </inVariable>
  1107             </inVariable>
  1105             <outVariable localId="47" height="30" width="125">
  1108             <outVariable localId="47" height="30" width="125" executionOrderId="0" negated="false">
  1106               <position x="400" y="975"/>
  1109               <position x="200" y="1385"/>
  1107               <connectionPointIn>
  1110               <connectionPointIn>
  1108                 <relPosition x="0" y="15"/>
  1111                 <relPosition x="0" y="15"/>
  1109                 <connection refLocalId="59">
  1112                 <connection refLocalId="59">
  1110                   <position x="400" y="990"/>
  1113                   <position x="200" y="1400"/>
  1111                   <position x="330" y="990"/>
  1114                   <position x="130" y="1400"/>
  1112                 </connection>
  1115                 </connection>
  1113               </connectionPointIn>
  1116               </connectionPointIn>
  1114               <expression>Test_Python_Var</expression>
  1117               <expression>Test_Python_Var</expression>
  1115             </outVariable>
  1118             </outVariable>
  1116             <inVariable localId="59" height="30" width="30">
  1119             <inVariable localId="59" height="30" width="30" executionOrderId="0" negated="false">
  1117               <position x="300" y="975"/>
  1120               <position x="100" y="1385"/>
  1118               <connectionPointOut>
  1121               <connectionPointOut>
  1119                 <relPosition x="30" y="15"/>
  1122                 <relPosition x="30" y="15"/>
  1120               </connectionPointOut>
  1123               </connectionPointOut>
  1121               <expression>23</expression>
  1124               <expression>23</expression>
  1122             </inVariable>
  1125             </inVariable>
  1123             <block localId="61" typeName="function0" executionOrderId="0" height="45" width="110">
  1126             <block localId="61" typeName="function0" executionOrderId="0" height="45" width="110">
  1124               <position x="1680" y="255"/>
  1127               <position x="760" y="1170"/>
  1125               <inputVariables>
  1128               <inputVariables>
  1126                 <variable formalParameter="LocalVar0">
  1129                 <variable formalParameter="LocalVar0">
  1127                   <connectionPointIn>
  1130                   <connectionPointIn>
  1128                     <relPosition x="0" y="30"/>
  1131                     <relPosition x="0" y="30"/>
  1129                     <connection refLocalId="62">
  1132                     <connection refLocalId="62">
  1130                       <position x="1680" y="285"/>
  1133                       <position x="760" y="1200"/>
  1131                       <position x="1640" y="285"/>
  1134                       <position x="720" y="1200"/>
  1132                     </connection>
  1135                     </connection>
  1133                   </connectionPointIn>
  1136                   </connectionPointIn>
  1134                 </variable>
  1137                 </variable>
  1135               </inputVariables>
  1138               </inputVariables>
  1136               <inOutVariables/>
  1139               <inOutVariables/>
  1141                   </connectionPointOut>
  1144                   </connectionPointOut>
  1142                 </variable>
  1145                 </variable>
  1143               </outputVariables>
  1146               </outputVariables>
  1144             </block>
  1147             </block>
  1145             <inVariable localId="62" executionOrderId="0" height="30" width="55" negated="false">
  1148             <inVariable localId="62" executionOrderId="0" height="30" width="55" negated="false">
  1146               <position x="1585" y="270"/>
  1149               <position x="665" y="1185"/>
  1147               <connectionPointOut>
  1150               <connectionPointOut>
  1148                 <relPosition x="55" y="15"/>
  1151                 <relPosition x="55" y="15"/>
  1149               </connectionPointOut>
  1152               </connectionPointOut>
  1150               <expression>fefvsd</expression>
  1153               <expression>fefvsd</expression>
  1151             </inVariable>
  1154             </inVariable>
  1152             <outVariable localId="63" executionOrderId="0" height="30" width="55" negated="false">
  1155             <outVariable localId="63" executionOrderId="0" height="30" width="55" negated="false">
  1153               <position x="1825" y="270"/>
  1156               <position x="905" y="1185"/>
  1154               <connectionPointIn>
  1157               <connectionPointIn>
  1155                 <relPosition x="0" y="15"/>
  1158                 <relPosition x="0" y="15"/>
  1156                 <connection refLocalId="61" formalParameter="OUT">
  1159                 <connection refLocalId="61" formalParameter="OUT">
  1157                   <position x="1825" y="285"/>
  1160                   <position x="905" y="1200"/>
  1158                   <position x="1790" y="285"/>
  1161                   <position x="870" y="1200"/>
  1159                 </connection>
  1162                 </connection>
  1160               </connectionPointIn>
  1163               </connectionPointIn>
  1161               <expression>fefvsd</expression>
  1164               <expression>fefvsd</expression>
  1162             </outVariable>
  1165             </outVariable>
       
  1166             <comment localId="53" height="65" width="420">
       
  1167               <position x="75" y="2160"/>
       
  1168               <content>
       
  1169                 <xhtml:p><![CDATA[Shows global variables access from resource configuration (res_pytest) and from project's configuration.]]></xhtml:p>
       
  1170               </content>
       
  1171             </comment>
       
  1172             <inVariable localId="18" height="30" width="65" executionOrderId="0" negated="false">
       
  1173               <position x="950" y="720"/>
       
  1174               <connectionPointOut>
       
  1175                 <relPosition x="65" y="15"/>
       
  1176               </connectionPointOut>
       
  1177               <expression>mux2_sel</expression>
       
  1178             </inVariable>
       
  1179             <comment localId="60" height="45" width="930">
       
  1180               <position x="60" y="1480"/>
       
  1181               <content>
       
  1182                 <xhtml:p><![CDATA[Here is shown how to convert values between different types (BCD, DT, TOD, STRING and others) using standard functions.]]></xhtml:p>
       
  1183               </content>
       
  1184             </comment>
       
  1185             <comment localId="64" height="55" width="300">
       
  1186               <position x="665" y="1095"/>
       
  1187               <content>
       
  1188                 <xhtml:p><![CDATA[Example of usage of user-defined function.]]></xhtml:p>
       
  1189               </content>
       
  1190             </comment>
       
  1191             <comment localId="65" height="45" width="410">
       
  1192               <position x="55" y="1315"/>
       
  1193               <content>
       
  1194                 <xhtml:p><![CDATA[Shows access variable defined in python extension. ]]></xhtml:p>
       
  1195               </content>
       
  1196             </comment>
       
  1197             <inVariable localId="66" height="30" width="130" executionOrderId="0" negated="false">
       
  1198               <position x="60" y="1685"/>
       
  1199               <connectionPointOut>
       
  1200                 <relPosition x="130" y="15"/>
       
  1201               </connectionPointOut>
       
  1202               <expression>Test_BCD_WRONG</expression>
       
  1203             </inVariable>
       
  1204             <block localId="67" width="105" height="100" typeName="BCD_TO_UINT" executionOrderId="0">
       
  1205               <position x="265" y="1620"/>
       
  1206               <inputVariables>
       
  1207                 <variable formalParameter="EN">
       
  1208                   <connectionPointIn>
       
  1209                     <relPosition x="0" y="40"/>
       
  1210                   </connectionPointIn>
       
  1211                 </variable>
       
  1212                 <variable formalParameter="IN">
       
  1213                   <connectionPointIn>
       
  1214                     <relPosition x="0" y="80"/>
       
  1215                     <connection refLocalId="66">
       
  1216                       <position x="265" y="1700"/>
       
  1217                       <position x="255" y="1700"/>
       
  1218                       <position x="255" y="1700"/>
       
  1219                       <position x="345" y="1700"/>
       
  1220                       <position x="345" y="1700"/>
       
  1221                       <position x="190" y="1700"/>
       
  1222                     </connection>
       
  1223                   </connectionPointIn>
       
  1224                 </variable>
       
  1225               </inputVariables>
       
  1226               <inOutVariables/>
       
  1227               <outputVariables>
       
  1228                 <variable formalParameter="ENO">
       
  1229                   <connectionPointOut>
       
  1230                     <relPosition x="105" y="40"/>
       
  1231                   </connectionPointOut>
       
  1232                 </variable>
       
  1233                 <variable formalParameter="OUT">
       
  1234                   <connectionPointOut>
       
  1235                     <relPosition x="105" y="80"/>
       
  1236                   </connectionPointOut>
       
  1237                 </variable>
       
  1238               </outputVariables>
       
  1239             </block>
       
  1240             <outVariable localId="68" height="30" width="185" executionOrderId="0" negated="false">
       
  1241               <position x="580" y="1685"/>
       
  1242               <connectionPointIn>
       
  1243                 <relPosition x="0" y="15"/>
       
  1244                 <connection refLocalId="67" formalParameter="OUT">
       
  1245                   <position x="580" y="1700"/>
       
  1246                   <position x="370" y="1700"/>
       
  1247                 </connection>
       
  1248               </connectionPointIn>
       
  1249               <expression>Test_BCD_WRONG_RESULT</expression>
       
  1250             </outVariable>
       
  1251             <comment localId="69" height="135" width="375">
       
  1252               <position x="795" y="1590"/>
       
  1253               <content>
       
  1254                 <xhtml:p><![CDATA[Incorrect BCD number is not converted to UINT.
       
  1255 
       
  1256 151 (16#97) is good BCD number , but 
       
  1257 154 (16#9A) is not.  
       
  1258 
       
  1259 Try this out and look at value of  Test_BCD_CONVERTED variable.
       
  1260 
       
  1261 
       
  1262 ]]></xhtml:p>
       
  1263               </content>
       
  1264             </comment>
       
  1265             <outVariable localId="70" height="30" width="185" executionOrderId="0" negated="false">
       
  1266               <position x="580" y="1645"/>
       
  1267               <connectionPointIn>
       
  1268                 <relPosition x="0" y="15"/>
       
  1269                 <connection refLocalId="67" formalParameter="ENO">
       
  1270                   <position x="580" y="1660"/>
       
  1271                   <position x="370" y="1660"/>
       
  1272                 </connection>
       
  1273               </connectionPointIn>
       
  1274               <expression>Test_BCD_CONVERTED</expression>
       
  1275             </outVariable>
       
  1276             <comment localId="71" height="170" width="680">
       
  1277               <position x="35" y="30"/>
       
  1278               <content>
       
  1279                 <xhtml:p><![CDATA[This example shows many features in Beremiz:
       
  1280 
       
  1281    1. How to implement python extensions.
       
  1282    2. How to implement basic C extension.
       
  1283    3. How to use C code in IEC POUs.
       
  1284    4. How to call C functions from python code.
       
  1285    5. How to avoid race conditions between IEC, C and python code.
       
  1286    6. How to convert betweet different IEC types.
       
  1287 ]]></xhtml:p>
       
  1288               </content>
       
  1289             </comment>
  1163           </FBD>
  1290           </FBD>
  1164         </body>
  1291         </body>
  1165       </pou>
  1292       </pou>
  1166       <pou name="C_Pragma" pouType="functionBlock">
  1293       <pou name="C_Pragma" pouType="functionBlock">
  1167         <interface>
  1294         <interface>
  1241     char somebyte = GetFbVar(COORDS, .table[3]);
  1368     char somebyte = GetFbVar(COORDS, .table[3]);
  1242     SetFbVar(SMURF, somebyte, .FIRSTBYTE);
  1369     SetFbVar(SMURF, somebyte, .FIRSTBYTE);
  1243     SetFbVar(COORDS, somebyte, .table[4]);
  1370     SetFbVar(COORDS, somebyte, .table[4]);
  1244   }
  1371   }
  1245 }}
  1372 }}
  1246 (* If you do not use __GET_VAR and _SET_VAR macro, expect unexpected *)
  1373 (* If you do not use GetFbVar and SetFbVar macros, expect unexpected behaviour*)
  1247 Global_RS();
  1374 Global_RS();
  1248 ]]></xhtml:p>
  1375 ]]></xhtml:p>
  1249           </ST>
  1376           </ST>
  1250         </body>
  1377         </body>
  1251       </pou>
  1378       </pou>