[etherlab-dev] Some hints using the Beckhoff BK1120

Robert Hoffmann r.hoffmann at proaut.eu
Tue Feb 26 10:21:57 CET 2008


I had some troubles setting up the EtherCAT-stack with a Beckhoff 
BK1120-unit recently, but with the good help of Florian I got it up 
running. So if you like to use a BK1120, please regard the following hints:

The Sync-Manager-Information has to stored completely in the EEPROM. My 
new BK1120 however didn't have this data and 
ecrt_domain_register_pdo_range reported "EtherCAT ERROR: No sync manager 
found for PDO range". Florian sent me a patched EEPROM-version; I 
attached it to this post. The EEPROM is written to the controller by 
setting the write_eeprom-flag to 1 and piping the eeprom-data to 

    echo 1 > /sys/ethercat/write_eeprom (if existing...)
    cat eeprom.eep > /sys/ethercat/slave_xxx/eeprom   XXX => position on 
the bus

After a reboot of the controller the pdo-range should be addressed properly.

The next step is to find the correct address-ranges of the pdo. The 
easiest way to do that is to open Beckhoff TwinCAT or KS2000 and find 
the greatest input and output-address. The BK1120 uses a 2 Byte-Offset 
for internal data that has to be added to the addresses. Furthermore the 
addresses have to be even.

My PDO has the highest addresses:

IX 48.7 + 2 (Offset BK1120) + 1 (even address) = 52
QX 47.7 + 2 (Offset BK1120) + 0 (even address) = 50

Leave the index = 0 and try your determined address on the length-entry 
of ecrt_domain_register_pdo_range. If you get an error-message just play 
with +- 2 on your length-value...

Have fun!


-------------- next part --------------
A non-text attachment was scrubbed...
Name: BK1120_min.eep
Type: application/octet-stream
Size: 218 bytes
Desc: not available
Url : http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20080226/c2d178bf/attachment.obj 

More information about the etherlab-dev mailing list