Lokale voortgang laden…
PLC Gym
PLC Gym-homeNiveau 1, 0 XP · je voortgang
Missie 86 · PRO (vraagt Pro)

Oefening over Eén scherm voor de hele fabriek: PLC SCADA-training

Vier stations melden elk één toestand, en het overzicht zegt welke jou nodig heeft.

Geef de controlekamer één scherm over de hele fabriek. Schrijf één toestand voor elk van de vier stations, de reden waarom de lijn wacht, één toestand voor de fabriek en een teller van lijnstops. Kies daarna wat een plek op het overzicht verdient.

Deze missie hoort bij ProMaak een gratis account aan: elk account krijgt een gratis Pro-proefperiode tot 5 december.

Geen creditcard. Niets te betalen. Niets op te zeggen.

Official release: 5 December. Sta op die dag bovenaan de ranglijst en win 3 maanden Pro, plus 2 weken Pro om aan een vriend te geven. De 2e plaats wint 4 weken. De 3e plaats wint 2 weken. Regels

  • Elke les, vanaf nul
  • Elke missie en les, naarmate je niveau stijgt
  • Een praktijktest voor elke titel, met een certificaat
  • Spoel elke test terug, één cyclus tegelijk
  • Uitgewerkte oplossingen als je vastzit
  • De codeconverter, zoveel je wilt
De 3D-modelfabriek waarop deze missie draaitPRO (vraagt Pro) missie
Hoe de test verloopt

Opstarten: wachten, daarna draaien

Test 1 van 4
Ingesteld door de testGecontroleerd door de testStap 13 van 13 · 31.5 s
Level
Gevorderd
Tijd
Over ons 40 min
Beloning
+650 XP
Opstelling
3D-modelfabriek
Editors voor Siemens
Ladderdiagram (LAD), SCL
Editors voor Rockwell
Ladderdiagram, Gestructureerde tekst
Editors voor Beckhoff
Gestructureerde tekst
Fase
43. SCADA 1: één scherm voor de hele installatie
Vereist gedrag

Eén scherm voor de hele fabriek: wat je code moet doen

De installatiebesturing is geschreven en werkt. Een SCADA-overzicht leest een paar tags van elk station, dus elk station meldt zich op dezelfde manier: 0 Uit, 1 Draait, 2 Wacht, 3 Storing. UtilStatus: 3 zolang CompressorFault aan is; anders 0 tenzij Utilities aan is; 2 zolang AirPressure of SteamPressure onder 6.0 bar is; anders 1. BatchStatus: 0 tenzij Run aan is; 2 zolang Step 0 is, als de buffertank genoeg heeft; anders 1. LineStatus: 0 tenzij Run aan is; 1 zolang LineRun aan is; anders 2. LineReason zegt waarom de lijn wacht: 1 lucht laag (AirPressure onder 5.5 bar), anders 2 pakken opgestapeld (AccumFull is aan). Schrijf 0 zodra de lijn niet wacht. PackStatus: 3 zolang CellTrip aan is; anders 1 zolang Run aan is; anders 0. PlantStatus heeft het slechtste nieuws eerst: 4 noodstop (State 30); anders 3 als een station in Storing is; anders 2 opstarten (State 10); anders 1 draait (State 20); anders 0 gestopt. LineStops telt hoe vaak de lijn heeft moeten wachten: tel 1 op elke keer dat LineStatus 2 wordt. Kies op het tabblad Bedienscherm wat het overzicht toont, hoe het een toestand zegt, of het zegt waarom en in welke volgorde de stations staan.

Toestanden
0 Uit, 1 Draait, 2 Wacht, 3 Storing, voor alle vier hetzelfde.
Reden van de lijn
1 lucht laag, 2 verpakkingen opgestapeld, 0 niet wachtend.
Installatie
4 noodstop, 3 storing, 2 starten, 1 draait, 0 gestopt.
Lijnstops
Tel 1 op elke keer dat LineStatus 2 wordt.
Tagtabel

Eén scherm voor de hele fabriek: ingangen en uitgangen

Je programma leest 18 ingangen en stuurt 23 uitgangen. Nog één ingang stuurt de simulatie aan of toont een meting, om mee te testen. De namen zijn hetzelfde in de editor van elk merk.

TagDatatypeJouw codeWat het betekent op de machine
StartBOOLLeestEen ingang die je code nodig heeftStart de fabriek
StopBOOLLeestEen ingang die je code nodig heeftStop de fabriek waar ze is
ResetBOOLLeestEen ingang die je code nodig heeftReset na een noodstop of het aanspreken van het lichtgordijn
EStopBOOLLeestEen ingang die je code nodig heeftNoodstop ingedrukt
CompressorFaultBOOLLeestEen ingang die je code nodig heeftProbeer het: de compressor valt uit
AirPressureREALLeestEen ingang die je code nodig heeftDruk in het luchtvat, bar
SteamPressureREALLeestEen ingang die je code nodig heeftStoomdruk van de ketel, bar
VesselLevelREALLeestEen ingang die je code nodig heeftNiveau van het mengvat, %
VesselTempREALLeestEen ingang die je code nodig heeftBatchtemperatuur, °C
SugarAddedREALLeestEen ingang die je code nodig heeftSuiker die de weegdoseerder aan deze batch heeft toegevoegd, kg
BufferLevelREALLeestEen ingang die je code nodig heeftNiveau van de buffertank van de vuller, %
BadBottleBOOLLeestEen ingang die je code nodig heeftCamera: er passeert een fles zonder etiket
GateEyeBOOLLeestEen ingang die je code nodig heeftEen fles staat voor de verwerpklep
AccumFullBOOLLeestEen ingang die je code nodig heeftDrie pakken wachten op de robot
CurtainClearBOOLLeestEen ingang die je code nodig heeftStralen van het lichtgordijn ongebroken
PalletFullBOOLLeestEen ingang die je code nodig heeftEen volle pallet wacht of is onderweg naar de wikkelaar
PalletOnWrapperBOOLLeestEen ingang die je code nodig heeftEen pallet staat op de draaitafel van de wikkelaar
WrapDoneBOOLLeestEen ingang die je code nodig heeftDe pallet op de wikkelaar is gewikkeld
PersonInCellBOOLNiet nodigOm te testen of te bekijken; je code kan het weglatenProbeer het: iemand loopt de robotcel in
CompressorBOOLSchrijftEen uitgang die je code zetLaat de luchtcompressor draaien
BoilerOnBOOLSchrijftEen uitgang die je code zetZet de ketel aan
WaterValveBOOLSchrijftEen uitgang die je code zetWater in het mengvat
FeederBOOLSchrijftEen uitgang die je code zetLaat de suikerweegdoseerder draaien
AgitatorBOOLSchrijftEen uitgang die je code zetLaat de roerder draaien
SteamValveBOOLSchrijftEen uitgang die je code zetStoom naar de mantel van het vat
TransferPumpBOOLSchrijftEen uitgang die je code zetPomp de batch naar de buffertank
LineRunBOOLSchrijftEen uitgang die je code zetLaat de bottellijn draaien
RejectGateBOOLSchrijftEen uitgang die je code zetVuur de verwerpklep af
RobotEnableBOOLSchrijftEen uitgang die je code zetLaat de robot palletiseren
PalletOutBOOLSchrijftEen uitgang die je code zetBreng de volle pallet naar de wikkelaar
WrapBOOLSchrijftEen uitgang die je code zetLaat de rekfolie-wikkelaar draaien
AGVCallBOOLSchrijftEen uitgang die je code zetRoep de AGV om de gewikkelde pallet op te halen
GreenLampBOOLSchrijftEen uitgang die je code zetSignaalzuil: produceert
AmberLampBOOLSchrijftEen uitgang die je code zetSignaalzuil: start of wacht
RedLampBOOLSchrijftEen uitgang die je code zetSignaalzuil: noodstop of lichtgordijn aangesproken
UtilStatusINTSchrijftEen uitgang die je code zetOverzicht: utilities, 0 Uit, 1 Draait, 2 Wacht, 3 Storing
BatchStatusINTSchrijftEen uitgang die je code zetOverzicht: dosering, 0 Uit, 1 Draait, 2 Wacht, 3 Storing
LineStatusINTSchrijftEen uitgang die je code zetOverzicht: bottellijn, 0 Uit, 1 Draait, 2 Wacht, 3 Storing
LineReasonINTSchrijftEen uitgang die je code zetOverzicht: waarom de lijn wacht, 1 lucht laag, 2 verpakkingen opgestapeld
PackStatusINTSchrijftEen uitgang die je code zetOverzicht: verpakking, 0 Uit, 1 Draait, 2 Wacht, 3 Storing
PlantStatusINTSchrijftEen uitgang die je code zetOverzicht: 0 gestopt, 1 draait, 2 starten, 3 storing, 4 noodstop
LineStopsINTSchrijftEen uitgang die je code zetOverzicht: aantal keren dat de lijn moest wachten

Schrijf in Siemens SCL de eigen tags van een blok met een # ervoor, zoals TIA Portal dat doet: #Start. Rockwell en TwinCAT gebruik alleen de naam: Start.

Automatische tests

Eén scherm voor de hele fabriek: wat de tests controleren

  1. Elk station meldt 0 Uit, 1 Draait, 2 Wacht of 3 Storing, volgens dezelfde regels als de opdracht.
  2. Een wachtende lijn geeft zijn reden: 1 lucht laag, 2 verpakkingen opgestapeld, en 0 als hij niet wacht.
  3. PlantStatus zet het slechtste nieuws eerst: noodstop, dan een storing, dan starten, draaien, gestopt.
  4. LineStops gaat met één omhoog elke keer dat de lijn gaat wachten, hoe lang het wachten ook duurt.
  5. Het overzicht toont per station één toestand en één getal, in woorden, in procesvolgorde, en zegt waarom een station wacht.
  1. Probeer het Gebruik de knoppen onder het model en kijk hoe de opstelling reageert.
  2. Oplossing testen Elke controle draait met één druk op je code.
  3. Terugspoelen PRO (vraagt Pro) Mislukt er een, ga dan cyclus voor cyclus terug om te zien waarom.

Vast bij deze missie? Vraag het de leden in de Kleedkamer.

Waarom het ertoe doet

Waar je dit in de praktijk tegenkomt

De controlekamer van een bottelarij heeft één overzicht aan de muur. Utilities, dosering, de lijn en verpakking tonen elk als een blok, grijs als alles goed is.

Als de lijn stopt, zijn de dure minuten die waarin je uitzoekt waarom. Een overzicht dat 'wachten: lucht laag' zegt, stuurt de monteur naar de compressor, niet naar de lijn.

Waar je dit tegenkomtEén besturing voor een hele fabriek: wanneer elke machine mag draaien, en wat haar veilig houdt

Een kleine drankenfabriek maakt een sinaasappeldrank. Suiker en water worden in batches gemengd en gepasteuriseerd en dan naar een vuller gepompt. Flessen worden gevuld, gesloten, geëtiketteerd en geïnspecteerd, in zessen verpakt, door een robot op pallets gestapeld, gewikkeld en door een bestuurderloze heftruck naar de laadkade gebracht. Elke machine heeft zijn eigen bediening; de fabrieksbesturing bepaalt wanneer elke mag draaien, geeft werk van de ene aan de volgende door en stopt alles veilig.

  1. BatchMengen en pasteuriseren
  2. FillVullen, sluiten, etiketteren
  3. InspecterenSlechte flessen verwerpen
  4. InpakkenRobot stapelt pakkenJe bent hier
  5. VerzendenWikkelen, AGV naar laadkade
Op een echte locatie: plekken, onderdelen en veiligheid
  • Frisdrank- en sapbottelhallen
  • Sauzen-, zuivel- en vloeibare voedselfabrieken
  • Huishoud- en verzorgingsvloeistoffen

Een noodstop is bedraad via een veiligheidsrelais dat zelf de stroom afsnijdt. Het programma moet dan alles uit houden en wachten op een bewuste Reset en Start, zodat niets onverwacht beweegt.

Robotcellen zijn omheind. Lichtgordijnen en vergrendelde deuren stoppen de robot als iemand naar binnen gaat, en herstarten vraagt om een reset van buiten de cel, in de geest van ISO 10218 en ISO 13849.

De afmetingen, tijden en doorsneden zijn keuzes voor het onderwijs, geen tekening van één echte installatie.

Ga door

Hierna op de route