Université Libre de Tunis

Formation sur :
La programmation des APIs Siemens S7-300 par le logiciel STEP7
Présentée par M. Mohamed MCHIRI Contact : medmch@yahoo.fr

Jeudi 09 Février 2012

Plan
 Introduction aux systèmes automatisés  Gamme des APIs Siemens S7-200, S7-

300, S7-400  Programmer avec le Step7  Etude d’un exemple industriel  Proposition des mini-projets

Introduction aux Systèmes Automatisés
 La fonction globale de tout système automatisé est de conférer une

valeur ajoutée à un ensemble de matières d’œuvre dans un environnement ou contexte donné.  Matières d’œuvres :
  

Produit: chimique, électronique, textile, … Energie: hydraulique, électrique, thermique, … Information: audiovisuelle, écrite, physique, ... L’objectif global pour lequel a été défini, conçu ou modifié le système La différence entre l’état de sortie d’un système et son état d’entrée

 Valeur ajoutée :
 

de l’énergie ou de l’information à un coût rentable pour l’utilisateur.   un ensemble d’éléments ou de dispositifs opératifs plus ou moins mécanisés ( Partie opérative ) des opérateurs humains ou de dispositifs de commande pour assurer la coordination des dispositifs opératifs. … . électroniques. mécaniques.Introduction aux Systèmes Automatisés  Un système de production : c’est un système à caractère industriel qui répond au besoin d’élaborer des produits. banque.  Exemples :   Usines de fabrication chimiques. … Société de service.

.

manipulation des lourdes charges. tâches répétitives. … . auparavant exécutées par des opérateurs humains.Introduction aux Systèmes Automatisés  L’automatisation consiste à transférer tout ou partie des tâches de coordination.  Objectifs :    Accroître la productivité du système Améliorer la qualité du produit S'adapter à des contextes particuliers (milieux hostiles. dans un ensemble d'objets techniques appelé partie commande. …)   Augmenter la sécurité Objectifs financiers.

Structure d’un système automatisé .

Structure de l’unité de traitement .

L’API au cœur du système automatisé .

Ils transforment une énergie (électrique. hydraulique. hydrauliques  Vérins rotatifs.…) en une énergie mécanique associée à un mouvement. etc… .L’API au cœur du système automatisé  Les actionneurs sont des systèmes qui coordonnent et assurent les mouvements des organes d’un système de production. pneumatiques. pneumatique.  Moteurs  Vérins électriques.

 Pour les moteurs électriques : contacteur ou variateur de vitesse  Vérins pneumatiques.L’API au cœur du système automatisé  Les pré-actionneurs sont des systèmes ayant pour fonction de transformer l'énergie issue d'une source (réseau électrique. hydrauliques : distributeur électropneumatiques et électro-hydrauliques. . batteries. compresseur pneumatique ou hydraulique) en une énergie adaptée à l'actionneur pour un mouvement précis.

O.L’API au cœur du système automatisé  Les capteurs sont les systèmes via lesquels les informations issues de la P. Ils ont pour fonction de délivrer une grandeur électrique. de contact. etc… .  Caméra.  Codeur incrémental.C.  Détecteurs : inductifs. photo-électriques. image d'une grandeur physique. sont envoyées à la P. code à barres  Capteur de fin de course.

Architecture interne d’un API  Le microprocesseur réalise toutes les fonctions logiques ET. lire.  La zone mémoire permet de recevoir et conserver :     les informations issus des capteurs les informations générées par le processeur les programmes du processus Actions possibles: Ecrire. de calcul. de comptage. OU. les fonctions de temporisation.. effacer . à partir d'un programme contenu dans sa mémoire.  Les Bus sont des liaisons parallèles dans lesquelles véhiculent les informations (sous forme binaire) et qui assurent la connectivité entre les différents éléments d’un API..

Structure interne d’un API .

Structure interne d’un API  Les interfaces d’entrées sont destinés à :   Recevoir des informations en provenance des éléments de détection (capteurs) et du pupitre opérateur (BP). en éliminant les parasites et en isolant électriquement l’unité de commande de la partie opérative. électrovannes …) et aux éléments de signalisation (voyants) du pupitre. Traiter le signal en le mettant en forme. Adapter les niveaux de tensions de l’U. Transmettre des informations aux pré-actionneurs (relais.C et garantir une isolation galvanique  Les interfaces de sorties sont destinées à :   .

Fonctionnement de l’interface d’entrées Lors de la fermeture du capteur :  LED1 signale que l’entrée automate est actionnée  La LED D’ de l’opto-coupleur s’éclaire  Le photo transistor T’ de l’opto-coupleur devient passant  La tension Vs=0V .

T1 devient passant et donc D’ s’éclaire Le photo transistor T’ de l’optocoupleur devient passant  LED 1 s’éclaire et nous informe de la commande de la sortie O0. la bobine RL1 sera donc sous tension et commande la fermeture du contact de la sortie O0.Fonctionnement de l’interface de sorties Lors de la commande d’une sortie automate :  L’unité de commande envoie un 1 logique (5V).1  T2 devient passant.1 .

Fonctionnement de l’API .

.Diagramme fonctionnel d’un système automatisé Pour résumer..

les concepteurs des logiciels de .Les APIs en marché  Siemens  Schneider (Télémécanique TSX)  Allen Bradley  Omron  Mitsubishi  Rockwell  Moeller  Ge-Fanuc  Etc… Les fabricants sont aussi programmation de l’API.

Gamme des APIs Siemens  Simatic S7-200  Simatic S7-300  Simatic S7-400  Simatic S7-1200  Simatic C7  Simatic ET-200  Etc. S7-300 CPU 314 S7-300 CPU 313 S7-300 CPU 315 ..

API Siemens S7-300 .

API Siemens S7-300 1 Module d'alimentation 2 Pile de sauvegarde 3 Connexion au 24V cc 4 Commutateur de mode (à clé) 5 LED de signalisation d'état et de défauts 6 Carte mémoire 7 Interface multipoint (MPI) 8 Connecteur frontal 9 Volet en face avant .

Caractéristiques techniques de Siemens S7-300  Interface Ethernet/PRO-Finet intégrée  CPUs de sécurité  CPUs  Modules de fonctions technologiques ex. Modules pour emploi dans des zones à atmosphère explosive densité d'implantation avec des modules au modulo 32 permettent un gain de place appréciable dans les armoires électriques.  .  Simplicité de montage et sa grande compactes avec fonctions technologiques et périphérie intégrées de fonctions motion control  CPUs technologiques pour la gestion  Modules d'E/S TOR et analogiques pour la quasi-totalité des signaux avec possibilité de traitement des interruptions et du diagnostic.: régulation et came électronique et des modules de communication point à point ou par bus ASi. Profibus ou Industrial Ethernet.

 STEP7 vous offre les fonctions d’assistance pour résoudre efficacement votre problème d’automatisation.Programmer avec le logiciel de programmation STEP7  STEP7 est le nom du logiciel de programmation pour les systèmes SIMATIC S7/M7  STEP7 vous offre les fonctionnalités nécessaires pour configurer. .  STEP7 autorise une programmation orientée objet: tous les objets sont représentés à l’écran par des icônes. paramétrer et programmer votre CPU.

 Pour permettre une programmation structurée confortable. les blocs fonctionnels systèmes SFB. les blocs fonctionnels de communication CFB . Elle permet la construction d'un programme complet à l'aide de modules qui peuvent être échangés et/ou modifiés à volonté. il faut prévoir plusieurs types de modules (ou blocs) :  Les blocs d’organisation : OB  Les fonctions : FC  Les blocs de fonction : FB  Fonctions systèmes SFC.Structure du programme en Step7  La programmation structurée permet la rédaction claire et transparente de programmes.

On peut passer des données en créant des DB d’instance associés à un seul FB pour le passage de paramètres. On y appellera donc les blocs traitant les initialisations. C'est donc à partir de ce bloc que l'on fera les appels aux différents blocs de programmes.  Les blocs de fonction : FB Ces blocs sont paramétrables. . La numérotation est libre (de 0 à 255). Les blocs d’organisation : OB On retiendra principalement l'OB1 qui est examiné à chaque cycle d'automate. L’OB100 et l’OB101 sont uniquement appelés aux démarrage (respectivement à chaud et à froid).  Les fonctions : FC et les blocs de fonctions FB C’est dans ces blocs que l’on va mettre les instructions à exécuter. La numérotation est libre (de 0 à 255). Ces blocs n’ont pas de mémoire. Ils peuvent être très utiles pour réduire le code en créant des DB d'instance associés à un seul FB avec passage de paramètres.

Architecture du programme en Step7 .

Temporisations (T)  . on fera plus particulièrement attention aux variables suivantes:  .Mémentos (Flag) (M)  .Sorties (A ou Q)  .Entrées (E ou I)  .Type de variables Les différents types de variables sont donnés dans le tableau qui suit.Compteurs (Z ou I ) . Dans le cadre de cette première approche.

0 à 127.7 .0 à 255.Data (left byte) DL 0 à 255 .0 à 255.7 .Tempo T 0 à 127 .Output AW 0 à 126 . etc… .Flag M 0.7 (#byte.Compteur Z 0 à 127 Word variables (= 16 bits) .#bit) .7 .Output A 0.Data D 0.Data (right byte) DR 0 à 255 Double Word variables (= 32 bits) Constantes Pointer.Input EB 0 à 127 .Input E0.Output AB 0 à 127 .Type de variables Bit variables : .Input EW 0 à 126 .0 à 127.Flag MB 0 à 255 .Flag (mémo interne) MW 0 à 254 Data DW 0 à 255 Byte variables (=8 bits) .

on peut accéder à un BIT. et DB. A. 2. on peut lui affecter le résultat d’une combinaison. OU avec un autre bit. on peut comparer sa valeur.MB4 correspond aux 8 bits de l’octet 4.Adressage de variables Les objets E. M. le multiplier. on peut lui affecter le résultat d’une opération . on peut le mettre à « 1 » ou à « 0 ».MD1 correspond au 32 bits constitué des octets 1. le diviser. . le soustraire. on peut l’additionner.3 correspond au bit 3 de l’octet 4.MW2 correspond au 16 bits constitué par les octets 2 .M4. à un MOT de 16 bits ou à un DOUBLE MOT ( 32 bits )  Exemples : . 3 et 4 . on peut le tester en combinaison ET. sont rangés dans des octets ( 8 bits ). à un OCTET.

Adressage de variables Type de l’adressage Adresse de l’octet Adresse du bit .

Ou lancez directement le logiciel depuis le raccourci sur votre bureau .#Partie 1#  Etape 1: Lancer le logiciel Comment créer un projet??? (1) Afficher Item Programs du menu Démarrer (2) cliquez sur l’item SIMATIC Manager du menu Simatic.

(3) cliquez sur l’item Fichier pour ouvrir le menu déroulant. (4) cliquez sur l’item Assistant Nouveau Projet pour lancer l’assistant aidant à la création d’un nouveau projet. Etape 2: Création d’un projet Le logiciel « SIMATIC Manager » étant maintenant en marche. .

C’est la fenêtre d’introduction de l’assistant.L’assistant étant lancé. . cette première fenêtre s’ouvre à l’écran.

(5) Cliquez sur Suivant. Cette seconde fenêtre prend la place de la fenêtre précédente. . C’est la première des trois fenêtres de configuration du projet.

.(6) Sélectionner la CPU correspondante. (7) Le champ « nom de la CPU » peut être modifié pour identifier la fonction ou l’emplacement de ce CPU dans l’usine (par exemple l’automate ayant ce CPU est en charge de la « Station de pompage »). l’adresse de communication MPI doit être fixée à 2. (8) Enfin.

(9) Une fois ces opérations faites. Cette troisième fenêtre apparaît alors. C’est la deuxième fenêtre de configuration du projet. . cliquez sur Suivant.

…). Ce bloc contient le programme qui sera continuellement exécuté par l’automate. (11) Il faut aussi choisir le langage de programmation. .  CONT : en langage à contacts (ou diagrammes échelle). démarrer des moteurs. des boutons. L’automate programmable exécute la séquence suivante de façon répétitive. Pour ce premier projet. nous n’utiliserons que le bloc OB1. déplacer des vérins.  Écriture de l’état des sorties obtenues suite à l’exécution du bloc OB1 (pour allumer des voyants..)  Exécution complète du bloc OB1.  LOG : en logigrammes.Remarques (10) Il faut choisir les blocs d’organisationnels à utiliser. L’automate nous permet de le programmer selon les trois langages suivants :  LIST : en liste d’état (langage ayant l’apparence de l’assembleur). tant qu’il est en mode d’exécution :  Lecture de l’état des entrées (pour savoir l’état logique des capteurs..

puis (12) cliquer sur Suivant.Choisir le langage de programmation à contacts (CONT). Cette dernière fenêtre apparaît alors : .

(13) Il vous suffit alors de choisir un nom pour le projet. L’écran du « Simatic Manager » devrait alors avoir cette apparence : . puis (14) de cliquer sur Créer.

Ce répertoire contient tous les sous-répertoires et fichiers configurant toutes les composantes d’un projet. Le répertoire de base est identifié par le même nom que le projet. . soit « GAUG_premier_programme » dans notre exemple. soit : automates. réseaux.#Partie 2#  Etape 1: Structure d’un projet Structure d’un projet configuration de l’automate La structure du projet est montrée dans la partie gauche de la fenêtre précédente identifiée « nom_du_projet». programmes.

(1) En cliquant sur le répertoire « Premier programme » vous voyez apparaître les items « Station SIMATIC 300 » et « MPI(1) ». le second sur la configuration du réseau utilisé dans ce projet. . Le premier item mène à la définition du matériel utilisé dans ce projet.

Le premier item mène à la définition du matériel utilisé dans le projet. . en particulier des automates. vous voyez apparaître dans l’écran de droite les items « Matériel » et « CPU314 IFM(1) ». Le second item mène à la programmation de l’unique automate du projet nommé « CPU314 IFM(1) ».(2) En cliquant sur le répertoire « Station SIMATIC 300 » (ou sur l’item de droite « Station SIMATIC 300 »).

La fenêtre suivante apparaît : . vous lancez le logiciel de configuration de matériel. Etape 2: Configuration du matériel de l’automate (3) En double cliquant sur « Matériel ».

Dans la fenêtre de configuration du matériel on voit apparaître plusieurs régions. possède un numéro de pièce (Référence). En dessous. En position 2. la fenêtre de configuration qui montre la localisation des modules dans les rails de montage. . nous retrouvons une description plus détaillée de la configuration de ces modules. Ainsi. D’une part. une adresse réseau égale à 2 (Adresse MPI). le CPU en position 2. nous retrouvons le CPU de l’automate identifié par le nom « CPU314 IFM(1) ». un certain nombre d’entrées numérotées de 124 à 155 et un certain nombre de sorties numérotées de 124 à 155.

Fenêtre de configuration du matériel .

(4) En double cliquant sur le module CPU (qui se trouve dans la liste à gauche). la fenêtre de configuration du CPU s’ouvre : La page de l’onglet « Général » contient une foule d’informations sur le module CPU :  La taille de la mémoire (Ko)  Le nbre d’entrées digitales  Le nbre de sorties digitales  Le nbre d’entrées analogiques  Le nbre de sorties analogiques  La vitesse d’exécution de 1000 instructions logiques  Le numéro de référence  La station réseau (il n’y a pas de réseau). .

Le chien de garde est un dispositif qui surveille continuellement le processeur du module CPU. Le temps de surveillance de cycle est l’intervalle de temps maximal entre deux initialisations du « chien de garde ».(5) En cliquant l’onglet « Cycle/Mémento de cadence ». . la fenêtre suivante apparaît.

il initialise le chien de garde à intervalle régulier. Cette sécurité assure qu’un processeur défaillant ne risque pas de causer de graves incidents. le chien de garde bloque le fonctionnement du processeur. Dès que la dernière initialisation remonte à un délai supérieur au temps de surveillance.1 Nous utiliserons. Un bit de mémento est identifié de la façon suivante : M(octet). ce qui peut être utilisé pour faire clignoter des voyants. Si le processeur fonctionne correctement.Le chien de garde est un dispositif qui surveille continuellement le processeur du module CPU. (bit) Exemple : M10. il n’initialisera plus le chien de garde. ultérieurement. Si le processeur est défaillant. ces mémentos pour mémoriser l’état des GRAFCET programmés dans l’automate. . Le mémento de cadence permet de définir un octet de mémoire interne qui fera clignoter ses 8 bits à 8 fréquences différentes.

(6) Ne pas activer de mémento de cadence. L’écran redevient comme celui montré par la figure suivante : . (7) Fermer la fenêtre.

 STATION PC SIMATIC. il fait partie de la série 300. on trouve le catalogue du matériel (liste du matériel de l’automate) :  PROFIBUS-DP : équipements pour le réseau.  SIMATIC 300 : modules des automates de la série 300. SIMATIC 400 : modules des automates de la série 400. . L’automate que nous avons choisi au début est un API équipé d’un CPU de type 314.Dans la partie droite de la figure précédente. SIMATIC PC Based Control.

(8) Ajoutons le module d’alimentation à la configuration. . (9) Sauvegarder cette configuration en cliquant l’item Enregistrer du menu déroulant Station. Pour l’ajouter à la configuration. (10) Fermer la fenêtre. il suffit de cliquer sur cet item et à le glisser vers la ligne 1 du rail de droite. Le module d’alimentation est situé à gauche du module CPU. Il est identifié PS307 2A. Ce module se retrouve dans le répertoire PS-300.

. « Mnémoniques » et « Blocs ». Le second item vers la liste des blocs créés pour l’automate avec le logiciel « STEP 7 ». Le troisième item permet de lancer le logiciel de définition de mnémoniques. Le premier item mène à la liste de fichiers utilisant des logiciels spécialisés pour programmer l’automate avec des langages avancés.#Partie 3# Ecriture du programme pour l’automate  Etape 1: Structure d’un projet (suite) (1) En cliquant sur le répertoire « Programme S7 » vous voyez apparaître les items « Sources ».

(3) Double cliquez sur l’item « OB1 » pour lancer le logiciel « STEP 7 ». La fenêtre de droite devient alors : L’item identifié « OB1 » est le bloc organisationnel résultant de la création du projet. . La fenêtre de l’éditeur apparaît alors.(2) Cliquez sur le répertoire « Blocs » (ou sur l’item « Blocs »).

le logiciel « STEP 7 » se lance. Voici la fenêtre de l’éditeur STEP7 . Etape 2: Programmation avec le logiciel STEP7 En double cliquant sur l’item « OB1 » de la fenêtre précédente.

Dans la fenêtre de droite. .  Une zone de commentaire pour décrire la fonction du bloc (optionnel). nous retrouvons l’ensemble des éléments de programme ou fonctions disponibles pour cet automate.Un champ pour insérer le titre du réseau (optionnel). On y retrouve :  Un champ pour insérer le titre du bloc (optionnel).  Un ensemble de réseaux (ou barreaux) ayant : .Une zone de commentaire pour le réseau (optionnel). .La zone de programmation du réseau. . Dans la fenêtre de gauche. nous retrouvons la page de l’éditeur de programme.

Comment programmer un barreau de langage à contact?? (4) Positionner le curseur au début de la zone de programmation du réseau 1: .

.(5) Cliquez ensuite sur l’icône de contact normalement ouvert. soit Q124. (6) Pour compléter le réseau.0. positionner le curseur à la fin de la zone du réseau 1 puis cliquez sur l’icône de la bobine de sortie et inscrire le numéro de la bobine. puis inscrire le numéro du contact d’entrée I124.0.

programmons ensuite le barreau suivant et ainsi de suite.Une fois le premier barreau programmé.… Pour ce faire. il faut introduire un nouveau réseau pour programmer ce nouveau barreau. .

puis inscrire les adresses. .Exemple: programmons le barreau suivant : (a) Programmer la première ligne du barreau tel que montré à la figure cicontre .

il faut ouvrir une branche.2. . Pour ouvrir la branche.Exemple: programmons le barreau suivant : (b) Pour placer le contact Q124.2 et appuyer sur la touche F8. il faut placer le curseur sur le contact I124.7 en parallèle avec le contact I124.

Sauvegarder votre programme en cliquant sur l’option « Sauvegarde » du menu déroulant « Fichier ». Le réseau 2 aura donc cette apparence: Enfin. (d) Il faut maintenant fermer cette branche. On y arrive en appuyant sur la touche F9. .7 sur la nouvelle branche.(c) Ajouter alors le contact Q124.

.Chargement du programme dans l’automate #Partie 4# (1) Mettre l’automate sous tension. Lorsque l’automate est sous tension. le voyant 24 Vcc est au vert pour indiquer que tout est normal.

 En mode RUN. il est possible de transférer un programme du PC vers l’API et de transférer un programme de l’API vers le PC. Il est aussi possible de modifier le programme dans l’API. il est possible de transférer un programme du PC vers l’API et de transférer un programme de l’API vers le PC. il est possible de transférer un programme de l’API vers le PC. Ce commutateur permet de déterminer si l’automate doit exécuter le programme ou non:  En mode STOP. Il est aussi possible de modifier le programme dans l’automate. Il est impossible de transférer un programme du PC vers l’API. l’automate n’exécute pas le programme. . l’automate exécute le programme. Dans ce mode. Dans ce mode.Le commutateur de mode: Sur le module du CPU. l’automate exécute le programme.  En mode RUN-P (RUN-PROGRAM). Dans ce mode. nous retrouvons un commutateur de mode. Il est aussi impossible de modifier un programme dans l’automate.

(5) Ensuite. . (3) Pour le chargement du programme dans l’automate. retourner au SIMATIC manager et sélectionner l’item Blocs. en utilisant l’item charger du menu déroulant Système cible.(2) Mettre le commutateur en position STOP. on peut utiliser le raccourci [CTRL] A pour les sélectionner tous). La fenêtre du SIMATIC manager devrait ressembler à : (4) Sélectionner alors l’item OB1 (Si il y avait eu plusieurs items. transférer le programme dans l’automate.

. Votre programme est maintenant dans l’automate.Système cible Charger (ou CTRL+L) La fenêtre apparaît : suivante (6) Cliquer alors sur OUI pour écraser l’ancien programme.

Un élément actif est dessiné avec un trait vert gras. L’éditeur est alors lancé et le programme est affiché. (3) Appuyez sur les boutons et vérifiez les changements d’état à l’écran.Visualisation du programme dans l’automate #Partie 5# Bien que l’observation des voyants des sorties permette de vérifier l’état des sorties en fonction de l’état des entrées. cliquer sur l’icône « lunettes ». Notez l’indication du mode de fonctionnement sur la ligne d’état au bas de l’écran. c’est via l’éditeur de programme « STEP 7 » : (1) Double cliquez sur le bloc OB1. (5) Remettre l’automate en mode RUN. une autre façon de visualiser. (2) Pour visualiser l’état des variables dans l’automate. . (4) Mettre l’automate en mode STOP et regarder le changement de mode sur la ligne d’état.

Visualisation du programme dans l’automate
#Partie 5#

Visualisation du programme dans l’automate
#Partie 5#
Une autre façon de visualiser est d’utiliser l’item « Visualiser/forcer des variables » du menu déroulant « Système cible » du logiciel STEP 7. (6) En cliquant sur cet item, une fenêtre s’ouvre alors :

Il vous suffit alors de spécifier les variables dont il faut surveiller l’état. (7) Inscrivez donc dans la colonne « Opérande » le nom des variables à surveiller (les autres champs se remplissent automatiquement).

(8) Pour voir apparaître la valeur actuelle des paramètres, cliquez sur l’icône « lunettes ». La valeur logique apparaît sous le format 2#0 ou 2#1. Le préfixe 2# indique simplement que la valeur en suffixe est une valeur binaire.

de sorties ou de mémoire interne un nom plus révélateur que I124.#Partie 6# Utilisation des étiquettes (mnémoniques) Les étiquettes (appelées aussi mnémoniques) permettent de donner aux variables d’entrées. . (1) Double cliquez sur cet item pour lancer l’éditeur de mnémoniques. Dans ce menu. Supposons qu’on a suivi la même démarche décrite précédemment pour la création d’un projet.0 par exemple. l’un des items est identifié par « Mnémoniques ».

La fenêtre suivante apparaît alors :

C’est l’éditeur de mnémonique. Par défaut seul le bloc OB1 possède un mnémonique qui est « Cycle Execution » (ou exécution cyclique).

Exemple : Supposons que nous ayons cinq moteurs ayant chacun une paire de boutons identifiés MARCHE et ARRÊT et un contacteur identifié MOTEUR. On peut utiliser l’éditeur de mnémonique pour établir une correspondance entre le nom de ces boutons et les entrées de l’automate. Ainsi, (2) associons le mnémonique MARCHE 1 avec l’entrée I124.0, le mnémonique ARRÊT 1 avec l’entrée I124.1 et le mnémonique MOTEUR 1 avec la sortie Q124.0. Cela mène donc à cet écran une fois ces informations entrées dans l’éditeur :

(3) Poursuivre avec les autres moteurs. Cela donnera le tableau suivant.

(4) Enregistrer cette table et (5) fermer l’éditeur de mnémonique.

En effet. le circuit suivant est le circuit de commande d’un moteur en diagramme échelle : Comme on possède cinq moteurs. C’est ce que permet de faire les blocs de fonction. Dans l’exemple des moteurs. le circuit de mise en marche et d’arrêt de moteur est toujours le même. il semble bien inutile de répéter ce programme cinq fois. . Il peut être plus efficace de l’écrire qu’une seule fois.#Partie 7# Blocs de fonctions (FC) Un bloc de fonction FC correspond à une sous-routine appelée par d’autres blocs.

Pour créer un bloc fonctionnel. (1) mettre le curseur dans la zone de droite de la fenêtre du projet et (2) appuyer sur le bouton de souris de droite. La fenêtre suivante s’ouvre : . Le menu suivant apparaît : (3) Choisir l’item « Insérer un nouvel objet » puis l’item « Fonction ».

le bloc est alors créé. (4) Appelez le bloc FC1 et choisissez « CONT » .Les blocs de fonctions sont identifiés par le préfixe FC suivi d’un suffixe variant de 1 à 255. (5) En cliquant OK. .

notez qu’il existe une zone de déclaration de variables locales que l’on peut utiliser pour définir les trois variables importantes. (7) Définissez les variables pour obtenir le tableau suivant : Il reste à écrire le programme dans le bloc FC sous la fenêtre de déclaration de variables.(6) Double cliquez sur le bloc FC1. soit MARCHE. Dans l’éditeur STEP 7. pour lancer l’éditeur STEP 7. . Le type de chaque variable est booléen (BOOL) et les deux premières sont des entrées (in) et la dernière une sortie (out). ARRÊT et MOTEUR.

(8) Entrez ce programme dans le bloc FC et (9) sauvegarder le bloc de fonction. . (10) il faut ouvrir le programme principal qui est le bloc OB1. Pour ce faire. Il reste maintenant à appeler ce bloc à cinq reprises avec les contacts d’entrée et de sortie de l’automate.

l’arrêt par ARRÊT 1 et le signal de sortie est MOTEUR 1.(12) En cliquant sur le bloc FC1 et en le glissant sur le réseau 1 du bloc OB1. (13) Ajoutez ces contacts autour du bloc FC1 pour obtenir : . vous insérez un appel au bloc FC1. la mise en marche se fait par MARCHE 1. Pour le moteur #1.

(14) Répétez la même procédure pour les moteurs 2 à 5. Cela implique de créer de nouveaux réseaux. et (16) transférer le tout (OB1 et FC1) dans l’automate. de glisser sur chaque réseau le bloc de fonction FC1 et d’ajouter les contacts autour. . la sortie MOTEUR correspondante s’allume et reste allumée tant que l’entrée ARRÊT n’est pas actionnée. sans contacts. (17) Testez votre programme. (15) Sauvegardez votre bloc OB1. Note : L’entrée EN du bloc FC1 est une entrée qui permet de commander l’exécution du bloc FC1. En activant l’entrée MARCHE d’un moteur. cette entrée est branchée directement sur la ligne verticale de gauche. Comme il faut que le bloc soit exécuté lors de tous les cycles.

Les temporisateurs offerts dans l’automate S7-300 sont de cinq types:  S_PULSE : temporisation sous forme d’impulsion  S_PEXT: temporisation sous forme d’impulsion prolongée  S_ODT: temporisation sous forme de retard à la montée (le signal de sortie est égal à 1 uniquement lorsque le temps programmé est écoulé et que le signal d’entrée est à 1)  S_ODTS : temporisation sous forme de retard à la montée mémorisé  S_OFFDT : temporisation sous forme de retard à la retombée (signal de sortie égal à 1 lorsque la temporisation s’exécute.#Partie 8# Les Temporisations Dans l’automate. nous avons accès à certaines fonctions dont les compteurs et les temporisations. . Ces éléments sont fort utiles pour générer des délais d’attente ou pour compter des événements.

nous utiliserons une temporisation de la forme « retard à la montée » (S_ODT). Cette temporisation voit sa sortie passer de 0 à 1 un certain temps préprogrammé après le passage de 0 à 1 de l’entrée. .#Partie 8# Les Temporisations Les temporisations sont identifiées par T(nombre). La durée de la temporisation est indiquée à l’entrée TV de la façon suivante : • Préfixe « S5T# » • Durée avec unités de mesure. la lettre T indiquant une variable de temporisation et le nombre est le numéro de la temporisation (exemple : T12). Ainsi.33 secondes sera programmée : S5T#1M45S330MS. Dans la plupart de nos applications. un temporisateur de 1 minute 45.

Exemple : soit une temporisation de 10 secondes commandée par un interrupteur I124.2. Ceci correspond à programmer le réseau suivant : .2 et qui allumera une sortie Q124.

CD pour compteur décrémental et CUD pour compteur incrémental/décrémental. La configuration de l’entrée PV du compteur est identifié de la façon suivante : • Préfixe « C#» • Nombre. Dans plusieurs applications. sinon l’état logique est 1. la lettre C indiquant une variable de comptage. Pour ce compteur comme pour les autres. on utilise un compteur décrémental. un compteur ayant une valeur initiale de 3 sera programmé : C#3.#Partie 8# Les Compteurs Les compteur offerts dans l’automate S7-300 sont de trois types : CU pour compteur incrémental. . le numéro de la temporisation (exemple : C1). Ainsi. l’état logique de la sortie est 0 si la valeur du compteur est 0. Les compteurs sont identifiées par C(nombre).

Exemple de programmation de trois types de compteurs : .

Exemple de visualisation d’un compteur incrémental CU : .Une impulsion sur l’entrée I124. .Une impulsion sur l’entrée I124.0 fait incrémenter le compteur .1 active l’entrée S (set) qui charge la valeur mise à l’entrée PV dans le compteur .Une impulsion sur l’entrée d’incrémentation I124.2 active l’entrée R (reset) qui remet le compteur à 0.

Exemple: un programme qui fait l’incrément d’un compteur et qui fait activer la sortie Q124.1 lorsque la valeur du compteur est égale à 6. Vous noterez que la valeur de la sortie du compteur est en format BCD et afin de la comparer à une valeur entière il faut d’abord faire sa conversion en entier 16 bits (2 octets). .

Il faut remplir six bouteilles suite à l’appui sur le bouton « m ». il suffit d’appuyer sur le bouton poussoir « m ». puis la valve « V » s’ouvre pendant 12 secondes pour remplir la bouteille. Le tapis roulant démarre et une première bouteille se présente au poste de remplissage. d’une valve de remplissage « V » et de deux capteurs. Pour démarrer l’automatisme. . La bouteille est évacuée et une nouvelle bouteille est présentée pour remplissage. La capteur « pb » détecte la bouteille.#Etude d’un exemple# Ce petit automatisme de remplissage de bouteilles est constitué d’un convoyeur commandé par un moteur « MT ». un capteur de présence de bouteille prête à être remplie « pb » eu un bouton poussoir « m ».

Le Grafcet du point de vue partie commande (niveau II) est donné par: Le GRAFCET est composé d’étapes que nous représenterons en utilisant des mémoires internes (ou mémentos) identifiés M(octet). .(bit).

• Transition « étape 4 – étape 1 » (Y004a) : M1.2 . • Transition « étape 2 – étape 3 » (Y002) : M1.0 . L’automate reçoit deux signaux d’entrée : • Bouton poussoir « m » branché à l’entrée I124. .3. • Étape 2 : M0.1.1 L’automate envoie deux signaux de sortie : • Contacteur commandant le moteur « MT » branché à la sortie Q124. nous pouvons choisir de faire la correspondance suivante : • Étape 1 : M0. • Étape 3 : M0.0 .2 . • Transition « étape 3 – étape 4» (Y003) : M1. • Transition « étape 4 – étape 2 » (Y004b) : M1.0 .1 . • Transition « étape 1 – étape 2 » (Y001) : M1. • Étape 4 : M0.1 . • Valve de remplissage « V » branchée à la sortie Q124.Ainsi pour notre GRAFCET.4.3 .0 • Capteur de présence de bouteille « pb » branché à l’entrée I124. Le GRAFCET est aussi composé de transitions que nous représenterons aussi avec des mémoires internes.

En premier lieu. (2) créer une table de mnémoniques comme celle montrée ici : . Lors de la création de ce projet avec l’assistant demander d’inclure les blocs OB1 et OB100. Ensuite. (1) créer un nouveau projet nommé « GAUG Premier GRAFCET ».

Le temporisateur T1 identifie l’état d’un temporisateur de 12 secondes avec délai sur la montée. . Les autres transitions auront comme équations logiques : Y002=X002•pb Y003=X002•T1 Y004a=X004•(/pb)•(/C1) Y004b=X004•(/pb)•C1 Le bit C1 identifie l’état d’un compteur décrémental qui donne un niveau logique 0 lorsque le compteur est à 0.(3) Programmons dans le bloc de fonction FC1 les 5 transitions : L’équation logique de la première transition est : Y001=X001•m•(/pb) Cette équation contient l’état de l’étape validant cette transition (ici c’est l’étape 1 identifiée X001) et la réceptivité de cette transition.

Le diagramme échelle de ce bloc FC1 sera donc : .

L’équation logique de la première étape est : X001=Y004b+X001×(/Y001)+Init Cette équation vérifie l’état de la transition précédant cette étape et celui de la transition qui suit.0. Les autres étapes auront comme équations logiques : X002=Y001+Y004b+X002×(/Y002) X003=Y002+X003×(/Y003) X004=Y003+X004×(/Y004a)×(/Y004b) .(4) Programmons maintenant les quatre équations représentant l’état des quatre étapes de ce GRAFCET dans le bloc de fonction FC2. Le signal « Init » initialise l’étape initiale et sera obtenu avec le bit interne M10.

Le diagramme échelle du bloc FC2 sera donc : .

(5) Reste maintenant à programmer dans le bloc FC3 les actions de notre GRAFCET. Les équations logiques des actions seront : MT=X002+X004 V=X003 La temporisation et le compteur seront aussi dans ce bloc qui sera donc : .

.

il faut éditer le bloc OB1 pour qu’il appelle les 3 blocs de fonction.(6) Pour que le tout fonctionne. Ainsi. Le bloc OB1 doit remettre le bit d’initialisation « Init » à 0. . OB1 sera : Le contact de remise à 0 du réseau 4 qui est identifié « (R) » est obtenu via le répertoire « Éléments de programmes » de la fenêtre « Éléments de programmes ».

on programme le bloc OB100 comme suit : .Le signal d’initialisation doit être mis à 1 lors de la mise en marche de l’automate (lorsque l’automate passe du mode STOP au mode RUN). Cela est obtenu en programmant le bloc OB100 qui s’exécute lors du changement de mode. (7) Donc lorsque l’on utilise un GRAFCET.

FC2 et FC3. Visualiser les blocs de fonctions FC1. .  (10) Tester le programme en appuyant sur les boutons des entrées « m » et « pb » pour simuler ce procédé et examiner les voyants des sorties « MT » et « V ». (8) Mettre les entrées à 0 et transférer tous les blocs dans l’automate. puis (9) mettre ce dernier en mode RUN.

Proposition des mini-projets  Réalisation d’un module d’automatisation sorties à relais pour les séances des travaux pratiques .

Merci pour votre attention .

Sign up to vote on this title
UsefulNot useful