tests/ethercat/wago_sanyo/ethercat@etherlab/master@EthercatNode/config.xml
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Wed, 01 Aug 2018 13:09:45 +0300
changeset 2258 c9915bc620cd
parent 2165 02a2b5dee5e3
permissions -rw-r--r--
Fix wrong code generation if EN/ENO are used in FBD/LD/SFC

This problem appears for example here

--------
------- | MOVE |
| MOVE1 |------|EN ENO|
------- | |
| |
------- | | -----------
| 23 |------|IN OUT|---| LocalVar0 |
------- -------- -----------


--------
------- | MOVE |
| MOVE2 |------|EN ENO|
------- | |
| |
------- | | -----------
| 15 |------|IN OUT|---| LocalVar0 |
------- -------- -----------

Before wrong code was generated for this case:

MOVE6_OUT := MOVE(EN := move1, IN := 23, ENO => MOVE6_ENO);
LocalVar0 := MOVE6_OUT;
MOVE4_OUT := MOVE(EN := move2, IN := 15, ENO => MOVE4_ENO);
LocalVar0 := MOVE4_OUT;

With this patch now following code is generated:

MOVE6_OUT := MOVE(EN := move1, IN := 23, ENO => MOVE6_ENO);
IF MOVE6_ENO THEN
LocalVar0 := MOVE6_OUT;
END_IF;
MOVE4_OUT := MOVE(EN := move2, IN := 15, ENO => MOVE4_ENO);
IF MOVE4_ENO THEN
LocalVar0 := MOVE4_OUT;
END_IF;


See discussion here:
https://sourceforge.net/p/beremiz/mailman/message/36378805/
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<EtherCATConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="EtherCATInfo.xsd">
  <Config>
    <Master>
      <Info>
        <Name></Name>
        <Destination>00</Destination>
        <Source>00</Source>
      </Info>
    </Master>
    <Slave>
      <Info>
        <Name>EK1100</Name>
        <PhysAddr>0</PhysAddr>
        <AutoIncAddr>0</AutoIncAddr>
        <Physics></Physics>
        <VendorId>2</VendorId>
        <ProductCode>72100946</ProductCode>
        <RevisionNo>65536</RevisionNo>
        <SerialNo>0</SerialNo>
      </Info>
    </Slave>
    <Slave>
      <Info>
        <Name>EL1088</Name>
        <PhysAddr>1</PhysAddr>
        <AutoIncAddr>0</AutoIncAddr>
        <Physics></Physics>
        <VendorId>2</VendorId>
        <ProductCode>71315538</ProductCode>
        <RevisionNo>1048576</RevisionNo>
        <SerialNo>0</SerialNo>
      </Info>
    </Slave>
    <Slave>
      <Info>
        <Name>EL2088</Name>
        <PhysAddr>2</PhysAddr>
        <AutoIncAddr>0</AutoIncAddr>
        <Physics></Physics>
        <VendorId>2</VendorId>
        <ProductCode>136851538</ProductCode>
        <RevisionNo>1048576</RevisionNo>
        <SerialNo>0</SerialNo>
      </Info>
    </Slave>
    <Slave>
      <Info>
        <Name>SanyoDenki RS2 EtherCAT</Name>
        <PhysAddr>3</PhysAddr>
        <AutoIncAddr>1</AutoIncAddr>
        <Physics></Physics>
        <VendorId>441</VendorId>
        <ProductCode>2</ProductCode>
        <RevisionNo>0</RevisionNo>
        <SerialNo>0</SerialNo>
      </Info>
    </Slave>
  </Config>
</EtherCATConfig>