EcatSlvDiag (FB)
FUNCTION_BLOCK EcatSlvDiag EXTENDS AC500_EcatBase.EcmETrigExt
Function block to read slave diagnosis data
- InOut:
Scope
Name
Type
Initial
Comment
Inherited from
Input
ExecuteBOOLFALSE
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
DoneBOOLFALSE
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
BusyBOOLFALSE
Operation is running (while outputs Done and Error are FALSE)
AbbETrig
ErrorBOOLFALSE
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
DeviceIDeviceCM579EtherCATCoupler device
EcmETrigExt
Output
ErrorIDERROR_IDERROR_ID.NO_ERROR
Error code describing error condition (ERROR_ID located in AC500_EcatBase)
EcmETrigExt
Input
NodeUINT0
NODE ID
DiagS500FormatBOOLTRUE
TRUE : S500 Format; FALSE: RAW Format
DiagDataPOINTER 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
AckBOOLTRUE
TRUE: acknowledge emergencies, FALSE: keep in buffer
Output
AddErrNoUDINT0
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
StateteEcatDevStateteEcatDevState.NONE
State of slave
SlvNameSTRING‘’
Name of slave
BufOflBOOLFALSE
Overflow Occured, more than 5 errors
NumErrBYTE0
Number of slave errors
LastErrUDINT0
Last error