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.

About The EtherCAT PDO size



Hello,

I am attempting to transfer a part of the RxPdo data size.
I have changed as follows: ENI file.

  Cyclic/Frame/Cmd/DataLength to 40byte.
 (EtherCATInfo/Descriptions/Devices/Device/RxPdo is 100byte)

However, I get the error with the error code 0x1b 'Sync manager watchdog'.
I think cause of the above is that the watchdog is not executed,


So, I have the following questions.

1. Do I must set the same size RxPdo data size (in ESI file) and the transfer data size (in ENI file)
2. Is it specification of PRU that Watchdog is not executed when the Data size is different?


Best Regards,
H.U

  • Hello,

    In ecat_def.h

    /**MAX_PD_OUTPUT_SIZE: Maximum size of the process output data (Sync Manager 2) for cyclic exchange. */

    #define MAX_PD_OUTPUT_SIZE                        0x044

    This is set to 68 by default. So if you are changing RXPDO to 100 bytes size, this needs to changed here as well as in the ESI XMLs. ESI configuration shall match the configuration to which slave is built for.

    Regards,
    Vinesh

  • Hello Vinesh,

    Thank you for your reply.

    I have checked MAX_PD_OUTPUT_SIZE in "ecat_def.h" and RXPDO size in ESI configuration already.
    So, I don't have any problem above your pointing out.

    I want to know that whether I can transfer part of the RxPDO data size by changing the ENI.

    In my case :
      I defined RxPDO data size is 100 byte.
      I want to transfer 40 byte among 100 byte of RxPDO.

    Best regards,
    H.U