Hi Thomas,

I see no obvious error in your main.c file, except that
you repeat twice ecrt_master_slave_config on line 60 and 80.

According to the comment in ecrt.h, it is safe to to call twice
ecrt_master_slave_config with the same arguments, but maybe you can try to remove the second call and then check if the error message changes in the dmesg output.

Nevertheless, if it does not change anything, it means that a SDO command is still missing. In this case, you should try to setup first the servo drive with TwinCAT. TwinCAT setup is very probably supported by the servodrive manufacturer. So it is a good way to know the full SDO startup sequence.

regards,
---
sebastien

On 01/08/2015 04:48 PM, Thomas Nierhoff wrote:
Hi,

thanks, sounds logical indeed. I played around with the shell script as
described in the link and succeeded in a proper PDO mapping, yet the error stays
the same. Attached you will find the shell script that works fine, the PDO
mapping for all agents and slaves and the modified C code. Any idea what else
could be the reason?

Best regards,

Thomas


Am 24.12.2014 um 14:15 schrieb Sebastien BLANCHET:
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