[etherlab-dev] EtherCAT :: generating voltageonBeckhoff EL4732terminal fails

Florian Pose fp at igh-essen.com
Wed Apr 22 17:48:44 CEST 2009


On Fri, Apr 17, 2009 at 12:23:45PM +0200, Daniel Bechter wrote:
> > There are no mailbox sync manager... Doesn't the slave support CoE? How
> > is the oversampling factor configured then?
> 
> Via conventional PDO assignment. I have attached the ENI file as generated by
> TwinCAT (el4732.xml).

If there's no CoE, the PDOs can't be assigned... I think the slave has a
fix PDO assignment/mapping and it just takes the information from the
sync manager size, that is set by the application, for example

sm_size = size_of_other_pdos + n * sizeof(vector_pdo)

=> n = (sm_size - size_of_other_pdos) / sizeof(vector_pdo)

> > Could you please try to exchange data from all sync managers in any
> > combination to see how the working counter changes? I mean first
> > register only a PDO entry from SM0 then, one from SM0 and one from
> > SM1, and so on. There are 8 possible combinations. In how far does
> > the working counter change?
> 
> const static ec_pdo_entry_reg_t domain1_regs[] = { {AnaOutSlavePos,
> Beckhoff_EL4732, 0x7000, 1, &off_el4732_ch1}, // SM0 {AnaOutSlavePos,
> Beckhoff_EL4732, 0x7000, 2, &off_el4732_ch2}, // SM1 {} };
> 
> WC 1/2

Here one of them doesn't work.

> const static ec_pdo_entry_reg_t domain1_regs[] = { {AnaOutSlavePos,
> Beckhoff_EL4732, 0x7800, 1, &off_el4732_cc1}, // SM0 {AnaOutSlavePos,
> Beckhoff_EL4732, 0x7000, 1, &off_el4732_ch1}, // SM0 {AnaOutSlavePos,
> Beckhoff_EL4732, 0x7800, 2, &off_el4732_cc2}, // SM1 {AnaOutSlavePos,
> Beckhoff_EL4732, 0x7000, 2, &off_el4732_ch2}, // SM1 {AnaOutSlavePos,
> Beckhoff_EL4732, 0x1d09, 152, &off_el4732_dc}, // SM2 {} };
> 
> WC 3/5

One in write direction (SM0 or SM1) doesn't work....

Seems that SM0 and SM1 don't like each other. Is there any obvious
reason for that?

Perhaps this is gone when using DC...

-- 
Best regards,
Florian Pose

http://etherlab.org


More information about the etherlab-dev mailing list