Herunterladen Inhalt Inhalt Diese Seite drucken

Abb. 6-27: Checkexceedingoccurred; Abb. 6-28: Programmbeispiel Bereichsüberschreitung Bei Arrays - Bosch Rexroth IndraLogic L40 03VRS Bedienungs- Und Programmieranleitung

Inhaltsverzeichnis

Werbung

IndraLogic L40 03VRS
CheckExceedingOccurred
Bit-Variable
CheckExceedingOccurred.0
CheckExceedingOccurred.1
CheckExceedingOccurred.2
CheckExceedingOccurred.3
CheckExceedingOccurred.4
CheckExceedingOccurred.5
CheckExceedingOccurred.6
Programmbeispiel
CheckExceedingOccurred := 16#00;
IF Axis_Data[AxisNo].bCheckAccessOK
THEN
...
IF CheckExceedingOccurred.2 (* Wurde eine Array-Zugriffsverletzung festgestellt? *)
THEN
IF CheckExceedingOccurred.0 (* Bit für Unterschreitung gesetzt? *)
THEN
String := 'Zugriff unterhalb des möglichen Array-Bereiches'
...
END_IF
IF CheckExceedingOccurred.1 (* Bit für Überschreitung gesetzt? *)
THEN
String := 'Zugriff oberhalb des möglichen Array-Bereiches'
...
END_IF
ELSE
String := 'Zugriff erfolgreich'
END_IF
DOK-CONTRL-IC*L40*****-AW02-DE-P
Durch
gezieltes
Abfragen
"CheckExceedingOccurred" kann die genaue Fehlerursache ermittelt
werden. Alle Fehlzugriffe werden aber durch RIL_Check verhindert, so
dass es nicht zu Unter- bzw. Überschreitungen und nicht zur Division
durch Null kommen kann. Die einzelnen Bits haben folgende Bedeutung:
Wert
Bedeutung
16#01
CheckBoundsLowerLimitation:
Unterschreiten der zulässigen Indizes des Zugriffs auf Array-
Elemente.
16#02
CheckBoundsUpperLimitation:
Überschreiten der zulässigen Indizes des Zugriffs auf Array-
Elemente.
16#04
CheckBoundsExceedingLimitation:
Unter- oder Überschreiten der zulässigen Indizes des Zugriffs auf
Array-Elemente.
16#08
CheckRangeLowerLimitation:
Unterschreiten des zulässigen Wertebereichs einer Variablen.
16#16
CheckRangeUpperLimitation:
Überschreiten des zulässigen Wertebereichs einer Variablen.
16#32
CheckRangeExceedingLimitation:
Unter- oder Überschreiten des zulässigen Wertebereichs einer
Variablen.
16#64
DivisionByZeroPrevention:
Division durch Null.

Abb. 6-27: CheckExceedingOccurred

Das folgende SPS-Programmbeispiel zeigt die Verwendung der Variablen
CheckExceedingOccurred. Die Limitierung der Arrays mit CheckBounds
setzt im Fehlerfall immer das jeweilige Bit für Über- bzw. Unterschreitung
(CheckBoundsLowerLimitation bzw. CheckBoundsUpperLimitation) und
das
allgemeine
(CheckBoundsExceedingLimitation). Somit lässt sich eine allgemeine
oder eine detaillierte Prüfung der Grenzüberschreitung realisieren.
(* Rücksetzen der Variablen *)
(* Arrayzugriff *)
Abb. 6-28: Programmbeispiel Bereichsüberschreitung bei Arrays
Bibliotheken
der
Bits
in
der
globalen
Bit
der
6-13
Variablen
Zugriffsverletzung

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis