Re: [etherlab-users] EL6751 SDO-Configuration

2016-01-22 Thread Thomas Paoloni

Hi,

Maybe I've not yet understood precisely what you need, correct me if I'm 
wrong.
Every configuration SDO sent via ecrt_slave_config_complete_sdo is meant 
as and SDO addressed to the EL6751 and the only use is to configure the 
EL6751 or Can configuration telegrams to the Can slaves, allowed only 
when the bus is not running.
For configure the 6751 we mean his PDO on canopen side, not used in your 
case since you don't have CANOpen slaves, or 6751 proprieties (almost 
everything you can "click" on Twincat.
If you want to send SDO (raw Can telegrams) to your Can slave when the 
network is running you're on the wrong way since EL6751 don't allows you 
to do this.
I had to do this in the past, I contacted Beckhoff and they explained me 
that in order to send an SDO to a slave on the Can network I need to use 
their proprietary AoE protocol (ADS over Ethercat) and unforunately 
etherlab doesn't implements this.


Personally, I hate the EL6751 :-)
It worked very bad in my case, the Can network was unstable at 1Mbit 
even using certified cables and a 3 meters network.
The inability to send SDO transparently to Can network was "the straw 
that breaks the camel", I've dropped it out and replaced Can slaves with 
ethercat equivalent.
For my experience, the EL6731 is almost the worst slave that Beckhoff 
produces.


Bye,
Thomas.



On 22/01/2016 14:17, Matze Thias wrote:
Thank you Thomas for sharing your code :) In my code I'm doing almost 
the same, except that I do encode the configuration bytes directly in 
an array instead of converting it from a string.


Also I do not have to configure CANOpen-Slaves. The only slave 
listening on the CAN-Bus expects "raw"(Layer2)-CAN-Messages and do not 
understand the higher-level CANOpen-Protocol. When I configure it that 
way, I always get


 EtherCAT ERROR 0-1: Failed to set SAFEOP state, slave refused state 
change (PREOP + ERROR).

 EtherCAT ERROR 0-1: Unknown AL status code 0xF101

PS: I just dumped the device info via ethercat slaves -v. I got:


General:
  Group: Communication
  Image name:
  Order number: EL6751
  Device name: EL6751 CANopen Master
  CoE details:
Enable SDO: yes
Enable SDO Info: yes
Enable PDO Assign: no
Enable PDO Configuration: no
Enable Upload at startup: no
Enable SDO complete access: yes
  Flags:
Enable SafeOp: no
Enable notLRW: no
  Current consumption: 300 mA


So flags are saying, that SafeOp is not enabled. Does that mean that 
SafeOP does not exist? Considering the error message is there any 
correlation? How can I fix this?


2016-01-20 12:44 GMT+01:00 Thomas Paoloni >:


Hi,

Sometimes a piece of code is better than explanations ...
Here is mine, which configures the PDO of the CanOpen side on my
EL6731

static int err_code;
static int cnt;
static int x, y, z, i, num_config_lines;
static char app_str[1024];
static unsigned char pb_config_buf[2048];
static int ecrt_retval;
uint32_tvalue_to_write;
uint32_tabort_code;

struct config_item {
unsigned int slave_pos;
unsigned short address;
char * config_string;
};

// 6 Atos Hydraulic valves without rxpdo2
const config_item config [] = {

// EL67xx CoE Init Cmd 2 (F800:00)
{19, 0xF800, "11 00 7F 06 80 00 10 27 00 00 00 00 00 00 00
1E 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00"},
// EL67xx CoE Init Cmd 3 (8000:00)
{19, 0x8000, "2E 00 01 00 98 01 00 07 F4 00 00 00 02 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64
00 03 00 D0 07 D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},
// EL67xx CoE Init Cmd 4 (8006:00)
{19, 0x8006, "03 00 81 01 00 00 FF 02 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00"},
// EL67xx CoE Init Cmd 5 (8008:00)
{19, 0x8008, "04 00 01 02 00 00 FF 02 00 00 00 00 00 00 01
03 00 00 FF 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00"},
// EL67xx CoE Init Cmd 6 (8003:00)
{19, 0x8003, "0E 00 00 18 01 04 00 81 01 00 00 00 18 02 01
00 FF 01 18 01 04 00 81 03 00 00 01 18 02 01 00 FF 02 18 01 04 00
81 04 00 00 02 18 02 01 00 FF 00 14 01 04 00 01 02 00 00 00 14 02
01 00 FF 01 14 01 04 00 01 03 00 00 01 14 02 01 00 FF 02 14 01 04
00 01 04 00 00 02 14 02 01 00 FF 03 14 01 04 00 01 05 00 00 03 14
02 01 00 FF"},
// EL67xx CoE Init Cmd 7 (8010:00)
{19, 0x8010, "2E 00 02 00 98 01 00 07 F4 00 00 00 02 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64
00 03 00 D0 07 D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},
// EL67xx CoE In

Re: [etherlab-users] EL6751 SDO-Configuration

2016-01-22 Thread Matze Thias
Thank you Thomas for sharing your code :) In my code I'm doing almost the
same, except that I do encode the configuration bytes directly in an array
instead of converting it from a string.

Also I do not have to configure CANOpen-Slaves. The only slave listening on
the CAN-Bus expects "raw"(Layer2)-CAN-Messages and do not understand the
higher-level CANOpen-Protocol. When I configure it that way, I always get

 EtherCAT ERROR 0-1: Failed to set SAFEOP state, slave refused state change
(PREOP + ERROR).
 EtherCAT ERROR 0-1: Unknown AL status code 0xF101

PS: I just dumped the device info via ethercat slaves -v. I got:


General:
  Group: Communication
  Image name:
  Order number: EL6751
  Device name: EL6751 CANopen Master
  CoE details:
Enable SDO: yes
Enable SDO Info: yes
Enable PDO Assign: no
Enable PDO Configuration: no
Enable Upload at startup: no
Enable SDO complete access: yes
  Flags:
Enable SafeOp: no
Enable notLRW: no
  Current consumption: 300 mA


So flags are saying, that SafeOp is not enabled. Does that mean that SafeOP
does not exist? Considering the error message is there any correlation? How
can I fix this?

2016-01-20 12:44 GMT+01:00 Thomas Paoloni :

> Hi,
>
> Sometimes a piece of code is better than explanations ...
> Here is mine, which configures the PDO of the CanOpen side on my EL6731
>
> static int err_code;
> static int cnt;
> static int x, y, z, i, num_config_lines;
> static char app_str[1024];
> static unsigned char pb_config_buf[2048];
> static int ecrt_retval;
> uint32_tvalue_to_write;
> uint32_tabort_code;
>
> struct config_item {
> unsigned int slave_pos;
> unsigned short address;
> char * config_string;
> };
>
> // 6 Atos Hydraulic valves without rxpdo2
> const config_item config [] = {
>
> // EL67xx CoE Init Cmd 2 (F800:00)
> {19, 0xF800, "11 00 7F 06 80 00 10 27 00 00 00 00 00 00 00 1E 64
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00"},
> // EL67xx CoE Init Cmd 3 (8000:00)
> {19, 0x8000, "2E 00 01 00 98 01 00 07 F4 00 00 00 02 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 03 00 D0 07
> D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00"},
> // EL67xx CoE Init Cmd 4 (8006:00)
> {19, 0x8006, "03 00 81 01 00 00 FF 02 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},
> // EL67xx CoE Init Cmd 5 (8008:00)
> {19, 0x8008, "04 00 01 02 00 00 FF 02 00 00 00 00 00 00 01 03 00
> 00 FF 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00"},
> // EL67xx CoE Init Cmd 6 (8003:00)
> {19, 0x8003, "0E 00 00 18 01 04 00 81 01 00 00 00 18 02 01 00 FF
> 01 18 01 04 00 81 03 00 00 01 18 02 01 00 FF 02 18 01 04 00 81 04 00 00 02
> 18 02 01 00 FF 00 14 01 04 00 01 02 00 00 00 14 02 01 00 FF 01 14 01 04 00
> 01 03 00 00 01 14 02 01 00 FF 02 14 01 04 00 01 04 00 00 02 14 02 01 00 FF
> 03 14 01 04 00 01 05 00 00 03 14 02 01 00 FF"},
> // EL67xx CoE Init Cmd 7 (8010:00)
> {19, 0x8010, "2E 00 02 00 98 01 00 07 F4 00 00 00 02 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 03 00 D0 07
> D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00"},
> // EL67xx CoE Init Cmd 8 (8016:00)
> {19, 0x8016, "03 00 82 01 00 00 FF 02 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},
> // EL67xx CoE Init Cmd 9 (8018:00)
> {19, 0x8018, "04 00 02 02 00 00 FF 02 00 00 00 00 00 00 02 03 00
> 00 FF 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00"},
> // EL67xx CoE Init Cmd 10 (8013:00)
> {19, 0x8013, "0E 00 00 18 01 04 00 82 01 00 00 00 18 02 01 00 FF
> 01 18 01 04 00 82 03 00 00 01 18 02 01 00 FF 02 18 01 04 00 82 04 00 00 02
> 18 02 01 00 FF 00 14 01 04 00 02 02 00 00 00 14 02 01 00 FF 01 14 01 04 00
> 02 03 00 00 01 14 02 01 00 FF 02 14 01 04 00 02 04 00 00 02 14 02 01 00 FF
> 03 14 01 04 00 02 05 00 00 03 14 02 01 00 FF"},
> // EL67xx CoE Init Cmd 11 (8020:00)
> {19, 0x8020, "2E 00 03 00 98 01 00 07 F4 00 00 00 02 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 03 00 D0 07
> D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00"},
> // EL67xx CoE Init Cmd 12 (8026:00)
> {19, 0x8026, "03 00 83 01 00 00 FF 02 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},
> // EL67xx CoE Init Cmd 13 (8028:00)
> {19, 0x8028, "04 00 03 02 00 00 FF 02 00 00 00 00 00 00 03 03 00
> 00 FF 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00"},
> // EL67

Re: [etherlab-users] EL6751 SDO-Configuration

2016-01-20 Thread Matze Thias
eats:
>
> · Not all devices support them (although most do) – you may need
> to check the device manual or the output of “ethercat slaves –v”
>
> · Some objects might be too large to fit in the mailbox – while
> there are some segmenting protocols to deal with this, not all slaves
> support those.  (Fortunately it’s rare for config objects to be large.)
>
> · You have to know the internal byte-for-byte layout of the
> object, including padding bytes in some cases.  This is usually similar to
> the layout of the subindexes but occasionally there can be surprises.
> Again, check the manual.  If you have access to something that can do SDO
> complete uploads, then try uploading the object first to see its current
> layout.  (Etherlab stable 1.5.2 doesn’t support this but I’ve previously
> posted some patches to add the feature.)
>
> · TwinCAT supports downloads both starting from subindex 0 (which
> requires including the number of subindexes as a two-byte field) or from
> subindex 1 (which omits this and only includes the “real” data of the
> object).  Etherlab only supports downloads starting from subindex 0.
>
>
>
> If complete access isn’t suitable for some reason, then you can fall back
> on downloading the subindexes individually.
>
>
>
> *From:* etherlab-users [mailto:etherlab-users-boun...@etherlab.org] *On
> Behalf Of *Matze Thias
> *Sent:* Wednesday, 20 January 2016 04:06
> *To:* etherlab-users@etherlab.org
> *Subject:* [etherlab-users] EL6751 SDO-Configuration
>
>
>
> Hello,
>
> I am trying to configure the EL6751 at the moment, so that I am able to
> send raw CAN messages over ethercat(
> http://infosys.beckhoff.com/content/1033/el6751/html/el6751_layer2_statemachine.htm?id=10857
> ).
> I took the configuration, which is done in terms of sdo-startup-downloads,
> from one of the twincat dialogs. Which method for sdo configuration is the
> right to choose?
>
> If I use ecrt_master_sdo_download_complete for the different SDO-Objects
> to upload, nothing happens. When using ecrt_slave_config_complete_sdo the
> device error-led starts blinking(indicating, that some configuration is in
> progress) but at the same time I get this:
>
> Jan 19 15:50:06 e-node8 kernel: [611927.053364] EtherCAT ERROR 0-1: Failed
> to set SAFEOP state, slave refused state change (PREOP + ERROR).
> Jan 19 15:50:06 e-node8 kernel: [611927.059801] EtherCAT ERROR 0-1:
> Unknown AL status code 0xF101.
>
> Can anyone explain the error and has a solution for this? Maybe someone
> has experience in getting the el6751 configured and work-ready for this
> scenario and can share his insights :) ?
>
> Greetings,
>
> Matze Thias
>
>
>
___
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users


Re: [etherlab-users] EL6751 SDO-Configuration

2016-01-20 Thread Thomas Paoloni

Hi,

Sometimes a piece of code is better than explanations ...
Here is mine, which configures the PDO of the CanOpen side on my EL6731

static int err_code;
static int cnt;
static int x, y, z, i, num_config_lines;
static char app_str[1024];
static unsigned char pb_config_buf[2048];
static int ecrt_retval;
uint32_tvalue_to_write;
uint32_tabort_code;

struct config_item {
unsigned int slave_pos;
unsigned short address;
char * config_string;
};

// 6 Atos Hydraulic valves without rxpdo2
const config_item config [] = {

// EL67xx CoE Init Cmd 2 (F800:00)
{19, 0xF800, "11 00 7F 06 80 00 10 27 00 00 00 00 00 00 00 1E 
64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 3 (8000:00)
{19, 0x8000, "2E 00 01 00 98 01 00 07 F4 00 00 00 02 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 03 00 
D0 07 D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 4 (8006:00)
{19, 0x8006, "03 00 81 01 00 00 FF 02 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 5 (8008:00)
{19, 0x8008, "04 00 01 02 00 00 FF 02 00 00 00 00 00 00 01 03 
00 00 FF 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 6 (8003:00)
{19, 0x8003, "0E 00 00 18 01 04 00 81 01 00 00 00 18 02 01 00 
FF 01 18 01 04 00 81 03 00 00 01 18 02 01 00 FF 02 18 01 04 00 81 04 00 
00 02 18 02 01 00 FF 00 14 01 04 00 01 02 00 00 00 14 02 01 00 FF 01 14 
01 04 00 01 03 00 00 01 14 02 01 00 FF 02 14 01 04 00 01 04 00 00 02 14 
02 01 00 FF 03 14 01 04 00 01 05 00 00 03 14 02 01 00 FF"},

// EL67xx CoE Init Cmd 7 (8010:00)
{19, 0x8010, "2E 00 02 00 98 01 00 07 F4 00 00 00 02 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 03 00 
D0 07 D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 8 (8016:00)
{19, 0x8016, "03 00 82 01 00 00 FF 02 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 9 (8018:00)
{19, 0x8018, "04 00 02 02 00 00 FF 02 00 00 00 00 00 00 02 03 
00 00 FF 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 10 (8013:00)
{19, 0x8013, "0E 00 00 18 01 04 00 82 01 00 00 00 18 02 01 00 
FF 01 18 01 04 00 82 03 00 00 01 18 02 01 00 FF 02 18 01 04 00 82 04 00 
00 02 18 02 01 00 FF 00 14 01 04 00 02 02 00 00 00 14 02 01 00 FF 01 14 
01 04 00 02 03 00 00 01 14 02 01 00 FF 02 14 01 04 00 02 04 00 00 02 14 
02 01 00 FF 03 14 01 04 00 02 05 00 00 03 14 02 01 00 FF"},

// EL67xx CoE Init Cmd 11 (8020:00)
{19, 0x8020, "2E 00 03 00 98 01 00 07 F4 00 00 00 02 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 03 00 
D0 07 D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 12 (8026:00)
{19, 0x8026, "03 00 83 01 00 00 FF 02 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 13 (8028:00)
{19, 0x8028, "04 00 03 02 00 00 FF 02 00 00 00 00 00 00 03 03 
00 00 FF 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 14 (8023:00)
{19, 0x8023, "0E 00 00 18 01 04 00 83 01 00 00 00 18 02 01 00 
FF 01 18 01 04 00 83 03 00 00 01 18 02 01 00 FF 02 18 01 04 00 83 04 00 
00 02 18 02 01 00 FF 00 14 01 04 00 03 02 00 00 00 14 02 01 00 FF 01 14 
01 04 00 03 03 00 00 01 14 02 01 00 FF 02 14 01 04 00 03 04 00 00 02 14 
02 01 00 FF 03 14 01 04 00 03 05 00 00 03 14 02 01 00 FF"},

// EL67xx CoE Init Cmd 15 (8030:00)
{19, 0x8030, "2E 00 04 00 98 01 00 07 F4 00 00 00 02 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 03 00 
D0 07 D0 07 05 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 16 (8036:00)
{19, 0x8036, "03 00 84 01 00 00 FF 02 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 17 (8038:00)
{19, 0x8038, "04 00 04 02 00 00 FF 02 00 00 00 00 00 00 04 03 
00 00 FF 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00"},

// EL67xx CoE Init Cmd 18 (8033:00)
{19, 0x8033, "0E 00 00 18 01 04 00 84 01 00 00 00 18 02 01 00 
FF 01 18 01 04 00 84 03 00 00 01 18 02 01 00 FF 02 18 01 04 00 84 04 00 
00 02 18 02 01 00 FF 00 14 01 04 00 04 02 00 00 0

Re: [etherlab-users] EL6751 SDO-Configuration

2016-01-19 Thread Gavin Lambert
It’s hard to say without seeing what specific commands you’re trying to run.

 

ecrt_master_sdo_download* is intended for one-off synchronous transfers before 
starting the realtime loop, eg. for cases where you’re trying to interrogate 
the device or otherwise do out-of-band exchanges.  (You can also use it on a 
separate thread after starting the realtime loop, but this can add latency due 
to lock contention, so it may not be a good idea if your period is short.)

 

ecrt_slave_config_sdo* is intended for configuration required during the 
PREOP->SAFEOP transition.  You should always use these for such configuration 
(everything except the PDO Assign registers 0x1C1x, as those are automatically 
set from the PDO mappings you’ve made).  In particular if the device goes 
offline then these will automatically be re-sent when it reappears, while the 
above won’t.

 

“Complete” SDOs are the most efficient way of downloading an entire object to 
the device, but they come with some caveats:

* Not all devices support them (although most do) – you may need to 
check the device manual or the output of “ethercat slaves –v”

* Some objects might be too large to fit in the mailbox – while there 
are some segmenting protocols to deal with this, not all slaves support those.  
(Fortunately it’s rare for config objects to be large.)

* You have to know the internal byte-for-byte layout of the object, 
including padding bytes in some cases.  This is usually similar to the layout 
of the subindexes but occasionally there can be surprises.  Again, check the 
manual.  If you have access to something that can do SDO complete uploads, then 
try uploading the object first to see its current layout.  (Etherlab stable 
1.5.2 doesn’t support this but I’ve previously posted some patches to add the 
feature.)

* TwinCAT supports downloads both starting from subindex 0 (which 
requires including the number of subindexes as a two-byte field) or from 
subindex 1 (which omits this and only includes the “real” data of the object).  
Etherlab only supports downloads starting from subindex 0.

 

If complete access isn’t suitable for some reason, then you can fall back on 
downloading the subindexes individually.

 

From: etherlab-users [mailto:etherlab-users-boun...@etherlab.org] On Behalf Of 
Matze Thias
Sent: Wednesday, 20 January 2016 04:06
To: etherlab-users@etherlab.org
Subject: [etherlab-users] EL6751 SDO-Configuration

 

Hello,

I am trying to configure the EL6751 at the moment, so that I am able to send 
raw CAN messages over 
ethercat(http://infosys.beckhoff.com/content/1033/el6751/html/el6751_layer2_statemachine.htm?id=10857).
I took the configuration, which is done in terms of sdo-startup-downloads, from 
one of the twincat dialogs. Which method for sdo configuration is the right to 
choose?

If I use ecrt_master_sdo_download_complete for the different SDO-Objects to 
upload, nothing happens. When using ecrt_slave_config_complete_sdo the device 
error-led starts blinking(indicating, that some configuration is in progress) 
but at the same time I get this:

Jan 19 15:50:06 e-node8 kernel: [611927.053364] EtherCAT ERROR 0-1: Failed to 
set SAFEOP state, slave refused state change (PREOP + ERROR).
Jan 19 15:50:06 e-node8 kernel: [611927.059801] EtherCAT ERROR 0-1: Unknown AL 
status code 0xF101.

Can anyone explain the error and has a solution for this? Maybe someone has 
experience in getting the el6751 configured and work-ready for this scenario 
and can share his insights :) ?

Greetings,

Matze Thias

 

___
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users


[etherlab-users] EL6751 SDO-Configuration

2016-01-19 Thread Matze Thias
Hello,

I am trying to configure the EL6751 at the moment, so that I am able to
send raw CAN messages over ethercat(
http://infosys.beckhoff.com/content/1033/el6751/html/el6751_layer2_statemachine.htm?id=10857
).
I took the configuration, which is done in terms of sdo-startup-downloads,
from one of the twincat dialogs. Which method for sdo configuration is the
right to choose?

If I use ecrt_master_sdo_download_complete for the different SDO-Objects to
upload, nothing happens. When using ecrt_slave_config_complete_sdo the
device error-led starts blinking(indicating, that some configuration is in
progress) but at the same time I get this:

Jan 19 15:50:06 e-node8 kernel: [611927.053364] EtherCAT ERROR 0-1: Failed
to set SAFEOP state, slave refused state change (PREOP + ERROR).
Jan 19 15:50:06 e-node8 kernel: [611927.059801] EtherCAT ERROR 0-1: Unknown
AL status code 0xF101.

Can anyone explain the error and has a solution for this? Maybe someone has
experience in getting the el6751 configured and work-ready for this
scenario and can share his insights :) ?

Greetings,

Matze Thias
___
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users