[etherlab-users] EtherCAT eeprom and EtherLab master driver

Graeme Foot GraemeF at touchcut.com
Tue Jul 10 06:43:27 CEST 2012

Hi Don,

I don't have too much experience on this side, but yes, my understanding
is that the .bin file you are trying to download to the drive is the
same information that the drive should return.  (see:

I had a problem with an early firmware revision of the Yaskawa amp where
it too had bad SII information and would not accept a download (all
fixed in current firmware revisions).

To work around this I patched the EtherCAT master so that it would read
the SII information from my own file rather than downloading it from the

The original patch I used was from Jesper Smith:

The above patch uses udev to find and load the file.  My distro hasn't
got udev, so I made a modification to be able to load the file direct:

The above patches match the file name based on vendor_id and
product_code.  To do this it downloads the first 16 words of the SII, so
at least this much must be correct.

Since then I have made another modification so that it will first look
up a file based on vendor_id, product_code and revision_number.  If
there is no match, then it will try vendor_id and product_code.  (I have
attached the patch.)

Hope this helps,

-----Original Message-----
From: dgm [mailto:dgm at baykitty.com] 
Sent: Tuesday, 10 July 2012 14:40
To: Graeme Foot
Subject: EtherCAT eeprom and EtherLab master driver

Hello, Graeme.

I have a question that I am certain you can answer off the top of your
head even though it doesn't involve the Yaskawa drive.

The company I work for wants to use a Metronix drive with their EtherCAT
interface card in a complex industrial network. The drive appears to
work (communicate) well driven by SDOs only.

The problem is that they don't really support the EtherCAT protocol for
the eeprom. They only provide a boot portion (first 128 bytes) and
expect that you will use TwinCat to configure and run the system. So
setting up the PDOs/FMMUs for real time operation becomes a problem.

Using the configurator or TwinCat and their xml file, I can construct
what I need in the eeprom and I can use either of those programs to down
load that data to the drive.

My problem is that if I read back (upload) the contents of the eeprom,
only the first 256 bytes are in the correct sequence, then the upload
seems to start at address 0x0 again - only this time, the entire file
that I wrote is read back. This means that the text strings are
interrupted at 0x100 with a replay of the boot segment followed by the
text strings and PDO/FMMU data. Unfortunately, the eeprom is only 1024
bytes so I don't get all the PDO/FMMU addressing, etc and no terminator

The result is that the master driver cannot find what it expects at the
addressed locations in the sii -> configuration fails.

So my question is: is it not true that the upload (reading the eeprom
back) should look just like the .bin file that is downloaded to the
eeprom using either the configurator or TwinCat?

This certainly appears to me to be what the specification says but
Metronix is extremely slow or unwilling to answer any questions
regarding EtherCat and I have no other EtherCAT devices (or experience)
to compare with.

I would appreciate your time and promise not to dog you with questions
if you will be so kind as to answer this one.

Thank you,
Don Morgan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: etherlabmaster-1.5-2266-b_load_sii_from_file.patch
Type: application/octet-stream
Size: 17307 bytes
Desc: etherlabmaster-1.5-2266-b_load_sii_from_file.patch
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20120710/72de2103/attachment-0003.obj>

More information about the Etherlab-users mailing list