Dir Dirk
What I have done is: start the slave connected to the Acontis master and let it
do the setup, then connect it (still powered up) to the Etherlab master and do
the cstruct command. The PDO mapping matches what I have setup in the Acontis
master.
Very good!
Try to use your working Acontis master and figure out any configuration
difference regarding PDO's. Are any SDOs being set with that master?
Here are the InitCmds generated by the Acontis master. I don't see anything
special, but the first two steps for clearing 0x1C12 and 0x1C13 which I have
emulated with ecrt_slave_config_complete_sdo(), but it did not make any
difference.
No, 1C12 and 1C13 are not for you to touch ;) . They are the
responsibility of the master.
I decoded the rest, and it looks identical! Example for 1A02
> <Data>040010052060100620601007206010082060</Data>
- 0400 (uint16) = 4 configs of uint32
- 10052060 = 6020.05/16
- 10062060 = 6020.06/16
- 10072060 = 6020.07/16
- 10082060 = 6020.08/16
... which is identical with your configuration of 1A02, and the same for
the rest which you can verify. Note that EtherCAT like CANopen is little
endian, so e.g. 10052060/uint32 = 0x60200510 ==> Object 0x6020.05/16
I am puzzled now. It is not behaving well. What is:
$ ethercat sl -v
Maybe it doesn't support LRW. In that case you will have to separate
TxPDO and RxPDO into two domains (remember to queue and process both of
them). Just duplicate the code concerning ec_domain_t, carefully placing
only TxPDO and RxPDO into the two (the master automatically sees that
either domain only contains only TxPDO or RxPDO and sets flags
appropriately).
I don't have any more ideas, except maybe that it does not adhere to
standard! Or the SII EEPROM is wrong! Then you will have to contact the
manufacturer!
- Richard
--
Etherlab-users mailing list
Etherlab-users@etherlab.org
https://lists.etherlab.org/mailman/listinfo/etherlab-users