STACKINT (Ganzzahl-Stack)
Die STACKINT-Anweisung verwaltet einen Stapel ganzzahliger Werte.
Details zum Betrieb:
- STACKINT enthält eine Erkennungsfunktion für ansteigende Flanken bei PUSH- und POP-Befehlen. Die Maximalgröße des Stapels ist 128. Der OFLO-Wert ist nur nach einem Zurücksetzen gültig (R1 wurde mindestens ein Mal auf TRUE und wieder zurück auf FALSE gesetzt).
- Die in der Anwendung definierte Stapelgröße (N) kann nicht unter 1 oder über 128 liegen.
- Wenn N > 1, nimmt STACKINT den Wert 1 an.
- Wenn N > 128, nimmt STACKINT den Wert 128 an.
Unterstützte Sprachen: Funktionsblockdiagramm, Kontaktplan und Strukturierter Text.
Diese Anweisung gilt für die Controller
Micro810
LC10, Micro820
L20E, Micro850
L50E und Micro870
L70E.STACKINT

Parameter | Parametertyp | Datentyp | Beschreibung |
|---|---|---|---|
PUSH | Eingang | BOOL |
|
POP | Eingang | BOOL |
|
R1 | Eingang | BOOL |
|
IN | Eingang | DINT | Per Push-Befehl gespeicherter Wert. |
N | Eingang | DINT | Von der Anwendung definierte Stapelgröße Die Maximalgröße des Stapels ist 128. |
EMPTY | Ausgang | BOOL |
|
OFLO | Ausgang | BOOL |
|
OUT | Ausgang | DINT | Oberster Wert auf dem Stapel. OUT ist gleich 0, wenn für OFLO der Wert TRUE zurückgegeben wird. |
STACKINT-Beispiele
Beispiel für ein STACKINT Funktionsblockdiagramm

Beispiel für einen STACKINT-Kontaktplan

Beispiel für strukturierten STACKINT-Text

(* ST Equivalence: STACKINT1 is an instance of a STACKINT block *) STACKINT1(err_detect, acknowledge, manual_mode, err_code, max_err); appli_alarm := auto_mode AND NOT(STACKINT1.EMPTY); err_alarm := STACKINT1.OFLO; last_error := STACKINT1.OUT;
Ergebnisse

Rückmeldung geben