Procédé

Tutoriel - Lina Procédé - 05/2024

5.3 Les séquences

5.3.1 Séquences dans l’API pour gérer le procédé

La liste des séquences présentes dans l’automate et liées à la gestion de procédé sont :

  1. FC560 Sauvegarde de programme ;
  2. FC562 Programme en cours ;
  3. FC564 Récupération de programme ;
  4. FC566 Demande de Sauvegarde de Tous les Programmes.

5.3.2 Séquence : Programme en cours

Figure 67 : séquence maître Procédé

La séquence maître Procédé FC562 est soumise aux demandes de procédé et gère le lancement des séquences process :

  1. Conditions initiales : Permet de contrôler que la machine est prête à être lancée ;
  2. Process : Exécute le prog en mode recettage c’est-à-dire un grafcet avec les types d’opération en parallèle ;
  3. Arrêt machine : Permet de mettre en sécurité la machine en cas de fin de programme ou d’annulation.

Les autres séquences 560, 564 et 566 sont indépendantes au process.

5.3.3 FC560 – Séquence de sauvegarde de programme

La liste des fonctions :

  1. Sauvegarde
  2. Vidage

Le fonctionnement :

Figure 68 : sauver le programme

Lorsque l’API reçoit une demande de sauvegarde par Lina, il va stocker le programme à sauvegarder dans un DB de stockage en fonction du code communiqué.
Une demande de sauvegarde s’enclenche :

  • Lors d’une demande de lancement de programme ;
  • Lors d’une modification d’un programme dans les menus Lina.

Une fois la demande traitée l’automate renvoie une réponse de sauvegarde effectuée. Lina demande à l’automate de vidanger le DB de tampon.
L’automate réinitialise alors la zone tampon puis informe ensuite LINA qu’il a terminé.

Les variables utilisées :

Figure 69 : ordre lors de sauver prog

Le grafcet SEQ_SAUV_PROG :

Figure 70 : G7 SEQ_SAUV_PROG

5.3.4 FC562 – Séquence de gestion prog en cours

La liste des fonctions :

  1. Lancement ;
  2. Départ différé ;
  3. Modification en cours ;
  4. Demande annulation ;
  5. Gestion des états ;
  6. Saut d’étape ;
  7. Reprise.

Le fonctionnement :

Figure 71 : seq prog en cours

Demande de lancement en départ direct ou différé :
Lorsque l’utilisateur lance le départ d’un programme à partir de Lina, voici ce qui est transmis à l’automate :

  1. Le code programme sélection ;
  2. Le d’étape au démarrage ;
  3. La demande de lancement ;
  4. La confirmation de demande de lancement.

Une fois que l’automate reçoit l’information qu’une demande de lancement a été effectuée et validée, le programme va comparer le code du programme sélectionné dans le but de l’identifier. Cela lui permet ensuite de connaître l’identité du programme et de savoir dans quel DB de stockage il est stocké.

L’automate doit alors affecter le programme contenu dans le DB de stockage dans le DB de programme en cours et réinitialiser les données d’échanges.

Il existe deux types de départ, le départ direct et le départ différé. Si l’opérateur choisi un départ différé, le mois, le jour, l’heure et la minute de départ seront communiqués à l’automate qui stocke les informations dans le DB de paramètre du programme en cours. Il n’y a plus qu’à attendre que l’heure du départ soit similaire à l’heure de l’automate pour lancer le programme.

Il est important de noter qu’à chaque demande de lancement d’un programme, Lina envoie une demande de sauvegarde à l’automate.
Attention : État de l’équipement doit être à 0 pour que ce mode fonctionne !

Modifications en cours :
À chaque modification du programme en cours par l’utilisateur, LINA envoie le programme dans la zone tampon puis informe l’automate d’une modification en activant la demande de modification.
La CPU traite la demande en copiant le programme du DB tampon dans le DB de programme en cours puis informe Lina qu’il a terminé en activant la réponse de modification.
Une demande de vidange est automatiquement envoyée et traitée pour vider le DB tampon.

Attention : Il est important de noter que lors d’une modification en cours sur un programme en attente de départ dans le cas d’un départ différé, une mise à jour des données de départ (heure, jour, mois, minute) est à faire dans le DB de paramètre !

Une modification de programme en cours n’est JAMAIS sauvegardée dans les DB de stockage de programme.

Annulation d’un programme en cours :
Si l’utilisateur fait une demande d’annulation d’un programme en cours ou en attente de départ, Lina envoie une demande d’arrêt à l’automate qui doit la réinitialiser.
Il doit ensuite vider le DB de programme en cours.

Gestion des états du programme en cours :
Lorsqu’un programme est en cours, l’automate doit remonter à Lina son évolution par l’intermédiaire des données d’état : équipement et étapes.
L’état équipement est automatiquement mis à 1 ce qui bloque toutes nouvelles demandes de lancement car le process est considéré comme occupé. L’évolution des étapes se fait tout au long du programme en cours. La séquence de gestion de programme en cours doit constamment aller demander à la séquence process son état afin de suivre et de communiquer en temps réel l’évolution du programme lancé.
Une fois le programme terminé, les deux variables sont remises à 0.

Saut d’étape :
Si une demande de saut d’étape est émise par l’utilisateur, Lina doit alors communiquer à l’automate l’étape dans laquelle aller. Une confirmation de la demande est mise à 1 par le logiciel et l’automate après avoir traité la demande doit alors remettre à 0 les données d’échanges liées à la demande.

Reprise :
Si une demande de reprise est émise par l’utilisateur, Lina doit alors communiquer à l’automate l’étape dans laquelle redémarrer le programme. Une fois que l’automate reçoit cette information, il répond à Lina qu’il a bien reçu la demande. Une demande de vidage du DB tampon est alors effectuée par Lina (À voir dans le futur).

Les variables utilisées :

Figure 72 : Sauver, Lancer, Démarrer, Etats, Saut

Les données sont réparties ainsi :

  1. La modification de programme ;
  2. Reprise du programme ;
  3. Lancement / annulation d’un programme en cours ;
  4. Démarrage/départ différé ;
  5. Suivi des états ;
  6. Saut d’étape.

Le grafcet SEQ_PROG_EN_COURS :

Figure 73 : G7 SEQ_PROG_EN_COURS étape 0

Figure 74 : G7 SEQ_PROG_EN_COURS étape 500

Figure 75 : G7 SEQ_PROG_EN_COURS étape 1130

Figure 76 : G7 SEQ_PROG_EN_COURS étape 2030

Figure 77 : G7 SEQ_PROG_EN_COURS étape 5040

Figure 78 : G7 SEQ_PROG_EN_COURS étape 9040

5.3.5 FC564 – Séquence de récupération de prog

La liste des fonctions : Récupération de programme
Le fonctionnement :

Figure 79 : seq récupération prog

Le but d’une récupération de programme est de charger un nouveau programme ou les modifications d’un, déjà existant, dans Lina à partir de l’IHM. La demande ne peut donc pas être faite à partir de Lina.
Une fois que la séquence reçoit un code de programme à récupérer, l’automate doit recopier dans le DB de récupération, le programme à envoyer à Lina en fonction du code reçu. Il doit ensuite envoyer à Lina une demande de récupération qui sera remise à zéro par le logiciel, une fois celle-ci traitée.
L’automate vide alors le code et le DB de récupération.

Les variables utilisées :

Figure 80 : var recup prog

Le grafcet SEQ_RECUP_PROG :

Figure 81 : G7 SEQ_RECUP_PROG

5.3.6 FC566 – Séquence DMD pour sauver tout prog

La séquence de demande de sauvegarde de tous les programmes comprend :
La liste des fonctions : Sauvegarde de tous les programmes dans l’automate
Le fonctionnement :

Figure 82 : seq dmd sauve progs

Cette partie autorise Lina à envoyer l’intégralité des programmes contenus dans sa base dans les DB de stockage de l’automate. Pour cela, il doit mettre à 1 la demande de sauvegarde de tous les programmes. Lina la remet ensuite à 0 une fois la demande prise en compte.
Lina exécute en boucle le processus de sauvegarde puis de vidage jusqu’au dernier programme en mémoire.
Attention : cette tâche est exécutée en prenant le programme dans l’ordre alphanumérique des noms des programmes !

Les variables utilisées :

Figure 83 : var sauve tout

Le grafcet SEQ_DSTP : Demande de Sauvegarde de Tous les Programmes

Figure 84 : G7 SEQ_DSTP

5.3.7 La séquence de remontée des données