IgH EtherCAT Master - Frequently Asked Questions
There are almost definitely information missing in the "Slave Information Interface" (SII) of your slave. Unfortunately, some slave vendors aren't aware, that they have to provide their slaves' SII with nearly the same information as in the slave device description XML files (see table below). An EtherCAT Master / configuration tool can determine the slave configuration by reading out the SII or by using the XML Device Description.
For example, the "SyncManager" category is inevitable for the master to know the physical addresses of the sync managers to configure the PDO mapping and the PDO exchange. The below table is an excerpt of the EtherCAT Knowledge Base (chapter EtherCAT Technology Description / EEPROM / SII), defining which information is optional (O), and which is mandatory (M).
|Device Types||No Process Data, Mailbox||Fixed Process Data, No Mailbox||Fixed Process Data, No Object Dictionary||Fixed Process Data, Object Dictionary||Variable Process Data, Object Dictionary|
|Bootstrap Mbx Info||O||O||O||O|
|Standard Mbx Info||M||M||M||M|
|PDO (50, 51)||M||M||O (same as OD)|
A quick solution for the missing information is to generate the SII contents from the slave description XML file using Beckhoff's TwinCAT, and write them to the slave. This is actually the task of the vendor, an you should tell him to do so in the future! Add the slave to a new project, then select "EtherCAT", "Advanced settings", "ESC Access", "E²PROM", "Hex Editor", "Save to file...". There is an issue, when the EEPROM size in the XML file is wrongly specified too small, TwinCAT won't export the category data. Try increasing the value in the slave configuration XML and repeating the export in that case.
You can the write the SII contents file to the slave using the EtherCAT master (from version 1.4):
ethercat sii_write -pslave-position file
Before version 1.4:
cp file /sys/ethercat/masterX/slaveslave-position/sii
Please let the master scan the bus again after doing so.