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

Reply via email to