EcatBusDiag (FB)

FUNCTION_BLOCK EcatBusDiag EXTENDS AC500_EcatBase.EcmETrigExt

Function block to read bus diagnosis data

InOut:

Scope

Name

Type

Initial

Comment

Inherited from

Input

Execute

BOOL

FALSE

A rising edge starts the operation, the output Busy goes to TRUE. In the first cycle all other inputs are read and stored, afterwards they are ignored. A falling edge does not stop the operation. After Done = TRUE or Error = TRUE and Execute = FALSE all outputs will be reset.

AbbETrig

Output

Done

BOOL

FALSE

Operation is completed without error (while outputs Busy and Error are FALSE). This output is TRUE for at least one cycle or until Execute is set to FALSE

AbbETrig

Busy

BOOL

FALSE

Operation is running (while outputs Done and Error are FALSE)

AbbETrig

Error

BOOL

FALSE

Operation is stopped with error (while outputs Busy and Done are FALSE). This output is TRUE for at least one cycle or until Execute is set to FALSE. The output ErrorID gives more details about the error.

AbbETrig

Input

Device

IDeviceCM579EtherCAT

Coupler device

EcmETrigExt

Output

ErrorID

ERROR_ID

ERROR_ID.NO_ERROR

Error code describing error condition (ERROR_ID located in AC500_EcatBase)

EcmETrigExt

Input

Len

UINT

0

Element count of array SlvState

SlvState

POINTER TO teEcatDevState

0

Pointer to an array that will be filled with slave states

Output

AddErrNo

UDINT

0

Addition error code for detailed error description, will be set if ErrorID = ERROR_ID.ADDITIONAL_ERROR_INFO (16#31). Explanation of error codes can be found in Hilscher documentation: https://kb.hilscher.com/display/ECM3V0/EtherCAT+Master+V4, chapter 5

NumActSlv

UDINT

0

Number of active slaves

NumConfSlv

UDINT

0

Number of configured slaves

NumFaultSlv

UDINT

0

Number of faulty slaves

CurrentState

teEcatDevState

Current state of master

TargetState

teEcatDevState

Target state of master

StopReason

UDINT

0: State change in progress/successful, otherwise: Last state change has been aborted

StatusFlags

UDINT

Master status flags: Bit 0: At least one mandatory slave not connected, Bit 1: DC slaves are not syncing their sys time, Bit 2: At least one mandatory slave not in OP

CommErno

UDINT

0

Communication error