Hi,

The PDO mapping in main.c does not match the servo drive PDO mapping.

ethercat cstruct says there are 2 pdo entries
ec_pdo_entry_info_t slave_0_pdo_entries[] = {
    {0x6040, 0x00, 16},
    {0x6041, 0x00, 16},
};

but in main.c you try to map 3 pdos entries
static ec_pdo_entry_info_t foo_pdo_entries[] = {
        {0x6042, 0, 16},        
        {0x6041, 0, 16},        
        {0x606c, 0, 32},        
};

You have to send a SDO startup sequence to define the PDO mapping you want on the servo drive.

see example in the following message:
http://lists.etherlab.org/pipermail/etherlab-users/2012/001684.html

regards
---
Sebastien BLANCHET

On 12/22/2014 10:25 AM, Thomas Nierhoff wrote:

Hi,

I'm using EtherLab 1.5.2. and am encountering slight problems when
interfacing a Baumüller servo controller via ethercat.

The problem occurs with the "ecrt_domain_reg_pdo_entry_list" and even
though I compared my program with other similar ones, I can't figure out
where the error is. Tiny as it (hopefully) is, it's been driving me nuts
for the last few hours...

Attached you will find a minimalistic C example and the ethercat cstruct
output. Hope it helps. The kernel message is

[331325.826445] EtherCAT: Requesting master 0...
[331325.826448] EtherCAT: Successfully requested master 0.
[331325.826506] EtherCAT ERROR 0 6913:15107: PDO entry 0xFB30:FF is not
mapped.
[331325.826715] EtherCAT 0: Releasing master...
[331325.826718] EtherCAT 0: Released.

Thanks in advance,

Thomas



_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to