Function CheckBoundsΒΆ

If you define a function in your project with the name CheckBounds, you can automatically check for out-of-range errors in arrays ( ARRAY). The name of the function is fixed and can only have this designation.

Example for the function CheckBounds:

FUNCTION CheckBounds : DINT
VAR_INPUT
 index, lower, upper: DINT;
END_VAR
IF  index < lower THEN
 CheckBounds := lower;
ELSIF  index > upper THEN
 CheckBounds := upper;
ELSE  CheckBounds := index;
END_IF

The following sample program for testing the CheckBounds function exceeds the bounds of a defined array. The CheckBounds function allows the value TRUE to be assigned, not to location A[10], but to the still valid range boundary A[7] above it. With the CheckBounds function, references outside of array boundaries can thus be corrected.

Test Program for the function CheckBounds:

PROGRAM PLC_PRG
VAR
 a: ARRAY[0..7] OF BOOL;
 b: INT:=10;
END_VAR
a[b]:=TRUE;

Attention

The CheckBounds-function provided by the Check.Lib library is just a sample solution! Before using that library module check whether the function is working in your sense, or implement an appropriate function directly as a POU in your project.