[etherlab-users] Failed to register PDO entry: No such file or directory
Sebastien Blanchet
blanchet at iram.fr
Thu Jan 8 18:48:55 CET 2015
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
>>> etherlab-users at etherlab.org
>>> http://lists.etherlab.org/mailman/listinfo/etherlab-users
>>>
>>
>
More information about the Etherlab-users
mailing list