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 :
 

banque. … Société de service.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. … . mécaniques. 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.  Exemples :   Usines de fabrication chimiques. électroniques.

.

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

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.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. hydrauliques  Vérins rotatifs. etc… . pneumatique.…) en une énergie mécanique associée à un mouvement. pneumatiques.  Moteurs  Vérins électriques. hydraulique.

hydrauliques : distributeur électropneumatiques et électro-hydrauliques.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. compresseur pneumatique ou hydraulique) en une énergie adaptée à l'actionneur pour un mouvement précis. .  Pour les moteurs électriques : contacteur ou variateur de vitesse  Vérins pneumatiques. batteries.

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

 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.Architecture interne d’un API  Le microprocesseur réalise toutes les fonctions logiques ET. les fonctions de temporisation. lire. de calcul. OU.. de comptage. à partir d'un programme contenu dans sa mémoire.. effacer .  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.

Structure interne d’un API .

Adapter les niveaux de tensions de l’U. en éliminant les parasites et en isolant électriquement l’unité de commande de la partie opérative.C et garantir une isolation galvanique  Les interfaces de sorties sont destinées à :   . Transmettre des informations aux pré-actionneurs (relais. électrovannes …) et aux éléments de signalisation (voyants) du pupitre. Traiter le signal en le mettant en forme.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).

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.Fonctionnement de l’interface de sorties Lors de la commande d’une sortie automate :  L’unité de commande envoie un 1 logique (5V). la bobine RL1 sera donc sous tension et commande la fermeture du contact de la sortie O0.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.: régulation et came électronique et des modules de communication point à point ou par bus ASi.  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.  . Profibus ou Industrial Ethernet.

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 vous offre les fonctions d’assistance pour résoudre efficacement votre problème d’automatisation.  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. .

Structure du programme en Step7  La programmation structurée permet la rédaction claire et transparente de programmes. 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. Elle permet la construction d'un programme complet à l'aide de modules qui peuvent être échangés et/ou modifiés à volonté. les blocs fonctionnels systèmes SFB. les blocs fonctionnels de communication CFB .  Pour permettre une programmation structurée confortable.

La numérotation est libre (de 0 à 255).  Les blocs de fonction : FB Ces blocs sont paramétrables. 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. Les blocs d’organisation : OB On retiendra principalement l'OB1 qui est examiné à chaque cycle d'automate. 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. Ces blocs n’ont pas de mémoire. La numérotation est libre (de 0 à 255).  Les fonctions : FC et les blocs de fonctions FB C’est dans ces blocs que l’on va mettre les instructions à exécuter. L’OB100 et l’OB101 sont uniquement appelés aux démarrage (respectivement à chaud et à froid). On peut passer des données en créant des DB d’instance associés à un seul FB pour le passage de paramètres. .

Architecture du programme en Step7 .

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

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

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

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.

. (4) cliquez sur l’item Assistant Nouveau Projet pour lancer l’assistant aidant à la création d’un nouveau projet. (3) cliquez sur l’item Fichier pour ouvrir le menu déroulant. 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. cette première fenêtre s’ouvre à l’écran.L’assistant étant lancé.

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

(6) Sélectionner la CPU correspondante. (8) Enfin. . l’adresse de communication MPI doit être fixée à 2. (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 »).

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

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

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.

. réseaux. Ce répertoire contient tous les sous-répertoires et fichiers configurant toutes les composantes d’un projet. soit « GAUG_premier_programme » dans notre exemple. Le répertoire de base est identifié par le même nom que le projet. soit : automates. programmes.#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».

Le premier item mène à la définition du matériel utilisé dans ce projet.(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. .

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

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 ».

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

Fenêtre de configuration du matériel .

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). .(4) En double cliquant sur le module CPU (qui se trouve dans la liste à gauche).

. Le chien de garde est un dispositif qui surveille continuellement le processeur du module CPU. la fenêtre suivante apparaît. 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 ».

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

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

SIMATIC PC Based Control.  SIMATIC 300 : modules des automates de la série 300. 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 400 : modules des automates de la série 400. il fait partie de la série 300. .  STATION PC SIMATIC. on trouve le catalogue du matériel (liste du matériel de l’automate) :  PROFIBUS-DP : équipements pour le réseau.

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

Le second item vers la liste des blocs créés pour l’automate avec le logiciel « STEP 7 ». « Mnémoniques » et « Blocs ». . 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 ».

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

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

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

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

0.0. (6) Pour compléter le réseau. puis inscrire le numéro du contact d’entrée I124. . soit Q124. 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.(5) Cliquez ensuite sur l’icône de contact normalement ouvert.

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

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

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

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

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

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

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

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

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

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.

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

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.

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

Le menu suivant apparaît : (3) Choisir l’item « Insérer un nouvel objet » puis l’item « Fonction ». (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.Pour créer un bloc fonctionnel. La fenêtre suivante s’ouvre : .

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

Dans l’éditeur STEP 7. soit MARCHE. ARRÊT et MOTEUR. . (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. pour lancer l’éditeur STEP 7. notez qu’il existe une zone de déclaration de variables locales que l’on peut utiliser pour définir les trois variables importantes.(6) Double cliquez sur le bloc FC1. 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).

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

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

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

nous avons accès à certaines fonctions dont les compteurs et les temporisations. 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. Ces éléments sont fort utiles pour générer des délais d’attente ou pour compter des événements. .#Partie 8# Les Temporisations Dans l’automate.

Dans la plupart de nos applications.#Partie 8# Les Temporisations Les temporisations sont identifiées par T(nombre). 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. Ainsi. la lettre T indiquant une variable de temporisation et le nombre est le numéro de la temporisation (exemple : T12). . 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. nous utiliserons une temporisation de la forme « retard à la montée » (S_ODT). un temporisateur de 1 minute 45.33 secondes sera programmée : S5T#1M45S330MS.

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

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

Exemple de programmation de trois types de compteurs : .

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

Exemple: un programme qui fait l’incrément d’un compteur et qui fait activer la sortie Q124. 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).1 lorsque la valeur du compteur est égale à 6. .

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

.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).

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

Ensuite. (1) créer un nouveau projet nommé « GAUG Premier GRAFCET ».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.

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 temporisateur T1 identifie l’état d’un temporisateur de 12 secondes avec délai sur la montée.

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

(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. Les autres étapes auront comme équations logiques : X002=Y001+Y004b+X002×(/Y002) X003=Y002+X003×(/Y003) X004=Y003+X004×(/Y004a)×(/Y004b) .0. 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.

Le diagramme échelle du bloc FC2 sera donc : .

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

.

Ainsi. . 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 ». il faut éditer le bloc OB1 pour qu’il appelle les 3 blocs de fonction. Le bloc OB1 doit remettre le bit d’initialisation « Init » à 0.(6) Pour que le tout fonctionne.

on programme le bloc OB100 comme suit : . Cela est obtenu en programmant le bloc OB100 qui s’exécute lors du changement de mode.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). (7) Donc lorsque l’on utilise un GRAFCET.

 (8) Mettre les entrées à 0 et transférer tous les blocs dans l’automate.  (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 ». . FC2 et FC3. Visualiser les blocs de fonctions FC1. 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 .

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.