[etherlab-users] Failed to execute SDO download: Protocol not supported

Gavin Lambert gavin.lambert at tomra.com
Fri Jun 29 01:45:03 CEST 2018

You don’t need to perform explicit downloads of the PDO assignment or configuration registers at all, ever; they are managed internally by the master library.  Simply use the combination of ecrt_slave_config_pdos and ecrt_domain_reg_pdo_entry_list as shown in the examples.  You can use “ethercat cstruct” to generate the required data structures for these calls.  (In some cases or for particular slaves, eg. with overlapping or repeated PDOs, you might need to do something a little more complicated, but that is rare.)

If you have slaves with different revisions, note that different structures may be required for each revision, if the PDO layout has been changed.

If the slave does not support CoE (which is what the “protocol not supported” error implies) then it is not possible to alter the slave’s PDO assignment – it has a manufacturer-defined fixed setup.  You must make sure that the configuration and assignment defined in your application matches this, by using those APIs mentioned above.

From: Derrill Vezina
Sent: Friday, 29 June 2018 01:40
To: etherlab-users at etherlab.org
Subject: [etherlab-users] Failed to execute SDO download: Protocol not supported


I am currently using a Beckhoff EL2502 PWM output card with the Etherlab 1.5.2 master using the generic ethernet driver. On startup, I am trying to set a PDO assignment SDO register using ecrt_master_sdo_download() and am getting an error back “Failed to execute SDO download: Protocol not supported”.

I am not able to set a PDO assignment SDO registers using the ecrt_slave_config_sdoX() calls…which from my reading of other mailing list posts is only used for configuration registers.

In turn, I was able to use the Ethercat Etherlab tool and change the PDO mapping so I assumed it is available from the application interface since they use the same calls (ioctl interface)

Beckhoff changed the firmware on the card and I’m trying to reassign the PDO’s to the old mappings… this isn’t the first time I’ve run into this problem so I'm looking for a solution for all cards that would have this problem. Ideally, id like to do it through the application interface and avoid running a script on startup that uses the tool.

Has anyone has success with doing this type of transaction?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20180628/531261a2/attachment-0004.htm>

More information about the Etherlab-users mailing list