Chargement de la progression locale…
PLC Gym
Accueil PLC GymNiveau 1, 0 XP · ta progression
Mission 82 · PRO (nécessite Pro)

Exercice : Demande avant ce qui est irréversible: programmation d’IHM pour automate

Ne demande confirmation que pour ce qui ne peut pas être annulé, et dis ce qui va se passer.

Fais en sorte que Abort sur l'écran du réacteur demande d'abord, dans une question que personne ne peut mal lire, pendant que Hold et Restart agissent toujours tout de suite. Écris la partie automate de la question : l'ouvrir, attendre 10 s une réponse, et n'abandonner que sur un nouveau Confirm.

Cette mission fait partie de ProCrée un compte gratuit : chaque compte a un essai Pro gratuit jusqu'au 5 décembre.

Sans carte bancaire. Rien à payer. Rien à annuler.

Official release: 5 December. Prends la tête du classement ce jour-là et gagne 3 mois de Pro, plus 2 semaines de Pro à offrir à un ami. La 2e place gagne 4 semaines. La 3e place gagne 2 semaines. Règlement

  • Toutes les leçons, depuis zéro
  • Toutes les missions et leçons, au fil de ta montée de niveau
  • Un test pratique pour chaque titre, avec un certificat
  • Rembobine n'importe quel test, un cycle à la fois
  • Des solutions commentées quand tu es bloqué
  • Le convertisseur de code, autant que tu veux
Le commande de réacteur discontinu 3D sur lequel tourne cette missionPRO (nécessite Pro) mission
Comment le test se déroule

Abort demande, puis agit sur Confirm

Test 1 sur 5
Réglé par le testVérifié par le testPas 6 sur 6 · 760 ms
Level
Avancé
Durée
À propos 30 min
Récompense
+600 XP
Installation
commande de réacteur discontinu en 3D
Éditeurs Siemens
Schéma à contacts (CONT), SCL
Éditeurs Rockwell
Schéma à contacts, Texte structuré
Éditeurs Beckhoff
Texte structuré
Étape
41. Écrans opérateur 4 : demander avant l’irréversible
Comportement exigé

Demande avant ce qui est irréversible: ce que ton code doit faire

La commande de lot est écrite ; elle abandonne quand AbortCmd est ON. Abandonner jette le lot. Dans l'onglet Écran opérateur, choisis quels boutons demandent d'abord, ce que dit la question, ce que disent ses boutons et où se trouve le bouton de confirmation. Puis écris la question en haut du programme. Un appui sur AbortRequest en En marche ou Suspendu (State 10 ou 20) l'ouvre : ConfirmPending ON. Tant qu'elle est ouverte, Cancel, 10 s sans réponse, ou le lot qui quitte State 10 et 20 la ferme. Un nouvel appui sur Confirm pendant qu'elle est ouverte met AbortCmd à 1 pendant un cycle et la ferme. Un Confirm déjà maintenu quand la question s'est ouverte ne compte pas, et Confirm sans question ouverte ne fait rien. RunLamp, HeldLamp et AbortLamp montrent le résultat.

Ouvrir
Un appui sur AbortRequest en State 10 ou 20 met ConfirmPending à 1.
Fermer
Cancel, 10 s sans réponse, ou le changement d'état met ConfirmPending à 0.
Abort
Un nouvel appui sur Confirm pendant ConfirmPending met AbortCmd à 1 pendant un cycle.
Table des variables

Demande avant ce qui est irréversible: entrées et sorties

Ton programme lit 11 entrées et pilote 11 sorties. Une entrée de plus pilote la simulation ou affiche une mesure, pour que tu puisses tester. Les noms sont les mêmes dans l'éditeur de chaque constructeur.

VariableType de donnéesTon codeCe que ça signifie sur la machine
StartBOOLLitUne entrée dont ton code a besoinLancer un lot
HoldBOOLLitUne entrée dont ton code a besoinMettre le lot en attente
RestartBOOLLitUne entrée dont ton code a besoinRedémarrer un lot en attente
ResetBOOLLitUne entrée dont ton code a besoinRéinitialiser à Idle
ChargeFlowREALLitUne entrée dont ton code a besoinDébitmètre de charge, L/s
LevelREALLitUne entrée dont ton code a besoinContenu, L
TempREALLitUne entrée dont ton code a besoinTempérature du lot, °C
AgitatorRunningBOOLLitUne entrée dont ton code a besoinAgitateur à vitesse
AbortRequestBOOLLitUne entrée dont ton code a besoinBouton d'écran : Abort, qui demande d'abord
ConfirmBOOLLitUne entrée dont ton code a besoinBouton d'écran : confirmer dans la question
CancelBOOLLitUne entrée dont ton code a besoinBouton d'écran : annuler dans la question
CoolingFailBOOLPas nécessairePour tester ou observer ; ton code peut s'en passerEssaie : l'eau de refroidissement manque
ValveABOOLÉcritUne sortie que ton code commandeCharger depuis le bac A
ValveBBOOLÉcritUne sortie que ton code commandeCharger depuis le bac B
AgitatorBOOLÉcritUne sortie que ton code commandeFaire tourner l'agitateur
SteamBOOLÉcritUne sortie que ton code commandeVapeur vers la double enveloppe
CoolingBOOLÉcritUne sortie que ton code commandeEau de refroidissement vers la double enveloppe
DrainBOOLÉcritUne sortie que ton code commandeVanne de sortie du fond
RunLampBOOLÉcritUne sortie que ton code commandeColonne d'état : Running
HeldLampBOOLÉcritUne sortie que ton code commandeColonne d'état : Held
AbortLampBOOLÉcritUne sortie que ton code commandeColonne d'état : Aborted
CompleteLampBOOLÉcritUne sortie que ton code commandeColonne d'état : Complete
ConfirmPendingBOOLÉcritUne sortie que ton code commandeÉcran : afficher la question d'abandon

En Siemens SCL, écris les variables propres à un bloc avec # devant, comme le fait TIA Portal : #Start. Rockwell et TwinCAT utilise le nom seul : Start.

Tests automatiques

Demande avant ce qui est irréversible: ce que vérifient les tests

  1. Seul Abort demande avant d'agir ; Hold et Restart agissent tout de suite.
  2. La question dit ce qui sera perdu, avec des boutons qui disent ce qu'ils font, loin de l'endroit où se trouvait Abort.
  3. AbortRequest en En marche ou Suspendu ouvre la question : ConfirmPending ON, lot intact.
  4. Un nouveau Confirm dans les 10 s abandonne le lot : AbortLamp ON, ConfirmPending OFF.
  5. Cancel, ou 10 s sans réponse, ferme la question et le lot continue.
  6. Confirm sans question ouverte, ou maintenu d'avant, ne fait rien.
  1. Essaie Utilise les boutons sous le modèle et regarde l'installation réagir.
  2. Tester la solution Toutes les vérifications tournent sur ton code en un seul clic.
  3. Rembobiner PRO (nécessite Pro) Si l'une échoue, reviens en arrière cycle par cycle pour voir pourquoi.

Bloqué sur cette mission ? Demande aux membres dans le Vestiaire.

Pourquoi c'est important

Où tu verrais ça sur le terrain

Un réacteur discontinu qui fabrique un produit chimique de spécialité contient une journée de production qui vaut des milliers. Son écran opérateur est sur un pupitre tactile près de la cuve, utilisé avec des gants.

Un seul appui accidentel sur un Abort qui agit tout de suite envoie tout un lot à la poubelle, et c'est irréversible.

Où tu trouverais çaFabriquer le lot, garder la réaction bien en main et s'arrêter en sécurité à tout instant

Les usines de lots chimiques, pharmaceutiques et alimentaires suivent des recettes par phases. Les opérateurs peuvent mettre un lot en attente et le relancer, ou l'abandonner ; l'automate doit savoir exactement ce qui est sûr dans chaque état. Certaines réactions dégagent de la chaleur, et si le refroidissement prend du retard, elles s'emballent.

  1. ChargementA, puis B
  2. Réagir80 °C pendant 30 sTu es ici
  3. RefroidirJusqu'à 40 °C
  4. RefoulementVers le récepteur
Sur un vrai site : lieux, pièces et sécurité
  • Produits chimiques de spécialité et résines
  • Suites de lots pharmaceutiques et biotechnologiques
  • Ingrédients alimentaires et arômes

Des réactions emballées ont provoqué des catastrophes comme Seveso (1976) et T2 Laboratories (2007). Les vrais réacteurs ont des déclenchements indépendants de température haute et des systèmes de décharge.

L'ISA-88 définit le modèle d'états utilisé ici, pour que les opérateurs partout sachent ce que veulent dire Hold et Abort.

Les tailles, les temps et les vues en coupe sont des choix pédagogiques, pas le plan d'une installation réelle précise.

Continue

Prochaine étape sur la route