STACKINT (pila de enteros)
La instrucción STACKINT administra una pila de valores enteros.
Detalles de la operación:
- STACKINT incluye una detección de flanco ascendente para los comandos PUSH y POP. El tamaño máximo de la pila es de 128. El valor de OFLO solo es válido después de un restablecimiento (R1 se ha configurado como Cierto y se ha restablecido a Falso al menos una vez).
- El tamaño de pila N definido por la aplicación no puede ser menor que 1 ni mayor que 128.
- Si N < 1, STACKINT asume un tamaño de 1.
- Si N > 128, STACKINT asume un tamaño de 128.
Idiomas compatibles: Diagrama de bloque de funciones, diagrama de lógica de escalera y texto estructurado.
Esta instrucción se aplica a los controladores Micro810, L20E, L50E y L70E.
STACKINT

Parámetro | Tipo de parámetro | Tipo de datos | Descripción |
|---|---|---|---|
PUSH | Entrada | BOOL |
|
POP | Entrada | BOOL |
|
R1 | Entrada | BOOL |
|
IN | Entrada | DINT | Valor agregado. |
N | Entrada | DINT | Tamaño de la pila definido por la aplicación. El tamaño máximo de la pila es de 128 |
EMPTY | Salida | BOOL |
|
OFLO | Salida | BOOL |
|
OUT | Salida | DINT | Valor en la parte superior de la pila. OUT es igual a 0 si OFLO es Cierto. |
Ejemplos de STACKINT
Ejemplo de diagrama de bloque de funciones STACKINT

Ejemplo de diagrama de lógica de escalera STACKINT

Ejemplo de texto estructurado STACKINT

(* 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;
Resultados

Entregue su opinión