TP d'automatismes : Tri Postal durée : 6h
Tri Postal Automatisé Tri Postal Automatisé
→ Programmation en CFC et SFC
→ Communications industrielles : Gestion d'un bus ASi et TCP/IP
→ Opérations sur les chaînes de caractères
→ Variables de temps et de datation
→ Envoi de mail automatique
1. 1. P P RÉSENTATION RÉSENTATION DU DU SYSTÈME SYSTÈME
◦
Partie opérative :
La partie opérative à automatiser est un système de tri postal. Les colis sont identifiés par un numéro lu sur un code-barre, puis convoyés et aiguillés vers trois destinations possibles, deux destinations perpendiculaires au convoyeur et la dernière en fin de bande transporteuse.
L’évacuation des colis ainsi que leur chargement sur la bande transporteuse est assurée par des vérins pneumatiques.
La bande transporteuse est mue par un moteur asynchrone triphasé piloté par un variateur de vitesse ATV11.
L’ensemble des capteurs et actionneurs sont connectés sur un bus AS-i alors que le lecteur de QR-Codes est directement accessible sur le réseau.
Fig 1 : Vue transversale de la partie opérative « Tapiris »
• Le tri des colis suivant sera adopté :
- Les colis destinés à TOULON ou LA VALETTE sont aiguillés vers le 1° bac, - Les colis destinés à SIX FOURS LES PLAGES vers le second bac,
- Les autres atterrissent dans le bac en fin de convoyeur.
• Liste des entrées/sorties du système:
Description Symbole
Vérin (1) de poussée vers le poste de lecture (Action / Sortie) v_1A
Fin de course du vérin 1 (Capteur / Entrée) fc_1S1
Vérin (2) de Tri vers le 1° bac (Action / Sortie) v_2A
Fin de course du vérin 2 (Capteur / Entrée) fc_2S1
Vérin (3) de Tri vers le 2° bac (Action / Sortie) v_3A
Fin de course du vérin 3 (Capteur / Entrée) fc_3S1
Mise en marche du convoyeur (Action / Sortie) MA
Arrêt d'urgence (Capteur / Entrée) AU
Détecteur IR : Présence Colis au poste de lecture de code SLC
Détecteur IR : Présence Colis au poste de chargement SPC
Détecteur IR : Le front descendant de ce détecteur indique la Présence d'un Colis en face du bac 1
SPE1 Détecteur IR : Le front descendant de ce détecteur indique la Présence d'un Colis
en face du bac 2 SPE2
◦
Partie commande :
La P.C est bâtie autour de la configuration automate suivante :
– 1 alimentation 24 Vdc - 3A
– Contrôleur Wago 750-841 (FW12), adresse IP : 192.168.0.163
– 1 Alimentation ASI 30VDC
– 1 carte « coupleur ASi » : 750-655 (12 octets)
– 1 carte RS232C : 750-650/0003-0000#05
◦
Lecteur de QR-codes :
Le code QR est un type de code-barres en deux dimensions. L'agencement de ces points définit l'information que contient le code.
L'avantage est qu'il peut stocker plus d'informations qu'un code à barres, et surtout des données directement reconnues par des applications, permettant ainsi de déclencher facilement des actions
Fig 2 : Capteur de Vision Senso-Part FA-46
Les colis transportés par le convoyeur possèdent tous un QR Code qui décrit le code postal et la ville de destination.
La caméra sensopart FA 46, configurée en lecteur de QR-codes, diffuse le code acquis sur le port 2005. son adresse IP est 192.168.0.199.
◦
Bus ASi :
Les capteurs/actionneurs du système sont gérés par un bus ASi et sont adressés de la manière suivante :
• Esclave 1 : Module 4E/4S TOR
– OUT0 : M_A (mise en marche du convoyeur)
• Esclave 2 : Module 4E TOR
– IN0 : SLC (Présence Colis au poste de lecture de code)
– IN1 : SPE1 (Présence Colis en face du bac n°1)
– IN2 : SPE2 (Présence Colis en face du bac n°2)
– IN3 : SPC (Présence Colis au poste de chargement)
• Esclave 3 : Distributeur électro-pneumatique 4S TOR (vérins) + 4E TOR (fins de course)
– IN0 : (N.C)
– IN1 : fc_1S1 (fin de course vérin 1)
– IN2 : (N.C)
– IN3 : fc_2S1 (fin de course vérin 2)
– OUT0 : v_1A (sortie vérin 1)
– OUT1 : v_2A (sortie vérin 2)
– OUT2 : v_3A (sortie vérin 3)
• Esclave 4 : Module 4E TOR
– IN0 : (N.C)
– IN1 : fc_3S1 (f.c vérin 3)
– IN2 : (N.C)
– IN3 : AU (arrêt d'urgence, NF)
2. 2. P P RÉPARATION RÉPARATION
Q1) Établir sur papier le Grafcet de fonctionnement normal GP. Deux variables d'entrée du programme nommée
« Bac1 » et « Bac2 » de type « BOOL » valident l'aiguillage vers l'un de ces bacs.
Le plan mémoire alloué par l’automate l’adressage des données d’E/S sur le bus ASi débute sur les mots d’entrée
%IW4 et de sortie %QW4.
Q2) Définir les adresses CEI des variables d’E/S du système, en fonction du câblage et de l’adressage des esclaves ASi défini ci-dessus.
f.c
f.c
A.U
3. 3. T T RAVAIL RAVAIL À À RÉALISER RÉALISER
◦
Création & Configuration du projet :
Q1) Créez le projet CoDeSys avec la configuration matérielle donnée et déclarez dans les variables globales du projet (onglet « ressources »), les capteurs et actionneurs aux adresses CEI déterminées dans la préparation.
◦
Lecture du QR-Code :
Q1) Acquisition manuelle du QR code : Placer un QR Code sous le champ de la caméra (front descendant du capteur de position SLC) et acquérir le code avec la commande telnet de la console Windows (telnet « adresse IP » « n° de port »)
Q2) Ajouter la bibliothèque « WagoLibEthernet.lib »à votre projet , et implantez le bloc suivant dans le programme principal :
Ce bloc permet de créer un client tcp sur l’automate, qui nous permettra d’aller lire le QR-Code vu par le capteur.
Q3) Définir le type et le rôle de chaque entrée/sortie de ce bloc (la première lettre du nom indique le type, la suite le rôle).
Q4) Paramétrez ce bloc de façon à récupérer le QR code dans le tableau « aReceiveBuffer ». Validez votre programme en vérifiant que le tableau se remplit lors de la lecture.
Pour pouvoir interprétez correctement les caractères contenus dans ce tableau, il faut déclarer une chaîne de caractère stockée à la même adresse physique que le tableau précédent.
Q5) Créez cette chaîne de caractère, et attribuez la même adresse au tableau précédent, puis validez la lecture du QR-code en testant votre programme.
Q6) En utilisant la fonction « FIND » (cf aide), créer trois variables booléennes correspondant aux trois aiguillages possibles du colis.
◦
Séquence de Tri :
Q7) Programmez le grafcet correspondant à la séquence de tri des colis.
Q8) Synchronisez cette séquence avec la séquence de lecture du QR Code. Note : l’entrée « DiReceiveCount » du bloc précédent doit être remise à zéro une fois qu’un colis a été trié.
Q9) Testez et mettre au point votre programme.
◦ Visualisation :
Nous allons dans cette partie créer une page de visualisation offrant les principales informations du programme :
– État des capteurs et des actionneurs
– Comptage des colis dans chacun des bacs
– N° du colis en cours de traitement
Q10) Créez la page de visualisation demandée, ainsi qu'un sous-programme permettant les comptage des colis et du temps de fonctionnement du tapis.
◦ Suivi des Colis par mail :
L'objectif de cette partie est de tenir informé l'expéditeur du colis du trajet suivi par celui-ci, en envoyant un message du type « votre colis a été expédié vers le centre de tri n°... le…/…/ à ...h... ».
Nous allons utiliser la fonction « Mail_SmtpClient » pour gérer l'envoi des mails :
• Paramètres d'entrée :
Nom Type Rôle
sSmtpServerIP string Adresse IP su serveur SMTP
sFrom string Adresse mail de l'expéditeur de l'e- mail
sTo string Adresse de la bôite mail destinatrice
sSubject string Objet de l'e- mail
sMessage string Message de l'e- mail
sAttachmentFileName string Nom de la pièce jointe (non utilisé dans ce TP) ptAttachment pointer Pointeur vers le fichier joint (non utilisé dans ce TP) iAttachmentLength integer Taille du fichier joint (non utilisé dans ce TP)
•
• Paramètres de sortie :Paramètres de sortie :
xDone bool Passe à '1' dès que la mail a été envoyé
wError word Code d'erreur d'éxécution du bloc
sAnswer string Non utilisé dans ce TP
•• Paramètres d'entrée/sortie :Paramètres d'entrée/sortie :
xSend bool L'e-mail est envoyé sur front montant de xSend
Un serveur mail tourne sur un PC de la salle (demandez l'IP à l'enseignant), ses caractéristiques sont les suivantes :
– nom de domaine : « geii.fr »
– port SMTP : n°110
–– adresses mail configurée : : expe1@geii.fr ; expe2@geii.fr ; expe3@geii.fr
– mot de passe : geii
Q1) Inclure à votre projet la bibliothèque « Mail_02.lib ». Placez le bloc « Mail_SmtpClient » dans votre 'PLC_PRG', et paramétrez-le de façon à envoyer un mail à chaque nouveau code lu.
Q2) Générez les chaines de caractères « Ssubject » et « Smessage » de façon : - à ce que l'objet du mail affiche « Suivi de votre colis n°... »
- le contenu du message affiche : « votre colis est passé au centre de tri GEII à : … (date /heure »)
• Aide :
– Vous aurez besoin des fonctions suivantes (consultez l'aide de CoDeSys pour connaître leur fonctionnement):
– Attention, en langage CFC, le n° de chaque bloc placé sur le schéma indique son ordre d'exécution. Il est primordial d'en tenir compte pour que le programme fonctionne.