EtherCAT Master - Frequently Asked Questions
I'm trying to establish communication with slave X, but the configuration fails. What can I do?
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). The EtherCAT specification says, that an EtherCAT Master 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 a document about Implementation guidelines (ECAT_GuidelineProtocolEnhancment_0i5i0.chm) concerning the SII from the EtherCAT Technology Group, 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 | |
|---|---|---|---|---|---|---|
| Info Structure (128 Byte) |
ESC Info | M | M | M | M | M |
| Identity | M | M | M | M | M | |
| Bootstrap Mbx Info | O | O | O | O | ||
| Standard Mbx Info | M | M | M | M | ||
| Categories | Strings (10) | O | O | O | O | O |
| General (30) | M | M | M | M | M | |
| SyncManager (41) | O | M | M | M | M | |
| FMMU (40) | O | O | O | O | 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:
cp file /sys/ethercat/masterX/slaveYYY/sii
(In master versions prior to 1.4, the file was named eeprom instead of sii.)
Please let the master scan the bus again after doing so.
