gpa-141 : automates programmables session ...laboratoire de gpa141 page 3 partie #1 : définir...

46
École de technologie supérieure Département de génie de la production automatisée GPA-141 : AUTOMATES PROGRAMMABLES Session Automne 2012 LABORATOIRE #1 Objectif: Ce laboratoire a pour objectif la prise de contact avec un automate programmable. Pour cette première fois, vous aurez à programmer diverses équations de logique booléenne et à mettre en œuvre sur l’automate l’automatisation d’un système. Matériel mis à disposition: Vous avez à votre disposition : - un automate programmable de la compagnie Allen-Bradley - un ordinateur - un logiciel de programmation RSLogix 5000 Pour la prise de contact avec l’automate, l’approche choisie sera de faire une série d’exercices qui permettront de découvrir divers aspects de l’automate utilisé en laboratoire.

Upload: others

Post on 20-Jan-2020

6 views

Category:

Documents


2 download

TRANSCRIPT

École de technologie supérieure

Département de génie de la production automatisée

GPA-141 : AUTOMATES PROGRAMMABLES

Session Automne 2012

LABORATOIRE #1

Objectif:

Ce laboratoire a pour objectif la prise de contact avec un automate programmable. Pour cette première

fois, vous aurez à programmer diverses équations de logique booléenne et à mettre en œuvre sur

l’automate l’automatisation d’un système.

Matériel mis à disposition:

Vous avez à votre disposition :

- un automate programmable de la compagnie Allen-Bradley

- un ordinateur

- un logiciel de programmation RSLogix 5000

Pour la prise de contact avec l’automate, l’approche choisie sera de faire une série d’exercices qui

permettront de découvrir divers aspects de l’automate utilisé en laboratoire.

Laboratoire de GPA141 Page 2

Ce style ou symbole : Indique :

Termes indiqués en italique gras (par ex.,

RSLogix 5000 ou OK) Élément ou bouton sur lequel vous devez cliquer ou nom de menu à

partir duquel vous devez sélectionner une option ou commande. Il

s’agit du nom d’un élément figurant à l’écran ou dans un exemple.

Termes utilisant la police Courier, entre

simples guillemets (par ex., 'Automate1') Élément que vous devez saisir dans le champ spécifié. Ce sont les

informations que vous devez indiquer en fonction de votre application

(par ex., une variable).

Remarque : Lorsque vous saisissez le texte dans le champ, souvenez-

vous qu’il est inutile de saisir les guillemets ; il vous suffit de saisir les

termes qu’ils contiennent (par ex., Automate1).

Le texte qui suit ce symbole fait référence à des informations

complémentaires. L’information peut vous fournir de précieux conseils

en vue de faciliter la compréhension et l’utilisation du ControlLogix.

Avertissement !!! Le texte qui suit ce symbole fait référence à un

message important. Il est conseillé de le lire attentivement.

Un lien vers un vidéo web démontrant ou réalisant les étapes

demandées.

Remarque : Si le bouton de la souris n’est pas précisé dans le texte, cela signifie que vous devez cliquer sur le

bouton gauche de la souris.

Laboratoire de GPA141 Page 3

Partie #1 : Définir l’équipement.

Le matériel

Chaque poste de travail possède; un ordinateur qui est relié à un automate. Le lien est un réseau Ethernet

dédié entre les deux. Il n’est donc pas possible d’interagir avec l’automate d’un autre poste. Chaque

châssis possède un automate, une carte de communication et une carte d’entrées et une carte de sorties. Ici

les entrées sont câblées sur des interrupteurs afin de permettre certaines simulations. Attention ces

interrupteurs d’entrées sont branchés en parallèle aux interrupteurs de fin de course sur les maquettes du

laboratoire (uniquement pour les quatre postes devant la classe). Pour les sorties à contrôler, seul les

maquettes en avant auront un résultat physique. Pour les autres postes, l’équipe devra regarder l’état du

voyant de sortie sur la carte.

16 x

Ethernet

4 postes avant

uniquement

Pour les laboratoires de GPA141, l’automate utilisé est le ControlLogix 5000 modèle 1756-L61, celui-ci

en soi ne peut pas fonctionner seul, il doit être mis dans un châssis compatible et correctement alimenté.

Bloc d’alimentation

Châssis

Chassis de contrôle (souvent appelé l’automate)

Carte contrôleur (automate), communication ou encore

d’entrées/sorties

Cette équipement est déjà monté et correctement câblé. Vous n’avez donc pas à démonter, modifier ou

altéré les équipements du laboratoire.

Laboratoire de GPA141 Page 4

Partie #2 : S’assurer du lien de communication

Présentation

Dans le monde des automates d’Allen-Bradley, la communication entre les logiciels propriétaires ou non

et les automates est assurée par un logiciel qui fait office de pont de communication. Ce logiciel est RS-

Linx (figure 1), il est nécessaire de configurer dans celui-ci le ou les liens désirés avec les équipements,

que ce soit pour programmer ou surveiller. Ce logiciel n’est pas utile à l’automate, il ne sert que lorsque

l’on veut mettre un logiciel en interaction avec celui-ci.

Ethernet

RS-

Linx

RSLogix 5000

Excel

FactoryView

Etc..

Figure 1 Rôle de RS-Linx

Il est important de comprendre que le serveur RS-Linx est un produit associer à l’ordinateur, il a

donc une seul configuration active et le fait de changer d’usager ne l’artère pas. Il est donc important à

chaque séance de laboratoire de vérifier ce lien, car rien ne garantit son exactitude face à vos besoins.

Laboratoire de GPA141 Page 5

Ouvrir l’interface du serveur RS-Linx pour s’assurer du lien

Celui-ci est accessible de deux manières; soit par le menu standard sous la branche de rockwell software

RS-Linx, comme montré à la figure 2.

.

Figure 2 Lancer RS-Linx par le menu de Windows

Ou encore en faisant un double-clic sur son icône dans la barre de tâche, voir la figure 3.

Figure 3 Lancer RS-Linx

L’application s’ouvrira sans fenêtre de surveillance, cela ne signifie pas que le lien n’est plus actif. Vous

devez faire une demande de visualisation, cette commande s’appelle un « RsWho ». La fenêtre qui

s’ouvre devrait contenir un lien de type Ethernet/IP comme montré à la figure suivante :

Figure 4 Interface de RS-Linx

Une vidéo montre comment ouvrir RS-Linx

Mettre en place un lien de communication

Laboratoire de GPA141 Page 6

Si lorsque que vous ouvrez (en cliquant sur le devant le lien) votre lien Ethernet dans la fenêtre de

surveillance, votre automate n’apparaît pas ou qu’il y a un X dessus, il est préférable de refaire le lien

Ethernet. Pour refaire le lien on doit premièrement fermer la(les) fenêtre(s) de surveillance ouverte(nt). En

second ouvrir le menu de configuration des pilotes « Configure drivers ». Mettre en place son lien.

1 Nettoyer

On peut essayer de nettoyer la liste des liens déjà en place « facultatif » en sélectionnant un pilote, puis en

appuyant sur le bouton « Delete », on répète l’exercice tant que la liste n’est pas vide.

2 Ajouter

Pour ajouter son lien choisir le type désiré dans la liste déroulante , pour les besoins

du laboratoire le choix sera toujours un lien de type « EtherNET/IP Driver ». Une fois le type sélectionné

cliquer sur le bouton « ADD New..»

Une fenêtre (figure 5) ouvre vous offrant un nom par défaut à donner au lien, il est préférable de laisser le

nom par défaut, afin d’éviter les confusions lors des marches à suivre des prochains chapitres.

Figure 5 Nom d'un lien

Une fois que vous aurez pressez le bouton « OK » pour confirmer le nom, Il sera nécessaire de définir sur

quelle carte réseau vous désirez utiliser, il est important de choisir la carte qui a une adresse locale

(192.168.100.X) afin de rechercher votre automate sur le bon canal. Chaque ordinateur possède deux

cartes réseau, une en lien avec l’établissement universitaire et l’autre avec votre automate, voir la figure 6.

Ethernet

(192.168.100.x)

ÉTS

Ethernet

Figure 6 branchement Ethernet du pc

Laboratoire de GPA141 Page 7

Figure 7 Sélection de la carte réseau

Après avoir sélectionné la bonne carte et cliquer le bouton « OK », la fenêtre se ferme. Vous pouvez

ensuite fermer la fenêtre « configure driver » en pressant le bouton « close ».

Il est de nouveau possible de faire faire une détection et/ou surveillance du réseau en passant par la fenêtre

de recherche « RSWho ».

Figure 8 Détection des périphériques EtherNET/IP

Si à cette étape votre automate n’apparait toujours pas à l’intérieur de la branche de votre réseau,

contacter votre chargé de laboratoire pour une aide supplémentaire.

Vous pouvez maintenant fermer votre RS-Linx sans crainte puisqu’il est une application de type serveur et

restera actif en arrière-plan (son icône devrait apparaitre dans la barre de tâche ).

Laboratoire de GPA141 Page 8

Partie #3 Démarrer un projet

Lancer l’application

Pour programmer un automate de la famille des ControlLogix, on doit utiliser l’application RSLogix

5000. Cette application permet la programmation, la modification, les sauvegardes et le diagnostic d’un

programme exécuté par l’automate. Ce programme n’est pas nécessaire pour que l’automate puisse utiliser

votre programme.

Pour démarrer ce programme allez dans le sous-menu Rockwell Software de votre ordinateur et choisissez

« RSLogix 5000 » comme montré à la figure 9.

Figure 9 Lancer RSLogix 5000

L’application de l’école est configurée pour s’ouvrir sur une fenêtre d’aide au démarrage. Cette fenêtre

montre les anciens fichiers pour ouverture rapide, mais contient également les liens importants vers les

manuels techniques de l’automate ainsi que multitude de vidéo d’aide à la compréhension de votre

équipement.

Figure 10 Fenêtre de départ

Vidéo d’aide

par le fabricant

Manuel d’aide

technique en PDF

Laboratoire de GPA141 Page 9

Les menus d’en-tête

Les menus d’en-tête de l’application continent plusieurs sous-sections avec des mandats distincts. Que

l’on présente ci-bas.

Figure 11 Menu en en-tête de RSLogix

Si jamais les menus d’en-tête sont non fonctionnels, il est possible de les remettre à leurs positions

par défaut. Choisir l’option « Toolbars » dans le menu d’édition. Cliquer sur le bouton « Reset Factory

Toolbar Layout».

Figure 12 Réinitialisation de l'en-tête

L’état du contrôleur du

projet

Édition classique des

fichiers sous un

environnement

Windows

Les commandes du

langage de

programmation choisi

Fenêtre de recherche

des étiquettes « tags »

Validation de la

syntaxe

Chemin d’accès avec

le contrôleur où l’on

veut mettre le projet

Laboratoire de GPA141 Page 10

Partie #4 La programmation

Exercice 1

Création d’un projet

Vous devez cliquer « New » dans le menu « File » ou encore en appuyant sur l’icône de la barre de

menu. Vous devez spécifier les caractéristiques de base de contrôleur dans la fenêtre montrés à la figure

13. Nommez votre premier projet « Lab1_a ».

Figure 13 Création d'un projet

Type : Choisir le modèle d’automate, dans les laboratoires de GPA141 nous utilisons le

1756-L61.

Revision : La révision du firmware courante dans l’automate. Pour connaitre cette version,

allez dans les propriétés de l’automate sous une fenêtre RSWho de RS-Linx.

Comment chercher l’information.

Name : Nom que vous désirez donner à votre projet, il sera le nom par défaut du fichier,

mais ils ne sont pas obligés d’être identiques.

Description : Facultatif, permet de mettre une description, utile uniquement pour les

programmeurs.

Chassis Type : Spécifier la dimension (nombre de fente pour des cartes) du châssis

Slot : Numéro de fente où l’automate du projet se trouve. Il est important de spécifiez

que le compte commence toujours à zéro.

Ex : un 1756-A7 signifie 7 fentes qui vont du numéro 0 à 6

Create In : Lieu de sauvegarde du fichier, ici spécifier votre répertoire personnel sur le

réseau ou autres unité de stockage personnel.

Laisser sur le « C » augmente les risques de plagiat. Art 8.2 du

http://www.etsmtl.ca/A-propos/Direction/Politiques-reglements/regl_etudes_sup.aspx

Security Authority : Laisser l’option sur « No protection »

Laboratoire de GPA141 Page 11

Une fois votre projet ouvert, un arbre apparait sur le côté gauche de l’application comme montré à la

figure 14.

Figure 14 Arbre d'un projet

IMPORTANT

Il faut comprendre que l’automate que nous utilisons dans le laboratoire est d’une puissance imposante.

Certaines caractéristiques ou fonctions ne seront pas abordées ou feront office de certaines hypothèses afin

de faciliter la compréhension de l’automate en général. Nous n’allons utiliser qu’une tâche de type continu

pour nos différents projets celle-ci pourra comprendre si nécessaire plus d’un programme qui auront

chacun plusieurs routines et étiquettes (synonyme de variables) locales montrés en blanc à la figure

suivante.

On retrouve ici notre

automate et uniquement les

cartes qu’il utilisera

Demander à faire des

graphiques de suivi

Liste des types d’étiquettes

de base et personnalisées

Fonctions personnalisées

Entrées / Sorties et étiquettes

globales

Liste des programmes et

étiquettes locales

Laboratoire de GPA141 Page 12

Figure 15 Structure d'un projet

Dans le cadre de ce cours nous allons retrouver SEULEMENT les informations de type communication

dans la section des étiquettes globales « Controler Tags » de l’automate. Tous ce qui concerne nos

séquences et besoin en temporisation, compteur, registres mémoires ou autres seront locales à votre

programme « Program Tags ».

Ajout des cartes du projet

Présentement, notre automate ne peut interagir avec aucune entité externe.

Figure 16 Aucunes cartes autre que l'automate

Pour ce premier projet nous allons ajouter une capacité de lire l’état des interrupteurs du montage et

assigner des sorties (DEL). Pour ce faire nous devons ajouter la définition de deux cartes dans le châssis

du projet, avec un clic-droit sur le « BackPlane » (montré à la figure 16), sélectionnez l’option « New

Module » comme montré à la figure suivante.

Laboratoire de GPA141 Page 13

Figure 17 Ajouter une carte

La fenêtre ouverte nous permet d’insérer manuellement la ou les cartes. On doit connaitre les modèles, les

caractéristiques et la révision. Les informations peuvent être dans notre cas récupérées dans une fenêtre

RSWho de RS-Linx. Ajout manuellement d’une carte d’entrée. Ajout manuellement d’une carte de sortie

Quand on sélectionne une carte, le système vous demande la version majeure et si il y a lieu la révision

mineure comme dans l’exemple suivant : « Revison 3.002 » donc la version majeure est 3 et la révision

mineure est 2. Comme montré dans les vidéos, RS-Linx vous permet de découvrir cette information en

allant sur les propriétés de la carte.

Figure 18 Liste des cartes possibles

Puisque cette génération d’automate permet plus d’un contrôleur (automate) sur le même châssis, il est

donc important d’ajouter dans notre projet uniquement les cartes que l’on devra utiliser pour interagir avec

le monde extérieur. Donc dans notre cas, puisque l’automate ne fait aucun contrôle via la carte Ethernet,

celle-ci n’est pas incluse dans les cartes de nos projets dans le laboratoire du cours GPA141.

Éditer la routine principale

Dans l’arborescence du projet, ouvrir la branche des tâches, ouvrir la tâche « MainTask », ouvrir le

programme « MainProgram » et faire un double-clic sur la routine « MainRoutine » comme montrée à la

figure 19.

Laboratoire de GPA141 Page 14

Figure 19 Chemin jusqu'à la routine principale

La routine principale d’un programme n’a pas un nom spécifique, elle est définie dans les propriétés de

programme. Elle est identifiée par l’icône , cela signifie qu’elle est appelée à chaque scrutation « scan »

du programme et c’est le rôle du programmeur d’appeler les autres sections du programme à partir de

celle-ci et dans l’ordre désiré.

Dans la fenêtre d’édition qu’y s’offre à vous, le principe de base est le glisser-coller « drag-and-drop ».

Créez les deux barreaux montrés ci-dessous dans votre routine. À noter que l’on ne peut ajouter en

dessous du barreau de fin « end ». Création de mes premiers barreaux

Figure 20 Barreaux à créer dans le projet

Tant qu’un barreau à des « e » devant, cela signifie que le barreau à une erreur de syntaxe. Il est également

possible de demander manuellement une compilation soit de la routine active « dans le menu d’en-

tête » ou du projet en entier « dans le menu d’en-tête ».

Expliquer les adresses des entrées et sorties

Du point vu de l’adressage des entrées et des sorties, l’automate procède de manière absolue pour interagir

avec ces dispositifs. Ce qui signifie une adresse absolue également, si la carte est dans le même châssis

que l’automate, alors l’adresse commence toujours par le mot réservé « Local ». Par la suite, le premier

chiffre spécifie la fente, ici l’automate ne fait pas de distinction entre les modèles de carte. Après le « : »

nous rentrons dans les caractéristiques de la carte, celle-ci peut contenir une ou plusieurs des sous-groupes

suivant : des entrées « I », des sorties « O », des états de fonctionnement « S », ou encore des commandes

de comportement « C ». Tout dépendant des modèles de carte nous allons retrouver dans les entrées et

dans les sorties un registre « DATA » étant l’information reçue ou transmise avec le monde extérieur.

Laboratoire de GPA141 Page 15

IB-16I

0

24 VDC

1

2

3

M

pp

a1

a2

4

5

6

7

8

9

10

11

12

13

14

15

V1a

V1b

V2a

V2b

V3a

V3b

OB-

16I0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

24 VDC

V1

V3

V2+

V2-

LumièreD

AT

A

DA

TA

Figure 21adressage des I/O

Donc si l’on désire par exemple, savoir si l’interrupteur « pp » est actionné, nous aurons besoin de nous

faire un contact sur l’adresse de l’entrée : « Local.1 :I.Data.1 ».

Ou encore si l’on désire activer V3, nous devrons mettre une bobine qui active l’adresse

« Local .2 :O.Data.3 ».

Charger le programme dans l’automate

Pour arriver à charger le programme dans votre automate, vous devez spécifier le chemin d’accès de votre

ordinateur jusqu’à votre automate, puisque la famille ControlLogix est d’une approche réseau, il pourrait

avoir plusieurs automates dans accessible, il est donc normal de devoir spécifier le chemin puisque le

programme est incapable de savoir à quel équipement s’adresse ce projet.

Ce chemin sera mémorisé pour l’avenir, mais peut être changé en tout temps. Vous devez donc ouvrir une

mini-fenêtre « RSWho » à l’intérieur de votre programme en appuyant sur l’icône dans les menus d’en-

tête tel que montré à la figure suivante.

Figure 22 Chemin d'accès vers l'automate

Laboratoire de GPA141 Page 16

Dans la fenêtre, ouvrir votre lien EtherNET/IP, la carte, suivi du châssis et cliquez finalement sur votre

automate.

Figure 23 Chemin pour atteindre l'automate

Par la suite, le bouton « » deviendra actif et vous pourrez télécharger « download » dans

l’automate. La transmission d’un projet se fait toujours dans l’ordre suivant:

DÉBUT

AUTOMATE

en mode RUN

TRANSFERER le

fichier

NON

PASSER en

mode PROGRAM

OUI

Réactiver le

mode RUN

NONPASSER en

mode RUN

OUI

RESTER en ligne

avec l’automate

pour observer

FIN

Figure 24 Séquence de transfert

Chargement d’un programme.

À cette étape il sera possible de mettre en action « RUN »l’automate, si la question ne vous a pas été

demandé durant le transfert. Il est important de comprendre qu’il existe 3 états de contrôleur et deux états

de lien entre RSLogix5000 et l’automate.

Hors-ligne

En mode

programme

En marche

En test

Figure 25 États d'un contrôleur

Laboratoire de GPA141 Page 17

L’automate peut être :

Tableau 1 États du contrôleur et lien

Mode : Couleur associé

à l’état

Définition

RUN Votre programme réside dans l’automate et celui-ci l’exécute selon

votre configuration mise en place dans votre projet

PROGRAM Votre programme réside dans l’automate mais n’est pas exécuté

TEST Votre programme réside dans l’automate et celui-ci l’exécute selon

votre configuration mais sans affecter les sorties

Connexion Couleur associé

à l’état

Mode actif sur le contrôleur

Online Celui affiché

Offline Inconnu, ce qui signifie que de se mettre offline ne désactive pas un

automate et ne le rends pas passif.

Valider la programmation

Mettre l’automate en marche « RUN ».

Répondre à la question 1 du laboratoire (celle-ci se trouve à la fin du présent document), il n’est pas

nécessaire de faire valider.

Une fois la question 1 répondu, sauvegarder votre programme puis mettre l’automate en mode

« program » et ensuite vous mettre hors ligne « offline ».

Laboratoire de GPA141 Page 18

Les langages

Il existe quatre langages de programmation possibles dans la famille des ControlLogix, par contre ils ne

sont pas nécessairement tous accessibles si votre licence ne le permet pas. Dans le laboratoire, les quatre

langages sont disponibles. Chaque langage peut faire beaucoup pour répondre à une problématique

d’automatisation. Par contre ils ont chacun leurs forces comme montré au tableau suivant. Il en revient

donc au programmeur de choisir la meilleure approche selon ces besoins afin de simplifier la solution.

Malheureusement quand un programmeur désire changer le choix de langage pour une routine, il n’existe

pas d’outil de conversion, il doit donc réécrire la routine, d’où l’importance de bien choisir le langage de

chacune des routines lors de leur création.

Tableau 2 Mandats des langages de programmation

En général, si la fonction ou le groupe de fonctions représente Utilisez ce langage

une exécution continue ou parallèle de multiples opérations (non séquentielles) logique à relais

des opérations booléennes ou sur bit

des opérations logiques complexes

un traitement de messages ou de communications

un asservissement machine

des opérations que le personnel de maintenance peut avoir à interpréter pour

dépanner la machine ou le procédé

un procédé continu et une commande de variateur

diagramme de blocs

fonctionnels

un contrôle de boucle

des calculs de débit

une gestion de haut niveau de multiples opérations

graphe de

fonctionnement

des séquences répétitives d’opérations séquentielles (SFC)

un processus de traitement par lots

une commande de mouvement avec du texte structuré

des commandes machine

des opérations mathématiques complexes texte structuré

des calculs sur fichiers ou en boucle

le traitement de chaînes ASCII ou de protocoles

Les exercices tout au long de ce laboratoire vous feront toucher aux différents langages.

Laboratoire de GPA141 Page 19

Exercice 2

SOUS-ROUTINE

Les sous-routines permettent de clarifier et simplifier la programmation, elles peuvent être dans différents

langages, mais elles sont exécutées selon les demandes du programmeur, nous allons donc modifier le

projet précédent afin que la routine principale appelle deux sous-routines contenant nos deux barreaux. Il

est clair ici que la division n’est qu’à titre formatif sur un si petit programme, mais déjà dans un

programme de base, elle prend toute son importance pour réussir à suivre et déverminer un projet. Pour

appliquer les modifications qui suivent, il est important de mettre votre programme en mode hors-ligne

« offline ».

Création d’une sous-routine

Dans la structure de votre projet, ouvrir la branche des tâches « Tasks », ouvrir la tâche par défaut

« MainTask », puis ouvrir le programme « MainProgram », par défaut également, comme montré à la

figure 26.

Figure 26 Arbre par défaut d'un nouveau projet

En cliquant avec le bouton de droite sur l’item « MainProgram », vous pourrez ajouter une routine comme

montrée ci-dessous.

Figure 27 Création d'une routine

Laboratoire de GPA141 Page 20

Name : Nom que vous désirez donner à votre routine, aucune espace ou caractère

spécial.

Description : Facultatif, permet de mettre une description, utile uniquement pour les

programmeurs.

Type : Choix du langage de conception de la routine, on ne peut qu’avoir qu’un

langage à la fois, et il est fixe une fois créé.

In Program or Phase : Ne faisant pas de gestion de production de type « batch » nous allons

toujours dans le cadre du cours choisir dans le « MainProgram »

Assignement : Défini si la routine qui sera exécutée automatiquement sur une faute du

programme en cours.

Vous allez maintenant créer deux sous-routines de type « Ladder Diagram » dans votre programme

« MainProgram » toujours dans le projet lab1_a; Equipement1 et Equipement2.

Figure 28 ajout d'une routine

Nous allons déplacer les deux barreaux de la routine principale vers la routine Equipement1 et

Equipement2. Pour sélectionner un barreau en entier, vous devez cliquer sur le chiffre à l’extrémité

gauche du barreau comme montré à la figure suivante :

Figure 29 Sélection d'un barreau

En utilisant les touches habituelles de Windows CTRL ou SHIFT pour la sélection multiple, il est possible

de sélectionner plus d’un barreau à la fois.

Sélectionnez le premier barreau et par la suite faites un « cut » dans le menu « edit » de la barre de menu.

Ouvrir la routine Equipement1 en double-cliquant dessus. Sélectionner le barreau « end » dans celle-ci et

faire un « paste ». Normalement votre barreau a été déplacé dans la routine Equipement1. Refaire

l’exercice pour déplacer le 2e barreau dans la routine Equipement2.

Laboratoire de GPA141 Page 21

Il est important de comprendre que les routines ne sont pas appelées automatiquement, c’est le

programmeur qu’y a ce contrôle. Nous allons donc rajouter dans la routine principale l’appel des deux

autres routines. Déplacez-vous dans l’onglet de gestion du programme (figure 30) et ajoutez dans deux

barreaux dans votre routine principale. Par la suite, ajouter à chacun des barreaux la commande « JSR »

(qui signifie : Jump Sub Routine), chacune de ces commandes devraient appelées respectivement les

routines Equipement1 et 2.

Figure 30 Gestion du programme

Dans le cas présent, la routine ne reçoit, ni ne retourne de paramètres, vous pouvez donc les enlever de la

boîte (voir la figure 31 ).

Figure 31 Gestion des paramètres d'un appel de routine

Une fois les deux appels mis en place, vos trois routines devraient ressembler à la figure 32.

Figure 32 Barreaux de l'exercice 2

Par la suite, charger « download » le tout dans l’automate et valider que le fonctionnement est le même

qu’avant.

Laboratoire de GPA141 Page 22

Les contacts booléens

Description

Les informations de type booléennes sont les plus utilisées dans un automate. Cette donnée peut

représenter une entrée ex . : l’état actif/inactif d’un interrupteur. Une étiquette interne à l’automate ou

l’état souhaité sur une sortie ex. : moteur en marche ou non.

L’information booléenne est très souvent associée à la programmation en barreaux « Ladder ». Il existe

donc différents opérateurs en « ladder » pour analyser un état souhaité d’une donnée booléenne et d’autres

pour assigner un état à cette donnée booléenne.

Opérateur de type lecture

Il existe 4 informations utiles dans un signal booléen, la présence, l’absence, l’apparition et la disparition.

Ils sont montrés et expliqués dans le tableau suivant :

Symbole Nom Description

Contact normalement ouvert Retourne un vrai (créer l’effet de se fermer

et de laisser passer l’électricité dans le fil) si

la donnée surveillée est vraie et sinon

retourne un faux (circuit ouvert).

Contact normalement fermé Retourne un vrai (créer l’effet de garder le

contact fermé et de laisser passer

l’électricité dans le fil) si la donnée

surveillée est fausse et sinon retourne un

faux (circuit ouvert).

Ou

Front montant Passe à vrai le temps d’un balayage de

programme (appelé souvent un « scan »)

quand l’information surveillée devient

vraie.

Front descendant Passe a vrai le temps d’un balayage de

programme (appelé souvent un « scan »)

quand l’information surveillée devient

fausse.

Laboratoire de GPA141 Page 23

Opérateur de type assignation

Il existe 3 assignations possibles sur une donnée booléenne, l’égalité, l’activation et la désactivation. Ils

sont montrés et expliqués dans le tableau suivant :

Symbole Nom Description

Égalité Mets à vrai la donnée associée si l’équation

qui précède est vraie (l’électricité active

cette bobine) sinon mets à faux la donnée

Activé Mets à vrai la donnée associée si l’équation

qui précède est vraie sinon ne fait aucun

effet.

Désactivé Mets à faux la donnée associée si l’équation

qui précède est vraie sinon ne fait aucun

effet.

Ressource supplémentaire fournie dans RSLogix5000 pour toutes les fonctions couvertes dans ce

laboratoire:

Créez un nouveau projet, nommez-le lab1_b. Dans celui-ci, vous allez ajouter les cartes situées sur les

« slot » 1 et 2 (valable pour quasiment tous les exercices du lab1), vous allez créer les barreaux suivant

directement dans la routine principale « MainRoutine ». Ajout d’une étiquette « tag » à même le programme.

Répondre à la question 2 du laboratoire (celle-ci se trouve à la fin du présent document), il n’est pas

nécessaire de faire valider le programme.

Laboratoire de GPA141 Page 24

Exercice 3

Les temporisateurs

Description

Les temporisations dans un automate sont l’exercice d’évaluer si un chronomètre a atteint une certaine

valeur pour procéder à une action. Les temporisateurs « Timer » n’arrêtent pas l’exercice de scrutation du

programme, ils ne font qu’activer des états d’étiquettes afin que nos logiques réagissent.

Dans la philosophie des automates Allen-Bradley, il existe trois types de temporisation; le retard, le

prolongement et le cumulé. Le nom du type de variable de temporisation à de légères différences et plus

ou moins de fonctionnalités tout dépendant du langage choisi pour faire évaluer la fonction de

temporisation.

Dans la famille ControlLogix la temporisation a une base de temps toujours en milliseconde, donc

exemple : Pour avec une attente de 3 secondes, vous devez indiquer un objectif de 3000 «.PRE » dans

l’étiquette.

Figure 33Onglet des temporisateurs et compteurs

Le retard

Le retard a pour mandat d’activer son bit complété « DN » en retard sur l’entrée active. Comme montré

dans le chronogramme de la figure suivante.

Figure 34 Chronogramme d'une fonction de retard

Laboratoire de GPA141 Page 25

Voir le tableau suivant pour trouver le symbole de la fonction de retard selon le langage choisi.

Langages Fonction de retard Type d’étiquette

Programmation en barreaux

TIMER

Bloc Fonctionnel « FB »

FBD_TIMER

Texte Structuré TONR(TONR_01);

FBD_TIMER

Programmation séquentielle

« SFC »

Inclus dans une étiquette de type

SFC_STEP

Comme troisième exercice, nous allons créer 2 comportements, et ce sous plusieurs langages; une

activation retardée sur une sortie « DEL de la carte de sortie » et une sortie qui s’allume un certain temps

avant de s’éteindre, et ce même si la demande reste active trop longtemps. Vous aurez à faire cette

programmation en barreaux, en « blocs fonctionnels » et en « Programmation séquentielle » dans un

nouveau projet appelé lab1_c.

Dans une première routine en barreaux « Ladder » faire le schéma suivant : Création de la routine.

Figure 35 Exercice en barreaux sur un "On-Delay"

Laboratoire de GPA141 Page 26

Dans une seconde routine en blocs fonctionnels « FB : Functions Blocs » faire le schéma suivant qui

devrait avoir le même comportement que la routine précédente. Vous devez vous assurer que les différents

blocs ont les bons paramètres, identiques à ceux spécifiés sous le schéma suivant. Création de la routine.

*1

*1

*2

*3

*2

*3

Laboratoire de GPA141 Page 27

Dans une troisième routine de cet exercice, nous allons utiliser la programmation séquentielle

« SFC :Sequentiel Function Chart » pour faire le schéma suivant qui devrait avoir le même comportement

que les routines précédentes. Vous devez paramétrer l’onglet SFC du contrôleur pour que celui-ci fasse

certaines opérations pour nous, voir la figure 36. Création de la routine.

Figure 36 Configuration comportementale du SCF

* Petit truc :

Clic droit choisir « Browse Tags »

Laboratoire de GPA141 Page 28

Le prolongement

Le prolongement a pour mandat d’activer son bit complété un certain temps supplémentaire une fois que

l’entrée devient inactive. Comme montré dans le chronogramme de la figure suivante.

Figure 37 Chronogramme d'une fonction de prolongement

Voir le tableau suivant pour trouver le symbole de la fonction de prolongement selon le langage choisi.

Langages Fonction de retard Type de étiquette

Programmation en barreaux

TIMER

Bloc Fonctionnel « FB »

FBD_TIMER

Texte Structuré TOFR(TOFR_01);

FBD_TIMER

Programmation séquentielle

« SFC »

n’existe pas

Laboratoire de GPA141 Page 29

Nous allons faire comme exemple un simple prolongement de signal d’entrée, souvent utilisé si l’on veut

s’assurer qu’un pulse sur une entrée va être vu par des équipements branché sur un réseau de

communication à fréquence lente. Nous allons rajouter cela à l’intérieur d’une routine « Retard » à la suite

du programme de l’exercice 3, ne pas oublier d’en faire l’appel dans la routine principale.

Le cumulé

Le cumulé ne se réinitialise pas automatiquement, il chronomètre si l’entrée est vrai, mais ne se réinitialise

pas automatique, on doit faire une réinitialisation « RST » dessus la variable. Il souvent utilisé pour

compter des temps de production en excluant les arrêts de machine.

Figure 38 Chronogramme d'une fonction de temps cumulé

Laboratoire de GPA141 Page 30

Voir le tableau suivant pour trouver le symbole de la fonction de temps cumulé selon le langage choisi.

Langages Fonction de retard cumulé Type d’étiquette

Programmation en barreaux

TIMER

Bloc Fonctionnel « FB »

FBD_TIMER

Texte Structuré RTOR(TOFR_01);

FBD_TIMER

Programmation séquentielle

« SFC »

n’existe pas

* Une fois tous les temporisateurs de l’exercice 3 (retard et prolongement) seront programmés et

fonctionnels, vous devez faire valider votre programme par le chargé de laboratoire.

Laboratoire de GPA141 Page 31

Exercice 4

Les compteurs

Description

Les compteurs sont des outils qui ont pour rôle de compter des impulsions, alors que le rôle des

temporisateurs est de compter du temps. Les compteurs ont un comportement similaire au temporisateur,

soit d’avoir un objectif « .PRE », tenir un compte des pulses « .ACC » et des bits d’état.

Il existe trois compteurs, l’incrémentale, le décrémentale et le double-sens.

L’incrémentale

Il représente la quasi-totalité des compteurs utilisés dans l’environnement d’AB « Allen-Bradley ». La

pulsation d’entrée incrémente l’accumulation « .ACC » et si celui-ci est égal ou supérieur à l’objectif

« .PRE » alors la sortie est vraie, comme montrée ci-dessous.

Figure 39 Chronogramme d'un compteur incrémentale

Langages Fonction de compte Type d’étiquette

Programmation en barreaux

COUNTER

Bloc Fonctionnel « FB » n’existe pas

Texte Structuré n’existe pas

Programmation séquentielle

« SFC »

n’existe pas

Laboratoire de GPA141 Page 32

Le décrémentale

Souvent utilisé en combinaison avec le « CTU » afin de faire des gestions de compte, exemple : connaître

la quantité dans une zone tampon entre une machine A et une machine B. attention, la commande « RES :

Reset » sur un « CTD » ne replace pas l’accumulateur à la valeur préréglé.

Langages Fonction de compte Type d’étiquette

Programmation en barreaux

COUNTER

Bloc Fonctionnel « FB » n’existe pas

Texte Structuré n’existe pas

Programmation séquentielle

« SFC »

n’existe pas

Le double-sens

Souvent utilisé dans un monde de gestion d’inventaire dynamique, celui-ci peut augmenter ou diminuer

son compte avec deux entrées impulsives distinctes.

Langages Fonction de compte Type d’étiquette

Programmation en barreaux n’existe pas

Bloc Fonctionnel « FB »

FBD_COUNTER

Texte Structuré CTUD(CTUD_01);

FBD_COUNTER

Programmation séquentielle

« SFC »

n’existe pas

Laboratoire de GPA141 Page 33

Créez une sous-routine « Compteurs » de type « Fonction Block » dans un nouveau projet « lab1_d », ne

pas oublier d’appeler votre sous-routine avec la fonction « JSR » dans la routine principale.

Ajoutez le schéma suivant dans la sous-routine.

Figure 40 Schéma de compteur directionnel

Charger le projet dans l’automate puis expliquez le comportement à la question 4 à la fin du laboratoire.

Laboratoire de GPA141 Page 34

Exercice 5

Les Étiquettes « Tags »

Depuis le début de ce laboratoire, nous avons créé des étiquettes de différent type (bool, timer, etc..)

directement dans la fenêtre d’édition de nos programmes sans se soucier de la portée. Nous allons

maintenant aborder ces étiquettes; où elles sont mises, comment les observer quand l’automate est en

marche et comment s’assurer qu’elles ont une valeur désirée.

Pour ceux qui ont une bonne connaissance de la programmation informatique, sachez que l’automate ne

fait pas d’allocation dynamique. Il est donc nécessaire de tout définir nos besoins dans un projet, si l’on

utilise des tableaux, ils doivent être assez grands pour répondre à vos demandes en tout temps.

Il y a deux lieux où résident les étiquettes créées, dans la partie globale du contrôleur donc accessible en

lecture et écriture de toutes les routines et de tous les programmes de votre projet. Cette zone est la section

des « Controler Tags » dans votre automate.

Figure 41 Étiquettes globales

Par convention, cette zone contient uniquement les entrées/sorties et les étiquettes servants à la

communication entre les programmes ou équipements externes.

La seule autre façon de déclarer une étiquette est qu’elle appartienne à un programme celle-ci sera donc

visible que pour les routines de ce programme uniquement, elle sera déclarée dans la section « Program

Tags ».

Figure 42 Étiquettes locales

Pour visualiser ces listes, vous n’avez qu’à double-cliquer sur la zone souhaitée. Il est possible de mettre

des filtres de recherche, afin de restreinte la recherche, mais également de trouver les variables inutiles,

oubliées par le programmeur.

Laboratoire de GPA141 Page 35

Il est possible d’ajouter, modifier ou supprimer des variables dans nos listes. Pour l’ajout on peut le faire

de deux manières, soit en faisant un clique-droit sur la zone où l’on veut ajouter la variable.

Figure 43 Ajout d'une étiquette

On peut également l’ajouter des variables à la liste si on se met sur l’onglet « Edit Tags» de la liste. Par la

suite on peut directement remplir les colonnes de la dernière ligne pour ajouter la donnée. Ici le

comportement est de type transactionnel comme une base de données, cela signifie que vous devez donc

compléter la ligne au complet et y enlever le focus pour que celle-ci soit ajoutée dans le projet.

Figure 44 Ajout d'une étiquette

Par la fenêtre des variables, et dans l’onglet « Edit Tags », il est possible de changer les caractéristiques

d’une variable déjà existante dans le système.

Pour supprimer une variable, vous devez sélectionner la ligne en entier en cliquant sur la petite bande

grise à sa gauche. Par la suite vous pourrez la supprimer en pressant la touche « Supprimer » de votre

clavier.

Figure 45 Supprimer une étiquette

Si l’on choisit l’onglet « Monitor Tags » il est possible de voir le contenu des variables et de les changer

dans l’automate alors que le programme est en exécution. La donnée n’est pas sauvé dans le programme à

moins de faire une sauvegarde et de répondre oui à la question du « upload data ». Par contre, si on est

hors-ligne les valeurs saisies seront également transférées lors du prochain chargement dans l’automate.

Figure 46 Visualisation du contenu des variables

Laboratoire de GPA141 Page 36

Lors de la création d’étiquettes dans un automate de la famille ControlLogix, elles peuvent être de quatre

types : base, alias, producteur ou encore consommateur. Dans notre cas, nous n’utiliserons que les deux

premiers types.

Base :

Une variable de type base est une variable classique, un peu comme une variable dans un ordinateur. Elle

sert à retenir une information, exemple : l’étape d’un système où il est rendu.

Alias :

Une variable de type alias est un pointeur, elle ne contient pas une information propre à elle, elle réfère à

un autre contenant de donnée. Très utilisée avec les entrées/sorties puisque le chemin est parfois laborieux

à retenir surtout dans un projet contenant plusieurs entrées/sorties.

Exemple : Lumiere_Verte_Chapiteau alias de Local :2.O.Data.3

Comme exercice, nous allons créer un nouveau projet « lab1_e » contenant comme depuis le début une

carte d’entrées et une carte de sorties. Dans la section des « program tags », créer la liste suivante

mentionnée au tableau 3.

Tableau 3 Liste d'étiquettes à créer

Tag Type Data Type Adresse

Description

Index Base DINT Index qui définit le bit actif

Pulseur Base TIMER Pulseur dans le système

P_1Hz ALias BOOL Local:1:I.Data.0 Choix fréquence pulseur

P_2Hz ALias BOOL Local:1:I.Data.1 Choix fréquence pulseur

P_4Hz ALias BOOL Local:1:I.Data.2 Choix fréquence pulseur

ImageDeSortie Base INT Table image pour appliquer sur toutes les

sorties de la carte.

Par la suite rajouter les quatre routines suivantes :

La question 5 (à la fin) consiste à mettre les commentaires sur les différentes lignes de code afin

d’expliquer le comportement. Et le mandat de chacune des lignes suivantes :

MainRoutine :

Laboratoire de GPA141 Page 37

Init :

ChoixPulsation :

DefiniImage :

Laboratoire de GPA141 Page 38

Exercice 6

Les instructions « Add-On »

Depuis quelques générations, les automates ControlLogix nous permettent de créer nos propres

instructions afin de simplifier la programmation. Cette option est fort utile quand il y a répétition d’une

logique dans le système. Exemple, vous devez automatiser la séquence de huit machines identiques dans

votre automate, vous allez construire votre instruction qui contrôle une machine en permettent le passage

de paramètre de type entrée/sortie. Vous aurez donc une instruction à programmer et celle-ci sera appelée

huit fois pour séquencer chaque machine de manière indépendante.

Nous allons nous créer notre propre instruction de contrôle de moteur, celui-ci aura un départ, un arrêt et

une validation. Les sorties seront la commande au moteur et une faute si la validation ne se fait pas.

Création d’une instruction.

Avec le bouton de droite sur les « Add-On Instructions » de votre projet, on peut ajouter une instruction.

Y ajouter les entrées et sorties suivantes :

Laboratoire de GPA141 Page 39

Et finalement notre instruction aura besoin de certaines variables locales pour effectuer sa tâche.

Nous retrouvons ici la logique interne de notre instruction pour arriver à faire le contrôle d’un moteur.

Laboratoire de GPA141 Page 40

Par la suite il sera possible de se créer une routine qui utilisera notre instruction :

Question

Expliquer le comportement :

Si départ uniquement :

Si départ et rapidement suivi de la confirmation :

L’arrêt alors que le moteur est en marche normale :

Et que se passe-t-il si l’on perd la confirmation alors que le moteur est en marche normale :

Laboratoire de GPA141 Page 41

Exercice 7

Les comparateurs

Comme vous avez pu le constater, l’automate ne travaille pas uniquement avec des données booléennes, il

utilise de manière constante des valeurs numériques. Voici les plages de valeurs couvertes par chacune des

variables numériques:

DATA TYPE Étendu des valeurs Bits

BOOL 0 ou 1 0

SINT 0 @ 255 7 - 0

INT -32768 @ 32767 15 - 0

DINT -2 147 483 648 @ 2 147 483 647 31 - 0

REAL -3.40282347E38 @ 3.40282347E38 31 - 0

Il existe donc une série de comparateurs numérique comme le montrent les barreaux suivants, vous devez

fournir la liste complête des comparateurs numérique dans une programmation en barreaux :

Laboratoire de GPA141 Page 42

Exercice 8

Risque de dupliquer une sortie

Pourquoi il n’est pas recommandé de dupliquer une sortie? Ceci risque de créer un conflit sur la valeur de

la mémoire dupliquée. Le programme vous mettra un avertissement, mais vous laissera continuer, car il

est possible de faire opération de manière souhaitée dans certain cas, par contre pour la moyenne des

programmes ceci signifie une erreur de logique.

Faites un programme contenant ces deux barreaux, essayez-le en mode « run » et expliquez le

comportement à la fin du rapport.

Figure 47 Conflit d'adresse

Laboratoire de GPA141 Page 43

Exercice 9

Réaliser une petite séquence

Le GRAFCET est un diagramme qui représente l’état logique d’un procédé et qui le contrôle. Nous ferons

ici le GRAFCET d’un automatisme très simple.

MTConvoyeur

V

pb

m

Ce petit automatisme de remplissage de bouteilles est constitué d’un convoyeur commandé par un moteur

« MT », d’une valve de remplissage « V » et de deux capteurs, un capteur de présence de bouteille prête à

être remplie « pb » eu un bouton-poussoir « m ».

Pour démarrer l’automatisme, il suffit d’appuyer sur le bouton poussoir « m ». Le tapis roulant démarre et

une première bouteille se présente au poste de remplissage. Le capteur « pb » détecte la bouteille, puis la

valve « V » s’ouvre pendant 12 secondes pour remplir la bouteille. La bouteille est évacuée et une

nouvelle bouteille est présentée pour remplissage. Il faut remplir six bouteilles suite à l’appui sur le bouton

« m ».

Le GRAFCET de niveau 2 sera le suivant :

1

2

1

MT

m./pb

3 V

pb

0 C1

4 MT

T/3/12s

T=12s C1=C1+1

/pb.(C1=6) /pb.(C1<6)

Le GRAFCET est composé d’étapes et transitions que nous représenterons en utilisant des « program

tags » de type booléen. En premier lieu, créer un nouveau projet nommé « PROJET_1 ».

Laboratoire de GPA141 Page 44

Ainsi pour notre GRAFCET, nous pouvons choisir de faire la correspondance suivante :

Le GRAFCET est aussi composé de transitions que nous représenterons aussi avec des mémoires internes.

Ainsi pour notre GRAFCET, nous pouvons choisir de faire la correspondance suivante :

La logique en place nécessite deux autres variables soit un temporisateur et un compteur :

L’automate reçoit deux signaux d’entrée :

L’automate envoie deux signaux de sortie :

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 :

1.

1.

C DN

C DN

Y002 = X002•pb

Y003 = X003•T1.DN

Y004a = X004•pb•

Y004b = X004•pb•

Le C1 identifie un compteur incrémental. Le temporisateur T1 identifie l’état d’un temporisateur de 12

secondes avec délai sur la montée.

Le diagramme échelle de la première routine « transition » sera donc :

Laboratoire de GPA141 Page 45

Programmons maintenant les quatre équations représentant l’état des quatre étapes de ce GRAFCET dans

le bloc de fonction FC2. 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.0.

Les autres étapes auront comme équations logiques :

X002 = Y001+ Y004b+ X002•Y002

X003 = Y002 + X003•Y003

X004 = Y003+ X004•Y004a•Y004b

Le diagramme échelle de la 2e routine « Etapes » sera donc :

Laboratoire de GPA141 Page 46

Il reste maintenant à programmer dans la routine « Actions » des 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 :

Pour que le tout fonctionne, il faut éditer la routine principale pour qu’il appelle les 3 routines.

Mettez les entrées à 0 et transférez le projet dans l’automate, puis mettez ce dernier en mode RUN.

Testez le programme en activant les interrupteurs « m » et « pb » pour simuler ce procédé et examinez les

voyants des sorties « MT » et « V ». Visualisez les routines et les étiquettes.