Généralités

Description des méthodes de contrôle, de communication, des points commun entre les différents modules, etc

 

Les projets PLC

Le contrôle du spectro et de la tête de fibres est fait dans 2 boitiers WAGO possédant chacun une PLC CX8090 Beckhoff avec son bus.

Il y a un projet par PLC:

  1. CoralieSpectro_X.Y.pro
  2. CoralieTeteDeFibres_X.Y.pro

 

Chaque PLC possède son propre programme MAIN

Le MAIN

D'une construction identique pour les 2 projets, chaque MAIN gère l'arrêt d'urgence, et lance successivement chacun des programmes qui contrôle un mécanisme.

L'arret d'urgence

C'est un simple flag qui est levé lorsque le bouton d'urgence (à l'intérieur des boitiers) est pressé. Il est pris en considération par les programmes contrôlant un moteur.

Si le flag est activé, l'asservissement du moteur est arrêté et la consigne en tension est mise à zéro. Cet arrêt d'urgence est utile essentiellement en mode développement.

Les programmes

Un programme par mécanisme.

Lors du développement, on construit un programme après l'autre avec la possibilité de les commenter ou non.

Chaque programme utilise un zone de mémoire pour la communication modus.

Il est impératif:

  1. que les adresses de la zone mémoire soient définies correctement (identiques) dans le POU et dans le fichier include libspePLC.h.
  2. que la définition des éléments en mémoire (les %M) respectent en type et en séquence la structure CommStruct.

En cas de modification de la structure CommStruct, tout les POU doivent être modifiés.

 

Base des Algorithmes


Tout les programmes suivent a peu près le même cheminement:

Conditions de demarrage (AND):

  1. Le flag MbRunning vaut 1 (variable running coté C)
  2. La consigne est différente de la position courante
  3. Pas d'arrêt d'urgence

 

Conditions d'arrêt (OR):

  1. Le flag MbRunning vaut 0
  2. La position courante est égale à la consigne
  3. Arrêt d'urgence

 

Le flag MbRunning passe à zéro dans les cas suivants:

  1. Le timer déclenche un timeout
  2. La position courante est égale à la consigne (redondance avec le point 2 ci-dessus)
  3. Détection d'un warning sur un moteur (uniquement pour EntryShutter)

 

En general:

Lors de la première itération le timer est démarré.

Le sens de rotation est déterminé

La tension du moteur est calculée (asservissement proportionnel) ou fixé pour les mouvement sans codeur.

Les condition d'arrêt sont vérifiées (position, timer, warning)

 

 

 


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