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

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

.

manipulation des lourdes charges. dans un ensemble d'objets techniques appelé partie commande. auparavant exécutées par des opérateurs humains. … . …)   Augmenter la sécurité Objectifs financiers.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. tâches répétitives.

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

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

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

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

Structure interne d’un API .

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

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 .

Fonctionnement de l’interface de sorties Lors de la commande d’une sortie automate :  L’unité de commande envoie un 1 logique (5V). 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.1  T2 devient passant.1 . la bobine RL1 sera donc sous tension et commande la fermeture du contact de la sortie O0.

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.

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

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 .

 .: régulation et came électronique et des modules de communication point à point ou par bus ASi.Caractéristiques techniques de Siemens S7-300  Interface Ethernet/PRO-Finet intégrée  CPUs de sécurité  CPUs  Modules de fonctions technologiques ex. Profibus ou Industrial Ethernet. 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.

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

 Pour permettre une programmation structurée confortable.Structure du programme en Step7  La programmation structurée permet la rédaction claire et transparente de programmes. les blocs fonctionnels systèmes SFB. 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 de communication CFB . 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.

On y appellera donc les blocs traitant les initialisations. La numérotation est libre (de 0 à 255). C'est donc à partir de ce bloc que l'on fera les appels aux différents blocs de programmes. 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. Ces blocs n’ont pas de mémoire.  Les blocs de fonction : FB Ces blocs sont paramétrables. . La numérotation est libre (de 0 à 255). 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. 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 .

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

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

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

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.

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

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

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

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

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

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

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

Le premier item mène à la définition du matériel utilisé dans ce projet. le second sur la configuration du réseau 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 item mène à la programmation de l’unique automate du projet nommé « CPU314 IFM(1) ». en particulier des automates. Le premier item mène à la définition du matériel utilisé dans le projet.(2) En cliquant sur le répertoire « Station SIMATIC 300 » (ou sur l’item de droite « Station SIMATIC 300 »). 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 ».

Ainsi. . 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.Dans la fenêtre de configuration du matériel on voit apparaître plusieurs régions. nous retrouvons une description plus détaillée de la configuration de ces modules. nous retrouvons le CPU de l’automate identifié par le nom « CPU314 IFM(1) ». le CPU en position 2. En dessous. un certain nombre d’entrées numérotées de 124 à 155 et un certain nombre de sorties numérotées de 124 à 155. En position 2. D’une part. une adresse réseau égale à 2 (Adresse MPI).

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. la fenêtre suivante apparaît.(5) En cliquant l’onglet « Cycle/Mémento de cadence ». Le temps de surveillance de cycle est l’intervalle de temps maximal entre deux initialisations du « chien de garde ».

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

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

 STATION PC SIMATIC.Dans la partie droite de la figure précédente.  SIMATIC 300 : modules des automates de la série 300. SIMATIC PC Based Control. 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. . 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.

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

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

(2) Cliquez sur le répertoire « Blocs » (ou sur l’item « Blocs »). 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 ». La fenêtre de l’éditeur apparaît alors.

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

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

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

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

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

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. Pour ouvrir la branche. il faut placer le curseur sur le contact I124.2.2 et appuyer sur la touche F8.Exemple: programmons le barreau suivant : (b) Pour placer le contact Q124. .7 en parallèle avec le contact I124.

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

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

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

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

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

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.

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. (1) Double cliquez sur cet item pour lancer l’éditeur de mnémoniques. l’un des items est identifié par « Mnémoniques ». . 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.

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. il semble bien inutile de répéter ce programme cinq fois. . 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. le circuit de mise en marche et d’arrêt de moteur est toujours le même. Il peut être plus efficace de l’écrire qu’une seule fois. C’est ce que permet de faire les blocs de fonction. Dans l’exemple des moteurs.

Pour créer un bloc fonctionnel. 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. La fenêtre suivante s’ouvre : .

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

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

Il reste maintenant à appeler ce bloc à cinq reprises avec les contacts d’entrée et de sortie de l’automate. Pour ce faire. .(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.

(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. 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 : . la mise en marche se fait par MARCHE 1. Pour le moteur #1.

(15) Sauvegardez votre bloc OB1. (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. Note : L’entrée EN du bloc FC1 est une entrée qui permet de commander l’exécution du bloc FC1.(14) Répétez la même procédure pour les moteurs 2 à 5. Cela implique de créer de nouveaux réseaux. sans contacts. et (16) transférer le tout (OB1 et FC1) dans l’automate. . 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.

.#Partie 8# Les Temporisations Dans l’automate. 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.

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

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

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

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 .Une impulsion sur l’entrée d’incrémentation 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.

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. .Exemple: un programme qui fait l’incrément d’un compteur et qui fait activer la sortie Q124.

Le tapis roulant démarre et une première bouteille se présente au poste de remplissage. La capteur « pb » détecte la bouteille. il suffit d’appuyer sur le bouton poussoir « m ». Il faut remplir six bouteilles suite à l’appui sur le bouton « m ».#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 ». . La bouteille est évacuée et une nouvelle bouteille est présentée pour remplissage. d’une valve de remplissage « V » et de deux capteurs. Pour démarrer l’automatisme. puis la valve « V » s’ouvre pendant 12 secondes pour remplir la bouteille.

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

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

(2) créer une table de mnémoniques comme celle montrée ici : .En premier lieu. Ensuite. Lors de la création de ce projet avec l’assistant demander d’inclure les blocs OB1 et OB100. (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.(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. . 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.

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

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.

.

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

on programme le bloc OB100 comme suit : . 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.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).

. 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. FC2 et FC3.

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