Télécharger Imprimer la page

Siemens SIMATIC S7-200 Manuel D'utilisation page 215

Masquer les pouces Voir aussi pour SIMATIC S7-200:

Publicité

Conseil
STEP 7-Micro/WIN ajoute automatiquement une opération de fin inconditionnelle pour chaque
sous-programme.
Lors de l'appel d'un sous-programme, toute la pile est sauvegardée, puis la valeur en haut de la pile est
mise à 1 et toutes les autres valeurs y sont mises à 0. Le sous-programme appelé prend alors le contrôle. A
la fin de son exécution, les valeurs sauvegardées de la pile sont restaurées et le programme appelant
reprend la main.
Les accumulateurs sont communs aux sous-programmes et au programme appelant. Aucune opération de
sauvegarde ni de restauration due à l'utilisation de sous-programmes ne les affecte.
Appel d'un sous-programme avec paramètres
Vous pouvez transmettre des paramètres lors de l'appel d'un sous-programme. Les paramètres sont définis
dans la table des variables locales du sous-programme. Ils doivent avoir un mnémonique (23 caractères au
maximum), un type de variable et un type de données. Vous pouvez transmettre jusqu'à 16 paramètres à un
sous-programme ou en recevoir jusqu'à 16.
La zone de type de variable dans la table des variables locales définit si la variable constitue un paramètre
d'entrée (IN), un paramètre d'entrée/sortie (IN_OUT) ou un paramètre de sortie (OUT) du sous-programme.
Le tableau 6-76 décrit les types de paramètres pour un sous-programme. Pour ajouter une entrée de
paramètre, placez le curseur sur la zone du type de variable désiré (IN, IN_OUT ou OUT). Cliquez sur le
bouton droit de la souris pour afficher le menu contextuel, choisissez-y la commande d'insertion, puis
l'option "Ligne en dessous". Une autre entrée de paramètre du type sélectionné apparaît alors sous l'entrée
en cours.
Tableau 6-76 Types de paramètres pour un sous-programme
Paramètre
Description
IN
Le paramètre est transmis au sous-programme. S'il s'agit d'une adresse directe (comme VB10), la valeur
à l'adresse indiquée est transmise au sous-programme. S'il s'agit d'une adresse indirecte (comme
*AC1), la valeur à l'adresse pointée est transmise au sous-programme. S'il s'agit d'une constante
(16#1234) ou d'une adresse (&VB100), la constante ou la valeur d'adresse est transmise au
sous-programme.
IN_OUT
La valeur à l'adresse de paramètre indiquée est transmise au sous-programme et le sous-programme
renvoie la valeur résultante à la même adresse. Les constantes (16#1234) et les adresses (&VB100) ne
sont pas autorisées comme paramètres d'entrée/sortie.
OUT
Le sous-programme renvoie la valeur résultante à l'adresse de paramètre indiquée. Les constantes
(16#1234) et les adresses (&VB100) ne sont pas autorisées comme paramètres de sortie.
TEMP
Vous pouvez utiliser toute adresse de mémoire locale ne servant pas à la transmission de paramètres
comme mémoire temporaire à l'intérieur du sous-programme.
Comme illustré dans la figure 6-38, le champ du type de données dans la table des variables locales définit
la taille et le format du paramètre. Les types de paramètres sont énumérés ci-après :
BOOL : On utilise ce type de données pour
-
les entrées et sorties à un seul bit. IN3 dans
l'exemple suivant est une entrée booléenne.
BYTE, WORD, DWORD : Ces types de
-
données identifient des paramètres d'entrée
ou de sortie non signés, de 1, 2 et 4 octets
respectivement.
INT, DINT : Ces types de données identifient
-
des paramètres d'entrée ou de sortie signés
des paramètres d'entrée ou de sortie signés,
de 2 et 4 octets respectivement.
REAL : Ce type de données identifie une valeur à virgule flottante IEEE simple précision (4 octets).
-
Flux de signal : Le flux de signal booléen est autorisé uniquement pour les entrées (booléennes)
-
binaires. Cette déclaration signale à STEP 7-Micro/WIN que ce paramètre d'entrée est le résultat de
flux de signal basé sur une combinaison d'opérations logiques binaires. Les entrées de flux de signal
doivent apparaître en premier dans la table des variables locales, avant tout autre type d'entrée.
Seuls les paramètres d'entrée peuvent être utilisés de cette manière. L'entrée de validation (EN) et les
entrées IN1 dans l'exemple suivant utilisent la logique booléenne.
Jeu d'opérations S7-200
Figure 6-38 Table des variables locales
Chapitre 6
6
205

Publicité

loading