Beckhoff TwinCAT 3 EtherCAT slave stuck in INIT state, RUN LED off: what to check?
I'm troubleshooting an EtherCAT slave on my machine that's stuck in the INIT state after activating a new configuration in TwinCAT 3. The RUN LED on the slave is off. What should I check first?
An EtherCAT slave stuck in the INIT state means it hasn't established basic communication or its identity doesn't match the configuration. This often happens after activating a new configuration or restarting TwinCAT. The RUN LED being off is a key indicator for this specific issue.
Likely causes and checks
1Device not reached or identity mismatch
- Points to it
- The EtherCAT master cannot reach the device, or the device's vendor ID, product code, or revision does not match the configured values. The slave will report a state of 0x0101 (INIT + not present) or 0x0020 (invalid vendorId, productCode).
- Check
- Run an online scan in TwinCAT and compare the vendor, product code, and revision of the detected device against your configuration. Also, thoroughly check the cabling and ensure the device has proper power supply.
2Process data or DC configuration refused
- Points to it
- If the slave progresses past INIT but gets stuck in PREOP, it indicates that the process data or distributed clock (DC) configuration was refused. This is often accompanied by AL status codes like 0x0024/0x0025 (mapping) or 0x0030 (DC), and the RUN LED will be flashing.
- Check
- Read the AL status code in the TwinCAT logger and address the configuration issue it points to. This typically involves correcting PDO mapping or DC settings in your TwinCAT project.
3No valid outputs, sync, or watchdog problem
- Points to it
- A slave stuck in SAFEOP means that while inputs are updating, outputs are held in a safe state because of issues with valid outputs, synchronization, or a watchdog. AL status codes such as 0x001B, 0x001A, or 0x0019, and a single flash on the RUN LED, are typical indicators.
- Check
- Verify that the task responsible for writing outputs to the slave is running correctly. Also, check the distributed clock (DC) and synchronization diagnostics for any reported errors.
Next check: Given the slave is stuck in INIT and the RUN LED is off, your immediate next step should be to run an online scan in TwinCAT to compare the detected device's identity (vendor ID, product code, and revision) with your configured values. Simultaneously, inspect all cabling and confirm the device's power supply.
Related questions
Describe the fault or upload a photo, and InduQT checks it against the manufacturer manuals. Share the result here when it helps someone else.