[etherlab-users] EtherLab with Omron Accurax PREOP-> OP fail
Fredriek Vanneste
fredriek.vanneste at student.kuleuven.be
Wed May 13 16:42:43 CEST 2015
> -----Original Message-----
> From: Gavin Lambert [mailto:gavinl at compacsort.com]
> Sent: maandag 11 mei 2015 10:01
> To: 'Fredriek Vanneste'
> Cc: etherlab-users at etherlab.org
> Subject: RE: [etherlab-users] EtherLab with Omron Accurax PREOP-> OP fail
>
> On 11 May 2015 18:32, quoth Fredriek Vanneste:
> > > > [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?
> > >
> > > Most likely you are passing incorrect parameters, or calling things
> > > in
> > the
> > > wrong order. It's hard to say for sure exactly what without seeing
> > > your code.
> > >
> >
> > I have attached a file with the code I used in this example.
> > Thank you in advance.
>
> You've never actually assigned anything to sc_motor, so it's still NULL.
> Hence the segfault.
>
> You need to assign the local sc from main to it so that the other tasks
can
> see it.
>
That was indeed an issue. I am one step closer to a solution now.
I added sc_motor =ecrt_master_slave_config (master, 0,0,...); and the
functions mentioned before are now being executed!
Thank you!
I also added the ecrt_slave_config_dc(sc_motor, 0x0300,2500000,0,250000,0);
just befor the ecrt_slave_config_state(...);
If I run the program now, I am getting an error message but only after some
time(15seconds). (synchronization error and state change error)
Please find attached the output from "dmesg" .
There seems to be a problem with SDO download of the PDO mapping and the
slave is not able to change state to SAFEOP or OP.
Fred
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dmesg.txt
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20150513/0c8993f8/attachment-0005.txt>
More information about the Etherlab-users
mailing list