6. Diagnosis Mode

6.1. Overview

EC-EngineerWeb is also a diagnosis application specifically developed to analyze EtherCAT networks that are controlled by the EC-Master. Automated control systems usually require high availability of the whole system. Due to the rough industrial environment this is often hardly to achieve.

If high availability shall be guaranteed for an automated control system it is important to verify and maintain the field bus. Using EC-EngineerWeb it is possible to take a look into the “health” of the EtherCAT system. Detection of signs of system degradation prior to running into a system failure will be of great benefit. In that case it is possible to exchange the problematic components (cables, slave devices).

Many aspects of diagnosis are covered by the EC- Engineer:
  • Useful for setting up the system

  • System analysis and maintenance

  • Error detection

  • Documentation

After switching into diagnosis mode of EC-EngineerWeb, the user will see this page:
_images/diag-mode.png

6.2. Master

This section shows the current “health” state of the master and helps the user to analyze master related problems.

6.2.1. General (Master)

In this tab, the user can see and change the current state of the state machine of the master. He has also an overview over the current “health” state of his EtherCAT network:
_images/diag-master-general.png
State Machine
Current State:

Current state of the master

Requested State:

Requested state of the master

Change State:

Master can reach the states INIT, PRE-OP, SAFE-OP and OP.

Information
Master version:

Version number of the running master

Number of found slaves:

Number of slaves, which were found from master on the network

Number of slaves in configuration:

Number of slaves, which are configured in the ENI file

Number of DC slaves:

Number of slaves with DC support, which were found from master on the network

DC in-sync:

Signals that all slaves with DC support are correctly synchronized or not. If not all slaves are correctly synchronized, please refer the message window for more information.

Topology OK:

Signals that topology is “okay” or not. If topology is not “okay”, you have a mismatch between the configured bus and the currently connected bus. Please open the ‘Network Mismatch Analyzer’ (Menu Network Network Mismatch Analyzer) to solve the problem.

Link Connected:

Signals the link is connected.

Slaves in Master State:

Signals that all slaves are in master state.

Frame Counter
Sent frames:

Number of sent frames

Lost frames:

Number of lost frames

Cyclic frames:

Number of cyclic frames

Acyclic frames:

Number of acyclic frames

Memory Usage
Current:

Current memory usage in bytes

Max:

Maximum memory usage in bytes

6.2.2. Process Data Image

In this tab, the user can see and change the values of the process variables. The variables will be forced to the value the user entered. The user can press release to release the variable. If one or two variables are selected, a chart of the values is shown. Also resize and zoom is possible to see more details. The chart will be updated every 250 milliseconds:
_images/diag-master-process-image.png

It is also possible to add the variables to a watch list (next chapter).

6.2.3. Watch list

In this tab, the user can monitor selected variables. He can go through the slaves and add variables to the watch list to monitor them. The user can also export or import the watch list, so changes can be saved:
_images/diag-master-watchlist.png

6.2.4. Performance

In this tab, the user can see the busload per cycle and per second:
_images/diag-master-performance.png

6.2.5. CoE Object-Dictionary

In this tab, the user can see and change the values of the object dictionary of the master:
_images/diag-master-coe.png
Lists of CoE Object-Dictionary entries
  • Entries are uploaded by the master from the slave

  • The “Flags” column tells the user if this entry is an PDO entry and if it can be edited
    • “AA BB (CC DD EE)”

    • AA = Mapping as RX PDO or not

    • BB = Mapping as TX PDO or not

    • CC = Access rights for PreOp (RO, WO, RW)

    • DD = Access rights for SafeOp (RO, WO, RW)

    • EE = Access rights for Op (RO, WO, RW)

Buttons
Update:

Changes the selected entry

6.2.6. Master History

In this tab, the user can see and change the diagnosis history of the master (Supported from EC-Master V2.7 and above). It is also possible to export the data:
_images/diag-master-history.png

6.3. Slave

This section shows the current “health” state of the selected slave and helps the user to analyze slave related problems.

6.3.1. General (Slave)

In this tab, the user can see and change the current state of the state machine of the slave. He can see and clear also the current error state of the slave:
_images/diag-slave-general.png
State Machine
Current State:

Current state of the selected slave

Requested State:

Requested state of the selected slave

Change State:

Slave can reach the states INIT, BOOTSTRAP, PRE-OP, SAFE-OP and OP.

Note

The BOOTSTRAP mode can only be reached from the INIT state.

Software Diagnostics
State Machine Error:

Slave error which occurred during state transition

Hardware Diagnostics
Summary:

Summary of hardware diagnostics

Port A:

Port specific error

Port D:

Port specific error

Port B:

Port specific error

Port C:

Port specific error

Buttons
Acknowledge:

Acknowledge the current error state and notify the user again if error state was changed again.

Possible warning and errors:
Disturbed Connection:

There may be problems in the connection between two slaves. The message will tell either that there is a problem between two slaves or two ports. The warning appears if error counters are increased (Invalid Frame: 0x300-0x306, RX Errors: 0x301-0x307, Lost Link: 0x308-0x30B). The value from which a warning is issued can be set in the User.xml files in C:ProgramDataEC-EngineerWeb. More information below.

Bad Connection:

The same as “Disturbed Connection” but the error counters are higher. The value from which an error is issued can be set in the User.xml files in C:ProgramDataEC-EngineerWeb. More information below.

Line break:

A line break is detected before a slave. This error is detected by looking at the topology.

Link missing:

A link is missing on input port of the slave. This error is detected by looking at the topology.

Multiple warnings:

There are multiple warning for this port.

Multiple errors:

There are multiple errors for this port.

Multiple warnings and errors:

There are multiple warning and errors for this port.

State Machine:

See ETG1020 “Description of AL Status Codes” or ETG.1000.6. This error is detected by looking at the AL Status (0x130).

How to solve errors?
  • Lost Link errors are often caused by the power supply system

  • Helpful might be the usage of an extra power supply

  • It is recommended to clear all error counters after startup

How to change amount of errors leading to a warning or error:
  • Open C:ProgramDataEC-EngineerWeb

  • Search for DiagGeneral

  • Change the values which should be adjusted
    • LostLink: The value entered is used

    • All others are calculated depending on the amount of cyclic frames: (Value / CyclicFrames) x 10^6

Note

Please refer also the “ETG.1600 EtherCAT Installation Guideline”: http://www.ethercat.org/ETG1600.

6.3.2. Variables

In this tab, the user can see the values of the process variables. The variables will be forced to the value the user entered. The user can press release to release the variable.

The chart will be updated every second. It is also possible to add variables to the watchlist.
_images/diag-slave-variables.png

6.3.3. ESC Register

In this tab, the user can see and change the values of the registers. In the settings section he can set the offset and the length. If he activates the compact view, he will only see the registers which have a description:
_images/diag-slave-esc.png

6.3.4. EEPROM

In this view, the user can see and change the values of the EEPROM. At the moment only the “Configured Stations Alias” is changeable.
_images/diag-slave-eeprom.png

6.3.5. Extended Diagnosis

In this tab, the user can see the extended diagnosis information:
_images/diag-slave-extended.png
Common Error Counter
Processing Error Counter:

Indicates that slave received “not EtherCAT frames”, which are not allowed in the EtherCAT segment (of course acceptable in a test environment)

PDI Error Counter:

Counts if a PDI access has an interface error (read from register: 0x30D)

Port 0..3
  • Invalid Frame Counter of Port y (read from register: 0x0300+y*2)

  • RX Error Counter of Port y (read from register: 0x0300+y*2+8Bit)

  • Lost Link Counter of Port y (read from register: 0x0310+y)

  • Forwarded RX Error Counter of Port y (read from register: 0x0308+y)

Note

All error counters can be cleared by clicking on Clear Error Counters of the context menu of the master.

6.3.6. DC Diagnosis

In this tab, the user can see all DC related values of the slave:
_images/diag-slave-dc.png

Note

The option “Sync Window Monitoring” must be enabled (see Variables).

6.3.7. CoE Object-Dictionary (Slave)

This tab consists of 3 modes (in user mode, only the description from ESI or slave is available):

Description from ESI

In this tab, the user can see the description of the object dictionary from ESI and the values from the slave. He can also change the values.

_images/diag-slave-coe.png
Lists of CoE Object-Dictionary entries
  • Entries comes from ESI

  • The “Flags” column tells the user if this entry is an PDO entry and if it can be edited
    • “AA BB C D (EE FF GG)”

    • AA = Mapping as RX PDO or not

    • BB = Mapping as TX PDO or not

    • C = Backup Flag

    • D = Settings Flag

    • EE = Access rights for PreOp (RO, WO, RW)

    • FF = Access rights for SafeOp (RO, WO, RW)

    • GG = Access rights for Op (RO, WO, RW)

Buttons
Write:

Writes the selected entry

Description from Slave

In this tab, the user can see the description of the object dictionary and the values from slave. He can also change the values and has the possiblillty to export the object dictionary.

_images/diag-slave-coe_2.png
Lists of CoE Object-Dictionary entries
  • Entries are uploaded from the slave (if “SDO Information Service” is supported)

  • The “Flags” column tells the user if this entry is an PDO entry and if it can be edited

    “AA BB C D (EE FF GG)” - AA = Mapping as RX PDO or not - BB = Mapping as TX PDO or not - C = Backup Flag - D = Settings Flag - EE = Access rights for PreOp (RO, WO, RW) - FF = Access rights for SafeOp (RO, WO, RW) - GG = Access rights for Op (RO, WO, RW)

Buttons
Write:

Writes the selected entry

Single Object

In this tab, the user can read and write the values of the object dictionary of the slave.

_images/diag-slave-coe_3.png
Settings
Index:

Index of the CoE value

SubIndex:

SubIndex of the CoE value

Size:

Size of the CoE value (only used for reading)

Complete Access:

Activate, if complete access mode should be used for reading or writing the CoE value (can be used only if it is supported from slave)

Operation
Write:

Writes the value to the slave (Hex format, like: “00 11 22 33 …”)

Read:

Reads the value from slave (Hex format, like: “00 11 22 33 …”)

6.3.8. File over Ethernet (FoE)

In this tab, the user has the possibility to download or upload a file to the slave:
_images/diag-slave-foe.png
FoE Operations
Local Filename:

Name of the file on the harddrive

Slave Filename:

Name of the file on the slave

Password:

Password on the slave as a hex-number

Timeout:

Timeout for downloading or uploading the file in milliseconds

Max File Size:

Maximal file size which should be uploaded from the slave in kilo bytes

6.3.9. Slave History

In this tab, the user can see and change the diagnosis history of the slave. It is also possible to export the data:
_images/diag-slave-history.png

6.3.10. Simulator (Simulator only)

In this tab, the user can see and change the simulator settings of the slave. He can manipulate the slave e.g. power, disconnect and produce errors:
_images/diag-slave-simulator.png
State Machine

Shows the current state of the slave

Slave Power
Power off:

Turn the slave power off

Power on:

Turn the slave on to Init state

Slave Connection
Disconnect:

Disconnect the slave. Slave will not be turned off

Connect:

Connect slave to selected address and port. Default is the port where the slave was connected before

CRC Error
Set once:

Create one CRC error at the selected port

Set random:

Generate CRC errors at the selected port with the selected probability until reset is executed

Reset random:

Reset the CRC generation

Link Loss
Set once:

Create one Link Loss at the selected port for the selected time

Set random:

Generate Link Losses at the selected port with the selected probability for the selected time until reset is executed

Reset random:

Reset the Link Loss on all ports