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
STACKINT
Parámetros de STACKINT
Parámetro
Tipo de parámetro
Tipo de datos
Descripción
PUSH
Entrada
BOOL
  • CIERTO: Flanco ascendente detectado, en comando PUSH. Agrega el valor IN en la parte superior de la pila.
  • FALSO: No se ha detectado flanco ascendente en comando PUSH.
POP
Entrada
BOOL
  • CIERTO: Flanco ascendente detectado, en comando POP. Elimina el último valor agregado en la parte superior de la pila.
  • FALSO: No se ha detectado flanco ascendente en comando POP.
R1
Entrada
BOOL
  • CIERTO: Restablece la pila a su estado vacío.
  • FALSO: No hay restablecimiento.
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
  • CIERTO: La pila está vacía.
  • FALSO: La pila contiene valores.
OFLO
Salida
BOOL
  • CIERTO: Desbordamiento, la pila está llena y R1 se ha configurado como CIERTO al menos una vez y restablecido a FALSO.
  • FALSO: El tamaño de pila es de 128 o menos. No hay desbordamiento.
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 bloque de funciones STACKINT
Ejemplo de diagrama de lógica de escalera STACKINT
Ejemplo de diagrama de lógica de escalera STACKINT
Ejemplo de texto estructurado 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
Resultados
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal