Hello everyone,

Maggie has told me about her problem last week. She has managed to control
the Beckhoff servo drive(AX5201) under the default velocity control mode.
And she wants to change the control mode from the default velocity control
to the position control now. To do that, she has sniffed the Beckhoff
communication between
the master and the servo to get the IDN configuration. And she also found
the discussion on Jan.
2011<http://lists.etherlab.org/pipermail/etherlab-users/2011/001126.html>between
Simone Monteleone and Andreas Stewering-Bone, but is not sure what
does Andreas mean by "- change the data mapping in your realtime code".

The problem she has, is that it seems even after the IDN configuration for
position control (which is obtained through the sniff data), the etherlab
master sees no change on the pdo mapping of the slave, although she did
change the configuration of IDN 16 for AT cyclic data, and IDN 24 for DT
cyclic data. And this seems to work under the Beckhoff Master.

So she also tried to use the ecrt_slave_config_pdos() to change the pdo
mapping but without success, then she found out from the source code that
this function only supports CoE pdo config.

So the basic problem is, the pdo mapping of the slave shows no change in
'ethercat c_struct', regardless of the IDN configuration for IDN 16 and 24.

1. If the output of the pdo mapping from the master is correct, which means
the slave's pdo mapping is not changing. What could be wrong in her IDN
configuration?

2. Can we be sure that the master does have the correct pdo mapping of the
slave? Is it possible, that although the pdo mapping has changed on the
slave side though the IDN configuration, it is not updated on the master
side? We know the ecrt_slave_config_pdos() doesnot work for SoE, how does
the master learn about the new pdo mapping? As those IDN configurations go
directly to the slave, do we need to notify the etherlab master about the
change of the pdo mapping manually through some other function? Or the
etherlab master can find out the new pdo mapping automatically through its
communication with the slave?


Merry Christmas to All!

Jun


On Thu, Dec 6, 2012 at 10:33 AM, Min Yang <yang....@sibonac.com> wrote:

> Hello all,
>
> I have a Beckhoff servo drive(AX5201), it supports only SoE.  it's default
> pdo mapping is like this:
>
> ec_pdo_entry_info_t slave_0_pdo_entries[] = {
>
> {0x0086, 0x00, 16}, /* Master control word */
>
> {0x0024, 0x00, 32}, /* Velocity command value */
>
> {0x0086, 0x00, 16}, /* Master control word */
>
> {0x0024, 0x00, 32}, /* Velocity command value */
>
> {0x0087, 0x00, 16}, /* Drive status word */
>
> {0x0033, 0x00, 32}, /* Position feedback 1 value */
>
> {0x0087, 0x00, 16}, /* Drive status word */
>
> {0x0033, 0x00, 32}, /* Position feedback 1 value */
>
> };
>
> I added more pdo entries in this structure, but when I used
>
> ecrt_slave_config_pdos(drive0, EC_END, slave_0_syncs) to configure the new
> pdo mapping, I got the error"Slave does not support changing the PDO
> mapping!". I checked the source code and found only CoE slave can change
> PDO mapping. Could Anybody tell me What I can do now?
>
>
>
> Regards
>
> Maggie
>
>
>
>
> _______________________________________________
> etherlab-users mailing list
> etherlab-users@etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users
>
>
_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to