SF_DPRAM_PM5XX_S_SENDPermalink

This is the web edition of the original ‎⮫ AC500-S safety user manual, version 1.3.2. This web edition is provided for quick reference only. The original safety user manual must be used to meet functional safety application requirements.

04.06.073_SF_DPRAM_PM5XX_S_SEND

Sending data from the safety CPU to non-safety CPU

The SF_DPRAM_PM5XX_S_SEND function block is used to send data to the non-safety CPU. The data to be sent is available in the memory area (DATA, memory address for data to be transmitted, provided via ADR operator). The function block is activated with a TRUE signal (FALSE/TRUE edge) at input EN. The length of the data to be transmitted is specified in bytes at input DATA_LEN. DONE = TRUE and ERR = FALSE indicate that the sending process was successful. If an error was detected during function block processing, the error is indicated at the outputs ERR and ERNO.

DANGER

DANGER
DANGER
DANGER

DANGER

DANGER

If FB SF_DPRAM_PM5XX_S_SEND is used to send safety data from safety CPU to non-safety CPU, then SIL 3 (IEC 61508 and IEC 62061) and PL e (ISO 13849-1) functional safety requirements will not be fulfilled for sent data (independently on application safety communication profile used), because only one microprocessor (no 1oo2 safety architecture in the background) on safety CPU handles the sending direction.

Contact ABB technical support on how to reach SIL 3 and PL e.

NOTICE

NOTICE
NOTICE
NOTICE

NOTICE

NOTICE

Sending data using the SF_DPRAM_PM5XX_S_SEND function block is edge-triggered, i.e. each sending process is initiated by a FALSE/TRUE edge at input EN.

NOTICE

NOTICE
NOTICE
NOTICE

NOTICE

NOTICE

This function block is activated by a positive edge of the input variable EN. During the cycle where the function block notices that the operation is finished (output DONE = TRUE) it will set the output variables only for one cycle. When the function block is called again it will reset the output variables immediately.

Table 1151: FB name: SF_DPRAM_PM5XX_S_SEND

Name

Data type

Initial value

Description, parameter values

VAR_INPUT

EN

BOOL

FALSE

Enabling of function block processing.

Processing of this function block is controlled by input EN. The data transfer is initiated by a FALSE/TRUE edge. The sending of data is indicated by output DONE.

DATA

DWORD

16#00000000

Input DATA is used to specify the address of the variable the user data are to be copied to. The address specified at DATA has to belong to a variable of the type ARRAY or STRUCT.

Set the variable size to the maximum expected amount of data in order to avoid overlapping of memory areas.

DATA_LEN

DWORD

16#00000000

The length of the data to be transmitted is specified in bytes at input DATA_LEN. The maximum number is 84.

VAR_OUTPUT

DONE

BOOL

FALSE

Output DONE indicates the sending of data. This output always has to be considered together with output ERR.

The following applies:

  • DONE = TRUE and ERR = FALSE: Sending completed. A data set was sent correctly.

  • DONE = TRUE and ERR = TRUE: An error occurred during sending. The error number is indicated at output ERNO.

ERR

BOOL

FALSE

Output ERR indicates whether an error occurred during sending. This output always has to be considered together with output DONE. The following applies if an error occurred during sending: DONE = TRUE and ERR = TRUE. Output ERNO indicates the error number.

ERNO

WORD

16#0000

Error number⮫ [3].

Output ERNO provides an error identifier if an invalid value has been applied to an input or if an error occurred during job processing. ERNO always has to be considered together with the outputs DONE and ERR. The output value at ERNO is only valid if DONE = TRUE and ERR = TRUE.

Call in ST

PM5xxSend (EN := PM5xxSend_EN,
DATA := ADR(PM5xxSend_DATA),
DATA_LEN := PM5xxSend_DATA_LEN,
DONE => PM5xxSend_DONE,
ERR => PM5xxSend_ERR,
ERNO => PM5xxSend_ERNO);