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