• Aucun résultat trouvé

Automatisme - TP

N/A
N/A
Protected

Academic year: 2022

Partager "Automatisme - TP"

Copied!
92
0
0

Texte intégral

(1)

LP SARII, Parcours AS – TP d’automatisme

Automatisme - TP

Sommaire :

Tutoriel Codesys...3

Création & Configuration d'un projet...3

1 Création du Projet...3

2 Définition des modules d'E/S...4

3 Attribution de Mnémoniques pour les E/S...6

4 Définition du répertoire de Compilation...7

5 Ajout de bibliothèques au projet...7

Programmation CFC...8

1 Fonctions Logiques de base...8

2 Compteurs...9

3 Entrées analogiques, comparateurs et fonctions mathématiques...10

4 Temporisateurs & fonctions mémoires...11

5 Fonctions de la bibliothèque « Util.lib »...11

Programmation IEC 61131-3...12

1 Langage LD...12

2 Langage FBD...14

3 Langage ST...16

4 Langage SFC...17

5 Programmes SFC : Fonctionnalités supplémentaires...20

Réceptivités...20

Attributs d'Action :...21

Actions Programmées...21

Test & Implantation du Programme...23

Écrans de Visualisation...24

1 Présentation...24

2 Création d'une visualisation...24

3 Affichage d'un Booléen...24

4 Affichage d'une Valeur Numérique...26

5 Action sur un Booléen...27

6 Saisie d'une valeur Numérique...28

7 Représentation graphique d'une Variable Numérique...29

Tutoriel TIA Portal...31

1 Présentation...31

2 Configuration Matérielle...32

Adressage des signaux d’entrée/sortie...33

Grandeurs analogiques :...33

3 Langages LOG et SCL sur API S7-1200...37

4 Langages CONT et GRAPH sur API S7-300 :...39

Tutoriel Unity Pro...42

Premier Projet...42

1 Configuration du projet...42

(2)

TP A :Centrale Photovoltaïque...48

Partie A : ModBus RTU - Mise en œuvre de capteurs de Courant...48

1 Présentation...48

2 Préparation...49

3 Cahier des charges...49

4 Manipulation...49

Partie B : ModBus TCP – Analyse de trames...50

5 Présentation...50

6 Présentation de Modscan32...50

7 Travail à réaliser...52

TP B :Tri Postal...54

1 Présentation du système...54

2 Préparation...55

3 Lecture du QR Code...56

4 Programmation de la séquence de tri...57

5 Suivi des colis...57

TP C :Traitement de Surface pour pièces métalliques...59

1 Présentation du système...59

2 Préparation...61

3 Programme d'Automatisation...61

4 Programmation de l'IHM...63

TP D :Torréfacteur Industriel...66

1 Présentation du système...66

2 Cahier des charges...68

3 Préparation...69

4 Travail à réaliser...70

TP E :Xylophone Automatisé...79

1 Présentation du système...79

2 Préparation...80

3 Étude du dossier technique...80

4 Caractéristiques de l'entraînement...80

5 Analyse & Modification du programme de l’ API...81

6 Modification de l'IHM...82

7 bus CANOPEN (1h30)...82

TP F :TGBT supervisé...83

1 Présentation...83

2 Préparation : Définition des échanges Modbus...85

3 Configuration de l'IHM...86

4 Communication avec la centrale de mesure...88

5 Communication avec le module « Smart Link Acti9 »...90

6 Délestage...90

(3)

Tutoriel Codesys

Création & Configuration d'un projet

1 Création du Projet.

Double-cliquez sur l'icôle « CoDeSys v2.3, puis sur « fichier » → « nouveau », et sélectionnez la cible matérielle (API ) de votre poste (750-849) :

L'assistant vous propose de créer le module correspondant au programme principal nommé « PLC_PRG ».

Laissez ce nom par défaut, ainsi que la case « programme » cochée, puis choisissez le langage de programmation souhaité.

Langage CFC (« Continous Functional Chart » → Logigramme) pour le programme principal.

(4)

2 Définition des modules d'E/S.

Dans la partie en bas à gauche de l'écran, sélectionnez l'onglet « ressources » :

Puis cliquez sur « configuration de l'automate » :

Développez le menu « Hardware configuration », et cliquez droit sur « K-bus » → « Éditer » :

Vous accédez alors à l'écran de configuration (cf page suivante) qui va vous permettre d'ajouter les différentes cartes d'E/S présentent sur votre rack-automate. Vous pouvez alors soit ajouter vos cartes une par une, soit scanner la configuration de votre automate pour que celle-ci soit automatiquement chargée dans votre projet.

(5)

Cliquez sur l'icône « + » (Add) pour ajouter des cartes, la fenêtre suivante s'ouvre :

Vous pouvez alors aller chercher les cartes dans les différentes catégories, ou bien rentrer les références recherchées dans « filter ».

Une fois que toutes vos cartes ont été ajoutées, cliquez sur « OK ».

Vous pouvez alors éventuellement déplacer vos cartes si elles ne sont pas dans le bon ordre, ou encore accéder à la datasheet au format pdf pour chacune d'entre-elles :

Scanner la configuration

d'un automate Ajouter une/des carte(s)

Data sheet

Déplacer

(6)

3 Attribution de Mnémoniques pour les E/S.

Cliquez sur « éditez » dans le champ « K-Bus » (bus de fond de panier de l'API) comme suit (page 5), afin de faire apparaître les adresses des différentes entrées et sorties configurées :

Dans la colonne « Name », complétez le nom de chaque E/S conformément aux noms présents sur la platine de test.

L'ordre d'apparition des entrées et sorties au niveau des adresses dépend du câblage → se reporter aux documentations des cartes d'E/S. Exemple ci-après pour la carte 750-430 (8 entrées TOR) :

Renommez les entrées et sorties afin que les noms que vous souhaiterez utiliser dans votre programme. Par exemple les noms utilisés sur la platine de test :

Mnémonique adresses API

S1 %IX2.0

S2 %IX2.1

S3 %IX2.2

S4 %IX2.3

S5 %IX2.4

I1 %IX2.5

I2 %IX2.6

H1 %QX0.0

- Ordre de numérotation sur une borne d'entrée -

S1 S2 S3 S4 S5

I1 I2

H1 H2 H3 P1 P2

(7)

4 Définition du répertoire de Compilation.

Afin de ne pas être bloqué par les restrictions d'écriture du compte Windows « LPMEEDD », effectuez l'opération suivante :

→ Menu « Projet » → « Options » → « Répertoires ». Modifiez le chemin d'accès pour les fichiers de compilation en remplaçant le chemin défini par votre répertoire «TP1 » (situé sur le bureau, dans « documents » ou encore sur votre clé USB).

5 Ajout de bibliothèques au projet.

☑ L'ajout de bibliothèque permet d'utiliser des fonctions particulières, fournies par le fabriquant (ou créées par un utilisateur), et ainsi de gagner du temps dans la programmation.

Pour cela, allez dans l'onglet « ressources » et sélectionnez « gestionnaire de bibliothèques ». Cliquez-droit pour ajouter une « autre bibliothèque » :

Ajoutez les bibliothèques (les bibliothèques CoDeSys portent une extension « .lib ») de votre choix.

Exemples :

✗« SyslibRTC.lib » (« C:\Program Files\WAGO Software\CoDeSys V2.3\targets\Wago\libraries\32 bits ») permet d'utiliser l’horloge temps réel de l’automate.

✗« Util.lib » (« C:\Program Files\WAGO Software\CoDeSys V2.3\library ») pour des fonctions d'utilité générale comme 'BLINK'

✗ « iecsfc.lib » (« C:\Program Files\WAGO Software\CoDeSys V2.3\library ») pour tout les projets contenant du grafcet (SFC)

(8)

Programmation CFC.

1 Fonctions Logiques de base.

Nous allons programmer les fonctions logiques suivantes :

H1 = (S1 + S2 + S3) . I1 H2

= S2 . S3 . S4

La programmation se fera pour notre part en langage CFC, sélectionné à la création du projet (pour le programme principal PLC_PRG).

On accède aux programmes d'un projet grâce à l'onglet « modules » du navigateur de projet :

Le programme principal « PLC_PRG » apparaît alors dans l'arborescence du projet.

Ce langage est celui utilisé pour le programme principal (module PLC_PRG). La barre d'outil propose les fonctionnalités suivantes :

sorties mémorisées (Set / Reset) Placer une

entrée Inverser un

signal

« Placer un module » : Pour appeler n'importe

quelle fonction ou programme, en tapant son

nom dans le module, une fois placé sur le schéma Placer une

entrée

Ajouter E/S de validation

à un module

(9)

Les équations logiques précédentes peuvent se représenter de la façon suivante en langage CFC :

Une fois le logigramme ci-dessus réalisé, aller au chapitre 4 pour tester votre programme.

2 Compteurs.

Sauvegardez le projet précédent, puis faîtes « enregistrer sous » et enregistrez votre projet sous le nom

« TP1_compt » pour éviter d'avoir à recréer un projet. Supprimez le logigramme précédent.

On souhaite obtenir le fonctionnement suivant :

Comptage des appuis sur S1 et décomptage des appuis sur S2. La valeur du comptage est stockée dans une variable de type 'INT' nommée « comptage »

Le bouton poussoir S3 permet de remettre a zéro le compteur

Le bouton poussoir S4 permet de précharger le compteur à la valeur 10

Le voyant H1 s'allume lorsque la valeur courant du compteur est « 0 » ; le voyant H2 indique que la valeur de préchargement est atteinte.

Programmez un bloc CTUD afin d'obtenir le fonctionnement demandé.

Une fois le logigramme ci-dessus réalisé, aller au chapitre 4 pour tester votre programme.

(10)

3 Entrées analogiques, comparateurs et fonctions mathématiques.

Sauvegardez le projet précédent, puis faîtes « enregistrer sous » et enregistrez votre projet sous le nom

« TP1_ana » pour éviter d'avoir à recréer un projet. Supprimez le logigramme précédent.

On souhaite obtenir le fonctionnement suivant :

Afficher la différence des tensions présentes aux bornes des potentiomètres P1 et P2 dans une variable réelle nommée « difference »

Chargez un programme vide dans l'API et observez les valeurs délivrées sur les entrées analogiqes%IW0 et

%IW1 par les potentiomètres P1 et P2.

Complétez le tableau suivant :

Tension aux bornes de P1 (ou P2) %IW0 (ou%IW1)

0 V ….

10 V ….

En déduire la relation suivante :

Tension = …... x Mot d'entrée

Programmez le fonctionnement demandé en utilisant les fonctions ci-dessous.

Une fois le logigramme ci-dessus réalisé, aller au chapitre 4 pour tester votre programme.

(11)

4 Temporisateurs & fonctions mémoires.

A partir du projet précédent, on souhaite obtenir le fonctionnement suivant :

Lorsque l'écart de tension entre P1 et P2 dépasse 5V pendant au moins 4s, on allume le voyant H1.

Le voyant H1 ne s'éteint que lorsque l'écart entre P1 et P2 redevient inférieur à 1V pendant au moins 2s.

Programmez le fonctionnement demandé en utilisant les fonctions ci-dessous.

Une fois le logigramme ci-dessus réalisé, aller au chapitre 4 pour tester votre programme.

5 Fonctions de la bibliothèque « Util.lib »

A partir du projet précédent, on souhaite obtenir le fonctionnement suivant :

Le voyant H1 n'est plus allumé fixement, mais clignote (éteint pendant 250ms, allumé pendant 500ms) lorsqu'un dépassement se produit.

Programmez le fonctionnement demandé en utilisant les fonctions ci-dessous en utilisant la fonction BLINK.

(pensez à inclure la bibliothèque « Util.lib, cf p7).

Une fois le logigramme ci-dessus réalisé, aller au chapitre 4 pour tester votre programme.

(12)

Programmation IEC 61131-3.

1 Langage LD

Nous allons programmer les fonctions logiques suivantes :

H1 = (S1 + S2 + S3) . I1 H2

= S2 . S3 . S4

Créez un nouveau programme en langage LD nommé « equations » (clic droit sur « Modules » puis « insérer objet ») :

Une ligne de programme Ladder est appelée « réseau ». Chaque réseau ne peut comporter qu'une seule bobine de sortie.

La barre d'outil d'édition du programme Ladder comprend les éléments suivants :

(13)

Une fois le logigramme ci-dessus réalisé,

Appelez votre programme dans PLC_PRG :

Aller au chapitre 4 pour tester votre programme.

(14)

2 Langage FBD

Nous allons programmer les fonctions logiques suivantes :

H1 = (S1 + S2 + S3) . I1 H2

= S2 . S3 . S4

Créez un nouveau programme en langage ST nommé « equa_FBD » (clic droit sur « Modules » puis « insérer objet ») :

Une ligne de programme FBD est appelée « réseau ».

La barre d'outil d'édition du programme FBD comprend les éléments suivants :

Ajouter l'attribut

« Set » ou « Reset » à une sortie

Inverser une entrée ou une sortie

Ajouter une sortie //

(affectation) à un Ajouter une

entrée à un bloc

Placer une sortie

(affectation) sur

un bloc

(15)

Les équations logiques ci dessus deviennent donc :

Une fois le logigramme ci-dessus réalisé,

Appelez votre programme dans PLC_PRG :

Aller au chapitre 4 pour tester votre programme.

(16)

3 Langage ST

Nous allons programmer les fonctions logiques suivantes :

H1 = (S1 + S2 + S3) . I1 H2

= S2 . S3 . S4

Créez un nouveau programme en langage ST nommé « equa_ST » (clic droit sur « Modules » puis « insérer objet ») :

Programmez les équations en langage ST :

(17)

4 Langage SFC

Nous allons programmer avec un grafcet le fonctionnement suivant :

Initialement, aucune sortie n'est active.

Si I1 ou S1 est vrai, alors H1 est activé.

Si S2 est alors activé pendant que I1 est relâché, les voyants H2 et H3 s'allume pendant 3s. Le cycle redémarre ensuite à son étape initiale.

Ajouter la bibliothèque « iecSFC.lib » à votre projet (cf p7).

Allez dans l'onglet « modules » de CoDeSys, cliquez-droit sur « Modules » et « insérer objet ». Choisir le langage SFC et donnez lui le nom de votre choix (celui du cycle à réaliser par exemple) :

Le sous-programme apparaît sous la forme suivante dans le navigateur de projet:

Accédez à votre programme SFC en cliquant dessus.

Insérer « Etape + transition » derrière l'étape sélectionnée

Créer une branche parallèle : divergence ET

Insérer « Etape + transition » devant l'étape sélectionnée

Créer une branche alternative : divergence OU

Convergence OU

Convergence ET

Insérer un saut vers une étape

Insérer « saut + transition » vers une étape

(18)

3.Placez-vous au niveau de la première transition et « insérez étape + transition »,

Répétez l'opération pour obtenir un grafcet linéaire à 3 étapes.

Vous pouvez renommer les étapes avec les noms suivants : « Etape_1 », « Etape_2 » et « Etape_3 »

La structure du grafcet exemple en langage SFC sera donc la suivante :

Pour ajouter une action supplémentaire, faire un clic-droit sur l'étape correspondante et « Relier Action ». Pour supprimer une action, faire un clic-droit sur l'étape correspondante et « Effacer Action »;

Pour temporiser une étape, on utilise une comparaison (cf ci-dessus) sur une variable de type « TIME ». Cette variable sera le temps d'activité de l'étape à temporiser.

Exemple :

Etape_5.t > t#1mn3s500ms

→ valide la réceptivité lorsque l'on est resté 1 minute, 3 secondes et 500 ms dans l'étape nommée « Etape_5 ».

Complétez le grafcet de façon à obtenir le fonctionnement demandé.

(19)

ll ne reste plus qu'à appeler le sous-programme « Grafcet » dans le programme principal « PLC_PRG » en plaçant un « module » sur le logigramme et en le renommant « Grafcet » :

→ Aller au chapitre 4 pour tester votre programme.

(20)

5 Programmes SFC : Fonctionnalités supplémentaires

Réceptivités

→ COMPARAISON ←

Placez vous sur la transition à programmer et tapez la comparaison en utilisant les symboles : « < » « > »

« <= » « >= » « <> » « = »

Exemple :

compteur > 10

→ valide la réceptivité si la variable compteur, de type INT est supérieure à 10

→ FRONTS D'UNE VARIABLE ←

Pour tester le changement d'état d'une variable, il est préférable de programmer la transition en langage LD ou FBD.

Pour ce faire, double-cliquez sur la transition et choisissez LD ou FBD, puis : programmez la transition dans le langage choisi.

Les blocs fonctionnels « R_TRIG » et « F_TRIG » permettent de tester les fronts montant (R : Rising) et descendant (F : Falling) sur une variable.

Exemple : Validation de la transition de « Etape_ »2 vers « Etape_3 » sur front

montant de S1 :

(21)

Attributs d'Action :

Par défaut le type N est associé aux actions créées, mais on peut définir les types récapitulés dans le tableau suivant suivant :

Attribut Paramètre Description

N Aucun

Action Non mémorisée : L'action est activée lorsque l'étape associée est active, et se désactive automatiquement à la sortie de l'étape.

S, R Aucun

Action Mémorisée : l'attribut « S » (Set) permet de mémoriser l'activation de l'action, celle-ci restera active jusqu'à ce que l'attribut « R » (Reset) soit rencontré dans le grafcet sur la même action.

L Durée

d'activation :

t#...

Action limitée dans le temps : L'action est activée à l'entrée dans l'étape, puis désactivée automatiquement au bout du temps, spécifié (ou à la sortie de l'étape).

D Temps de

retard :

t#...

Action Retardée : L'action est activée avec le retard spécifié après l'entrée dans l'étape.

Après avoir modifier les noms d'action et ajouter une action à l'étape 3, on obtient le grafcet suivant :

Actions Programmées

Les actions peuvent également être codées sous forme de programme, dans une des langages CEI normalisés (SFC, LD, FBD, ST, IL). Cela est notamment utile pour :

Les actions non booléennes (valeurs numériques, gestion d'une sortie analogique...)

Programmer une action conditionnelle de type C

→ ACTION PROGRAMMÉE CONTINUE ←

Pour ajouter une action programmée continue dans programme SFC, cliquer-droit sur le module correspondant et choisir "Ajouter une Action" :

Ensuite, choisir un des langages de programmation, par exemple LD, puis programmer l'action. Dans l'exemple ci-

(22)

→ ACTIONS D'ENTRÉE ET DE SORTIE ←

Il est également possible qu'une action programmée ne soit exécutée qu'une seule fois, à l'entrée ou bien à la sortie de l'étape. Cela est par exemple particulièrement utile si l'on veut compter combien de fois l'on passe dans une étape.

Pour cela, cliquer-droit sur l'étape concernée et choisir "Ajouter action d'entrée" ou "Ajouter action de sortie" :

L'image de droite montre comment compter le nombre de passage dans l'étape "Step3"; le résultat est stocké dans une variable "CPT" de type INT.Le "E" apparaissant sur le coin inférieur gauche de l'étape "Step3" représente l'action d'entrée programmée. (Un "S" apparaît dans le coin inférieur droit dans le cas d'une action de sortie).

(23)

Test & Implantation du Programme.

Note : Les paramètres de communication sont en principe mémorisés par CoDeSys, cette opération est donc normalement faite une fois pour toutes pour chaque poste.

Pour configurer la liaison avec l'automate : → « En ligne » → « Paramètres de communication ».

Pour créer une nouveau canal de communication : « nouveau », puis nommez le canal (par exemple

« Ethernet » :

Vérifiez le paramètre « Adresse IP » par l'adresse IP de l'automate (192.168.0.'n° poste + 160')

Décochez l'option simulation dans le menu « En ligne »;

« Accéder au système » dans le même menu, le programme est alors chargé dans l'automate défini par l'adresse IP entrée dans les paramètres de communication;

« Démarrer » le programme.

(24)

Écrans de Visualisation.

1 Présentation.

CoDeSys permet de créer des écrans de visualisation. Ces écrans permettent de superviser l'état du système. Une fois créés, ils peuvent soit être chargés dans le programme, dans ce cas il faut passer par CoDeSys pour y accéder; soit être chargés en tant que site Web dans l'API. Dans ce cas, on peut y accéder via n'importe quel navigateur internet.

2 Création d'une visualisation

Allez dans l'onglet « Visualisation » su navigateur de projet.

Cliquez-droit sur « modules », puis « insérer objet ».

Donnez un nom à votre visualisation.

3 Affichage d'un Booléen

On souhaite représenter l'état de la sortie QD ** du compteur suivant sur l'écran de visualisation :

Nous allons représenter cette variable par un rectangle dont la couleur sera rouge si QD est vraie et bleue si QD est fausse.

** (QD='1' si CV=0, et QD='0' dans le cas contraire)

Implantez le compteur ci-dessus dans un projet nommé TP1_Visu.

Placez un rectangle dans votre visualisation :

(25)

Double-cliquez sur ce rectangle et allez dans le menu « couleurs » :

Choisissez le bleu pour la « Couleur » (dedans) et le rouge pour la « Couleur d'alarme » (dedans).

Associez le changement de couleur à la sortie QD du compteur C1 du programme PLC_PRG :

Dans « Texte », tapez « état de QD : » .

Testez votre programme et vérifiez le changement de couleur de l'élément de visualisation lorsque la valeur

« 0 » est atteinte par le compteur.

(26)

4 Affichage d'une Valeur Numérique

On souhaite afficher la valeur courante CV du compteur précédent sur l'écran de visualisation.

Placez un rectangle dans votre visualisation, puis dans « texte », tapez :

Allez ensuite dans « Variables » puis dans la zone « affichege de texte », tapez le nom de la variable à afficher (dans notre cas, la sortie CV du compteur c1 du programme PLC_PRG:

Testez votre programme et vérifiez l'affichage de la valeur du compteur sur la page de visualisation.

(27)

5 Action sur un Booléen

On souhaite agir sur l'entrée de préchargement (LOAD) du compteur c1 de notre exemple de la page 14.

Créez un bouton sur la page de visualisation :

Double-cliquez sur l'élément positionné sur la page, et dans la rubrique « texte » décrivez la fonctionnalité qu'aura le bouton (dans notre cas le préchargement d'un compteur)

Allez ensuite dans la rubrique « entrée » pour choisir la variable sur laquelle agira ce bouton (dans notre cas, l'entrée LOAD du compteur c1 du programme PLC_PRG) :

Testez votre programme et vérifiez le passage à '1' de l'entrée LOAD du compteur lorsque vous cliquez sur le bouton de la visualisation.

(28)

6 Saisie d'une valeur Numérique

On souhaite saisir la valeur de préchargement du compteur c1 de notre exemple de la page 14.

Placez une forme géométrique sur votre page de visualisation, par exemple un rectangle, et reprenez les étapes du paragraphe 4 (« affichage d'une valeur numérique ») afin d'afficher PV dans votre visualisation.

Dans la rubrique « texte », cochez « insérez le texte de variable 'montrer texte' » :

Testez votre programme et vérifiez la modification de l'entrée PV du compteur lorsque vous la saisissez dans votre visualisation, et testez le préchargement du compteur.

(29)

7 Représentation graphique d'une Variable Numérique

On souhaite afficher une variable du programme PLC_PRG de type INT nommée « var1 », comprise entre -100 et + 100, sur un graphe ainsi que sur un vu-mètre.

Sélectionnez l'outil « tendance » et dimensionnez votre graphe sur la page de visualisation :

Cliquez sur « sélection des variables », puis chosir la couleur de la courbe et entrez le chemin de la (ou des) variable(s) à afficher :

(30)

Cliquez ensuite sur « axe verticale », et dans la partie « échelle », définir la plage de valeurs à afficher pour votre variable (dans notre exemple [-100;+100]) :

Vous pouvez tester votre programme et observer l'évolution de votre variable sur le graphe.

Pour afficher cette variable sous forme d'un vu-mettre, sélectionnez l'outil adéquat (« instrument vectorisé ») :

Cliquez sur « Variable/Echelle » pour configurer l'affichage (dans notre cas de -100 à +100 avec graduation toutes les 10 unités) :

(31)

Tutoriel TIA Portal

1 Présentation

La suite logicielle TIA (Totally Integrated Automation) intègre un ensemble de logiciels destiné aux équipements d'automatismes Siemens, notamment :

- Step7, pour la configuration et la programmation des API

- WinCC pour la création de pages de supervision & visualisations, sur PC ou écrans "Simatic pannels".

Pour ouvrir TIA, cliquez sur :

Vue du portail :

La vue du portail fournit une vue d’ensemble du projet et un accès aux outils qui permettent de l’élaborer. Vous pouvez trouver rapidement ce que vous souhaitez faire, et appeler l’outil qui servira à accomplir la tâche voulue. Si vous le souhaitez, un changement vers la vue du projet s’effectue automatiquement pour la tâche sélectionnée. Cette vue simplifie donc principalement la préparation et la mise en place du projet.

Vue "portail" (En bas à gauche de la fenêtre, on peut basculer de la vue du portail vers la vue du projet)

(32)

Vue du projet :

La vue du projet est une vue structurée de tous les éléments constituant le projet. La barre de menu avec les barres de fonction est situé comme le veut la norme en haut de la fenêtre, le navigateur du projet et tous les éléments du projet sont sur la gauche, et les menus associés aux différentes tâches (avec les instructions et les librairies, par exemple) sur la droite.

Vue "projet" (En bas à gauche de la fenêtre, on peut basculer de la vue du portail vers la vue "portail")

En vue « portail » cliquez sur « créer un projet » et indiquez le nom et le répertoire de travail pour celui-ci.

2 Configuration Matérielle

Basculer en vue « projet » et aller dans « Appareils et Réseaux » dans le navigateur de projet.

Le catalogue matériel apparaît sur la droite de l'écran. On va pouvoir sélectionner les différents éléments matériels mis en œuvre dans un projet : CPU, cartes d'E/S, E/S déportées, IHM, variateurs de vitesse…

Nous allons dans un premier temps utiliser un automate compact de la série S7-1200 dont voici un bref descriptif…

Série s7-1200 :

L’automate SIMATIC S7-1200 est utilisé pour les applications d'automatismes de taille petite à moyenne, et est doté d'une architecture à la fois compacte et modulaire :

Navigateur de Projet

(33)

intégrées ne sont pas suffisantes pour l’application désirée (2);

- des modules de communication (RS232, RS485, ASi ...) peuvent également être insérés (3);

- Emplacement « signal board » permettant d'ajouter des fonctionnalités (comptage, analogique...) sans augmenter la taille du rack (4)

- Une interface TCP/IP intégrée, et servira au chargement des programmes et à la supervision du process.

Adressage des signaux d’entrée/sortie

Les entrées et sorties TOR de l'API sont regroupées par octets. Chaque entrée ou sortie TOR sera donc adressée par un numéro d'octet et un numéro de bit à l'intérieur de celui-ci.

Voici l'adressage des E/S TOR intégrée à la CPU 1214C :

Par exemple, pour adresser la 5ème entrée en partant de la gauche, on définit l’adresse suivante :

% I 0.4

%I

indique ici que l’adresse est de type « entrée »,

0

l’adresse d’octet, et

4

l’adresse de bit.

Les adresses d’octet et de bit sont toujours séparées par un point.

Pour adresser la dernière sortie, par exemple, on définit l’adresse suivante :

% Q 1.1

%Q

indique ici que l’adresse est de type « sortie »,

1

l’adresse d’octet et

1

l’adresse de bit.

Les adresses d’octet et de bit sont toujours séparées par un point.

Grandeurs analogiques :

Les valeurs analogiques sont stockées dans des mots. La configuration utilisée en TP permet d'accéder à : - 2 entrées analogiques +/-10 V intégrées à la CPU 1214C

- 1 Sortie analogique configurable en +10V/-10V ou 0/20mA sur la "Signal Board"

L’adressage des valeurs d’entrée et des valeurs de sortie dépend de l’adressage sur l’aperçu de l’appareil. Par exemple : 10 sorties numériques intégrées

Octet 0 Bits 0 à 7, et Octet 1 Bits 0 à 1 14 entrées numériques intégrées Octet 0 Bits 0 à 7, et Octet 1 Bits 0 à 7

(34)

L’adresse de la première entrée analogique serait dans ce cas %IW 64, celle de la seconde entrée analogique %IW66, et celle de la sortie analogique %QW 80.

La transformation d’une valeur analogique en vue d’un traitement dans un API est la même pour les entrées et les sorties analogiques.

Les plages de valeurs numérisées sont les suivantes :

Ces valeurs numérisées doivent souvent être normalisées par un traitement dans l’API.

Note : Dans le système d'adressage utilisé par Siemens, le plan mémoire est composé d'octets. L'adresse d'un mot est donc l'adresse du premier octet qui le compose (d'où l'absence d'adresse %IW65 ci-dessus : les adresses de mot sont toujours paires).

Le format utilisé est "INT", car ces valeurs peuvent être signées (dans le cas du +/-10V).

Plage analogique

Valeurs Numérisées

(35)

Faire glisser depuis le catalogue matériel vers la zone « appareils & réseaux » la CPU 1214 présente sur votre poste :

Ajoutez le module de sortie analogique (« signal board ») :

Nous allons à présent scruter le réseau pour déterminer l'adresse IP de votre API.

Cliquez-droit sur votre automate dans le navigateur de projet, nommé « PLC_1 » par défaut ; puis « liaison en ligne ».

Sélectionnez l'interface de communication Ethernet (« PN/IE » pour « Profinet/Industrial Ethernet) et lancer la recherche, en ayant préalablement coché la case « afficher tous les abonnés compatibles ».

Le logiciel vous affiche l'ensemble des matériels Siemens reconnus et connectés au réseau si. La case « Clign DEL » vous permet d'identifier un équipement en faisant clignoter la LED sur la face avant. Vous pouvez donc relever l'adresse IP de votre API de cette façon.

Revenir dans « appareils & réseaux » puis double-cliquez sur votre API (« PLC_1 »). Dans l'onglet « général « , sélectionnez « interface profinet » puis « adresses ethernet » et rentrez l'adresse IP (et le masque correspondant) déterminé précédemment.

Vous pouvez définir les différentes mnémoniques des entrées/sorties de l'API dans l'onglet « variables I/O ».

Rentrez les noms suivants :

(36)

Dans le navigateur de projet, allez dans « Variables API » puis « affichez toutes les variables » (vous devez retrouver les mnémoniques précédemment définis) :

(37)

3 Langages LOG et SCL sur API S7-1200

Exercice 1 en langage LOGExercice 1 en langage LOG : :

Soit la table de vérité suivante, représentant l'état des sorties O1 et O2 en fonction des entrées I1 et I2 :

ED1 ED2 SD1 SD2

0 0 1 0

0 1 1 1

1 0 1 1

1 1 0 0

Dans « bloc de programmes », cliquez sur ajouter un nouveau bloc :

Choisir le type « FB » et le langage LOG. Donnez un nom à ce bloc de programme.

Codez sous forme d'un logigramme les deux équations logiques correspondant à la table précédente :

→ Attention : vous devez faire un réseau par équation logique.

Une fois le logigramme terminé, il faut réaliser son appel dans le programme principal OB1.

Pour cela, faire glisser votre bloc dans le premier réseau de OB1.

Un écran apparaît et vous propose d'instancier le bloc de données (=zone mémoire pour les variables) correspondant à l'appel du bloc de programme.

Cliquez sur OK.

Il ne vous reste plus qu'à compiler votre projet : clic-droit sur « plc_1 » puis « compiler matériel & logiciel »...

… Puis à charger votre projet : « Clic-droit » sur « plc_1 » puis « charger matériel & logiciel »...

(38)

Exercice en langage SCLExercice en langage SCL : :

La valeur présente sur la sortie analogique dépend des inter I1 et I2 :

I1 I2 Courant de sortie

0 0 5 mA

0 1 10 mA

1 0 15 mA

1 1 20 mA

Programmez le fonctionnement précédent dans un bloc fonctionnel en langage SCL .

Exercice en langage LOGExercice en langage LOG : :

La valeur présente sur la sortie analogique a l'allure suivante :

Programmez le fonctionnement précédent dans un bloc fonctionnel en langage LOG. Vous utiliserez un compteur (CTU), paramétrez le « memento de cadence » (cf aide) de façon à obtenir une base de temps de 2s .

Temps (s)

T = 5s

4 3 2 1 0 Tension (V)

(39)

H3

H3

H4 H2

H1

H2

H1 E1

E2

E3

E4

E5

E6

E7 N

N

S

N

N

R

L t#5s S1

I0 . I1 I2 . I1

E3.T>3,5s

E4.T>5s

I3

I4 I1 + I2

4 Langages CONT et GRAPH sur API S7-300 :

On considère le grafcet suivant :

Créez un nouveau projet en choisissant une CPU S7-315F 2PN/DP

Ajoutez une carte 16E/16S TOR.

Définissez les entrées TOR I0 à I4 sur les premières adresses d'entrée disponibles. Idem pour les sorties H1 à H4.

Créez un bloc fonctionnel en langage GRAPH :

Programmez le fonctionnement précédent dans un bloc fonctionnel en langage GRAPH :

(40)

Compilez votre projet.

Chargez ensuite dans le SIMULATEUR. Pour cela sélectionnez votre automate dans le navigateur de projet puis le menu « en ligne » → « Simulation » → « Démarrer ».

Validez le chargement : Construction du graph (etapes,

transitions, sauts...) Programmation des réceptivités (langage CONT)

Cliquez ici pour afficher la ligne complète lorsque la réceptivité

est longue

Cliquez sur les pointillés pour faire apparaître l'action, et pouvoir programmer celle-ci

(norme CEI) Cliquez sur la

réceptivité pour la développer et placer les éléments

de langage LOG

(41)

F2 pour afficher un octet d'entrée F3 pour afficher un octet de sortie

(42)

Tutoriel Unity Pro

Premier Projet.

Unity Pro est la suite logicielle permettant la programmation des API Schneider (Premium, Quantum & Atrium). Cet outil de programmation est basé sur la norme CEI 61-131 et met en ouvre les langages définis par cette norme.

Nous allons, ensemble :

Configurer le projet (Configuration matérielle : Automate, cartes d'E/S... et logicielle : mnémoniques...)

Expliquer la structure du projet (blocs de programmes, etc...)

Créer différents modules de programmes mettant en œuvre différentes fonctions de bases (fonctions logiques, mémoires, fonctions arithmétiques, temporisations, compteurs etc...) dans différents langages CEI.

Utiliser le simulateur pour valider le fonctionnement du programme.

1 Configuration du projet.

Ouvrez Unity Pro M et créez un nouveau projet; choisir un automate M-340 avec la référence de l'API de votre poste.

(43)

Faire apparaître le rack de l'automate, et y ajouter les différentes cartes d'E/S présentes sur votre rack :

16 E TOR : DDI1602 (position 1)

16 S TOR : DRA1605 (position 2)

4 E Ana (U/I) : AMI 0410 (position 3)

2 S Ana (U/I) : AMO0210 (position 4)

Enregistrez votre projet.

Dans le menu « Automate », choisissez « définir l'adresse » choisir USB comme accès à l'automate :

Votre projet est à présent configuré au niveau matériel et en ce qui concerne la communication avec l'automate.

192.168.0.169

(44)

2 Premier Programme SFC

Nous allons réaliser le grafcet suivant :

Rappelez le principe d'adressage CEI pour les API Schneider :

%I 0 . 1 . 3

Complétez la colonne « adresse » du tableau suivant :

Symbole Désignation Adresse

S1 Bouton poussoir 1

S2 Bouton poussoir 2

S3 Bouton poussoir 3

... ... ... ...

H3

H3

H4 H2

H1

H2

H1 E1

E2

E3

E4

E5

E6

E7 N

N

S

N

N

R

L t#5s

↑S1

S2 . I1 S2 . I1

S3

S4

S3

S4 S1 + S2

(45)

Saisir les mnémoniques (noms symboliques remplaçant les adresses) du tableau précédent dans le projet Unity :

Établir sur papier le Grafcet de l'application.

Saisir le Grafcet sur Unity en créant une nouvelle section de programme en langage SFC dans la tâche principale :

Note 1 : La saisie du grafcet se fait simplement à l'aide des icônes suivantes :

(46)

Note 3 : Pour associer une action à une étape, cliquez droit sur celle-ci, puis allez chercher la variable à activer – et cliquez sur « nouveau » :

Vous pouvez alors choisir le tytpe d'action : 'N' (normale), 'S' (Set), 'R' (Reset) etc...

(47)

- Créez une table d'animation des différentes entrées / sorties du système - Forcez les entrées de façon à faire évoluer le grafcet

- observez l'évolution des étapes du grafcet et vérifiez l'activation des différentes sorties sur la table d'animation.

3 Équations logiques en LD

Programmer les équations logiques suivantes :

H1 = S1 . S2 + S3 . S4

activation de H2 si I1 et S1

désactivation de H2 si I2 et S2

4 Compteur en FBD.

Réaliser un compteur / décompteur modulo 10 (0 à 9) : - Comptage des appuis sur S1

- Décomptage des appuis sur S2 - RAZ sur S3

- Préchargement à 10 sur S4 - H1 allumé si CV='0' - H2 allumé si CV='10'

5 Gestion des E/S analogiques en ST

Programmez le fonctionnement suivant :

- Les voyants H1 à H4 forment un vu-mètre pour l'entrée analogique 1, configurée en 0/10V ;

- La sortie analogique Am (configurée en 4-20 mA) fournit un courant proportionnel à la différence (absolue) entre P1 et P2 (configuré en 0/10V) : Am = ABS (P1 – P2)

(48)

TP A : Centrale Photovoltaïque

Partie A : ModBus RTU - Mise en œuvre de capteurs de Courant

1 Présentation

Une centrale photovoltaïque de production d'énergie électrique est supervisée par un réseau Modbus. Des capteurs de courant (Wago 789-620) relèvent les intensités de chaque chaîne de panneaux.

Un contrôleur Wago 750-849, disposant d'une carte RS-485 relève les intensités mesurées par chacun des capteurs.

Ethernet

Automate (Wago 750-849)

- Carte de communication RS-485 (750-653)

Modbus RTU (liaison RS485)

(49)

2 Préparation

Rappelez les caractéristiques de la couche physique RS-485, et les apports par rapport à la RS-232.

D'après la documentation du capteur (Wago 789-620), Indiquez quels doivent les positions des DIP-switchs pour chacun des capteurs.

Donnez les trames, sous forme hexadécimale, permettant de lire dans les capteurs.

Donnez le nombre de bits total échangés lors d'une question/réponse pour la lecture du courant.

Avec quel débit binaire (exprimé en Bauds, équivalent dans notre cas à des bits par secondes) communiquent ces capteurs ?

Déduire des deux réponse précédente la durée minimale nécessaire à une lecture.

Durée = [ Nombre total de bits échangés lors d'une question-réponse ] / [ Débit binaire ]

Note : Il existe en réalité des "temps morts" dans la communication, ce qui nous imposera de majorer le temps précédemment défini.

Sur combien de bits est codée une variable de type « REAL » ?

A combien de cases mémoires de type « WORD » cela correspond-il ?

Soient les variables I1, I2, I3 et I4 de type « REAL ». Proposez une déclaration pour ces quatre variables, de façon à ce qu’elles occupent dans le plan mémoire de l’API une zone la plus petite possible.

3 Cahier des charges

Le travail à réaliser consiste à créer une application sur le contrôleur Wago 750-849 permettant la lecture des courants délivrés par les capteurs de l'installation, et réaliser une interface graphique de visualisation qui doit permettre :

D'afficher la valeur du courant (en ampères) mesuré par chacun des capteurs

De représenter sur un graphe déroulant l'évolution des différents courants mesurés avec un historique de 20s

D'activer un voyant d'alarme si l'écart entre 2 courants est supérieur à 0,5A pendant plus de 15s (signifie qu'il y a un ombrage persistant sur un panneau solaire)

D'activer un second voyant d'alarme si le courant produit est inférieur à 3,5A en journée (entre 8h et 19h).

Ressources :

Documentation des capteurs de courant Wago 789-620

Aide sur l'utilisation du configurateur Modbus de CoDeSys

4 Manipulation

Créez un projet Codesys correctement configuré, avec les cartes d’E/S de la maquette utilisée.

Prendre connaissance du document d’aide sur l’utilisation du configurateur Modbus

En vous aidant de ce dernier, créez un programme capable de lire les valeurs des courants mesurés par les capteurs

Une fois le programme précédent validé, répondre aux différents points du cahier des charges

(50)

Partie B : ModBus TCP – Analyse de trames

5 Présentation

On se propose d'étudier la supervision du site de production d'énergie photovoltaïque, à travers le protocole Modbus TCP. L’API est relié à un réseau Ethernet. Nous allons réaliser une pré-étude en définissant les trames Modbus TCP qui pourront être utilisées pour la mise en place d'une supervision de ce système.

Nous utiliserons pour cela le logiciel libre "Modscan32", qui permet d’émettre des trames Modbus TCP et de recevoir les réponses correspondantes.

6 Présentation de Modscan32

Modscan 32 est un utilitaire gratuit permettant de simuler un client Modbus sur PC. Il peut s'avérer très utile (au même titre que d'autres logiciels équivalents) pour tester le matériel Modbus, valider les fonctions de communication lors de la mise en place d'un projet.

Écran principal :

(51)

Écran de connexion :

Menu « Connexion » → « Connect »

« Remote TCP/IP Server » pour Modbus TCP :

« Com 1...10 » pour modbus série (RTU notamment) :

(52)

« Setup » → « data definitions » pour choisir le type de requête de lecture :

« Setup » → « display options » pour choisir le format d'affichage :

7 Travail à réaliser

Pour afficher les

trames

(53)

Annexe : Capteur de courant Wago 789-620

(54)

TP B : Tri Postal

1 Présentation du système

La partie opérative à automatiser est un système de tri postal. Les colis sont identifiés par un numéro lu sur un QR-code, 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.

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,

(55)

Liste des entrées/sorties du système:

Description Nom Adr

Vérin (1) de poussée vers le poste de lecture (Action / Sortie) v_1A %QX4.8

Fin de course du vérin 1 (Capteur / Entrée) fc_1S1 %IX4.9

Vérin (2) de Tri vers le 1° bac (Action / Sortie) v_2A %QX4.9

Fin de course du vérin 2 (Capteur / Entrée) fc_2S1 %IX4.11

Vérin (3) de Tri vers le 2° bac (Action / Sortie) v_3A %QX4.10

Fin de course du vérin 3 (Capteur / Entrée) fc_3S1 %IX5.5

Mise en marche du convoyeur (Action / Sortie) MA %QX4.0

Arrêt d'urgence (Capteur / Entrée) AU %IX5.7

Détecteur IR : Présence Colis au poste de lecture de code SLC %IX4.12

Détecteur IR : Présence Colis au poste de chargement SPC %IX4.15

Détecteur IR : Le front descendant de ce détecteur indique la Présence d'un Colis en face du bac 1 SPE1 %IX4.13 Détecteur IR : Le front descendant de ce détecteur indique la Présence d'un Colis en face du bac 2 SPE2 %IX4.14

La partie commande comporte :

Contrôleur Wago 750-841 (FW12), adresse IP : 192.168.0.163, muni :

1 carte « coupleur ASi » : 750-655 (12 octets)

1 carte de laison série RS232 C pour la lecture de code-barre (non utilisée ici, mais à configurer néanmoins) : 750-650/0003-0000#05

2 Préparation

Établir sur papier le Grafcet de fonctionnement normal dans un programme nommé GP, comportant deux variables d'entrée booléennes nommée « Bac1 » et « Bac2 » validant respectivement l'aiguillage d’un colis vers le bac correspondant.

En utilisant les fonctions de traitement des chaînes de caractères, établir le logigramme en langage CFC permettant d’élaborer les booléens ‘Bac1’ et ‘Bac2’ à partir d’une variable ‘code’ de type STRING contenant l’adresse du destinataire du colis.

(56)

3 Lecture du QR Code

Le code QR est un type de code-barres en deux dimensions (ou code matriciel datamatrix) constitué de modules noirs disposés dans un carré à fond blanc. L'agencement de ces points définit l'information que contient le code.

QR (abréviation de Quick Response) signifie que le contenu du code peut être décodé rapidement après avoir été lu par un lecteur de code-barres, un téléphone mobile, un smartphone, ou encore une webcam. Son avantage est de pouvoir stocker plus d'informations qu'un code à barres 1, et surtout des données directement reconnues par des applications, permettant ainsi de déclencher facilement des actions (source : fr.wikipedia.org/wiki/Code_QR)

Caméra industrielle utilisée dans ce TP pour lire le QR Code : Sensopart FA46

Les colis transités par le convoyeur possèdent tous un QR Code qui décrit le code postal et la ville de destination.

Créez un nouveau projet correctement configuré, et déclarez les E/S en variable globales. (déclaration au niveau de la configuration de l’automate impossible car ces E/S sont gérées par un bus de communication)

Acquisition manuelle du QR code :

La caméra sensopart FA 46 diffuse le code acquis sur le port 2005. son adresse IP est 192.168.0.199.

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. Comparer avec le résultat que donne votre smartphone.

Acquisition automatique du QR Code :

(57)

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.

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

Paramétrez ce bloc de façon à récupérer le QR code.

Déclarez dans les variables globales du projet (onglet « ressources »), les capteurs et actionneurs ci-dessus, aux adresses CEI déterminées dans la préparation.

4 Programmation de la séquence de tri

Créez un sous programme « TRI » en langage SFC.

Déclarez les noms symboliques du tableau page 15 aux adresse adéquates déterminées à la question Q23) comme variables internes de votre sous programme, en utilisant la syntaxe suivante:

Définir les variables d'entrée de votre sous programme qui vont vous permettre de récupérer les valeurs booléennes relatives à l'aiguillage des colis générées en Q21).

Programmez le grafcet correspondant à la séquence de tri des colis, et synchronisez-le avec la séquence de lecture du QR code.

Appelez votre sous programme « TRI » depuis le programme principal, et reliez-le aux autres éléments.

Chargez votre programme dans le contrôleur et ajustez votre programme afin d'obtenir un fonctionnement acceptable (ajout d'étapes d'attente lorsque cela est nécessaire etc...)

5 Suivi des colis

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 :

(58)

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

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.

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

(59)

LP SARII, Parcours AS – TP d’automatisme

TP C : Traitement de Surface pour pièces métalliques

→ Reprises et sauts de séquences sur un grafcet

→ Opérations sur fronts

→ Programmation structurée avec variables globales

→ Gestion d'un module d'E/S déportées en Profibus

→ Mise en œuvre d'un pupitre tactile avec WInCC

1 Présentation du système

Partie Opérative :

L'objet de l'étude est la réplique d'un système de traitement de surface pour des pièces métalliques. Celles-ci doivent passer successivement à travers plusieurs bain pendant des durées déterminées afin de conférer des propriétés particulières (protection contre l'oxydation, résistance etc...).

Fig.

1 : Zone de

Chargement Zone de

Déchargement

Bac 1 Bac 2 Bac 3 Bac 4

Encoches pour la dépose des pièces

Crémaillère

motorisée pour la Chariot motorisé

(60)

La chaîne comporte 4 bains, une zone de départ comportant les pièces non traitées, une zone d'arrivée servant à stocker les pièces après leur traitement.

Le fonctionnement attendu est le suivant :

Après un appui sur « départ cycle » (Bouton poussoir S1), les pièces vont passer successivement dans les différents bacs :

15 s dans le bac n°1

20,5 secondes dans le bac n°2

17 secondes dans bac n°3

5 s secondes dans bac n°4

Pour éviter les risques de ballant, le démarrage et l'arrêt du chariot se font en petite vitesse lorsqu'une pièce est chargée. La zone correspondant à la petite vitesse autour d'un emplacement est délimitée par les capteurs d'approche.

Les autres déplacements horizontaux se font en grande vitesse.

Partie Commande :

La partie commande est basée sur une architecture Siemens bâtie autour d'un réseau Profibus DP. Elle comporte :

un API S7-315F 2PNDP (IP : 192.168.0.153) qui gère l'automatisation du système, à travers les entrées/sorties suivantes :

Nom : Adresse : Rôle :

HLIM %I4.1 Indique que le l'élévateur arrive en butée horizontale (gauche ou droite) LAPP %I4.3 Capteur d'approche gauche d'un emplacement

CTR %I4.4 Élévateur centré sur un emplacement RAPP %I4.5 Capteur d'approche droit d'un emplacement

VLIM %I4.6 Indique que l'élévateur arrive en butée arrive en butée verticale (haute ou basse) DCY %I4.7 Bouton poussoir « départ cycle »

MONTER %Q4.1 Commande de la montée de l'élévateur DESCENDRE %Q4.2 Commande de la descente de l'élévateur

GAUCHE %Q4.3 Commande du déplacement vers la gauche de l'élévateur DROITE %Q4.4 Commande du déplacement vers la droit de l'élévateur

RAPIDE %Q4.5 Commande la vitesse de déplacement rapide en combinaison avec 1 des 4 actions précédentes

ALARME %Q4.6 Alarme sonore signalant un défaut sur le système

un module d'entrées-sorties déportées ET200s chargé de gérer un pupitre opérateur destiné afficher le bac en cours de traitement. Celui-ci gère les sorties suivantes :

Nom : Adresse : Rôle :

(61)

Partie Relation :

Un pupitre tactile TP 177B (IP : 192.168.0.154) qui permettra d'afficher les durées écoulées pour chaque bain.

L'architecture globale du contrôle / commande de cette installation utilise un réseau Profibus DP à 1,5Mbps pour l'échange d'informations entre la CPU, les E/S déportées et l'IHM :

2 Préparation

Réalisez, sur papier, le grafcet correspondant à un traitement "un par un" des pièces, c'est à dire que chaque pièce est traitée de façon individuelle d'un bout à l'autre de la chaîne. Vous utiliserez un compteur afin de minimiser le nombre d'étapes de votre grafcet.

Recherchez sur internet les réponses aux questions suivantes concernant le protocole de communication Profibus :

Quelle est la couche physique la plus utilisée en profibus DP ?

Quels sont les débits binaires possibles en profibus DP ?

Combien d'équipements peuvent être reliés sur un réseau profibus DP ? Quels types d'équipements ?

Qu'est-ce qu'une station active ?

3 Programme d'Automatisation Programme d'Automatisation

Fonctionnement Normal :

Le fonctionnement normal fera appel aux blocs et fonctions suivants :

FB1 (CONT) : Sert à détecter le changement d'état d'un détecteur/bouton poussoir. Indispensable notamment car on dispose d'une seule information pour les fins de course « haut » et « bas » ainsi que pour

IHM

Adresse Profibus : 3

E/S déportées Adresse Profibus : 4 CPU (315F-2PN/DP)

Adresse Profibus : 2 (Maître) E/S déportées

Adresse Profibus : 4

IHM

Adresse Profibus : 3

(62)

OB1 (LOG): Tâche principale. Réalise l'appel des différents sous programmes précédents (et instancie les blocs de données associés).

Créez un projet TIA Portal. Définissez le matériel conformément au poste de TP.

Programmez ces différents blocs fonctionnels et testez leur fonctionnement. Pour FB2, bous devrez mettre en œuvre un compteur dans le GRAPH. Pour cela, consultez l'aide de s7-graph pour connaître la syntaxe permettant de programmer une fonction de comptage dans une action.

Module d'E/S déporté Profibus :

Un pupitre opérateur est relié à ce module. Il doit permettre à un opérateur distant du système de savoir dans quel bain est le pièce en cours de traitement. Le pupitre dispose donc d'un voyant par bain (H1, H2, H3 et H4). Lorsque la pièce est dans un bain, le voyant correspondant doit clignoter à une fréquence de 2 Hz.

Dans « appareils & Réseaux », ajoutez le module d'E/S déportées IM 151-1 HF avec les cartes correspondantes :

Paramétrez la liaison profibus suivante dans « appareils & réseaux » . Créez un réseau profibus DP. Cliquez sur les ports de communication MPI/DP et configurez-les en DP, puis reliez-les entre eux :

Réglez les adresses et débits donnés dans la présentation. Définissez la CPU comme maître sur la liaison.

Vérifiez que les adresses CEI des variables Bac_1 à Bac_4 correspondent bien à un module de sortie du module IM 151.

(63)

OB10 (SCL): Bloc d'alarme horaire

FB3 (CONT) : Traitement de l'interruption

Validez l'alarme horaire dans la configuration matérielle de la CPU, et configurez-là toute les minutes :

Créez et programmez le bloc OB10 en langage SCL. Celui-ci aura pour seul rôle d'activer la sortie ALARME pour signaler le passage dans OB1.

Un second bloc fonctionnel sera chargé de traiter cette interruption, de façon à répondre au fonctionnement suivant : - Au bout de 10s d'activation, l'alarme provoque l'arrêt du grafcet

- L'opérateur peut désactiver l'alarme en maintenant dcy enfoncé pendant 2s

Programmez le fonctionnement demandé en créant FB4.

4 Programmation de l'IHM Programmation de l'IHM

Cahier des Charges:

L'interface tactile disposera des pages suivantes :

- Vue 1 : Page d'accueil. Permet la navigation vers les vues «tempos » et «superv ».

- Vue 2 : « tempos ». Permet le réglage de la durée des 4 bains, entre 1s et 30s à l'aide de 4 curseurs.

(64)

- Vue 3 : « superv ». Affiche l'état des détecteurs du système ainsi que la durée écoulée dans le bain en cours.

Ajoutez l'IHM à votre projet (« Appareils & Réseaux ») et configurez sa liaison profibus conformément aux données de la présentation.

Utilisez l'assistant afin de définir l'arborescence de vos vues (Clic-Droit sur le pupitre opérateur puis

« Démarrer l'assistant Pupitres Opérateurs »…

(65)

Programmez la vue « tempos » puis compilez et testez son fonctionnement.

→ Aide : Pour créer un curseur lié à une variable, dans la fenêtre de droite « accessoires », partie « éléments » faire glisser un « curseur » sur votre vue, puis cliquez dessus :

Programmez la vue « superv» puis compilez et testez son fonctionnement.

→ Aide : Pour lier la couleur d'un objet à un booléen, dans la fenêtre de droite « accessoires », partie « Objets de base » faire glisser un « cercle » sur votre vue, puis cliquez dessus :

Références

Documents relatifs

Conformément à l’article 5.1 du Règlement financier du Compte spécial, l’utilisation des ressources du Compte spécial est décidée sur la base des

Dans sa lettre, l’Ambassadeur et Délégué permanent du Zimbabwe a rappelé l’accord qui avait été conclu entre le groupe électoral IV et le groupe électoral V(a) au

Création d’un organe consultatif chargé d’examiner en 2011 les candidatures pour inscription sur la Liste du patrimoine culturel immatériel nécessitant une sauvegarde urgente,

Le Comité peut également autoriser des organisations intergouvernementales autres que celles mentionnées à l’article 8.2, les organismes publics ou privés ainsi que les

Commentaires de l’examinateur sur la conformité de la candidature avec le critère U.5 L’examinateur doit indiquer si l’État soumissionnaire a démontré de manière appropriée

L’Organe subsidiaire soumet au Comité un rapport d’examen comprenant l’analyse de la conformité des candidatures avec les critères requis (paragraphe 25) et

L’examinateur doit indiquer si l’assistance vise à développer ou à renforcer des capacités dans le domaine de la sauvegarde du patrimoine culturel immatériel (paragraphe 67.f

Est chargé d’examiner les candidatures pour inscription sur la Liste de sauvegarde urgente, les propositions pour le registre de pratiques et les