Codesys Control RTE, EoE issues

Kim
2016-03-01
2016-03-29
  • Kim - 2016-03-01

    We have some slave devices supporting EoE and I know they have been tested with EtherCAT masters from Beckhoff & Omron.
    I am now experimenting with this in Codesys RTE v3.5.7.10.
    It seems to work, but I've run into some issues which I hope you might be able to help me with.

    Quick information about my IP setup
    LAN-port A on PC is used for my test LAN, IP=192.168.1.1, subnet 255.255.255.0
    LAN-port B on PC is used for EtherCAT, IP=192.168.2.1, subnet 255.255.255.0
    Slave device has virtual IP activated in the EoE tab, IP=192.168.2.101, subnet 255.255.255.0, gateway 192.168.2.1

    Question 1
    While pinging 192.168.2.101 continuously (command promt, ping 192.168.2.101 /t), I notice that SDO reads within my PLC logical code fails every now and then with the error code SMC_RP_REQUESTING_ERROR. It has never happened before I activated the EoE. I'm using the function block SMC3_ETC_ReadParameter_CoE. According to documentation, the read request was aborted because the drive did not respond within a certain time. I guess the time used is the "SDO Access" timeout in the General tab of the slave device, in my case it's 1000ms.
    Is this really normal? Should I just lower the timeout and implement automatic retries in my code? Maybe another function block for reading SDO:s should be used? Please advice!

    Question 2

    SOLVED, TURNS OUT "IP ROUTING" CAN BE ACTIVATED WITH A REGISTRY SETTING, MORE SPECIFICALLY:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, IPEnableRouter=1

    Any help appreciated, keep up the good work.

    Kim Hansen
    Beijer Electronics Automation AB

     
  • Kim - 2016-03-02

    Addendum:

    EoE seems a bit unstable, I hope it's just something I do wrong.
    It seems that as soon as I have SDO-communication going I get errors every now and then.
    Besides timeout, I also see that read fails sometimes with an abortcode.
    uiDriveInterfaceError=1
    strDriveInterfaceError="SDO read error, 2619:00 eError 1 AbortCode 5040001"
    According to internet the meaning of the abortcode is: "0x05040001 Invalid SDO Command specifier"
    This sounds weird, because to me it sounds like a message has been corrupted or scrambled in some way"

    Sometimes the ping also dies completely displaying Unable to reach host.
    When that happens, the slave device functions properly within Codesys, I/O:s are being updated correctly etc.
    However, in order to get the EoE going again I need to unplug the slave and plug it back in again.

     
  • eschwellinger

    eschwellinger - 2016-03-03

    Hi Kim,

    ETC_CO_SdoRead4.udiTimeOut := 5000;
    EoE has higher Prio than, SDO communication this is for sure.

    If you have the chance to check EoE with current version would be great.
    Guess there where some improvements.
    Which EthercatDriverversion are in your case in the library manager?

    BR
    Edwin

     
  • Kim - 2016-03-03

    Edwin, we're using IoDrvEtherCAT 3.5.7.30.

    Ok, so EoE has higher prio, that's good to know.

    There are no plans of updating to SP8 in the target platform, but I could try SP8 on the PC to see if there's any difference, won't be until next week though.

    Am I using the correct SDO function block?
    Currently using SMC3_ETC_ReadParameter_CoE

    //Kim

     
  • eschwellinger

    eschwellinger - 2016-03-03

    Hi Kim,

    yes this Fb is the correct SDO FB

    BR
    Edwin

     
  • eschwellinger

    eschwellinger - 2016-03-28

    Hi Kim,

    there is an issue which will be solved with 3.5SP9 according the Setting FramesatTaskStart,
    which influences EoE.
    You could give this a try and check if this is your problem.
    (For a test disable FramesatTaskStart to false)
    BR
    Edwin

     
  • Kim - 2016-03-29

    Thanks Edwin, will do and report back when I've found some time to test it.

     

Log in to post a comment.