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

Oefening over Schrijf het batchrecord terwijl het gebeurt: PLC SCADA-training

Batchnummer, tijd in elke fase, totalen en de piektemperatuur, afgesloten op het moment dat de batch eindigt.

Laat de reactor zijn eigen batchrecord bijhouden. Nummer elke batch, meet de tijd van elke fase terwijl die loopt, houd de gevulde totalen, de tijd in pauze en de piektemperatuur bij en sluit het record af met het resultaat wanneer de batch eindigt, voltooid of afgebroken.

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-besturing van een batchreactor waarop deze missie draaitPRO (vraagt Pro) missie
Hoe de test verloopt

Een nieuwe batch start een schoon record

Test 1 van 3
Ingesteld door de testGecontroleerd door de testStap 8 van 8 · 5.3 s
Level
Gevorderd
Tijd
Over ons 45 min
Beloning
+650 XP
Opstelling
3D-besturing van een batchreactor
Editors voor Siemens
Ladderdiagram (LAD), SCL
Editors voor Rockwell
Ladderdiagram, Gestructureerde tekst
Editors voor Beckhoff
Gestructureerde tekst
Fase
46. SCADA 4: een batchrecord terwijl het gebeurt
Vereist gedrag

Schrijf het batchrecord terwijl het gebeurt: wat je code moet doen

De batchbesturing is geschreven en werkt. Schrijf het record eronder. Een batch is bezig terwijl State 10 of 20 is: houd dat bij in InBatch. Als InBatch aangaat, begint een nieuw record: tel 1 op bij BatchNo, zet Result op 0, ReportReady op FALSE, elke tijd op 0.0 en PeakTemp op Temp. Zolang Run aan is, tel je elke cyclus 0.02 op bij de tijd van de lopende fase: TimeA in Fase 1, TimeB in 2, TimeHeat in 3, TimeReact in 4, TimeCool in 5, TimeDrain in 6. Terwijl State 20 is, tel je 0.02 in plaats daarvan op bij TimeHeld. Zolang InBatch aan is, volgt PeakTemp Temp alleen omhoog en nooit omlaag, kopieert TotalA VolA en kopieert TotalB VolB. De batch eindigt als State 40 of 30 bereikt: zet Result op 1 voor voltooid of 2 voor afgebroken, en ReportReady op TRUE. Daarna verandert er niets in het record tot de volgende batch begint. Kies op het tabblad Bedienscherm hoe het rapport een tijd schrijft, wat het naast elke waarde toont en wat een afgebroken batch krijgt.

Nieuwe batch
Als InBatch aangaat: BatchNo + 1, Result 0, ReportReady uit, tijden 0, PeakTemp := Temp.
Tijden
0,02 per cyclus naar de lopende fase zolang Run; naar TimeHeld zolang State 20 is.
Einde
State 40: Result 1. State 30: Result 2. Beide zetten ReportReady en het record stopt.
Tagtabel

Schrijf het batchrecord terwijl het gebeurt: ingangen en uitgangen

Je programma leest 9 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 een batch
HoldBOOLLeestEen ingang die je code nodig heeftDe batch vasthouden
RestartBOOLLeestEen ingang die je code nodig heeftEen vastgehouden batch herstarten
AbortBOOLLeestEen ingang die je code nodig heeftDe batch afbreken
ResetBOOLLeestEen ingang die je code nodig heeftReset to Idle
ChargeFlowREALLeestEen ingang die je code nodig heeftChargedebietmeter, L/s
LevelREALLeestEen ingang die je code nodig heeftInhoud, L
TempREALLeestEen ingang die je code nodig heeftBatchtemperatuur, °C
AgitatorRunningBOOLLeestEen ingang die je code nodig heeftRoerder op snelheid
CoolingFailBOOLNiet nodigOm te testen of te bekijken; je code kan het weglatenProbeer het: het koelwater valt uit
ValveABOOLSchrijftEen uitgang die je code zetCharge uit container A
ValveBBOOLSchrijftEen uitgang die je code zetCharge uit container B
AgitatorBOOLSchrijftEen uitgang die je code zetLaat de roerder draaien
SteamBOOLSchrijftEen uitgang die je code zetStoom naar de mantel
CoolingBOOLSchrijftEen uitgang die je code zetKoelwater naar de mantel
DrainBOOLSchrijftEen uitgang die je code zetOnderste uitlaatklep
RunLampBOOLSchrijftEen uitgang die je code zetToestandstoren: draait (Running)
HeldLampBOOLSchrijftEen uitgang die je code zetToestandstoren: vastgehouden (Held)
AbortLampBOOLSchrijftEen uitgang die je code zetToestandstoren: afgebroken (Aborted)
CompleteLampBOOLSchrijftEen uitgang die je code zetToestandstoren: voltooid (Complete)
BatchNoINTSchrijftEen uitgang die je code zetRecord: batchnummer
ResultINTSchrijftEen uitgang die je code zetRecord: 0 bezig, 1 voltooid, 2 afgebroken
ReportReadyBOOLSchrijftEen uitgang die je code zetRecord: de batch is geëindigd en het record is afgesloten
TotalAREALSchrijftEen uitgang die je code zetRecord: A gevuld, L
TotalBREALSchrijftEen uitgang die je code zetRecord: B gevuld, L
TimeAREALSchrijftEen uitgang die je code zetRecord: seconden vullen van A
TimeBREALSchrijftEen uitgang die je code zetRecord: seconden vullen van B
TimeHeatREALSchrijftEen uitgang die je code zetRecord: seconden verwarmen
TimeReactREALSchrijftEen uitgang die je code zetRecord: seconden reageren
TimeCoolREALSchrijftEen uitgang die je code zetRecord: seconden koelen
TimeDrainREALSchrijftEen uitgang die je code zetRecord: seconden legen
TimeHeldREALSchrijftEen uitgang die je code zetRecord: seconden in pauze
PeakTempREALSchrijftEen uitgang die je code zetRecord: hoogste temperatuur van de batch, °C

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

Schrijf het batchrecord terwijl het gebeurt: wat de tests controleren

  1. Elke Start begint een nieuw record: BatchNo gaat met één omhoog en elke waarde begint schoon.
  2. De tijd van elke fase telt alleen terwijl die fase loopt; de tijd in pauze wordt apart geteld.
  3. PeakTemp is de hoogste temperatuur van de batch; TotalA en TotalB zijn de gevulde liters.
  4. Wanneer de batch voltooid of afgebroken wordt, zegt Result welke van de twee, gaat ReportReady aan en verandert het record niet meer.
  5. Het rapport schrijft tijden als minuten en seconden, toont elk doel naast zijn waarde en geeft ook een afgebroken batch een rapport.
  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

In een farmaceutische of voedingsfabriek laat elke batch een record na dat kwaliteitsmedewerkers beoordelen voordat het product wordt vrijgegeven. De SCADA haalt het op bij de PLC op het moment dat de batch eindigt.

Een batch zonder record kan niet worden vrijgegeven, en een record dat achteraf is geschreven is niet te vertrouwen. In beide gevallen wordt de productie van een dag vastgehouden of weggegooid.

Waar je dit tegenkomtMaak de batch, houd de reactie onder controle en stop op elk moment veilig

Batchfabrieken in chemie, farma en voeding volgen recepten in fasen. Operators kunnen een batch vasthouden en herstarten, of afbreken; de besturing moet precies weten wat in elke toestand veilig is. Sommige reacties geven warmte af, en als de koeling achterblijft, lopen ze op hol.

  1. LadenA, dan B
  2. Reageren80 °C gedurende 30 sJe bent hier
  3. KoelenNaar 40 °C
  4. UitblaasNaar ontvanger
Op een echte locatie: plekken, onderdelen en veiligheid
  • Speciale chemicaliën en harsen
  • Batchsuites in farma en biotech
  • Voedingsingrediënten en smaakstoffen

Op hol geslagen reacties veroorzaakten rampen als Seveso (1976) en T2 Laboratories (2007). Echte reactoren hebben onafhankelijke hoge-temperatuurbeveiligingen en ontlastsystemen.

ISA-88 definieert het toestandsmodel dat hier wordt gebruikt, zodat operators overal weten wat Hold en Abort betekenen.

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

Ga door

Hierna op de route