Troubleshooting: Application does not start

Kernel Version

Did you boot into the right kernel version? Please make sure to follow Install the Acontis EtherCAT Stack and notes therein.

Wrong device instance

Output

003019 : PCI: device 00:19.0 found
003019 : *I8254x-EcLinkOpen() GetPciInfo failed (card not found in registry, 2. instance missing?)
003019 : CEcDeviceBase::Open() Failed to open link layer!

Problem

The wrong device ID was selected.

Solution

Change the device ID.

E.g.: Change

sudo ./EcMasterDemoEval -f ../../../../eni/06_ENI_2Elmo_1000ms.xml -i8254x 2 1 -perf

to

sudo ./EcMasterDemoEval -f ../../../../eni/06_ENI_2Elmo_1000ms.xml -i8254x 1 1 -perf

Bus configuration mismatch

Output

007270 : Cannot start set master state to INIT (Result = Bus configuration mismatch (0x9811001e))

Problem

The network description in the ENI file does not match the connected EtherCAT network.

This can be due different reasons:

  • Wrong ENI file selected
  • Not all slaves are connected
  • Not all slaves are powered

If the problem occurs irregularly, then there is probably a hardware problem:

  • Bad EtherCAT connection between slaves
  • Short-term power loss due insufficient power supply (the slave may be booting while the master attempts to connect

Timing problems

Warning and error messages like these:

082039 : eUsrJob_ProcessAllRxFrames - not all previously sent frames are received/processed (frame loss)!
082039 : No response on cyclic Ethernet frame
082039 : DCM Status: ERROR: controller error - synchronisation out of limit (0x981201C2)

indicates timing and real-time problems. See Timing problems for more information.

Add -v 3 to log the EtherCAT jitter.

I.e. Start demo:

sudo ./EcMasterDemoEval -f <path_to_eni>/ein.xml -i85254x 1 1 -perf -v 3

I.e. Output:

012080 : Job times during startup <INIT> to <OP>:
012080 : ================================================================
012080 : PerfMsmt 'JOB_ProcessAllRxFrames' (avg/max) [usec]:    1.6/  5.7
012080 : PerfMsmt 'JOB_SendAllCycFrames  ' (avg/max) [usec]:    5.4/  8.5
012080 : PerfMsmt 'JOB_MasterTimer       ' (avg/max) [usec]:    1.3/ 10.9
012080 : PerfMsmt 'JOB_SendAcycFrames    ' (avg/max) [usec]:    2.4/ 15.7
012080 : PerfMsmt 'Cycle Time            ' (avg/max) [usec]:  1000.0/1030.2
012080 : PerfMsmt 'myAppWorkPd           ' (avg/max) [usec]:    0.0/  0.4

This line:
012080 : PerfMsmt 'Cycle Time ' (avg/max) [usec]: 1000.0/1030.2
indicates a maximal jitter of 30.2nsec which is a small jitter.