5. Diagnosis Mode
5.1. Overview
EC-Inspector is a diagnosis application specifically developed to analyze EtherCAT networks that are controlled by an EtherCAT 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. With EC-Inspector 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-Inspector:
System analysis and maintenance
Error detection
Documentation
- After switching into diagnosis mode of EC-Inspector, the user will see this page:
5.2. Monitor
This section shows the current “health” state of the master and helps the user to analyze master related problems.
5.2.1. General (Monitor)
- In this tab, the user can see the current state of the state machine of the master. He has also an overview over the current “health” state of his EtherCAT network:
- State Machine
- Current State:
Current state of the master
- Requested State:
Requested state of the master
- Information
- Number of found slaves:
Number of slaves, which were found from monitor 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
5.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:
It is also possible to add the variables to a watch list (next chapter).
5.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:
5.2.4. Performance
- In this tab, the user can see the busload per cycle and per second:
5.2.5. Data Acquisition Diagnosis
- In this tab, the user can start and stop the DAQ recorders. Also he can see some statistics of running recorders.
5.3. Slave
This section shows the current “health” state of the selected slave and helps the user to analyze slave related problems.
5.3.1. General (Slave)
- In this tab, the user can see the current state of the state machine of the slave:
- State Machine
- Current State:
Current state of the selected slave
- Requested State:
Requested state of the selected slave
- Error State
- Current:
Slave error which occurred during state transition
5.3.2. Variables
- 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:
5.3.3. Extended Diagnosis
- In this tab, the user can see the extended diagnosis information:
There will be a red ! to signalize that a counter is higher than 0. Except for the forwarded errors.
If an error counter is ‘-’ it was not read. If it is ‘0’ it is really zero. So there is a difference between ‘0’ and ‘-‘.
- 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)
- Acknowledge warning
If one of the error counters increase there will be a warning in the tree, sigalized with an icon. With this button it is possible to acknowledge this warning. So the slave can be monitored again and the icon will come back with the next error.
To see this information the error counters must be read by the EtherCAT master. Only if this is activated the monitor is able to read this. Here is a quick overview on how to activate this function on different masters:
- acontis EtherCAT Master:
To activate the error collection of the acontis EC-Master, the follwing API has to be called:
/* Slave statistics polling for error diagnostic */ EC_T_DWORD dwPeriodMs = 1000; dwRes = ecatIoCtl(EC_IOCTL_SET_SLVSTAT_PERIOD, (EC_T_BYTE*)&dwPeriodMs, sizeof(EC_T_DWORD), EC_NULL, 0, EC_NULL); if (dwRes != EC_E_NOERROR) { EcLogMsg(EC_LOG_LEVEL_ERROR, (pEcLogContext, EC_LOG_LEVEL_ERROR, "ecatIoControl(EC_IOCTL_SET_SLVSTAT_PERIOD) returns with error=0x%x\n", dwRes)); goto Exit; }
- Third Party Master:
Find more details here Operating with Third Party EtherCAT Controller
5.3.4. CoE Object-Dictionary
This tab consists of 2 modes:
- Description from
ESI
In this tab, the user can see the description of the object dictionary from
ESI
and the values from the slave.- 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)
- Single Object
In this tab, the user can read the values of the object dictionary of the slave.
- 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
- Read:
Reads the value from slave (Hex format, like: “00 11 22 33 …”)