Input |
Data Type |
Description |
---|---|---|
i_xEn |
BOOL |
TRUE: Enables the function block. FALSE: Disables the function block. Refer to detailed description below. |
i_wExeCntCfg |
WORD |
Number of program executions Range: 1...65535 Refer to detailed description below. |
i_dwAppliSignature1 |
DWORD |
Application signature 1 Range: 0...4294967295 Refer to detailed description below. |
i_dwAppliSignature2 |
DWORD |
Application signature 2 Range: 0...4294967295 Refer to detailed description below. |
i_dwAppliSignature3 |
DWORD |
Application signature 3 Range: 0...4294967295 Refer to detailed description below. |
i_dwAppliSignature4 |
DWORD |
Application signature 4 Range: 0...4294967295 Refer to detailed description below. |
i_bFirmVers0 |
BYTE |
Firmware version 0 Range: 0...255 Refer to detailed description below. |
i_bFirmVers1 |
BYTE |
Firmware version 1 Range: 0...255 Refer to detailed description below. |
i_bFirmVers2 |
BYTE |
Firmware version 2 Range: 0...255 Refer to detailed description below. |
i_bFirmVers3 |
BYTE |
Firmware version 3 Range: 0...255 Refer to detailed description below. |
i_wTaskTime |
WORD |
Task execution time. Enter the value of task time in milliseconds corresponding to the value of the cyclic task in which the instance of Diagnostic coverage is executed (the main cycle task). Range: 0...1000 Scaling/Unit: ms |
i_wTaskJittLim |
WORD |
Limit of task execution jitter. Range: 0...200 Scaling/Unit: ms Refer to detailed description below. |
i_xComTestEn |
BOOL |
Enables communication cross checking. Refer to detailed description below. |
i_xComTestMstr |
BOOL |
Master or slave in communication test. Refer to detailed description below. |
i_wComTestValue |
WORD |
Communication test value input. Range: 0...65535 Refer to detailed description below. |
i_wComDigitSum |
WORD |
Communication test digit sum. Range: 0...65535 Refer to detailed description below. |
i_wComTestFltrTimeMs |
WORD |
Communication test timeout. Range: 0...1000 Scaling/Unit: ms Refer to detailed description below. |
i_xTest |
BOOL |
Test state input. Refer to detailed description below. |
i_xRst |
BOOL |
Resets status of the FB on rising edge and will reset the q_xAppOK to TRUE if the conditions are fulfilled. |
When TRUE, enables the FB. When FALSE, the FB enters a fallback state:
q_xEn |
FALSE |
q_xAppOK |
FALSE |
q_xAlrm |
FALSE |
q_wAlrmId |
0 |
q_wComTestValue |
0 |
q_wComDigitSum |
0 |
q_wStat |
0 |
This input contains a value corresponding to the number of execution of POUs in the main cyclic task. The FB monitors the number of executions on the pin iq_wExeCntActl. If the number of executions (increments of the value connected to iq_wExeCntActl) is not equal to i_wExeCntCfg, the q_xAppOk output is set to FALSE. The configured value must be greater than 0.
These inputs are used for testing of application signature. Each application has a unique application signature consisting of four 32 bit DWORD values. Connect retained DWORD variables to these inputs and after downloading the application, write values found in PLC_R.i_dwAppliSignature1..4 to these retained variables.
NOTE: Do not write hard-coded values to the application; each change of the application changes also its signature.
Location of application signature information
These inputs are used for checking of controller firmware version. The firmware version consists of 4 byte values. You can pass a specific firmware version to the function block and it will verify that the firmware version of the controller matches the version you pass to the function block. However, if the firmware version is irrelevant to your application, the controller firmware version can be found in the PLC_R structure in an array of BYTE.PLC_R.i_bFirmVers[0..3].
Location of controller firmware version information
This input contains the maximum allowed value of execution time jitter. If the cyclic task execution time exceeds the sum of i_wTaskTime and i_wTaskJittLim, q_xAppOk output is set to FALSE. The protection only checks if the actual execution period is longer than configured, it will not react if the actual cycle time is shorter than configured.
TRUE on this input enables cross checking function for mutual checking of 2 controllers. When the FB is a master in the communication test (i_xComTestMstr = TRUE), it generates a communication test value and corresponding digit sum value on the outputs q_wComTestValue and q_wComDigitSum. The slave (i_xComTestMstr = FALSE), FB does not initiate the communication. It waits for the change of inputs i_wComTestValue and i_wComDigitSum, checks the received value and if they are correct, it generates following values in the series and makes them available at the output q_wComTestValue and q_wComDigitSum.
When TRUE, the FB starts the generation of values for communication test. When two instances of this function block are used, one of them must be configured as master and the other one as slave. If the FB is used as a counterpart to a communication check running on a M221 Logic controller, it must be in Master mode.
Communication test value from the counterpart device.
Digit sum value from the counterpart device.
Communication test timeout value. The FB expects the following set of i_wComTestValue and i_wComDigitSum values within the time defined by this input. If the values do not change within the defined time, the FB raises an alarm.
TRUE on this input bypasses checking of application signature, firmware version information, execution count, cycle time test and mutual cross checking of 2 controllers. Boolean operation test and floating point operation test remain active. It allows for a simple way of keeping the q_xAppOk TRUE during commissioning period.
The input keeps its effect for 5 hours, if it stays TRUE for more than 5 hours, it is ignored.