CIA405.RECV_EMCY_DEV (FB)

 

(CAA_CiA405.Library)

Function block CIA405.RECV_EMCY_DEV checks if an emergency object has been received from DEVICE.

Extends CIA405.CIA405BASE.

Input:

NETWORK

USINT

see CIA405.CIA405BASE

ENABLE

BOOL

see CIA405.CIA405BASE

TIMEOUT

UDINT

see CIA405.CIA405BASE

DEVICE

CIA405.DEVICE

Additional device information connected to STATE; 0 means local device

range: 0 … 127

initial: 0

Output:

CONFIRM

BOOL

see CIA405.CIA405BASE

ERROR

CIA405.CANOPEN_

KERNEL_ERROR

see CIA405.CIA405BASE

ERRORINFO

CIA405.EMCY_ERROR

EMCY code

Request/Response diagram

rec_emergency.png

CIA405.RECV_EMCY_DEV will check if an emergency object (/DS-301/) has been received from DEVICE. If the function block has finished its action without any error, output CONFIRM is changed to TRUE and ERROR to 0. ERRORINFO contains the information about the received emergency. An emergency was received if the error code of ERRORINFO is unequal 0. An error code with value 0 means that the device has currently no emergency.

A received emergency is not cleared and it is delivered with each call of the function block until the device sends an emergency reset .

If an error occurred while checking for an emergency, CONFIRM is set to FALSE and ERROR is set to the corresponding error value.

Recommendation: The function block should deliver the EMCY of the checked device on each call. Often the earliest EMCY contains the orig­inally error information; later EMCYs often just results from following errors. A lower level software may work in the way, that a received EMCY does not overwrite an EMCY which is different from "No Error" ( is equal to "Reset Error" ). On the other hand, a received "No Error"- EMCY overwrites the stored EMCY in any case.