<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>RE: [BULK]  Re: [etherlab-users] SDO transfer aborted</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Commands with output:<BR>
$sudo ./akd_torque<BR>
Configuring AKD with flexible PDO...<BR>
Configuring PDOs...<BR>
Activating master...<BR>
Started.<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
AKD: actual velocity = 0.0 rpm<BR>
<BR>
$sudo dmesg -c<BR>
[  587.437348] EtherCAT: Requesting master 0...<BR>
[  587.437366] EtherCAT: Successfully requested master 0.<BR>
[  587.437802] EtherCAT 0: Domain0: Logical address 0x00000000, 10 byte, expected working counter 3.<BR>
[  587.437817] EtherCAT 0:   Datagram domain0-0-main: Logical offset 0x00000000, 10 byte, type LRW.<BR>
[  587.437900] EtherCAT 0: Master thread exited.<BR>
[  587.437917] EtherCAT 0: Starting EtherCAT-OP thread.<BR>
[  587.438163] EtherCAT WARNING 0: 1 datagram UNMATCHED!<BR>
[  587.440307] EtherCAT WARNING 0: No app_time received up to now, but master already active.<BR>
[  587.477094] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).<BR>
[  587.479131] EtherCAT ERROR 0-0: AL status message 0x001D: "Invalid output configuration".<BR>
[  587.483235] EtherCAT 0-0: Acknowledged state PREOP.<BR>
<BR>
After seeing the ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR) message, I checked the drive for faults and found none that needed to be reset.<BR>
<BR>
<BR>
Thanks,<BR>
Alyssa Wells<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: Sebastien Blanchet [<A HREF="mailto:blanchet@iram.fr">mailto:blanchet@iram.fr</A>]<BR>
Sent: Thu 5/12/2016 11:02 AM<BR>
To: Alyssa Wells; etherlab-users@etherlab.org<BR>
Subject: [BULK]  Re: [etherlab-users] SDO transfer aborted<BR>
<BR>
Hi,<BR>
<BR>
Indeed it should be moving.<BR>
<BR>
Try to run the torque example (it is easier), without any modification<BR>
<A HREF="http://lists.etherlab.org/pipermail/etherlab-users/2015/002698.html">http://lists.etherlab.org/pipermail/etherlab-users/2015/002698.html</A><BR>
<BR>
Send me back:<BR>
- the console output<BR>
- the kernel message (with 'dmesg' )<BR>
<BR>
so that I can compare with my results and then try to understand that is wrong.<BR>
<BR>
regards,<BR>
--<BR>
Sebastien BLANCHET<BR>
<BR>
<BR>
On 05/12/2016 04:01 PM, Alyssa Wells wrote:<BR>
> Sebastien,<BR>
><BR>
> Thank you for the help and resources! I'm working my way through your examples<BR>
> now, trying to understand the sequence of events completely so I can follow it<BR>
> for my application.<BR>
> I tried running the profile velocity example and the cyclic sync position<BR>
> example with no movement. It appears to be communicating with the drive just<BR>
> fine, it reports back actual velocity/position as 0 every scan, but it doesn't<BR>
> enable the drive or move it at all. Is that by design, or should it be moving?<BR>
> I feel like I'm getting close to making this work, but I feel like I'm missing<BR>
> something or overcomplicating something in the process that's messing me up. If<BR>
> you have time, I'd appreciate any insight you can offer.<BR>
><BR>
> Thanks!<BR>
> Alyssa Wells<BR>
><BR>
><BR>
> -----Original Message-----<BR>
> From: Sebastien Blanchet [<A HREF="mailto:blanchet@iram.fr">mailto:blanchet@iram.fr</A>]<BR>
> Sent: Tue 5/10/2016 11:15 AM<BR>
> To: Alyssa Wells; etherlab-users@etherlab.org<BR>
> Subject: Re: [etherlab-users] SDO transfer aborted<BR>
><BR>
> Hi,<BR>
><BR>
> This KM guide for Interpolated Position is for CANOpen only. For EtherCAT CoE,<BR>
> SDO 0x1c12 and 0x1c13 must be set, otherwise it does not work.<BR>
><BR>
> SDO 0x1c12 and 0x1c13 are used to assign PDO to the Sync Manager.<BR>
><BR>
> My example is based on the TwinCAT example from the Kollmorgen EtherCAT<BR>
> documentation. See the startup-SDO-list in section 4.6.1 "Flexible PDO Mappings" in<BR>
> <A HREF="http://www.kollmorgen.com/uploadedFiles/Products/Drives/AC_Servo_Drives/AKD/AKD_Manuals/903-200005-00%20AKD_EtherCat_en%20Rev%20E.pdf">http://www.kollmorgen.com/uploadedFiles/Products/Drives/AC_Servo_Drives/AKD/AKD_Manuals/903-200005-00%20AKD_EtherCat_en%20Rev%20E.pdf</A><BR>
><BR>
><BR>
> regards,<BR>
> --<BR>
> Sebastien BLANCHET<BR>
><BR>
><BR>
> On 05/10/2016 03:17 PM, Alyssa Wells wrote:<BR>
>  > Firmware: M_01-13-00-004<BR>
>  > Shell script attached that now works! I added line 3 and adjusted line 10 (had<BR>
>  > the wrong type there, uint32 instead of uint8)<BR>
>  > I got those commands from this guide on Interpolated Position from Kollmorgen<BR>
>  ><BR>
> (<A HREF="http://kdn.kollmorgen.com/sites/default/files/AKD%20CanOpen%20DS402%20PDO%20Interpolated%20position.pdf">http://kdn.kollmorgen.com/sites/default/files/AKD%20CanOpen%20DS402%20PDO%20Interpolated%20position.pdf</A>)<BR>
>  > and I don't fully understand why their example uses the commands that it does,<BR>
>  > versus your examples.<BR>
>  > A more specific example of this is the line 3 that I added to my script is<BR>
>  > something you use in your examples, but KM does not use. What exactly does that<BR>
>  > line achieve and why is it better than the KM method? (Aside from the obvious<BR>
>  > fact that it works and their way doesn't)<BR>
>  ><BR>
>  ><BR>
>  > Thanks,<BR>
>  ><BR>
>  > Alyssa Wells<BR>
>  ><BR>
>  ><BR>
>  ><BR>
>  > -----Original Message-----<BR>
>  > From: Sebastien Blanchet [<A HREF="mailto:blanchet@iram.fr">mailto:blanchet@iram.fr</A>]<BR>
>  > Sent: Tue 5/10/2016 8:05 AM<BR>
>  > To: Alyssa Wells; etherlab-users@etherlab.org<BR>
>  > Subject: Re: [etherlab-users] SDO transfer aborted<BR>
>  ><BR>
>  > Hi,<BR>
>  ><BR>
>  > Could you please send<BR>
>  > - the full listing of your PDOs configuration<BR>
>  > - the firmware version of your AKD servo drive<BR>
>  ><BR>
>  > Ideally I would like a shell script like this<BR>
>  ><BR>
> <A HREF="http://lists.etherlab.org/pipermail/etherlab-users/attachments/20120413/b83b76d4/attachment.bin">http://lists.etherlab.org/pipermail/etherlab-users/attachments/20120413/b83b76d4/attachment.bin</A><BR>
>  > so that I can easily replay the configuration sequence<BR>
>  ><BR>
>  > regards,<BR>
>  > --<BR>
>  > Sebastien BLANCHET<BR>
>  ><BR>
>  ><BR>
>  > For your information, I have already posted some examples for Kollmorgen AKD,<BR>
>  > that may help you.<BR>
>  > <A HREF="http://lists.etherlab.org/pipermail/etherlab-users/2012/001684.html">http://lists.etherlab.org/pipermail/etherlab-users/2012/001684.html</A><BR>
>  > <A HREF="http://lists.etherlab.org/pipermail/etherlab-users/2015/002724.html">http://lists.etherlab.org/pipermail/etherlab-users/2015/002724.html</A><BR>
>  > <A HREF="http://lists.etherlab.org/pipermail/etherlab-users/2015/002698.html">http://lists.etherlab.org/pipermail/etherlab-users/2015/002698.html</A><BR>
>  > <A HREF="http://lists.etherlab.org/pipermail/etherlab-users/2015/002723.html">http://lists.etherlab.org/pipermail/etherlab-users/2015/002723.html</A><BR>
>  ><BR>
>  ><BR>
>  ><BR>
>  > On 05/09/2016 04:37 PM, Alyssa Wells wrote:<BR>
>  >  > Using the EtherCAT Master to talk to a Kollmorgen AKD drive with quite a<BR>
> bit of<BR>
>  >  > success. When I try to set up some of the PDOs, I get an error message.<BR>
>  >  ><BR>
>  >  > This command:<BR>
>  >  > sudo ethercat -p0 -t uint32 download 0x1602 1 0x60400010<BR>
>  >  ><BR>
>  >  > Produces the following errors:<BR>
>  >  ><BR>
>  >  > (the first time it is run)<BR>
>  >  > SDO transfer aborted with code 0x06040041: The object cannot be mapped into<BR>
>  > the PDO<BR>
>  >  ><BR>
>  >  > (any subsequent times it is run)<BR>
>  >  > SDO transfer aborted with code 0x08000022: Data cannot be transferred or<BR>
> stored<BR>
>  >  > to the application because of the present device state<BR>
>  >  ><BR>
>  >  > If anyone has any insight into why this is happening, I would really<BR>
> appreciate<BR>
>  >  > the input. Thanks!<BR>
>  >  ><BR>
>  >  ><BR>
>  >  > Alyssa Wells<BR>
>  >  > Automation Technician<BR>
>  >  > Custom-Pak, Inc.<BR>
>  >  > www.custom-pak.com<BR>
>  >  ><BR>
>  ><BR>
>  ><BR>
><BR>
<BR>
<BR>
--<BR>
Sebastien BLANCHET<BR>
Head of Computer Group -- IRAM<BR>
<BR>
Institut de Radio Astronomie Millimetrique<BR>
300 rue de la Piscine<BR>
Domaine Universitaire de Grenoble<BR>
38406 Saint Martin D'Heres<BR>
FRANCE<BR>
</FONT>
</P>

</BODY>
</HTML>