[Etherlab-users] DMS72E4331 slave refuses to go OP

Graeme Foot Graeme.Foot at touchcut.com
Fri Sep 15 01:04:53 CEST 2023


Hi,

There's kind of not enough info to go on, but here's some thoughts:

1) Re SAFEOP + ERROR: It looks like you are only using one domain.  Do you have the esi (.xml) file for the slave?  If so, does it require the read and write PDO's to be separated into separate read and write domains?  (a fair number of drives require this and some require it even if not stated in the esi file.)

You can also check the notLRW flag under the "ethercat slaves -v" command, but I've also had a slave that did not report this requirement but had a bug that required overlapping PDO's or separate domains (it did not like consecutive PDO's which is the Etherlab master default).


2) Re Alarm 0x001B: Have you confirmed that your realtime loop is active and at the correct cycle time when you are activating your master (and bringing the slaves to OP).  I see in your ethercat.c, app_ethercat_start() method that you are running a loop at 500us until the master is at EC_AL_STATE_OP (or 100s).  Is this method returning ACTION_DONE or ACTION_WAITING?  When does the 0x001B alarm occur in relation to this method?  Have you confirmed you continue the ethercat realtime loop after app_ethercat_start() regardless of the result?

I suspect the SAFEOP + ERROR is a configuration problem and the 0x001B sync error a subsequent realtime loop problem.

Regards,
Graeme.

-----Original Message-----
From: Etherlab-users <etherlab-users-bounces at etherlab.org> On Behalf Of Fontana Nicola
Sent: Friday, September 15, 2023 8:32 AM
To: etherlab-users at etherlab.org
Subject: [Etherlab-users] DMS72E4331 slave refuses to go OP

Hi all,

I've an EtherCAT chain of 8 slaves, the last one being a driver I never used before.

After the ecrt_master_activate() call, everything goes OP but that
driver: it keeps giving me a "Sync manager watchdog" error (AL status 0x001B). Attached the kernel log (debug level 1) of that run.

Has anyone experienced this kind of issue? Is there some workaround I can try? I disabled the watchdog (EC_WD_DISABLE to all SMs [1]) and wrote 0 to the ESC register 0x410 but the error simply changed to "Invalid watchdog configuration" (AL status 0x001F).

According to the FAQ in the old website [2], configuration failures are most likely caused by wrong SII implementation: is this the case?

[1] https://gitlab.com/entidi/libmachinery/-/blob/master/src/ethercat-slaves.c?ref_type=heads#L773
[2] https://web.archive.org/web/20210922180832/https://www.etherlab.org/en/ethercat/faq.php

Thank you in advance.
--
Nicola



More information about the Etherlab-users mailing list