Vous êtes sur la page 1sur 20

UNIVERSITE DE SOUSSE

INSTITUT SUPERIEUR DES SCIENCES APPLIQUEES ET DE TECHNOLOGIE DE SOUSSE

Département de Génie Electronique

FASCICULE DE TRAVAUX PRATIQUES

Classe : LGM-Productique-A2

Enseignante : Radhia Chibani Année universitaire : 2021-2022


Issat'Sousse Classe: LGM-Productique-A2

Tp n°1: Prise en main de la programmation de l'automate


SIMATIC-S7-1200

I. Objectifs
- Découvrir le matériel de programmation de la salle de TP d’automatisme et savoir donner la
configuration d’un API.
- Créer un projet et programmer des équations logiques en langage à contacts (ladder) en utilisant les
fonctions de base.
II. Présentation du logiciel TIA
Le logiciel « Totally Integrated Automation Portal » (TIA) est un logiciel de programmation des
automates de la gamme S7-1200 et des pupitres opérateur de la gamme KTP.
Celui-ci est composé de STEP7 Basic et Win CC Basic. Il reprend la même philosophie de programmation
que le logiciel STEP7 Pro avec une interface simplifiée et l’intégration de la programmation de pupitre
opérateur. Le souhait de SIEMENS est d’intégrer toutes leurs gammes de produits pour un seul logiciel.
III.Création d'un projet
Une fois le logiciel est installé, pour le démarrer, on clique sur l'icône "TIA Portal V13" ci-dessous:

Pour pouvoir maîtriser la démarche d'utilisation du logiciel TIA Portal V13 et celle d'exécution sur
l'automate S7-1200, on considère l'exemple de commande d'un vérin.
Voici la page de démarrage qui apparaît:

Sur cette page, on peut:


- Visualiser les projets déjà créés et les ouvrir.
- Créer un nouveau projet.
- Migrer un projet existant.

Enseignante : R.Chibani 1
Issat'Sousse Classe: LGM-Productique-A2

-Se mettre en ligne avec un automate S7-1200 ou un pupitre KTP et avoir accès au diagnostic. En
bas de cette page, on voit le projet ouvert et on peut y accéder en cliquant sur "Vue du projet".
Par exemple pour créer le projet comme par exemple " Commande-Vérin", on procède par :
 Remplir la case Nom du Projet par exemple « Commande-vérin »,
 Eventuellement, ajouter un commentaire pour décrire le projet,
 Une fois saisie, on clique sur "Créer".

1. Création d'une configuration matérielle


Pour configurer l'appareil, on cliquer sur l'option "Mise en route". Puis, configurer un appareil comme le
montre la figure ci-dessous.

Après avoir cliqué sur "Configurer un appareil", on clique sur 'Ajouter un appareil' en indiquant le
nom d’appareil "Commande-vérin" par exemple. Dans le catalogue, choisir la CPU 1214C DC/DC/DC
avec la référence 6ES7 214-1AG40-0XB0). Puis, on clique sur ajouter ou sur la touche "Entrée" eu clavier.
Si on ne connaît pas la référence, on peut cliquer sur "CPU 1200 non spécifiée".

Enseignante : R.Chibani 2
Issat'Sousse Classe: LGM-Productique-A2

Le logiciel passe automatiquement vers la vue du projet avec la configuration matérielle ouverte
comme suit:

Ici, on peut ajouter des modules supplémentaires depuis le catalogue du matériel (fenêtre de droite)
; les adresses d’entrée/sortie peuvent être réglées dans la vue d’ensemble des appareils.
Afin que de s’assurer que le logiciel puisse accéder par la suite à la bonne CPU, il convient de tester donc
la connexion en ligne du module choisi avec le matériel existant.

Une fois la configuration matérielle est achevée, on revient au navigateur de projet, et on clique sur
l'icône "Variables API" qui permet la déclaration des toutes les variables absolues et symboliques.
2. Variables globales de L'API
Dans TIA portal, toutes les variables globales (entrées, sorties, mémentos,...) possède une adresse
symbolique et une adresse absolue. L'adresse absolue représente l'identificateur d'opérande (I, O, M,...) et
son adresse et un numéro de bit. l'adresse symbolique correspond au nom que l'utilisateur a donné à la
variable (ex: Bouton_Marche).
Le lien entre les adresses symbolique et absolue se fait dans la table des variables API.

Enseignante : R.Chibani 3
Issat'Sousse Classe: LGM-Productique-A2

Il suffit de sélectionner dans le navigateur du projet "Commande-vérin" [CPU1214C DC/DC/DC] puis


"Variables API".
Avec un double-clique, ouvrir la table de variables standard et saisir les noms des entrées et des sorties.
➢ Commande-vérin [CPU1214C DC/DC/DC]
➢ Variables API
➢ Table de variables standard

Lors de La programmation, on peut choisir d'afficher les adresses absolues, symbolique ou encore les deux
simultanément.
Après avoir déclaré les variables symboliques des adresses absolues, on va présenter dans ce qui suit la
démarche pour réaliser, compiler et exécuter sur l'API un programme d'un automatisme.
IV. Présentation des blocs de programmation
Les séquences du programme sont écrites dans ce qu'on appelle des blocs qui existe dans "Blocs de
programme" dans le navigateur du projet "commande-vérin". Pour ajouter un bloc, on clique sur "Ajouter
nouveau Bloc". Il existe différents types de blocs pour exécuter les tâches dans un système d'automatisation.
Le tableau suivant présente les types de blocs disponibles :
Type de bloc Descriptif technique
Blocs d'organisation (OB) Les blocs d'organisation représentent l'interface du système d'exploitation
de la CPU et qui définissent la structure du programme utilisateur.
Fonctions (FC) Les fonctions contiennent des routines pour les tâches cycliques. Elles
n'ont pas de "mémoire".
Blocs fonctionnels (FB) Les blocs fonctionnels sont des blocs de code qui sauvegardent en
permanence leurs valeurs dans des blocs de données d'instance afin qu'il
soit possible d'y accéder même après le traitement du bloc.
Blocs de données Les blocs de données d'instance sont affectés au bloc fonctionnel lors de
d'instance son appel et servent à sauvegarder les données du programme.
Blocs de données globaux Les blocs de données globaux sont des zones servant à sauvegarder des
données qui peuvent être utilisées par des blocs quelconques.
Les différents blocs de programme sont les suivants:

Enseignante : R.Chibani 4
Issat'Sousse Classe: LGM-Productique-A2

L'ajout d'un bloc de programme permet d'ouvrir la fenêtre ci-dessous :

Les opérations binaires sont les opérations réalisées sur les variables de type « Bool ». On retrouve dans
ces opérations les fonctions logiques (ET, OU, OU Exclusif), les bascule RS, les détections de fronts,…
Plusieurs langages de programmation sont disponibles : le schéma à contact (CONT), les logigrammes
(LOG) ou le langage LIST (instructions).
On va utiliser le langage schéma à contact (CONT) dont les principales fonctions sont donnés sur les
tableaux suivants :

Enseignante : R.Chibani 5
Issat'Sousse Classe: LGM-Productique-A2

Aprés avoir réaliser le programme d'un automatisme donné, on peut charger le tout dans l’appareil. Des
avertissements /confirmations peuvent être demandés lors de cette opération. Si des erreurs sont détectées,
elles seront visibles via cette fenêtre.

Le programme ne pourra pas être chargé tant que les erreurs persistent.
Pour charger le programme entier dans la CPU, sélectionner le dossier "Commande-vérin", puis cliquer
sur l'icone "Charger dans l’appareil

Dans la boîte de dialogue suivante, sélectionnez PN/IE comme type pour l'interface PG/PC puis les cartes
réseau installées auparavant comme interface PG/PC. Après la Mise à jour des abonnés accessibles, vous
devez voir votre CPU avec l'adresse 192.168.1.90 et pouvoir la sélectionner comme appareil cible. Cliquez
ensuite sur "CHARGER" .

Pendant le chargement, l'état de progression est affiché dans la fenêtre

Enseignante : R.Chibani 6
Issat'Sousse Classe: LGM-Productique-A2

Si le chargement s'est correctement déroulé, le résultat s'affiche dans une nouvelle fenêtre. Cliquez ensuite

sur "Terminer". Puis, on clique sur l’icône pour l’activer la visualisation du programme en cours de
simulation.

V. Manipulation

Exercice 1: Programmation Combinatoire


Soient les expressions suivantes :
𝑆1 = (𝑎. 𝑏 + 𝑐̅). 𝑑
𝑆2 = 𝑎. 𝑏̅ + 𝑎̅. 𝑏
On demande:
1. Etablir le schéma logique correspondant.
2. Dresser la table des entrées et des sorties avec adressage.
3. Programmer ces équations en utilisant le langage schéma à contacts du TIA Portal V13.
4. Transfert l'application dans l'automate et tester en présence de l'enseignant.
Exercice 2: Commande d'un vérin
En appuyant sur un bouton départ cycle (dcy), un vérin double effet V fait sa sortie et s'arrête en B
puis il revient à sa position initiale en A.

A B

s1 s2
dcy

Table d’affectations :
Entrées/ sorties Adresse Commentaire
Dcy I0.0 Départ cycle
S1 I0.1 Capteur de rentrée de vérin
S2 I0.2 Capteur de sortie de vérin
V Q0.1 Déplacement de vérin
On demande :
1. Programmer le cycle de ce système en utilisant le langage schéma à contacts du TIA Portal V13.
2. Transfert l'application dans l'automate et tester en présence de l'enseignant.

Enseignante : R.Chibani 7
Issat'Sousse Classe: LGM-Productique-A2

Exercice 3 : Système de transfert de pièces


Un dispositif effectuant le transfert de pièces sur deux tapis différents est représenté par la figure ci-dessous.

Poussoir 1

Tapis 1

Tapis 2
d’évacuation
Poussoir 2
Dès qu’une pièce se présente devant le poussoir 1, celui-ci la repousse devant le poussoir 2 qui,
situé perpendiculairement, transfère cette pièce sur le tapis d’évacuation.

Les quatre opérations effectuées, avance et recul du poussoir 1, avance et recul du poussoir 2,
auraient pu être réalisées successivement mais afin de gagner du temps, le recul du poussoir 1 est commandé
en même temps que l’avance ou le recul du poussoir 2 dès que la pièce est arrivée devant le poussoir 2.

Affectation des entrées : Affectation des sorties:


Pièce devant poussoir 1 : P1 %I1.0 Avance poussoir 1: AP1 %Q0.0

Pièce devant poussoir 2 : P2 %I1.1 Avance poussoir 2: AP2 %Q0.1

Poussoir 1 en arrière : par1 %I1.2 Recul poussoir 1: RP1 %Q0.2

Poussoir 2 en arrière : par2 %I1.3 Recul poussoir 2: RP2 %Q0.3

Pièce évacuée: Pe %I1.4


On demande:
1- Programmer à l'aide du schéma à contacts cette application sur le logiciel TIA Portal V13.
2- Transfert l'application dans l'automate et tester en présence de l'enseignant.

Enseignante : R.Chibani 8
Issat'Sousse Classe: LGM-Productique-A2

Tp n°2 : Types de blocs pour la programmation de l'automate


SIMATIC-S7-1200

I. Objectif
L'objectif de cette manipulation est de se familiariser avec les différents blocs utilisés dans la
programmation du SIMATIC S7-1200 avec le logiciel TIA Portal. Dans une première section, on va
expliquer les différents types de bloc et montrer comment créer un programme dans un bloc de fonction,
définir des variables internes, réaliser la programmation avec les variables internes dans le bloc de
fonction et finalement comment faire l'appel et le paramétrage du bloc de fonction dans OB1
II. Types de bloc pour le SIMATIC S7-1200

Pour le SIMATIC S7-1200, le programme est écrit dans ce qu'on appelle des blocs. Par défaut,
un bloc d'organisation Main [OB1] existe déjà. Ce bloc représente l’interface du système d’exploitation
de la CPU. Il est appelé automatiquement par celle-ci, et est traité de manière cyclique.

L’automate met à disposition différents types de blocs qui contiennent le programme et les données
correspondantes. Selon les exigences et la complexité du processus, il est possible de structurer le
programme en différents blocs : OB, FB et FC.
1. Les blocs d’organisation OB
Les blocs d’organisation (OB) sont l’interface entre le système d’exploitation et le programme
utilisateur. Les OB sont programmables par l’utilisateur, ce qui permet de déterminer le
comportement de la CPU. Ils sont appelés par le système d’exploitation et gère les opérations
suivantes :
• Comportement au démarrage de l’automate
• Traitement cyclique du programme
• Traitement par programme des alarmes de processus
• Gestion des erreurs
On peut programmer les blocs d’organisation comme on le veut, et donc déterminer le comportement de
la CPU.
On dispose de plusieurs options d’utilisation des blocs d’organisation dans votre programme :
• OB de démarrage (Startup OB), OB cycliques (Program Cycle OB), OB d’erreur de temps (Time
Error Interrupt OB), et OB d’alarme de diagnostic (Diagnostic Error OB) : Vous pouvez insérer et
programmer simplement ces blocs d’organisation dans votre projet.
Vous n’avez ni besoin de les régler, ni de les appeler.

Enseignante : R.Chibani 9
Issat'Sousse Classe: LGM-Productique-A2

• OB d’alarme de processus (Hardware Interrupt OB) et OB d’alarme cyclique (Cyclic Interrupt OB):
Ces blocs d’organisation doivent être paramétrés après leur insertion dans le programme. De plus, les
OB d’alarme de processus peuvent être affectés à un évènement au moment de leur exécution en utilisant
l’instruction ATTACH, ou séparés grâce à l’instruction DETACH.
• OB d’alarme temporisée (Time Delay Interrupt OB) :
Les OB d’alarme temporisée peuvent être insérés dans votre projet et programmés. De plus, vous devez
les appeler dans le programme utilisateur grâce à l’instruction SRT_DINT. Un paramétrage n’est pas
nécessaire.
Informations au niveau du démarrage des OB
Quand les quelques blocs d’organisation sont démarrés, le système d’exploitation parcourt les
informations qui peuvent être évaluées dans le programme utilisateur. Ceci peut être très utile pour les
diagnostics d’erreur. Les descriptions des blocs d’organisation indiquent si une information a bien été
lue, et laquelle.

Pour que le traitement du programme démarre, le projet doit posséder au moins un OB cyclique (par
exemple l’OB 1).
2. Les Fonctions FC
Ce sont des blocs de code sans mémoire. Les données des variables temporaires sont perdues
après l’exécution de la fonction. Si on veut mémoriser ces données, il faut utiliser des
opérandes globaux. Elles sont utilisées pour la programmation de fonctions utilisées plusieurs
fois. On simplifie de ce fait la programmation.
3. Les Blocs Fonctionnels FB = FC+ variables statiques
Les blocs Fonctionnels FB contiennent des sous-programmes qui sont toujours exécutés quand
un bloc de fonction est appelé par un autre bloc de code. Les blocs de fonction sont des blocs
de code qui stockent leurs valeurs dans des instances DB, ceci afin que ces valeurs soient
disponibles même après que le bloc a été traité.
Stocker vos paramètres d’entrées, de sorties et d’entrées/sorties dans des instances DB rend ces
paramètres accessibles en permanence, après que le bloc a été traité : pour cette raison, ils sont aussi
appelés blocs avec « mémoire ».
Les FB sont utilisés pour des tâches qui ne peuvent être mis en œuvre avec des fonctions :
• Toujours quand les tempos et les compteurs sont nécessaires dans un bloc.
• Toujours quand les informations doivent être stockées dans le programme ; par exemple, quand
on présélectionne un mode de fonctionnement avec un bouton.
Un bloc de fonction peut aussi être appelé plusieurs fois à divers endroits du programme. Ceci
facilite la programmation de fonctions complexes et répétitives.
Instances des FB :
Le fait d’appeler un FB est nommé une 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 grâce un bloc de données en multi-instance.
1. Les Blocs de données
Contrairement aux blocs de code, les blocs de données ne contiennent pas d’instructions, mais
ils sont utilisés pour stocker les données utilisateur. Ceci signifie que les blocs de données
contiennent des données variables dont le programme utilisateur se sert pour le traitement du
programme.
Les blocs de données globaux (nommées Variables API) stockent des données qui peuvent être utilisés
par tous les autres blocs. La taille maximale des DB varie selon la CPU. La structure des blocs de données
globaux peut être définie comme on le souhaite.

Enseignante : R.Chibani 10
Issat'Sousse Classe: LGM-Productique-A2

Tous les FB, FC ou OB peuvent lire ou écrire les données d’un bloc de données global. Ces
données sont conservées dans le DB, même quand il est quitté.
L’appel d’un bloc fonction est appelé une instance. Pour chaque appel d’un FB avec transfert
de paramètres, un DB d’instance lui est affecté et sert de stockage de données. Ainsi, les paramètres
locaux et les données statiques des FB sont stockés dedans.
La taille maximale des DB d’instance varie également selon la CPU. Les variables déclarées dans
le FB déterminent la structure du DB d’instance. Un bloc de données global et un bloc de données
d’instance peuvent être ouverts en même temps
Indication :
Si pendant la programmation des FC et des FB seules les variables locales (voir figure ci-dessous) sont
utilisées, alors ces blocs peuvent être utilisés et appelés une multitude de fois sous la forme de blocs
standards. Toutefois, les blocs FB doivent avoir une zone mémoire attribuée, une instance (comme par
exemple un DB), à chaque fois qu’ils sont appelés.

On distingue deux types de variables locales :


- Les paramètres du bloc qui constituent l'interface du bloc pour l'appel dans le programme.

Enseignante : R.Chibani 11
Issat'Sousse Classe: LGM-Productique-A2

Type Désignation Fonction Disponible dans


Paramètres Input Paramètres dont la valeur est lue par le Fonctions, blocs fonctionnels et
d'entrée bloc certains types de blocs
d'organisation
Paramètres de Output Paramètres dont le bloc écrit les valeurs Fonctions et blocs fonctionnels
sortie
Paramètres InOut Paramètres dont le bloc lit la valeur à Fonctions et blocs fonctionnels
d'entrée/sortie l'appel et écrit la valeur dans le même
paramètre après le traitement
- Les données locales qui servent à enregistrer les résultats intermédiaires.
Type Désignation Fonction Disponible dans
Données Temp Variables utilisées pour un enregistrement Fonctions, blocs
locales temporaire des résultats intermédiaires. Les fonctionnels et blocs
temporaires données temporaires sont conservées pour un d'organisation
cycle seulement.
Données Static Variables utilisées pour un enregistrement Blocs fonctionnels
locales statique des résultats intermédiaires dans le bloc (FB), donc
statiques de données d'instance. Les données statiques sont FB = FC+ Variables
conservées jusqu'à leur réécriture, soit pour statiques
plusieurs cycles

Toutes les variables sont de type "Bool". Il s'agit donc de variables binaires qui peuvent prendre
uniquement les valeurs 0 (faux) ou 1 (vrai).
Pour plus de clarté, toutes les variables locales doivent être écrites en minuscules et être accompagnées
de commentaires explicatifs.
Remarque :
Certaines commandes comme les temporisations et les compteurs se comportent comme des blocs de
fonction. S’ils sont appelés, ils représentent aussi des instances et doivent être affectés d’une zone
mémoire, sous la forme d’un DB d’instance, par exemple.
L’utilisation de ces différents blocs dans un projet peut se faire selon plusieurs structures :

Programmation linéaire Programmation Programmation structurée


segmentée

Lors de la programmation linéaire,


utilisée pour des commandes
simples et pas trop volumineuses,
les instructions d'un bloc sont
traitées les unes après les autres,
telles qu'écrites dans la mémoire Lors de la programmation structurée, on
programme. Lorsque la fin du Les instructions pour les répartit le programme d'un ensemble
programme (fin de bloc) est différentes fonctions volumineux de tâches de commande en
atteinte, le traitement du contenues dans les blocs de programmes petits, clairs,
programme recommence du début. différents blocs. Le bloc associés à des fonctions. Cela présente
On parle de traitement cyclique. OB1 appelle les blocs les l'avantage de pouvoir tester les blocs de
La durée, nécessaire à un appareil manière individuelle et de les faire
uns après les autres.
pour un traitement de toutes les fonctionner ensemble par une fonction
instructions, est appelée durée de globale.
cycle. Il peut être réalisé dans un Ces blocs sont ensuite appelés à partir de
seul OB 1. blocs d'organisation OB1. A la fin du
bloc, le programme revient au bloc
d'organisation appelé, sur la ligne qui suit
immédiatement l'appel.

Enseignante : R.Chibani 12
Issat'Sousse Classe: LGM-Productique-A2

III. Manipulation
Exercice 1: Commande d’un moteur à double sens de rotation
Pour démarrage direct à 2 sens de rotation d'un moteur triphasé au moyen TIA Portail V13, on utilise:
- Automate programmable industriel (API) de type SIMATIC S7 - 1200,
- Moteur triphasé,
- 2 contacts de puissance KM1 et KM2,
- Bouton marche 1 et 2 (bm1 et bm2) et arrêt.
1. Identifier les variables d’entrées et de sorties du système sous forme de tableau en leurs attribuant
des adresses physiques.
2. Déterminer les réseaux à contacts décrivant le fonctionnement de ce système.
3. Créer la fonction FC1 en lui donnant le nom "Moteur".
4. Une fois que le bloc le projet est ouvert, et avant d'écrire le programme, on doit déclarer les
variables locales utilisées seulement dans le bloc concerné dans l'interface du bloc.
Remplir le tableau, figurant juste au-dessus de l'espace conservé à la rédaction du programme, de
variables locales du moteur suivantes :
Entrées :
BM sens1 Bouton de Marche du sens 1 du moteur
BM sens2 Bouton de Marche du sens 2 du moteur
Arrêt Bouton d’Arrêt du moteur
Sortie :
Moteur sens 1 Rotation du moteur en sens 1
Moteur sens 2 Rotation moteur en sens 2
5. En utilisant les variables locales définies ci-dessus, écrire le "Moteur" (FC1).
6. L'exécution du "Moteur" doit être faite depuis le bloc de programme main (OB1) après avoir
modifier sa propriété de telle sorte que le bloc soit traité de façon cyclique. Ouvrir par double clique le
bloc main (OB1). Glisser le bloc "Moteur" dans le "réseau 1" du bloc main (OB1).
7. Affecter au bloc obtenu du "Moteur" les variables API prédéfinies au départ en respectant le
type des capteurs (NO ou NF).
8. Charger et ensuite exécuter ensuite le programme sur l'API SIMATIC S7-1200.
9. Refaire le même travail en utilisant le bloc fonctionnel (FB). Conclure.
Exercice 2 :
Soit une machine à deux moteurs M1 et M2 de telle façon que M2 démarre automatiquement après 15s
de marche du moteur M1.
Le démarrage et l’arrêt des deux moteurs s’effectue à l’aide des switches Marche et Arrêt BP1 et BP2.
Il est à noter que :
- Si le moteur M1 s’arrête avant les 15s et redémarre, on doit réinitialiser la temporisation.
- Si le moteur M1 s’arrête après les 15s le moteur M2 doit s’arrêter immédiatement.
BP1: %I3.0 Commande M1 : %Q3.8
BP2: %I3.1 Commande M2 : %Q3.9
1. Déterminer le Grafcet de point de vue commande de ce système.
2. Déterminer les réseaux à contacts décrivant le fonctionnement de ce système.
3. Réaliser le programme sur le logiciel TIA portail.
4. Charger et ensuite exécuter ensuite le programme sur l'API SIMATIC S7-1200.

Exercice 3: Commande de presse


Une presse avec un capot de protection doit être activée avec un bouton de marche S3 uniquement si la
protection est fermée. Cette condition est surveillée à l'aide d'un capteur de protection fermée B1.
Si c'est le cas, un distributeur 5/2 Mo alimentant le vérin de la presse est activé, afin que la forme plastique
puisse ensuite être pressée. La presse doit se retirer de nouveau quand le bouton Arrêt d'Urgence (contact
NF) est actionné, ou quand le capteur protection fermée B1 ne répond plus, ou quand le capteur vérin
tige sortie B2 répond.
Tableau d’affectations :

Enseignante : R.Chibani 13
Issat'Sousse Classe: LGM-Productique-A2

Adresse absolue Icône Commentaires


%I0.1 Arrêt d'urgence Bouton d'arrêt d'urgence (Contact NF)
%I0.3 S3 Bouton de démarrage S3(Contact NO)
%I0.4 B1 Capteur protection fermée (Contact NO)
%I0.5 B2 Capteur vérin A tige sortie (Contact NO)
%Q0.0 Mo Sortie du vérin A

On demande :
1. Déterminer le Grafcet de ce système.
2. Déterminer les réseaux à contacts décrivant le fonctionnement de ce système.
3. Créer un projet nommé "Commande de presse".
4. Décrire brièvement la démarche pour configurer l'appareil SIMATIC S7-1200.
5. Créer une table de variables standard dans le navigateur de projet dont lequel on précisera toutes
les variables globales de l'automate.
6. Créer la fonction FC1 en lui donnant le nom "programme_presse".
7. Une fois que le bloc "programme_presse" est ouvert, et avant d'écrire le programme, on doit
déclarer l'interface du bloc c'est à dire définir les variables locales utilisées seulement dans le bloc
concerné. Remplir le tableau, figurant juste au-dessus de l'espace conservé à la rédaction du programme,
de variables locales de la commande presse suivantes :
Entrées:
emergency_off Ici, la fonction d’arrêt d’urgence est lue
start_signal La commande de démarrage est lue ici
safety_fence_closed Interrogation Protection fermée
cylinder_extended Interrogation Tige du vérin sortie
Sortie:
cylinder_out_in L’état de la sortie Vérin de la presse est décrit ici.
8. En utilisant les variables locales définies ci-dessus, écrire le "programme_presse" (FC1).
9. L'exécution du "programme_presse" doit être faite depuis le bloc de programme main (OB1)
après avoir modifier sa propriété de telle sorte que le bloc soit traité de façon cyclique. Ouvrir par double
clique le bloc main (OB1). Glisser le bloc "programme_ presse" dans le "réseau 1" du bloc main (OB1).
10. Affecter au bloc obtenu du "programme_ presse" les variables API prédéfinies au départ en
respectant le type des capteurs (NO ou NF) comme l'arrêt d'urgence.
11. Charger et ensuite exécuter ensuite le programme sur l'API SIMATIC S7-1200.

Enseignante : R.Chibani 14
Issat'Sousse Classe: LGM-Productique-A2

Tp n°3 : Les temporisateurs et les compteurs du SIMATIC S7-1200

IV. Objectif
L'objectif de cette manipulation est de se familiariser avec les différents blocs temporisations et des
compteurs lors de la programmation du SIMATIC S7-1200. Le TP montre comment programmer une
temporisation dans une fonction avec un DB d’instance (une instance unique comme mémoire affectée).
Il montre également comment programmer un compteur, qui lui n’est pas affecté d’un DB d’instance
pour mémoire, mais d’une multi-instance.
V. Les temporisateurs
On utilise les temporisations pour créer des retards programmés. Le nombre de temporisations que vous
pouvez utiliser dans votre programme utilisateur est limité uniquement par la quantité de mémoire dans
la CPU. Chaque temporisation utilise une structure de DB de 16 octets de type de données IEC_Timer
pour conserver les données de la temporisation, cette structure étant indiquée au-dessus de la boîte ou de
la bobine.

Temporisateurs Description Chronogramme


La temporisation TP génère
Temporisateur TP
une impulsion de du‐ rée
prédéfinie.

Temporisateur TON
La temporisation de retard à
la montée TON met la sortie
Q à 1 après un temps de
retard prédéfini.

La temporisation sous forme


Temporisateur TOF
de retard à la retombée TOF
met la sortie Q à 0 après un
temps de retard prédéfini.

Enseignante : R.Chibani 15
Issat'Sousse Classe: LGM-Productique-A2

Temporisateurs Description Chronogramme


Temporisateur TONR La temporisation sous forme de
retard à la montée mémorisé TONR
met la sortie Q à 1 après un temps de
retard prédéfini. Le temps écoulé est
accumulé sur plusieurs périodes de
temps jusqu'à ce que l'entrée R soit
utilisée pour réinitialiser le temps
écoulé.

La syntaxe de la fonction est constituée des éléments suivants :


Paramètres Déclaration Type de données Description
IN Input Bool Entrée de démarrage
PT Input Time Durée du retard à la montée. La valeur du paramètre
PT doit être positive
Q Output Bool Opérande mis à 1 après l’écoulement du temps PT
pour TON, TONR et TP et 0 pour TOF
ET Output Time Valeur de temps en cours

VI. Les compteurs


On utilise les compteurs pour compter des événements de programme internes et des événements de
processus externes. Chaque compteur utilise une structure sauvegardée dans un bloc de données afin de
conserver les données du compteur. On affecte le bloc de données lors du placement du compteur dans
l'éditeur.

CTU est un compteur de comptage


Le compteur CTU incrémente de 1 lorsque la valeur du paramètre CU passe de 0 à 1.
Le chronogramme illustre le fonctionnement d'un compteur CTU avec une valeur de
comptage entière non signée (PV = 3).
● Si la valeur du paramètre CV (valeur de comptage en cours) est supérieure ou égale
à la valeur du paramètre PV (valeur prédéfinie), le paramètre de sortie Q du compteur
est égal à 1.
● Si la valeur du paramètre de réinitialisation R passe de 0 à 1, la valeur de comptage
en cours est remise à 0.

Fonctionnement

Enseignante : R.Chibani 16
Issat'Sousse Classe: LGM-Productique-A2

CTD est un compteur de décomptage.


Le compteur CTD décrémente de 1 lorsque la valeur du para‐ mètre CD passe
de 0 à 1. Le chronogramme illustre le fonctionnement d'un compteur CTD avec
une valeur de comptage entière non signée (PV = 3).
● Si la valeur du paramètre CV (valeur de comptage en cours) est inférieure ou
égale à 0, le paramètre de sortie Q du compteur est égal à 1.
● Si la valeur du paramètre LOAD (LD) passe de 0 à 1, la valeur dans le
paramètre PV (valeur prédéfinie) est chargée dans le compteur en tant que
nouvelle valeur de comptage en cours CV.
Fonctionnement

CTUD est un compteur de comptage et de décomptage.


Le compteur CTUD incrémente ou décrémente de 1 en cas de passage de 0 à 1 de
l'entrée de comptage (CU) ou de décomptage (CD). Le chronogramme illustre le
fonctionnement d'un compteur CTUD avec une valeur de comptage entière non signée
(PV = 4).
● Si la valeur du paramètre CV est supérieure ou égale à la valeur du paramètre PV
(valeur prédéfinie), le paramètre de sortie QU du compteur est égal à 1.
● Si la valeur du paramètre CV est inférieure ou égale à zéro, le paramètre de sortie QD
du compteur est égal à 1.
● Si la valeur du paramètre LOAD (LD) passe de 0 à 1, la valeur dans le paramètre PV
est chargée dans le compteur en tant que nouvelle valeur de comptage en cours CV.
● Si la valeur du paramètre de réinitialisation R passe de 0 à 1, la valeur de comptage en
cours est remise à 0.
Fonctionnement

Les paramètres utilisés sont de type comme l’illustre le tableau suivant :


Paramètre Type de données Description
CU, CD Bool Compter ou décompter d’une valeur de 1
R (CTU, CTUD) Bool Remise à zéro de la valeur de comptage
LD (CTD, CTUD) Bool Commande de chargement pour la valeur prédéfinie
PV Sint, Int, DInt… Valeur de comptage prédéfinie
Q, QU Bool Vrai si CV>=0
QD Bool Vrai si CV<=0
CV Sint, Int, Dint… Valeur de comptage en cours

Enseignante : R.Chibani 17
Issat'Sousse Classe: LGM-Productique-A2

VII. Manipulation
Exercice 1 : Feu de carrefour du fonctionnement de jour
Dès que le commutateur 𝑆3 est actionnée en position jour, le feu se met à fonctionner de la manière
suivante :
- Feu vert pendant 5 secondes,
- Feu orange pendant 1 seconde,
- Feu rouge pendant 8 secondes.
Lorsque 𝑆3 n’est pas actionné le feu s’arrête.
On considère les affectations suivantes :
Adresse absolue Icône Commentaires
%I0.1 𝑆3 Position jour
%Q0.3 H1 Feu vert
%Q0.4 H2 Feu orange
%Q0.5 H3 Feu rouge
Tempo_Vert T1 Temporisateur feu vert
Tempo_Orange T2 Temporisateur feu
orange
Tempo_Rouge T3 Temporisateur feu rouge
10. Déterminer le Grafcet de point de vue commande de ce système.
11. Déterminer les réseaux à contacts décrivant le fonctionnement de ce système.
12. Quel est le bloc de temporisation à utiliser dans ce cas ? Pourquoi ?
13. Réaliser le programme sur le logiciel TIA portail en utilisant le bloc fonctionnel (FB).
14. Charger et ensuite exécuter ensuite le programme sur l'API SIMATIC S7-1200.
Exercice 2: Comptage/décomptage
Soit le montage suivant : 𝐿8
𝐵𝑃4
𝐴3 Compteur

Le compteur est utilisé pour compter de l’information provenant de A3 5 fois. Une fois que ce total est
atteint, un signal L8 s’allumera et restera présent jusqu’à l’action sur le bouton BP4 . Le nombre
d’information provenant de A3 ne devra jamais dépasser 5.
1. Donner la table d’affectation des actions et des informations ainsi que leurs adressages physiques.
2. Etablir le schéma à contact correspondant.
3. Implanter ce schéma sur le logiciel TIA Portail et valider la simulation sur l’automate SIMATIC S7-
1200.
4. Refaire le même travail en utilisant un décompteur.
Exercice 3: Chariots à deux cycles
Soit un chariot devant effectuer des allers et retour entre deux butées 'g' et 'd'. Ce chariot est
obligatoirement en position repos à gaucher avant de démarrer un des deux cycles prévus.
KM1

g KM2 d

S1 S2
Description du fonctionnement :
Deux boutons S1 et S2 sont utilisés :
- Le chariot exécute aller et retour si S1 est actionné. Un arrêt de 10 secondes est prévu en butée droite.

Enseignante : R.Chibani 18
Issat'Sousse Classe: LGM-Productique-A2

- Le chariot exécute 2 allers et retour si S2 est actionné. Un arrêt de 10 secondes est prévu en butée droite.
Après le choix du cycle S1 et S2, il est possible de modifier ce choix uniquement lors du premier aller et
retour du chariot.
1. Réaliser le Grafcet (ou les Grafcets) de ce système.
2. Ecrire toutes les équations des transitions, des équations et des actions. Dessiner le réseau des
contacts relatifs à ces équations (en cas d'évolution synchrone et asynchrone).
3. Définir la table des adresses des E/S ainsi que des bits internes de l'automate programmable.
4. Saisir le programme. Puis exécuter avec l'enseignant.

Enseignante : R.Chibani 19

Vous aimerez peut-être aussi