[etherlab-users] EtherLab with Omron Accurax PREOP-> OP fail

Fredriek Vanneste fredriek.vanneste at student.kuleuven.be
Fri May 8 16:29:04 CEST 2015


> On 8 May 2015 02:37, quoth Fredriek Vanneste:
> > Something else I forgot to mention before is that the Omron Drive gives
> an
> > error message when I try to go to "OP" state, saying:
> > Communication Setting Error.
> [...]
> > [  185.205688] EtherCAT 0: Using slave 0 as DC reference clock.
> > [  210.095697] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave
> refused
> > state change (PREOP + ERROR).
> > [  210.095742] EtherCAT ERROR 0-0: AL status message 0x0028:
> > "Synchronization not supported".
> > [  210.095889] EtherCAT 0-0: Acknowledged state PREOP.
> 
> It looks like you're just doing this at the command line, without an
> application running.  In this case you'll need to put a different slave
as
> the first slave.  Currently Etherlab will try to bring the reference
clock
> to OP without configuring it, and this particular slave apparently
doesn't
> like that.  The only solution is to put a slave that's ok with this (such
as
> an EK1100) as the first one instead.  (I've submitted a patch to disable
> this behaviour but I'm not sure if it's been integrated yet; certainly
it's
> not on the stable branch.)
> 
> If the same thing occurs when you try to run your application code, then
you
> need to check that you're calling ecrt_slave_config_dc and passing it the
> correct parameters (as specified by the slave vendor).

I get the same problem as with the ecrt_slave_config_state function. 
The program fails whenever it reaches this function. 
This is what dmesg gives:
[17675.763801] EtherCAT: Requesting master 0...
[17675.763807] EtherCAT: Successfully requested master 0.
[17675.764124] EtherCAT 0: Domain0: Logical address 0x00000000, 44 byte,
expected working counter 3.
[17675.764127] EtherCAT 0:   Datagram domain0-0-main: Logical offset
0x00000000, 44 byte, type LRW.
[17675.764158] EtherCAT 0: Master thread exited.
[17675.764159] EtherCAT 0: Starting EtherCAT-OP thread.
[17675.765211] estimation task[16822]: segfault at 10 ip 00007f3254f8b537
sp 00007f3255378c20 error 4 in libethercat_rtdm.so.1.0.0[7f3254f87000+8000]
[17675.870158] EtherCAT WARNING: Datagram ffff8801248f2688 (master-fsm) was
SKIPPED 1 time.
[17675.901068] Xenomai: RTDM: closing file descriptor 0.
[17675.901075] EtherCAT 0: Releasing master...
[17675.901088] EtherCAT 0: Master thread exited.
[17675.901097] EtherCAT 0: Starting EtherCAT-IDLE thread.
[17675.901146] EtherCAT 0: Released.
[17675.901160] Xenomai: native: cleaning up mutex "mutex" (ret=0).
[17676.874188] EtherCAT WARNING: Datagram ffff8801248f2688 (master-fsm) was
SKIPPED 1 time.

Any ideas?

> Note that you won't be able to use "ethercat states" to bring the slave
to
> OP or to exchange PDOs via command line -- both of those tasks require a
> proper application.
> 





More information about the Etherlab-users mailing list