NetVarReceiver
Library: SafetyNetVar
Tip
The version of the function block as described here corresponds to the latest version of the function block in Version list of function blocks.
Using the FB instance (driver instance)
NetVarReceiver
function block is used in the application to...Change the default values
Acknowledge errors manually
Diagnose the connection to a NetVarSender function block
To do this, the corresponding instance of the NetVarReceiver function block must be made visible in a program in the declaration part by means of VAR_EXTERNAL <name of the safety network variable list (receiver)> : NetVarReceiver
.
Residual error rate
The specification requires that communication errors reported by the driver instance do not occur more frequently than one time in five hours. In this way, the residual error rate per hour for safety-oriented signals remains below the SIL3 limit value of 10-9.

VAR_INPUT
)Name | Data Type | Initial Value | Description |
---|---|---|---|
|
|
| Input for controlling the input data
|
|
|
| Input <auto-ack-startup-error> for automatic acknowledgement of errors at startup. For a description of the input <auto-ack-startup-error> and safety notices that you must observe unconditionally, see the Fieldbuses – General Part chapter. |
|
|
| Input <auto-ack-interrupt> for the automatic acknowledgement after interruptions. For a description of the input <auto-ack-interrupt> and safety notices that you must observe unconditionally, see the Fieldbuses – General Part chapter. |
|
|
| Input <ack-edge> for manual acknowledgement. For a description of the input <-ack-edge> and safety notices that you must observe unconditionally, see the Fieldbuses – General Part chapter. |
VAR_OUTPUT
)Name | Data Type | Initial Value | Description |
---|---|---|---|
|
|
| Output that indicates whether valid input data exists or not.
|
|
|
| Error display |
|
|
| See Diagnostic code |
|
|
| Output <ack-req> for prompting a manual acknowledgement. For a description of the input <auto-ack-interrupt> and safety notices that you must observe unconditionally, see the Fieldbuses – General Part chapter. |
|
|
| Actual response time of the safety network variable list (sender) |
|
|
| Minimum response time of the safety network variable list (sender) |
|
|
| Maximum response time of the safety network variable list (sender) |
Diagnostic code
The diagnostic code is divided into two categories:
16#8XXX
states of communication with transmission16#CXXX
error states
States of communication with transmission

The diagnostic code can have the following values in the states of communication with transmission:
DiagCode
= 0x80xx
, contains the state of the NetVarReceiver
State | Values for | Description |
---|---|---|
|
| The connection is reset (input data is in safe state). |
|
| The session ID is transmitted (input data is in safe state). |
|
| The connection ID is transmitted (input data is in safe state). |
|
| The parameters are transmitted (input data is in safe state). |
|
| Data or substitute values are transmitted. |
Error states
If there are two errors in the NetVarReceiver at the same time, then only the error with the highest priority is shown. The priorities of the errors are assigned according to the error category:
1st error category:
DiagCode
=16#C0xx
, initialization error2nd error category:
DiagCode
=16#C1xx
, receiver error safety network variable list (receiver)3rd error category:
DiagCode
=16#C2xx
, errors reported from the safety network variable list (sender)
Diagcode
= 16#C0xx
, xx
contains an additional error-specific error code
Values for XX | Description |
---|---|
| Internal errors |
| Length of safe data is not supported (max. 32 byte data is supported) |
| Invalid watchdog time; value |
Error detection of the NetVarReceiver
wDiagCode
= 16#C1xx
, xx
contains an additional error-specific error code
Values for | Description |
---|---|
| Local reset or acknowledgement of a reset command |
| Unexpected command in the received telegram |
| Unknown command in the received telegram |
| Invalid connection ID in the received telegram |
| CRC error for the received telegram |
| Watchdog error; no valid telegram received within the watchdog time |
| Invalid safety data in the received telegram |
| Error |
| Prompt for acknowledging the restart |
Error – Response of the safety network variable list (sender)
wDiagCode
= 16#C2XX
, XX
contains an additional error-specific error code
Values for | Description |
---|---|
| Local reset or acknowledgement of a reset command |
| Unexpected command in the received telegram |
| Unknown command in the received telegram |
| Invalid connection ID in the received telegram |
| CRC error for the received telegram |
| Watchdog error; no valid telegram received within the watchdog time |
| Invalid FSoE slave address |
| Invalid communication parameter length |
| Invalid communication parameter data |
| Invalid application parameter length |
| Invalid application parameter data |
| Definition of the network variable list on the side of the safety NVL (receiver) is differentiated from those on the side of the safety NVL (sender) |
Time measurement
The NetVarReceiver function block provides three outputs for the monitoring of the telegram processing time. The outputs are used for diagnosing the sender–receiver communication connection.
The expired time of the IEC timer is used as the measured cycle time of a telegram. In order not to falsify the measurements, only valid responses are considered. The time is measured between two telegrams received by the safety NVL (sender). This means that at least one bit in the complete telegram indicates a change.
The function block yields the actual response time (tRespTimeMS
), the minimum response time (tMinRespTimeMS
), and the maximum response time (tMaxRespTimeMS
) of the safety NVL(sender).