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

Exercice : Un seul écran pour toute l'usine: formation SCADA pour automate

Quatre postes signalent chacun un état, et la vue d'ensemble dit lequel a besoin de toi.

Donne à la salle de contrôle un seul écran sur toute l'usine. Écris un état pour chacun des quatre postes, la raison pour laquelle la ligne attend, un état pour l'installation et un compteur d'arrêts de ligne. Puis choisis ce qui mérite une place dans la vue d'ensemble.

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 usine modèle 3D sur lequel tourne cette missionPRO (nécessite Pro) mission
Comment le test se déroule

Démarrage : attente, puis marche

Test 1 sur 4
Réglé par le testVérifié par le testPas 13 sur 13 · 31.5 s
Level
Avancé
Durée
À propos 40 min
Récompense
+650 XP
Installation
usine modèle en 3D
Éditeurs Siemens
Schéma à contacts (CONT), SCL
Éditeurs Rockwell
Schéma à contacts, Texte structuré
Éditeurs Beckhoff
Texte structuré
Étape
43. SCADA 1 : un écran pour toute l’installation
Comportement exigé

Un seul écran pour toute l'usine: ce que ton code doit faire

La commande de l'installation est écrite et fonctionne. Une vue d'ensemble SCADA lit quelques variables de chaque poste, donc chaque poste rapporte de la même façon : 0 Off, 1 Running, 2 Waiting, 3 Fault. UtilStatus : 3 tant que CompressorFault est actif ; sinon 0 sauf si Utilities est actif ; 2 tant que AirPressure ou SteamPressure est sous 6,0 bar ; sinon 1. BatchStatus : 0 sauf si Run est actif ; 2 tant que Step vaut 0, quand le réservoir tampon en a assez ; sinon 1. LineStatus : 0 sauf si Run est actif ; 1 tant que LineRun est actif ; sinon 2. LineReason dit pourquoi la ligne attend : 1 air bas (AirPressure sous 5,5 bar), sinon 2 paquets accumulés (AccumFull est actif). Écris 0 chaque fois que la ligne n'attend pas. PackStatus : 3 tant que CellTrip est actif ; sinon 1 tant que Run est actif ; sinon 0. PlantStatus met les pires nouvelles en premier : 4 arrêt d'urgence (State 30) ; sinon 3 si un poste est en Fault ; sinon 2 démarrage (State 10) ; sinon 1 en marche (State 20) ; sinon 0 arrêté. LineStops compte combien de fois la ligne a dû attendre : ajoute 1 chaque fois que LineStatus devient 2. Dans l'onglet Écran opérateur, choisis ce que la vue d'ensemble montre, comment elle dit un état, si elle dit pourquoi, et l'ordre des postes.

États
0 Off, 1 Running, 2 Waiting, 3 Fault, pareil pour les quatre.
Raison de la ligne
1 air bas, 2 colis accumulés, 0 pas d'attente.
Installation
4 arrêt d'urgence, 3 défaut, 2 démarrage, 1 marche, 0 arrêt.
Arrêts de ligne
Ajoute 1 chaque fois que LineStatus devient 2.
Table des variables

Un seul écran pour toute l'usine: entrées et sorties

Ton programme lit 18 entrées et pilote 23 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 besoinDémarrer l'usine
StopBOOLLitUne entrée dont ton code a besoinArrêter l'usine là où elle est
ResetBOOLLitUne entrée dont ton code a besoinRéarmer après un arrêt d'urgence ou un déclenchement du rideau lumineux
EStopBOOLLitUne entrée dont ton code a besoinArrêt d'urgence enfoncé
CompressorFaultBOOLLitUne entrée dont ton code a besoinEssaie : le compresseur déclenche
AirPressureREALLitUne entrée dont ton code a besoinPression du réservoir d'air, bar
SteamPressureREALLitUne entrée dont ton code a besoinPression de vapeur de la chaudière, bar
VesselLevelREALLitUne entrée dont ton code a besoinNiveau de la cuve de mélange, %
VesselTempREALLitUne entrée dont ton code a besoinTempérature du lot, °C
SugarAddedREALLitUne entrée dont ton code a besoinSucre ajouté à ce lot par le doseur pondéral, kg
BufferLevelREALLitUne entrée dont ton code a besoinNiveau du bac tampon de la remplisseuse, %
BadBottleBOOLLitUne entrée dont ton code a besoinCaméra : une bouteille sans étiquette passe
GateEyeBOOLLitUne entrée dont ton code a besoinUne bouteille est devant la porte de rejet
AccumFullBOOLLitUne entrée dont ton code a besoinTrois packs attendent le robot
CurtainClearBOOLLitUne entrée dont ton code a besoinFaisceaux du rideau lumineux non coupés
PalletFullBOOLLitUne entrée dont ton code a besoinUne palette pleine attend ou est en route vers la fardeleuse
PalletOnWrapperBOOLLitUne entrée dont ton code a besoinUne palette est sur le plateau de la fardeleuse
WrapDoneBOOLLitUne entrée dont ton code a besoinLa palette sur la fardeleuse est filmée
PersonInCellBOOLPas nécessairePour tester ou observer ; ton code peut s'en passerEssaie : quelqu'un entre dans la cellule du robot
CompressorBOOLÉcritUne sortie que ton code commandeFaire tourner le compresseur d'air
BoilerOnBOOLÉcritUne sortie que ton code commandeAllumer la chaudière
WaterValveBOOLÉcritUne sortie que ton code commandeEau dans la cuve de mélange
FeederBOOLÉcritUne sortie que ton code commandeFaire tourner le doseur pondéral de sucre
AgitatorBOOLÉcritUne sortie que ton code commandeFaire tourner l'agitateur
SteamValveBOOLÉcritUne sortie que ton code commandeVapeur vers la double enveloppe de la cuve
TransferPumpBOOLÉcritUne sortie que ton code commandePomper le lot vers le bac tampon
LineRunBOOLÉcritUne sortie que ton code commandeFaire tourner la ligne d'embouteillage
RejectGateBOOLÉcritUne sortie que ton code commandeActionner la porte de rejet
RobotEnableBOOLÉcritUne sortie que ton code commandeLaisser le robot palettiser
PalletOutBOOLÉcritUne sortie que ton code commandeAmener la palette pleine à la fardeleuse
WrapBOOLÉcritUne sortie que ton code commandeFaire tourner la fardeleuse
AGVCallBOOLÉcritUne sortie que ton code commandeAppeler l'AGV pour récupérer la palette filmée
GreenLampBOOLÉcritUne sortie que ton code commandeColonne lumineuse : en production
AmberLampBOOLÉcritUne sortie que ton code commandeColonne lumineuse : démarrage ou attente
RedLampBOOLÉcritUne sortie que ton code commandeColonne lumineuse : arrêt d'urgence ou déclenchement du rideau lumineux
UtilStatusINTÉcritUne sortie que ton code commandeVue d'ensemble : utilités, 0 Off, 1 Running, 2 Waiting, 3 Fault
BatchStatusINTÉcritUne sortie que ton code commandeVue d'ensemble : préparation, 0 Off, 1 Running, 2 Waiting, 3 Fault
LineStatusINTÉcritUne sortie que ton code commandeVue d'ensemble : ligne d'embouteillage, 0 Off, 1 Running, 2 Waiting, 3 Fault
LineReasonINTÉcritUne sortie que ton code commandeVue d'ensemble : pourquoi la ligne attend, 1 air bas, 2 colis accumulés
PackStatusINTÉcritUne sortie que ton code commandeVue d'ensemble : emballage, 0 Off, 1 Running, 2 Waiting, 3 Fault
PlantStatusINTÉcritUne sortie que ton code commandeVue d'ensemble : 0 arrêt, 1 marche, 2 démarrage, 3 défaut, 4 arrêt d'urgence
LineStopsINTÉcritUne sortie que ton code commandeVue d'ensemble : nombre de fois où la ligne a dû attendre

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

Un seul écran pour toute l'usine: ce que vérifient les tests

  1. Chaque poste signale 0 Off, 1 Running, 2 Waiting ou 3 Fault, selon les mêmes règles que la consigne.
  2. Une ligne en attente donne sa raison : 1 air bas, 2 colis accumulés, et 0 quand elle n'attend pas.
  3. PlantStatus met la pire nouvelle en premier : arrêt d'urgence, puis défaut, puis démarrage, marche, arrêt.
  4. LineStops augmente de un chaque fois que la ligne se met à attendre, quelle que soit la durée de l'attente.
  5. La vue d'ensemble montre un état et un nombre pour chaque poste, en mots, dans l'ordre du procédé, et dit pourquoi un poste attend.
  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

La salle de contrôle d'une usine d'embouteillage a une vue d'ensemble au mur. Utilités, préparation, ligne et emballage s'affichent chacun comme un bloc, gris quand tout va bien.

Quand la ligne s'arrête, les minutes coûteuses sont celles passées à chercher pourquoi. Une vue d'ensemble qui dit « attente : air bas » envoie le dépanneur vers le compresseur, pas vers la ligne.

Où tu trouverais çaUn seul automate pour toute une usine : quand chaque machine peut tourner, et ce qui la garde sûre

Une petite usine de boissons fabrique une boisson à l'orange. Le sucre et l'eau sont dosés et pasteurisés, puis pompés vers une remplisseuse. Les bouteilles sont remplies, capsulées, étiquetées et inspectées, emballées par six, empilées sur des palettes par un robot, filmées et amenées au quai par un chariot sans conducteur. Chaque machine a ses propres commandes ; l'automate de l'usine décide quand chacune peut tourner, passe le travail de l'une à l'autre et arrête tout en sécurité.

  1. BatchMélanger et pasteuriser
  2. FillRemplir, capsuler, étiqueter
  3. InspecterRejeter les mauvaises bouteilles
  4. EmballerLe robot empile les packsTu es ici
  5. ExpédierFilmer, l'AGV vers le quai
Sur un vrai site : lieux, pièces et sécurité
  • Halls d'embouteillage de sodas et de jus
  • Usines de sauces, de produits laitiers et d'aliments liquides
  • Liquides ménagers et de soins personnels

Un arrêt d'urgence est câblé via un relais de sécurité qui coupe l'alimentation tout seul. Le programme doit alors tout maintenir à l'arrêt et attendre un Reset et un Start volontaires, pour que rien ne bouge par surprise.

Les cellules de robots sont clôturées. Les rideaux lumineux et les portes verrouillées arrêtent le robot quand quelqu'un entre, et un redémarrage demande un réarmement depuis l'extérieur de la cellule, dans l'esprit de l'ISO 10218 et de l'ISO 13849.

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