Wenn Sie in Ihrem Projekt eine Funktion mit dem Namen CheckBounds definieren, können Sie automatisch auf Fehler außerhalb des Bereichs in Arrays⮫ „ARRAY“ prüfen. Der Name der Funktion ist fest und kann nur diese Bezeichnung haben.
Beispiel für die Funktion 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
Das folgende Beispielprogramm zur Prüfung der Funktion CheckBounds überschreitet die Grenzen eines definierten Arrays. Mit der Funktion CheckBounds kann der Wert TRUE nicht der Stelle A[10], sondern der noch gültigen Bereichsgrenze A[7] darüber zugewiesen werden. Mit der Funktion CheckBounds können somit Verweise außerhalb von Array-Grenzen korrigiert werden.
Testprogramm für die Funktion CheckBounds:
PROGRAM PLC_PRG VAR a: ARRAY[0..7] OF BOOL; b: INT:=10; END_VAR a[b]:=TRUE;




HINWEIS

Die CheckBounds-Funktion aus der Check.Lib-Bibliothek ist nur eine Beispiellösung! Prüfen Sie vor der Verwendung dieses Bibliotheksmoduls, ob die Funktion in Ihrem Sinne funktioniert, oder implementieren Sie eine entsprechende Funktion direkt als Baustein in Ihrem Projekt.