Hi,

Infact we are using kollmorgen ECT 000 bus coupler. I examined the device documents more carefully.
Thank you for the tips. I think I understand it now.

Best regards,
Oguz.

04.09.2014 11:35 tarihinde, Dr.-Ing. Wilhelm Hagemeister yazdı:
Hello,


"ethercat cstruct" tells you the meaning of the mapping (see comments
after the pdo-entries):

Example:

/* Master 0, Slave 0
  * Vendor ID:       0x00000002
  * Product code:    0x04602c22
  * Revision number: 0x00000000
  */

ec_pdo_entry_info_t slave_0_pdo_entries[] = {
     {0xf100, 0x01, 16}, /* CouplerState */
     {0x6020, 0x01, 8}, /* Channel 1 Status */
     {0x0000, 0x00, 8}, /* Gap */
     {0x6020, 0x03, 16}, /* Channel 1 Data */
     {0x6020, 0x04, 8}, /* Channel 2 Status */
     {0x0000, 0x00, 8}, /* Gap */
     {0x6020, 0x06, 16}, /* Channel 2 Data */
     {0x6020, 0x07, 8}, /* Channel 3 Status */
     {0x0000, 0x00, 8}, /* Gap */
     {0x6020, 0x09, 16}, /* Channel 3 Data */
     {0x6020, 0x0a, 8}, /* Channel 4 Status */
     {0x0000, 0x00, 8}, /* Gap */
     {0x6020, 0x0c, 16}, /* Channel 4 Data */
     {0x6030, 0x01, 8}, /* Channel 1 Status */
     {0x0000, 0x00, 8}, /* Gap */

     ...

     {0x6050, 0x04, 8}, /* Channel 2 Status */
     {0x0000, 0x00, 8}, /* Gap */
     {0x6050, 0x06, 16}, /* Channel 2 Data */
     {0x6000, 0x01, 1}, /* Channel 1  */
     {0x6000, 0x02, 1}, /* Channel 2  */
     {0x6000, 0x03, 1}, /* Channel 3  */
     {0x6000, 0x04, 1}, /* Channel 4  */
     {0x6070, 0x01, 1}, /* Channel 1  */
     {0x6070, 0x02, 1}, /* Channel 2  */
     {0x0000, 0x00, 10}, /* Gap */
};

ec_pdo_info_t slave_0_pdos[] = {
     {0x1aff, 1, slave_0_pdo_entries + 0}, /* Status PDO */
     {0x1a02, 12, slave_0_pdo_entries + 1}, /* TxPDO Mapping Terminal 003 */
     {0x1a03, 12, slave_0_pdo_entries + 13}, /* TxPDO Mapping Terminal 004 */
     {0x1a04, 12, slave_0_pdo_entries + 25}, /* TxPDO Mapping Terminal 005 */
     {0x1a05, 6, slave_0_pdo_entries + 37}, /* TxPDO Mapping Terminal 006 */
     {0x1a00, 4, slave_0_pdo_entries + 43}, /* TxPDO Mapping Terminal 001 */
     {0x1a07, 2, slave_0_pdo_entries + 47}, /* TxPDO Mapping Terminal 008 */
     {0x1b01, 1, slave_0_pdo_entries + 49}, /* TxPDO Digital Align */
};

ec_sync_info_t slave_0_syncs[] = {
     {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
     {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
     {2, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
     {3, EC_DIR_INPUT, 8, slave_0_pdos + 0, EC_WD_DISABLE},
     {0xff}
};


End of example.

Usually analog-IO is mapped with a status + a fill byte before the value
word. All analog or "complex" IO-Terminals are mapped first and aligned
to 16bit. At the end the digital IO-termials with bit-mapping follow
without gaps of fill bits.

The mapping of a single K-Bus slave is good documented in the Beckhoff
documents for the terminal.

Also TwinCat can be used to find out the mapping.

Regards Wilhelm.

Am 04.09.2014 09:15, schrieb Bilko AS, Oguz Dilmac:
Hello

We have a problem with configuring BK1120. We made EK1100 run without a
problem.

We found out that they are using different protocols to communicate the
modules (BK1120 K-Bus, and EK110 E-Bus).
We searched for information on how to create the cstruct for BK1120 and
how to map the connected I/0 modules but we couldnt find an answer that
exactly answers our question.

Until now we ran "ethercat cstruct" and copy that into our code and it
goes to run state, fine, but we need an example or explanation of how
the connected modules match the entries in cstruct, where to read or
write to the I/O.

Thanks




--
Oguz Dilmac
ARGE Bolumu

Bilko AS, R&D Department
====================================
Perpa Ticaret Merkezi B Blok Kat 13 Nr. 2568
TR-34384 Okmeydani Istanbul Turkey
Tel : +90 212 220 07 40  Fax :   +90 212 210 47 01
e-mail : odil...@bilko-automation.com
web site : http://www.bilko-automation.com

_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to