STACKINT (pile d'entiers)
L'instruction STACKINT gère une pile de valeurs entières.
Détails de l'opération :
- STACKINT inclut la détection d'un front montant pour les commandes PUSH et POP. La taille maximale de la pile est de 128. La valeur OFLO n'est valide qu'après une réinitialisation (le paramètre R1 a été défini sur TRUE au moins une fois, puis de nouveau sur FALSE).
- La taille de la pile définie par l'application (N) ne peut être inférieure à 1 ni supérieure à 128.
- Si N < 1, STACKINT adopte une taille de 1.
- Si N > 128, STACKINT adopte une taille de 128.
Langages pris en charge : Diagramme de bloc de fonctions, diagramme de schéma à relais et texte structuré.
Cette instruction s’applique aux contrôleurs
Micro810
LC10, Micro820
L20E, Micro850
L50E et Micro870
L70E.STACKINT

Paramètre | Type de paramètre | Type de données | Description |
|---|---|---|---|
PUSH | Entrée | BOOL |
|
POP | Entrée | BOOL |
|
R1 | Entrée | BOOL |
|
IN | Entrée | DINT | Valeur poussée. |
N | Entrée | DINT | Taille de la pile définie par l'application. La taille maximale de la pile est de 128 |
EMPTY | Sortie | BOOL |
|
OFLO | Sortie | BOOL |
|
OUT | Sortie | DINT | Valeur située en haut de la pile. OUT est égal à 0 lorsque OFLO est défini sur VRAI. |
Exemples STACKINT
Exemple de diagramme de bloc de fonctions STACKINT

Exemple de langage à relais STACKINT

Exemple de texte structuré 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;
Résultats

Fournir une réponse