Reponses aux questions posees

Transcription

Reponses aux questions posees
Réponses aux questions posées
dans le guide d’utilisation des logiciels de Rockwell
RSLinx
1. Il faut tout d’abord communiquer avec un processeur pour ensuite voir ce qu’il y a sur le
« backplane » du châssis de l’automate. Pour ce faire, nous allons configurer un lien RS232 pour effectuer cette tâche. Une fois le tout configuré, à l’aide de RSWho, nous
pouvons voir ce qui y a sur le châssis de l’automate.
Nous n’avons qu’à insérer la carte (avec ce type de châssis, nous pouvons aujourd’hui
insérer ou retirer des cartes à chaud) Ethernet et si c’est déjà fait, nous devrions la voir sur
le châssis. Par la suite, il suffit d’appuyer sur le bouton droit de la souris sur la carte
Ethernet et faire « Module Configuration ». Par la suite, il suffit d’insérer les
informations pertinentes, soit l’adresse TCP/IP (142.134.40.1) fournit par le département
d’informatique, les chiffres 255.255.0.0 pour le masque, permettant à tous les segments
142.137.0à255.0à255 de pouvoir communiquer avec l’automate et de mettre 0.0.0.0 pour
l’adresse Gateway (par défaut). Tout ceci peut se faire en décochant l’option « Obtain IP
Address from Bootp Server » bien évidemment.
2. RSLinx permet de faire le pont entre le matériel (un processeur) et les logiciels (RSLogix
5000, RSView32). D’ailleurs, toute la communication avec des automates Allen-Bradley
doivent passer par RSLinx. C’est lui qui gère tous les protocoles, les conversions
permettant de travailler avec ces automates.
3. C’est parce que nous ne savons pas comment les autres cartes de communication sont
configurées. Alors, la seule manière de communiquer avec un processeur sans carte de
communication est avec le lien série RS-232. Une fois les cartes de communication bien
configurées, nous pouvons alors les utiliser. Étant donné qu’il est rare de voir des réseaux
RS-232, voir même impossible, il faut bien entendu être à proximité de l’automate pour
travailler avec celui-ci à une vitesse qui laisse à désirer (19200 Bauds).
Avec d’autres cartes de communication, comme Ethernet, il est possible, si un réseau
Ethernet est disponible, de communiquer avec nos processeurs via le protocole TCP/IP
(protocole universel) à une vitesse beaucoup plus respectable qu’avec le lien RS-232.
De plus, nous pourrions même, en temps réel, communiquer avec nos processeurs à l’aide
du type de réseau ControlNet d’Allen-Bradley.
4. Un serveur DDE/OPC permet à un logiciel comme RSView32 ou même Excel de
communiquer avec un processeur. Ce serveur est configuré dans RSLinx puisque celui-ci
fait obligatoirement le pont entre le matériel et le logiciel. D’ailleurs, tous les logiciels
« comprenant » le protocole DDE peuvent être utilisés, comme par exemple, Microsoft
Access, Visual C++, Delphi, Visual Basic, etc.
RSNetworx for DeviceNet
Questions
1. Le logiciel RSNetWorx for DeviceNet nous permet de configurer un réseau DeviceNet.
Pour ce faire, avec celui-ci, nous pouvons configurer chaque module séparément et faire
l’adressage de ceux-ci dans le scrutateur (scanner) DeviceNet.
2. Un réseau DeviceNet est un réseau de terrain permettant de réunir bon nombre de
modules portant le même nom. Tous ces modules, qu’ils soient digitaux et analogiques,
nous permettent de faire du contrôle.
La plupart du temps, tous les fils, provenant de capteurs et actionneurs sur le terrain,
étaient ramenés dans un panneau de contrôle, ce qui demandait beaucoup de cartes
d’entrées/sorties de différentes sortes. Avec le réseau DeviceNet, tous les fils provenant
de capteurs et actionneurs sont regroupés localement sur des modules DeviceNet
d’entrées/sorties. Par la suite, un seul câble passe de module à module jusqu'au
scrutateur, diminuant ainsi le câblage de beaucoup.
Comme il est indiqué un peu plus haut, un réseau DeviceNet possède plusieurs modules.
D’ailleurs, il ne peut y avoir que 64 nœuds sur un réseau DeviceNet, incluant le scrutateur
puisque celui-ci est aussi un nœud. Chaque nœud est relié par un câble DeviceNet. Le
scrutateur balaie le réseau selon une liste que nous avons préalablement configurée.
3. Il est possible d’avoir plusieurs scrutateurs sur le réseau DeviceNet et c’est même
d’ailleurs le cas de la cellule robotique où plusieurs scrutateurs sont sur un même réseau.
Pour ne pas que ceux-ci s’emmêlent les pattes, nous devons, pour chacun d’entres eux,
indiquer dans leur liste de scrutation, quel(s) nœud(s) balayer.
4. Une liste de scrutation permet au scrutateur de savoir quel(s) nœud(s) balayer. De plus,
dans cette même liste, nous pouvons indiquer à celui-ci comment communiquer avec
chaque module puisque quatre types de communication existent en DeviceNet, soit
« Strobed », « Polled », « Change Of State » et « Cyclic ».
5. Il est possible de faire soi-même l’adressage de nos modules. Cependant, cette flexibilité
n’est pas très grande. Nous sommes seulement limités à quatre plages d’adresses. Avec
l’option d’adressage automatique, le logiciel fait le gros du travail. Il n’est cependant pas
exclu de faire cet adressage automatique module par module, regarder ce que le logiciel a
fait et faire des modifications s’il à lieu directement.
6. Comme mentionné à la question 4, quatre types de communication sont disponibles pour
communiquer avec le module DeviceNet, soit « Strobed », « Polled », « Change Of
State » et « Cyclic ». Pour expliquer les deux premiers types, nous pouvons prendre
comme exemple un enseignant devant une classe. Si le professeur utilisait le type
« Strobed », il enseignerait sa matière au premier étudiant, celui-ci enseignerait la matière
qu’il vient de voir à un autre étudiant, et cet autre étudiant enseignerait à son tour à un
autre étudiant et le cycle se ferait jusqu’au dernier étudiant. Par contre, si le professeur
utilisait le type « Polled », alors ça serait comme les professeurs ont l’habitude de faire,
soit d’enseigner une matière devant la classe et que tous les étudiants captent
l’information en même temps. Le type « Change Of State », pour sa part, indique au
scrutateur que le module DeviceNet va envoyer de l’information seulement lorsque celuici changera d’état. Pour le type « Cyclic », ça indique au scrutateur qu’il va recevoir de
l’information selon un certain délai.
7. Les différentes vitesses de transferts permises sur un réseau sont 125 kb/s, 250 kb/s et 500
kb/s. Nous ne pouvons cependant pas choisir au hasard cette vitesse puisqu’elle dépend
de la longueur du réseau. Plus le réseau est long et plus nous devons diminuer la vitesse.
8. Pour ce faire, il faut aller dans le menu « Tools » et faire « Node Commissioning… ». Par
la suite, nous faisons une recherche sur le réseau pour choisir le module que nous voulons
changer les informations (adresse ou vitesse) et nous entrons les nouvelles données.
Exercices
1. Pour faire cet exercice, il suffit, dans un premier temps, de balayer le réseau DeviceNet au
complet (vous n’avez qu’à vous mettre en ligne, menu « Network » et « Online »). Par la
suite, aller dans le menu « Network » et faites « Upload from Network », ce qui
téléchargera toute l’information contenue dans les modules DeviceNet. Ensuite, appuyer
sur le bouton droit de la souris et faites « Properties… » sur le module 1756-DNB
(Scrutateur), nœud 00, pour aller voir ces propriétés et arranger sa liste de scrutation.
Dans l’onglet « Scanlist », ramener tous les éléments présentdu côté Scanlist vers le côté
« Available Devices » si le côté « Scanlist » n’est pas vide. Faite de même pour le
deuxième scrutateur, nœud 01.
Enfin, il vous suffit d’envoyer, un par un, les modules DeviceNet du côté « Available
Devices » vers « Scanlist » avec l’option « Automap on Add », jusqu’au module 1791DBlockI/O inclusivement. Par la suite, sélectionner le module 1791D (nœud 08) et appuyer
sur le bouton « Edit I/O Parameters ». Désélectionner l’option « Change Of State /
Cyclic » et sélectionner « Polled » pour enfin entrer 3 octets en réception et 2 octets en
transmission et faite « Ok » (il faut répondre « Yes » aux deux questions suivantes). Il ne
vous reste plus qu’à envoyer les modules restants du côté « Scanlist » pour terminer
l’adressage de tous les modules du poste 3 dans le scrutateur 00.
Pour plus de détails, veuillez consulter le fichier Exercice1.dnt.
RSLogix 5000
Questions
1. C’est parce que l’échange entre 2 processeurs doit se faire sur 32 bits. Les données de
type entier (16 bits) ou de type booléen (1 bit) ne peuvent donc pas fonctionner.
Par contre, si nous voulons vraiment utiliser ces types, nous avons qu’à nous créer des
types de données usager ayant seulement un champ de type booléen et entier et le tour est
joué puisque pour chaque nouveau type de données usager, le processeur attribut par
défaut 32 bits.
2. La différence entre les « Controller Tags » et les « Program Tags » est toute simple. Les
premiers sont comme des variables globales en langages évolués, globales à l’ensemble
des programmes et des tâches dans le processeur. Les deuxièmes, pour leur part, sont
comme des variables locales, locales à un seul programme (pouvant posséder plusieurs
diagrammes en échelle).
3. Tant que nous sommes hors ligne, aucun problème à l’horizon. Par contre, lorsque nous
allons vouloir transférer nos programmes dans le processeur, RSLogix 5000 va nous
indiquer une erreur. Pour pallier à ce problème, il faut cliquer sur le bouton droit de la
souris sur le nom du processeur en haut dans la section de gauche (où c’est écrit
« Controller » et le nom de votre processeur) et faire « Properties ». Par la suite, il nous
suffit de mettre le bon numéro de fente sur le châssis. Pour nous aider, nous pouvons
utiliser RSWho dans RSLinx pour voir ce qu’il y a sur le châssis de l’automate.
4. Il suffit de nous créer un nouveau type usager, par exemple String30, et d’insérer dans
cette nouvelle structure un champ Caractere de type SINT[30] (entier à 8 bits avec un
tableau à une dimension{vecteur} de 30 éléments). Pourquoi SINT? Un caractère ASCII
peut se coder sur 8 bits, donc nous n’avons pas besoin de plus de bits pour un seul
caractère.
Par la suite, puisque nous voulons avoir une chaîne de caractère et non une chaîne de
chiffres, nous allons changer le style pour ASCII.
Pour plus de détails, veuillez consulter le fichier Exercice2.acd.
5. Le module « Trend » nous permet de faire l’historique des états de bits choisis par le
programmeur. Il nous permet par le fait même de suivre en temps réel ce qu’un bit fait et
nous permet donc de déverminer notre programme lorsqu’un bogue survient. Il est
évident que nous ne pouvons pas voir ce qui se passe réellement dans un diagramme en
échelle puisque le processeur est de beaucoup plus rapide que le taux de rafraîchissement
des données envoyées au PC.
6. Avec l’instruction « Jump To Subroutine (JSR) ».
7. Lorsque nous voulons tester notre programme, il est parfois utile de laisser des tags (bits)
à 1 ou à 0 tout le temps, sans que ceux-ci changent constamment. Alors, pour ce faire,
nous devons forcer ces bits.
Nous ne pouvons pas forcer tous les tags. Seul les tags ayant un « Base Tag »
représentant une entrée ou une sortie peuvent être forcés. Donc, tous les tags ayant un
alias pointant sur une entrée ou une sortie ou les entrées/sorties directement peuvent être
forcés.
8. Il y a quatre types de modes pour le processeur, soit : mode « Run », « Test »,
« Program » & « Fault ». Le premier indique que le processeur est en marche. Le
second, le mode « Test », est comme le mode « Run » sauf que les sorties ne sont pas
actionnées. Le mode « Program », pour sa part, est comme le mode neutre (« Idle »). Ce
mode nous permet de transférer des programmes dans le processeur. Nous pouvons
mettre le processeur dans un de ces trois modes manuellement. Pour ce qui du dernier, le
mode « Fault », le processeur se met automatiquement dans ce mode lorsqu’il tombe en
erreur, (par exemple, lorsque le chien de garde se déclenche). Alors, une fois dans ce
mode, il nous suffit de régler le problème et de faire « Clear Faults ».
9. Voir section Modification d’un programme en ligne dans le guide de laboratoire pour la
première réponse.
Étant donné la grosseur de nos programmes pour la cellule robotique, il n’y a pas grande
utilité à utiliser cette option. Par contre, dans une compagnie, où les programmes
d’automates sont énormes et font fonctionner une section complète d’une usine, cette
option prend tout son sens puisque nous ne pouvons pas arrêter une production pour
quelques modifications mineures.
Avec seulement un cycle, le processeur est en mesure d’effectuer les changements, ce qui
nous permet de ne pas arrêter la production.
Exercices
1. Pour commencer, voici un petit rappel concernant le passage du GRAFCET à un
diagramme en échelle. Afin de suivre les règles du GRAFCET, il faut suivre les
instructions suivantes.
Pour un GRAFCET donné, il faut faire trois sections : Transitions, Étapes et Actions.
La section Transitions représente les transitions entre les étapes. C’est dans cette section
qu’il faut indiquer les conditions à passer pour allumer une transition. La section Étapes
représente l’enchaînement d’activation des étapes. La section Actions représente toutes les
actions de tous les GRAFCET.
Transitions
X101 Pp
X102
101
Y101
PP * RP
Rp
Is
Y102
Actions
X102
Étapes
Y102
102
Y101
X101
INDEX
L
INDEX = ON
X101 Y101
Y102
Is
S:FS
Y101
X102
X102 Y102
Les sections Transitions et Étapes doivent être dans le même diagramme en
échelle. Pour ce qui est de la section Actions, elle devrait être dans un autre diagramme
en échelle avec toutes les autres actions des autres GRAFCET. En résumé, chaque
diagramme en échelle est constitué des transitions et des étapes d’un GRAFCET
particulier. Cependant, un et un seul diagramme en échelle sera constitué de toutes les
actions de tous les GRAFCET que vous aurez besoin.
Pour cet exercice, il va nous falloir activer les bits manuellement sur la carte de
sortie pour pouvoir aller chercher les nombres en entrées.
Pour répondre aux questions, nous allons utiliser le processeur situé dans la fente 7
et la carte de sorties située dans la fente 8. (Poste 4). Pour les étudiants du poste 3, utiliser
le processeur dans la fente 1 et la carte dans la fente 3.
a) Consulter le fichier Exercice1a.acd pour avoir la réponse.
b) Consulter le fichier Exercice1b.acd pour avoir la réponse.
Plusieurs bits (Input1, Input2, Input3, etc.) ont été ajoutés pour faire des alias
facilitant ainsi la compréhension future du programme.
c) Consulter le fichier Exercice1c.acd pour avoir la réponse.
Plusieurs possibilités s’offrent à nous. Nous pourrions mettre toutes les sections
(Transitions, Étapes et Actions) dans le même diagramme en échelle. Cependant,
même si le programme est petit, nous avons quant même utiliser plusieurs
diagrammes en échelle.
Nous avons aussi ajouté un diagramme en échelle, « ConvBitInt », pour pouvoir
utiliser les bits en entrés et les mettre dans un entier de 8 bits pour effectuer la
somme plus facilement.
2. Pour cet exercice, il n’y a pas une solution unique. Par contre, voici ce que vous auriez pu
faire :
Premièrement, nous nous définissons un type de données usager nommé Poste
dans lequel nous retrouvons une structure possédant seulement un vecteur de 5
entiers (8 bits) permettant de pouvoir stocker jusqu’à 5 jobs.
Deuxièmement, nous nous définissons un type de données usager nommé Modèle
dans lequel nous allons mettre un vecteur de 6 affecté de notre type que nous
venons de nous définir (Poste). Nous en mettons 6 puisque le poste 0 ne devrait
pas exister. D’ailleurs, la job 0 aussi ne devrait pas exister ainsi que toutes autres
données que nous devons communiquer.
Pour finir, il suffit de se créer un tag, par exemple Modeles, et de lui donner
comme type Modele[21] pour avoir 20 modèles si nous excluons le modèle 0.
Alors, nous allons pouvoir choisir le modèle 2 du poste 3 et avoir la liste de jobs à
envoyer pour ce modèle au robot 3. (Modeles[2].Poste[3].Job[0à5]).
Pour plus de détails, veuillez consulter le fichier Exercice2.acd.
3. Cet exercice a été fait pour le poste 4 avec le robot M-6i. Les bits pour la communication
du robot sont : TL Î DO29;
TC Î DO30;
Rp Î DO33;
Pour plus de détails, veuillez consulter le programme dans le fichier Exercice3.acd
ainsi que le programme de robot Ex3.kl. Pour le programme de robot, il ne vous reste
plus qu’à enseigner 2 points au hasard.
Il est à noter que dans l’exercice 3, il ne vous est pas demandé de développer un
algorithme de communication entre l’automate et le robot, ce qui fera l’objet d’un
laboratoire.
RSView32
Questions
1. Dans le « Project Manager », il faut aller dans la section « System » pour ensuite aller
dans l’option « Node ». Par la suite, nous sélectionnons « OPC Server », entrons un nom
pour le nœud que nous sommes en train de configurer, choisissons le serveur dans la
section « Server » et enfin, nous changeons le temps de mise à jour pour « 0.100 msec. ».
Il est bien étendu évidemment qu’il faut que le serveur OPC soit configuré dans RSLink.
Si nous voulons être capables « d’aller chercher » dans le processeur un tag en n’écrivant
pas tout le parcours, à toutes les fois, dans la base de données des tags (« Tag Database »),
il faut laisser le champ « Access Path » libre. Par contre, si tous nos tags sont situés à la
même place dans le processeur (ex. : tous des « Controllers Tags »), nous n’avons qu’à
entrer le parcours et dans la base de données des tags, il suffit d’entrer le nom du tag situé
dans le processeur, ce qui va accélérer l’entrée des tags dans RSView32.
2. Les alarmes nous permettent d’indiquer ou d’attirer l’attention d’un opérateur sur un
problème encouru dans le procédé, pour lui faciliter son diagnostique et enfin pour
faciliter le redémarrage de la production.
3. Il est possible d’avoir plusieurs usagers utilisant une interface HMI avec des droits
différents. Pour ce faire, en gros, il faut entrer ces usagers dans la section « User
Accounts » et entrer leurs droits. Ensuite, il faut entrer une description des codes de
sécurité dans « Security Codes ». Pour finir, lorsque nous entrons des tags dans la base de
données, il suffit, dans le champ « Security », de mettre le tag dans le bon groupe (lettre)
de sécurité.
4. Il faut aller dans la section « Graphics » et dans « Librairy » du « Project Manager ».
Ensuite, nous choisissons le bon formulaire dans lequel se trouve l’objet que nous
recherchons et nous ouvrons celui-ci. Pour finir, nous avons seulement à copier cet objet
et le coller dans nos formulaires comme, par exemple, un sommaire d’alarmes.
Nous pouvons en ajouter d’avantages en créant un nouveau formulaire dans « Library »
en double-cliquant sur « Library ». Ensuite, il nous suffit de créer notre objet, comme par
exemple un logo, dans ce formulaire et de le sauvegarder.
5. Cette option permet, la première fois que l’interface charge un formulaire en mémoire, de
mettre une copie de celle-ci en mémoire cache. La fois suivante, et toutes les autres fois,
le processeur va accélérer l’ouverture du formulaire puisque celui-ci sera en mémoire
cache. Il faut cependant faire attention de ne pas trop mettre de formulaires dans cette
mémoire puisque celle-ci va saturer et le processeur va tout simplement décharger les
formulaires en trop. Donc, veuillez seulement mettre les formulaires les plus utilisés dans
votre programme en mémoire cache.
Pour accélérer encore plus l’affichage de formulaires lorsque de grandes images bitmap
sont présentes sur ceux-ci, il suffit de convertir ces images en papier peint. Pour ce faire,
il suffit d’appuyer sur le bouton droit de la souris sur l’image et de faire « Convert to
Wallpaper ». Cependant, si nous voulons enlever tous les objets en papier peint, il suffit
d’aller dans le menu « Edit » , « Wallpaper » et faire « Unlock All Wallpaper ». Puisque
lorsqu’une image ou un objet est en papier peint, il n’est plus possible de modifier ceuxci.
Si nous ne convertissons pas les grandes images (bitmap par exemple) dans nos
formulaires, le bogue le plus fréquent est que la souris gèle lorsque nous la bougeons
puisque le processeur essai de rafraîchir cette image, ce qui n’est pas nécessaire, plusieurs
fois à la seconde. Étant donnée le nombre d’informations à traiter pour l’image, le
processeur ne réussit pas à tous faire en même temps et les requêtes de la souris ne se font
plus à la vitesse habituelle, ce qui la fait geler.
Exercices
1. Pour que l’interface fonctionne, veuillez-vous assurer qu’il y a un serveur OPC de
configuré dans RSLinx au nom d’exercice1, pointant sur le processeur de la fente 7 sur le
châssis de l’automate, avec 100 msec pour l’option « Polled Messages (mSec) » utilisant
la carte Ethernet (142.137.40.246) prénommé TCP-2, Ethernet dans RSLinx.
Pour plus de détails, veuillez consulter le programme dans le fichier Exercice1.rsv.

Documents pareils