CM579EcatSlvDiag (FB)

FUNCTION_BLOCK CM579EcatSlvDiag EXTENDS CM579EcatBase

Function block to read slave diagnosis data

InOut:

Scope

Name

Type

Initial

Comment

Inherited from

Input

Execute

BOOL

FALSE

A rising edge starts a single 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. For executing another operation the Execute input needs to be retriggered by another rising edge!

AbbETrig3

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

AbbETrig3

Busy

BOOL

FALSE

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

AbbETrig3

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.

AbbETrig3

Input

Device

IDeviceCM579EtherCAT

CM579-ECAT coupler device

CM579EcatBase

Output

ErrorID

ERROR_ID

Error code describing error condition

CM579EcatBase

AddErrNo

UDINT

Additional error code for detailed error description, will be set if ErrorID = ERROR_ID.ADDITIONAL_ERROR_INFO.

CM579EcatBase

Input

Node

UINT

0

NODE ID

DiagS500Format

BOOL

TRUE

TRUE : S500 Format; FALSE: RAW Format

DiagData

POINTER TO BYTE

0

POINTER TO write emergency data TO, IF S500 Format: 5 x SIZEOF(DIAGDAT) = 5 x 5 = 25 bytes, else if Raw Format, 5 x SIZEOF(tsEcmSlvEmergency) = 5 x 8 = 40 Bytes

Ack

BOOL

TRUE

TRUE: acknowledge emergencies, FALSE: keep in buffer

Output

State

teEcatDevState

teEcatDevState.NONE

State of slave

SlvName

STRING

‘’

Name of slave

BufOfl

BOOL

FALSE

Overflow Occured, more than 5 errors

NumErr

BYTE

0

Number of slave errors

LastErr

UDINT

0

Last error