This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDXICE110: EtherCAT Slave error

Part Number: TMDXICE110
Other Parts Discussed in Thread: TMDSECATCNCD379D

Hi,

I am trying to get the ecat_ti_esc_spi_slave example running on the TMDXICE110 and while trying to get from the INIT to PREOP state TwinCAT gives the following error:

Error 1 02.12.2019 15:48:41 538 ms | 'Box 1 (TMDSECATCNCD379D EtherCA' (1001): 'INIT to PREOP' failed! Error: 'check device state for PREOP'. AL Status '0x0011' read and '0x0002' expected. AL Status Code '0x0016 - Invalid mailbox configuration'

The ethercat slave stack is running on an stm32 board which is connected to the ICE110 via spi. The Ethercat slave stack runs through the init process just fine. Thus, at least the interface is working properly.

As i am quite uncertain which Ethercat slave stack files are required for the ecat_ti_esc_spi_slave project, the error might be there.

Do i need the files created for the slave_full example or the ones for the C2000 application or something completely different. However, so far i tried both and the error persists.

I am using the PRU ICSS Release 1.00.07 , pdk version 1.0.12 , ccs v8 and followed:

https://training.ti.com/demonstrating-ti-esc-spi-mode-ddr-less-amic110-c2000-ethercat-slave?context=1134134-1139205-1136893

and

http://software-dl.ti.com/processor-industrial-sw/esd/docs/indsw/EtherCAT_Slave/01_00_07/PRU_ICSS_EtherCAT.html#introduction

Cheers and thank you very much,

Philipp

  • Philipp Beck said:

    As i am quite uncertain which Ethercat slave stack files are required for the ecat_ti_esc_spi_slave project, the error might be there.

    Do i need the files created for the slave_full example or the ones for the C2000 application or something completely different. However, so far i tried both and the error persists.

    Okay i realised that this statement is quite useless as none of the project actually depends on it.

  • Hi Philipp,

    >>AL Status Code '0x0016 - Invalid mailbox configuration

    If you have .xml file configured correctly, you may step into the function CheckSmSettings() in ecatslv.c file to find out why the error occurs.

    The 0x0016 code is defined in ecatslv.h:

    #define ALSTATUSCODE_INVALIDMBXCFGINPREOP 0x0016 /**< \brief Invalid mailbox configuration (PreOP state)*/

    Regards,

    Garrett

  • Hi Garrett,

    thank you very much for the hint. I managed to solve this problem.

    I just missed some compiler defines in regards to data types while porting the application to my stm32

    Regards,

    Philipp