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

Daniel Bechter daniel.bechter at omicron.at
Fri Apr 17 12:23:45 CEST 2009


> 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).

> 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
  {}
};

WC 1/1

---

const static ec_pdo_entry_reg_t domain1_regs[] = {
  {AnaOutSlavePos, Beckhoff_EL4732, 0x7000, 2, &off_el4732_ch2}, // SM1
  {}
};

WC 1/1

---

const static ec_pdo_entry_reg_t domain1_regs[] = {
  {AnaOutSlavePos, Beckhoff_EL4732, 0x7800, 2, &off_el4732_cc2}, // SM1
  {AnaOutSlavePos, Beckhoff_EL4732, 0x7000, 2, &off_el4732_ch2}, // SM1
  {}
};

WC 1/1

---

For all 3 above regs, 4 Byte data is allocated.


Now I am mixing SM's:

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

---

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
  {}
};

WC 1/2

---

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, 0x1d09, 152, &off_el4732_dc}, // SM2
  {}
};

WC 3/3

---

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


> I think the slave waits for the SYNC0 event anyway

Seems you are right! I disabled SYNC0 within TwinCAT and no output was
generated any longer.

> I'm currently implementing on the DC feature, the latest tarball already
> contains some basic functionality...

Looking forward to that..

Greets,
Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: el4732.xml
Type: text/xml
Size: 69807 bytes
Desc: el4732.xml
URL: <http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20090417/1e75c07b/attachment-0002.xml>


More information about the Etherlab-dev mailing list