Académique Documents
Professionnel Documents
Culture Documents
TP Tia Ensi 2
TP Tia Ensi 2
Portal V14
1. Objectif du TP
La couleur de la LED des états RUN/STOP sur la face avant de la CPU indique le mode
de fonctionnement actuel.
I Bit d’entrée
IB Octet d’entrée
IW Mot d’entrée
ID Double mot d’entrée
Q Bit de sortie
QB Octet de sortie
QW Mot de sortie
QD Double mot de sortie
M Mémoire utilisateur
MB Octet mémoire
MW Mot mémoire
MD Double mot mémoire
T Temporisation
C Compteur
DBX Bit dans un bloc de donnée
DBB Octet dans un bloc de donnée
DBW Mot dans un bloc de donnée
DBD Double mot dans un bloc de donnée
6. Adressage des variables
Les objets I, Q, M, DB sont rangés dans des octets (8 bits). On peut accéder à un bit,
à un octet, à un mot de 16 bits ou à un double mot (32 bits).
Exemples :
%I0.4
%I indique ici que l’adresse est de type « entrée », 0 l’adresse d’octet, et 4 l’adresse
de bit.
%Q1.2
%Q indique ici que l’adresse est de type « sortie », 1 l’adresse d’octet et 2 l’adresse
de bit.
7. Langage de programmation
8. Concepts de programmation
a. Système d'exploitation et programme utilisateur
Chaque automate (CPU) contient un système d'exploitation qui organise toutes les
fonctions et processus de la CPU n'étant pas liés à une tâche d'automatisation
spécifique. Les tâches du système d'exploitation :
Le système d'exploitation est un composant de la CPU et est déjà installé dans la CPU
à la livraison.
Selon les besoins de votre application, vous pouvez choisir soit une structure linéaire
soit une structure modulaire pour votre programme utilisateur :
Un moteur est démarré en deux sens de marche par les boutons poussoirs S1 et S2.
L’appui sur le bouton poussoir S3 permet d’arrêter le moteur. Le moteur est alimenté
par les contacteurs KM1 et KM2.
Travail à faire :
Configurer l’automate
c. Fonctions
Les fonctions (FC) sont des blocs de code sans mémoire. Elles n'ont pas de mémoire
de données dans laquelle il est possible d'enregistrer les valeurs de paramètres de
bloc. C'est pourquoi tous les paramètres d'interface doivent être interconnectés lors
de l'appel d'une fonction. Des blocs de données globaux doivent être crées pour
stocker durablement les données.
Une fonction contient un programme qui est toujours exécuté quand un autre bloc
de code appelle cette fonction. Les fonctions peuvent par exemple servir dans les cas
suivants :
Une fonction peut également être appelée plusieurs fois à divers endroits du
programme.
Activité 2 :
Les blocs fonctionnels sont des blocs de code qui mémorisent durablement leurs
variables d'entrée, de sortie et d'entrée/sortie ainsi que leurs variables statiques dans
des blocs de données d'instance afin qu'il soit possible d'y accéder même après le
traitement de blocs. Pour cette raison, ils sont aussi appelés blocs avec mémoire.
Les blocs fonctionnels peuvent aussi travailler avec des variables temporaires.
Cependant, les variables temporaires ne sont pas enregistrées dans le DB d'instance
mais disponibles uniquement tout le temps d'un cycle. Les FB sont utilisés pour des
tâches qui ne peuvent être mises en œuvre avec des fonctions :
Les FB sont toujours exécutés quand un bloc fonctionnel est appelé par un autre bloc
de code. Un FB peut aussi être appelé plusieurs fois à divers endroits du programme.
Ceci facilite la programmation de fonctions complexes et répétitives.
Un appel d'un bloc fonctionnel est désigné par le terme "instance". Pour chaque
instance d'un FB, une zone mémoire lui est affectée, contenant les données utiles au
traitement du bloc. Cette mémoire est fournie par des blocs de données que le logiciel
génère automatiquement. Il est également possible de fournir de la mémoire pour
plusieurs instances dans un bloc de données sous forme de multi-instance. La taille
maximale des DB d'instance varie selon la CPU. Les variables déclarées dans le bloc
fonctionnel déterminent la structure du bloc de données d'instance.
Activité 3 :
On souhaite démarrer deux pompes d’évacuation des eaux dans une mine. Les deux
pompes fonctionnent de la même manière. On démarre les pompes respectivement
par les boutons poussoirs S0 et S1 et on les arrête par les boutons S3 et S4. Les
voyants H1 et H2 signalent leur état de fonctionnement.
Configurer l’automate
Simuler le programme
Les blocs de données contiennent donc des données variables qui sont utilisées dans
le programme utilisateur. La structure des blocs de données globaux peut être définie
au choix. Les blocs de données globaux stockent des données qui peuvent être
utilisés par tous les autres blocs. L'accès aux blocs de données d'instance doit être
réservé au bloc fonctionnel correspondant. La taille maximale des blocs de données
varie selon la CPU.
Activité 4 :
Reprendre l’activité 1
On veut commander les feux de signalisation au niveau d’un passage pour piétons.
Le programme FEUX doit commander aussi bien :
Les feux de circulation sont tricolores (rouge, orange et vert). Les feux pour piétons
sont bicolores (rouge et vert) et comportent un bouton-poussoir pour l’appel du vert
et la demande de passage.
L’orange pour les automobilistes doit durer 5 secondes. Le rouge pour les
automobilistes doit durer 20 secondes et commencer au même moment que le vert
pour piétons. Le vert pour piétons doit durer 10 secondes. Dès que la phase du vert
pour piétons est écoulée, les feux pour piétons doivent passer au rouge. La
temporisation pour la prochaine demande de passage au vert des feux pour piétons
doit être de 7 secondes.
Un compteur permet de compter le nombre de demande de passage au vert. L’appui
sur un bouton poussoir permet de réinitialiser le compteur.
Travail à faire :