[etherlab-users] Using BK1120
Bilko AS, Oguz Dilmac
odilmac at bilko-automation.com
Tue Sep 9 21:02:48 CEST 2014
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 : odilmac at bilko-automation.com
web site : http://www.bilko-automation.com
More information about the Etherlab-users
mailing list