Function BlockECATCommErrorsPLCopen motion icon

Description

This function block returns a list of bad EtherCATClosed***EtherCAT is an open, high-performance Ethernet-based fieldbus system. The development goal of EtherCAT was to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs connections. If EtherCAT network communication is shutdown, the failed connections are based on information that was taken at the time the network was shutdown.

Figure 7-195: ECATCommErrors function block

ECATCommErr_ref Structure
Parameter Type Description
CommErrorCounter UINT The Communication Error Counter for this port.
ConnectedSlaveAddress INT The EtherCAT address of the connected device.
ConnectedSlavePortID UINT The port number of the connected device.
LostLinkCounter UINT The Lost Link Counter for this port.
SlaveAddress INT The EtherCAT address of the device that owns the port.
SlavePortID UINT The port number.
EtherCAT Port Number Defines
Define Port
#define EC_PORT_A 0 (* Port A *)
#define EC_PORT_B 1 (* Port B *)
#define EC_PORT_C 2 (* Port C *)
#define EC_PORT_D 3 (* Port D*)

Arguments

Input

Execute Description Read the communication errors on the rising edgeClosedA rising edge is the transition of a digital signal from low to high. It is also called positive edge
  Data type BOOL
  Range 0,1
  Unit N/A
  Default

Connection

Description Array of bad connections. The safe size for the list is [2 * (number of devices) - 1].
  Data type ECATCommErr_ref (see ECATCommErr_ref Structure table above)
  Range N= 0 to 2 times the number of EtherCAT devices.
  Unit N/A
  Default

Output

Done Description Indicates when the function is complete
  Data type BOOL
  Unit N/A

Error

Description Indicates the function failed due to an error.
  Data type BOOL
  Unit N/A
ErrorID Description The function call error result, if Error is TRUE (see Possible Error Codes and Descriptions table below). Upon success, Error is set to zero..
  Data type DINT
  Unit N/A
ConnectionCount Description The number of bad connections. Valid indices in the Connection array range from zero to ConnectionCount -1 (assuming that ConnectionCount != 0).
  Data type UINT
  Unit N/A
Possible Error Codes and Descriptions
Error Code Description
ECERR_DEVICE_ERROR The EtherCAT driver is in a bad state
ECERR_INVALID_ARRAY_SIZE The size of the Connections is too small

  • When the array size is smaller than the number of bad connections, the array is filled with the data to the extent of the size of the array and the error ‘ECERR_INVALID_ARRAY_SIZE’ is also set. In this scenario, the output ConnectionCount is set to the size of the array and it is smaller than the number of actual bad connections.

Related Functions

Example

Structured Text

(********************************************************)
Read EtherCAT communication errors.
(********************************************************)

commErrors( TRUE, Connection);

FBD

FFLD

Go back to the top of the page [Top]