Vous êtes ici : Accueil / TECHNICAL PAGES / Documentation / Missions / 2010..2014 / 2014-04-00 - Jouvence Rack Coralie / Marche à suivre BECKHOFF / Manuel: Prise en main d'un automate Beckhoff BC9120

Manuel: Prise en main d'un automate Beckhoff BC9120

Automate Beckhoff

Image titre

1. Installation Soft

L'installation se fait à l'aide du CD Beckhoff. Installer TwinCAT System Manager et TwinCAT PLC Control.

2. Montage des éléments (Terminaux)

Les différents terminaux s'enfichent les uns après les autres, il faut différencier les terminaux fonctionnant  24V et 5V en disposant un terminal KL9505 entre les deux. L'automate programmable Beckhoff doit toujours se terminer par un terminal de fin (KL9010).

Alimenter la PLC à l'aide d'une alimentation +24VDC (voir image) et ponter la borne KL9XXX.

Lors de la configuration de la PLC à l'aide de Twincat Manager, il faut mettre uniquement les Switch DIP 09-10 sur ON.
Lors de la mise en réseau de la PLC sur glspc19, choisir une adresse à l'aide des 8 premiers Switch DIP + DIP10=ON

Alimentation du PLC 9120

DIP switch 1-8 modifies the last byte of the IP address (red DIP switch in the image below). DIP switch 9-10 selects the IP address mode (blue DIP switch in the image below).

Switch DIP

Switch DIP 9&10

3. Reconnaissance des Terminaux dans TwinCAT System Manager

Lors de la configuration des différents éléments, il faut se mettre en « Config Mode »,

c’est à dire cliquer sur l’icône « Mettre/remettre sur zéro TwinCAT en mode configuration (SHIFT F4) »

Configuration SYSTEME -> choisir système cible

  • Rechercher [Ethernet]
  • Sélectionner la bonne adresse

Configuration E/S -> Périphérique -> Lecture périphériques...

  • Message d'alerte, Ok, Ok, Oui

A ce moment là, nous avons deux périphériques, BX-BK et BC9210.

Dans le périphérique BX-BK est apparut BX Kbus-Device dans lequel on trouve les différents éléments Hardware.

Attention: La lecture est imprécise, il faut vérifier chaque élément (physique) 
et le comparer avec le résultat obtenu dans BX-Kbus-Device. Si nécessaire, 
il faut effacer les bornes ne concordant pas et "insérer borne avant..." en choisissant la borne.

Il y à trois modes de fonctionnement possible:

  • Mode de configuration (Config Mode)
  • Mode de course           (Libre Free Run)
  • Mode d'exécution         (R Time)

Le Mode de configuration: Ce mode sert à la configuration du PLC. Il est utile lors d'ajout ou de changement de borne et tout ce qui touche à la configuration. Raccourci SHIFT-F4

Le Mode de course: La petite icône "Commuter état course libre" ou CTRL-F5, permet de communiquer et commander les différentes I/O. Il permet entre autre de commander un moteur, configurer une entrée à 1 ou même visualiser un capteur de proximité à l'aide d'un graphique dynamique.

Le Mode d'exécution (temps réel): est activé si l'on désir contrôler la PLC par un programme (TwinCAT PLC Control)

4. Configuration & Création du programme dans TwinCAT PLC Control

TwinCAT PLC Control est un éditeur permettant la communication avec la PLC. Il y à plusieurs langages à dispositions:

Liste des langages programmation

Nous avons commencé notre projet avec LD (Logique à contact), mais son utilisation est limitée et ne permet apparemment pas de contrôler un moteur. Nous nous sommes donc tournés vers le langage ST (Structured Text), qui ressemble au langage Pascal.

Créer un programme en ST

  1. Fichier -> New
  2. Choose Target System Type -> Bcxx50 or BX via AMS
  3. Name of the POU -> Entrer le nom du programme et cocher ST

Ensuite, dans la barre des outils, cliquer sur Online -> Choose Run-Time System et choisir la bonne adresse et le bon port de communication.

Nous avons donc une fenêtre divisée horizontalement en deux. La partie du haut sert de définition des différentes variables et la partie du bas est réservée aux différentes boucles et autre du programme.

Les adresses libres de notre PLC sont comprises entre 0x4000 et 0x4FFF. Ce qui signifie 2048 mots de 16 bits.

Définition des variables dans TwinCAT PLC Control

Afin de communiquer avec la PLC, il est nécessaire de définir les variables de la manière suivantes :

  • IX: Les entrée que l'on mappe avec la PLC
  • QX: Les sorties que l'on mappe avec la PLC
  • MX: Les variables que l'on peut allouer dans une certaine mémoire.

Exemple:

Exemple programme ST PLC Control

Compiler le projet afin de créer un fichier .PRX que l'on va utiliser avec TwinCAT System Manager.

5. Mapping des I/O entre la PLC et le programme

Retourner dans TwinCAT Sytem Manager, et, dans l'arbre à gauche, clic droit sur: -> Configuration API -> Ajouter projet API et sélectionner votre projet.

Imaginons que l'on aie assigné la sortie "Out1 AT %QX0.0 : BOOL;" , et que l'on veut gérer une sortie digitale de l'automate. Il faut cliquer droit sur la sortie et dans l'onglet "Variable", cliquer sur "Lien avec... " et sélectionner la variable. Enregistrer.

Cliquer alors sur l’icône -> Générer mappage

puis -> Vérifier configuration, puis -> Activer configuration. La PLC va alors se mettre en mode RTime.

6. Création d'un Bootproject

Lorsque l'on désalimente et réalimente la PLC, on veut que la PLC se mette en mode RUN et que le programme se mette à tourner automatiquement. Pour ce faire, il faut simplement aller dans l'onglet :

Online -> Create Bootproject

C'est le dernier pas avant d'avoir une PLC totalement autonome. Ceci fait, on peut théoriquement débrancher l'automate, se remettre sur l'ordinateur Beckhoff et communiquer avec ses entrées sorties.

7. Run du programme

Cliquer sur Online puis Login. Cliquer une deuxième fois sur Online puis Run. Le programme tourne alors en permanence en boucle du début à sa toute fin.

8. Projet Coralie

8.1 Adressage mémoire des éléments

Le tableau suivant illustre les éléments (terminaux) physiques de la PLC, leurs fonctions "FCT" ainsi que la mémoire allouée pour chaque fonction.

Nous avons la borne n°2, c'est un terminal KL2532 utilisé pour le contrôle du Volet de fermeture.
L'adressage %MB0 se trouvant à 0x4000 sera alors mappé avec Ctrl du terminal numéro 2.

BC9120

Mémoire
FCT
Mém. hexa.
n°1
KL2532

%MB0

%MB4

%MW2

%MW6

VF

AC

0x4000

0x4002

0x4001

0x4003

2
KL2532

%MB8

%MB12

%MW10

%MW14

MC

DM

0x4004

0x4006

0x4005

0x4007

3
KL2532

%MB16

%MB20

%MW18

%MW22

ADC

ADC

0x4008

0x4010

0x4009

0x4011

4
KL2532

%MB24

%MB28

%MW26

%MW30

AV

AV

0x4012

0x4014

0x4013

0x4015

5
KL1352





6
KL1352





7
KL1352





8
KL1352





9
KL1352





10
KL4032





11
KL3002





12
KL9505





13
KL1124





14
KL1124





15
KL1124





167
KL1124





17
KL1124





18
KL1124





19
KL9010






8. Annexe

8.1 Mémoire de la PLC

La PLC met à disposition 2048 registres que l'on va pouvoir allouer et manipuler en utilisant Python. Dans un registre il peut y avoir:

Structure mémoire PLC

Important
  • Lorsque la PLC est mise hors tension, toutes les valeurs des registres sont remises à zéro.
  • On peut assigner un bit sur un Byte ou un Word existant.

Exemple:

Exemple Adressage mémoire

Il n'est pas possible d'assigner un mot impaire.

8.2 Lecture de la mémoire avec Python

On a vu que la mémoire d'un seul registre était la aleur décimal de ses 16bits. La commande client.read_input_registers du module pymodbus de Python, nous permet de lire les registres de la PLC.

a = Client.read_input_registers(0x4000,1,unit=0)
a.registers

Si on écrit 2 dans la commande, a.registers retourne un vecteur avec les valeurs des adresses[0x4000, 0x4001]. Il est donc possible de lire plusieurs adresses à la fois.

Exemple: %MW56 :UINT := 123 ; la conversion hexadécimal de 56 égale 1C . Donc:

a = Client.read_input_registers(0x401C,1,unit=0)
a.registers ->retourne 123

 

8.3 Problèmes

Problème 1

Lorsque l'on effectue un Bootproject, et que l'on veut passer au Mode de configuration du PLC System Manager, la sortie du KL2532 se met automatiquement en marche. Le moteur se met donc à tourner même si cela n'est pas désiré. Les capteurs inductifs n'ont aucune influence.

Problème Bootproject -> Config Mod

Le mode Config Mode n'est alors pas utilisable. Et on ne peut plus jouer avec les entrées sorties pour les mettres à 0. => DANGER

Solution 1.0: Lorsque l'on créé un Bootproject, la PLC va redémarrer à chaque reboot. Lors de changement, il suffit de faire Delete Bootproject

Problème 2

Lorsque l'on connect la PLC pour la première fois sur le réseau de la Silla, impossible de communiquer avec cette dernière. La PLC est connectée avec un Câble Ethernet sur L107.2 et le PC sur L107.3 de la salle de contrôle.

Solution 2.0: La PLC doit être configurée avec tous les switch DIP sur OFF sauf le switch 10. Il faut alors attendre que la PLC se configure avant de choisir le système cible dans TwinCAT System Manager.

Documents
Actualités
Dimanche 12/12 07/01/2022
Lundi 13/12 07/01/2022
Mercredi 15/12 02/01/2022
Vendredi 17/12 16/12/2021
Jeudi 16/12 16/12/2021