[Etherlab-users] dynamic PDO unmapping

Gavin Lambert gavin.lambert at tomra.com
Thu Sep 17 09:49:22 CEST 2020

(Forwarding an earlier reply back to the list; it got stuck in moderation due to signature images out of my control.)


No, not without deactivating the master and reconfiguring it.  But for the master to know that it needs to do that, you'd have to have your safety routine communicate a fault back to the master, in which case you can tell it to change its normal PDO output to a safe value instead of stopping communication.  Usually this will take at least one cycle to get the status update, so you probably can't avoid sending the "wrong" value at least once.

Meanwhile the servo slave itself, when it detects a fault condition, should go into a state where it ignores whatever values the master is sending (unless it considers them "safe" for its fault condition), bridging the time between when the fault is detected and when the master notices and updates its outputs.

(If this isn't your own slave device then you should probably be asking the slave vendor how to do this sort of thing properly.)


Gavin Lambert
Senior Software Developer


COMPAC SORTING EQUIPMENT LTD | 4 Henderson Pl | Onehunga | Auckland 1061 | New Zealand
Switchboard: +49 2630 96520 | https://www.tomra.com

The information contained in this communication and any attachment is confidential and may be legally privileged. It should only be read by the person(s) to whom it is addressed. If you have received this communication in error, please notify the sender and delete the communication.
From: BUSSIERES Vincent
Sent: Thursday, 17 September 2020 07:55
To: etherlab-users at etherlab.org
Subject: [Etherlab-users] dynamic PDO unmapping


I'd like to unmapp PDOs dynamically or to stop sending PDO data to a particular slave. 
My EtherCAT network includes 6 slaves, among them digital inputs / outputs modules and servodrives modules.
I have developped safety functions embeded into the servodrives modules. For instance, in case of emergency stop, the embeded program reads digital safety emerency input and configures a torque setpoint to stop the motor very quickly. 
The problem is that EtherCAT master sends PDO frames continuously to all the slaves, in particular torque setpoint PDO to servodrive. Therefor the setpoint configured in embeded program is replaced by the one sent by EtherCAT master.
So I'd like to know if it is possible to stop sending temporarly PDO to a particular slave or unmapp these PDOs.
Best regards
Responsable Technique Logiciel

ZE Ma Campagne
36, Impasse Félix Nadar
Tel: 33 (0)

More information about the Etherlab-users mailing list