Lokaler Fortschritt wird geladen…
PLC Gym
PLC Gym StartseiteLevel 1, 0 XP · dein Fortschritt
Mission 88 · PRO (braucht Pro)

Übung zu Das Chargenprotokoll mitschreiben, während es passiert: SPS- und SCADA-Schulung

Chargennummer, Zeit in jeder Phase, Summen und die Spitzentemperatur, abgeschlossen in dem Moment, in dem die Charge endet.

Lass den Reaktor sein eigenes Chargenprotokoll führen. Nummeriere jede Charge, miss die Zeit jeder Phase, während sie läuft, behalte die dosierten Summen, die Zeit im Halt und die Spitzentemperatur, und schließ das Protokoll mit seinem Ergebnis, wenn die Charge endet, fertig oder abgebrochen.

Diese Mission gehört zu ProErstelle ein kostenloses Konto: Jedes Konto bekommt bis 5. Dezember eine kostenlose Pro-Testphase.

Ohne Karte. Nichts zu zahlen. Nichts zu kündigen.

Official release: 5 December. Steh an dem Tag ganz oben in der Bestenliste und gewinn 3 Monate Pro, plus 2 Wochen Pro zum Verschenken an einen Freund. Platz 2 gewinnt 4 Wochen. Platz 3 gewinnt 2 Wochen. Regeln

  • Jede Lektion, ab null
  • Jede Mission und Lektion, mit jedem Level
  • Ein praktischer Test für jeden Titel, mit Zertifikat
  • Jeden Test zurückspulen, Zyklus für Zyklus
  • Musterlösungen, wenn du feststeckst
  • Der Code-Konverter, so oft du willst
Die 3D-Chargenreaktor-Steuerung, auf der diese Mission läuftPRO (braucht Pro) Mission
So läuft der Test ab

Eine neue Charge beginnt ein sauberes Protokoll

Test 1 von 3
Vom Test gesetztVom Test geprüftSchritt 8 von 8 · 5.3 s
Level
Fortgeschritten
Zeit
Über uns 45 Min.
Belohnung
+650 XP
Anlage
3D-Chargenreaktor-Steuerung
Editoren: Siemens
Kontaktplan (KOP), SCL
Editoren: Rockwell
Kontaktplan, Strukturierter Text
Editoren: Beckhoff
Strukturierter Text
Stufe
46. SCADA 4: ein Chargenprotokoll in Echtzeit
Gefordertes Verhalten

Das Chargenprotokoll mitschreiben, während es passiert: was dein Code tun muss

Die Chargensteuerung ist geschrieben und funktioniert. Schreib das Protokoll darunter. Eine Charge läuft, solange State 10 oder 20 ist: Halte das in InBatch fest. Wenn InBatch angeht, beginnt ein neues Protokoll: Addiere 1 zu BatchNo, setz Result auf 0, ReportReady auf FALSE, jede Zeit auf 0.0 und PeakTemp auf Temp. Solange Run an ist, addiere in jedem Zyklus 0.02 zur Zeit der laufenden Phase: TimeA in Phase 1, TimeB in 2, TimeHeat in 3, TimeReact in 4, TimeCool in 5, TimeDrain in 6. Solange State 20 ist, addiere die 0.02 stattdessen zu TimeHeld. Solange InBatch an ist, folgt PeakTemp der Temp nach oben und nie nach unten, TotalA kopiert VolA und TotalB kopiert VolB. Die Charge endet, wenn State 40 oder 30 erreicht: Setz Result auf 1 für abgeschlossen oder 2 für abgebrochen und ReportReady auf TRUE. Danach ändert sich nichts mehr im Protokoll, bis die nächste Charge beginnt. Wähle im Tab Bedienbild, wie der Bericht eine Zeit schreibt, was er neben jedem Wert zeigt und was eine abgebrochene Charge bekommt.

Neue Charge
Wenn InBatch einschaltet: BatchNo + 1, Result 0, ReportReady aus, Zeiten 0, PeakTemp := Temp.
Zeiten
0,02 pro Zyklus zur laufenden Phase, solange Run; zu TimeHeld, solange State 20 ist.
Ende
State 40: Result 1. State 30: Result 2. Beide setzen ReportReady, und das Protokoll hält an.
Variablentabelle

Das Chargenprotokoll mitschreiben, während es passiert: Eingänge und Ausgänge

Dein Programm liest 9 Eingänge und setzt 23 Ausgänge. Ein weiterer Eingang steuert die Simulation oder zeigt einen Messwert, damit du testen kannst. Die Namen sind im Editor jedes Herstellers gleich.

VariableDatentypDein CodeWas es an der Maschine bedeutet
StartBOOLLiestEin Eingang, den dein Code brauchtEine Charge starten
HoldBOOLLiestEin Eingang, den dein Code brauchtCharge anhalten
RestartBOOLLiestEin Eingang, den dein Code brauchtAngehaltene Charge fortsetzen
AbortBOOLLiestEin Eingang, den dein Code brauchtDie Charge abbrechen
ResetBOOLLiestEin Eingang, den dein Code brauchtAuf Idle zurücksetzen
ChargeFlowREALLiestEin Eingang, den dein Code brauchtDosier-Durchflussmesser, L/s
LevelREALLiestEin Eingang, den dein Code brauchtInhalt, L
TempREALLiestEin Eingang, den dein Code brauchtChargentemperatur, °C
AgitatorRunningBOOLLiestEin Eingang, den dein Code brauchtRührwerk auf Drehzahl
CoolingFailBOOLNicht nötigZum Testen oder Beobachten; dein Code kann es weglassenProbier es aus: Das Kühlwasser fällt aus
ValveABOOLSchreibtEin Ausgang, den dein Code setztAus Container A dosieren
ValveBBOOLSchreibtEin Ausgang, den dein Code setztAus Container B dosieren
AgitatorBOOLSchreibtEin Ausgang, den dein Code setztDas Rührwerk laufen lassen
SteamBOOLSchreibtEin Ausgang, den dein Code setztDampf in den Mantel
CoolingBOOLSchreibtEin Ausgang, den dein Code setztKühlwasser in den Mantel
DrainBOOLSchreibtEin Ausgang, den dein Code setztBodenablassventil
RunLampBOOLSchreibtEin Ausgang, den dein Code setztZustandssäule: Running
HeldLampBOOLSchreibtEin Ausgang, den dein Code setztZustandssäule: Held
AbortLampBOOLSchreibtEin Ausgang, den dein Code setztZustandssäule: Aborted
CompleteLampBOOLSchreibtEin Ausgang, den dein Code setztZustandssäule: Complete
BatchNoINTSchreibtEin Ausgang, den dein Code setztProtokoll: Chargennummer
ResultINTSchreibtEin Ausgang, den dein Code setztProtokoll: 0 läuft, 1 fertig, 2 abgebrochen
ReportReadyBOOLSchreibtEin Ausgang, den dein Code setztProtokoll: Die Charge ist zu Ende und ihr Protokoll geschlossen
TotalAREALSchreibtEin Ausgang, den dein Code setztProtokoll: A dosiert, L
TotalBREALSchreibtEin Ausgang, den dein Code setztProtokoll: B dosiert, L
TimeAREALSchreibtEin Ausgang, den dein Code setztProtokoll: Sekunden Dosieren A
TimeBREALSchreibtEin Ausgang, den dein Code setztProtokoll: Sekunden Dosieren B
TimeHeatREALSchreibtEin Ausgang, den dein Code setztProtokoll: Sekunden Heizen
TimeReactREALSchreibtEin Ausgang, den dein Code setztProtokoll: Sekunden Reagieren
TimeCoolREALSchreibtEin Ausgang, den dein Code setztProtokoll: Sekunden Kühlen
TimeDrainREALSchreibtEin Ausgang, den dein Code setztProtokoll: Sekunden Entleeren
TimeHeldREALSchreibtEin Ausgang, den dein Code setztProtokoll: Sekunden im Halt
PeakTempREALSchreibtEin Ausgang, den dein Code setztProtokoll: höchste Temperatur der Charge, °C

In Siemens SCL schreibst du die eigenen Variablen eines Bausteins mit # davor, wie TIA Portal es tut: #Start. Rockwell und TwinCAT verwende einfach den Namen: Start.

Automatische Tests

Das Chargenprotokoll mitschreiben, während es passiert: was die Tests prüfen

  1. Jedes Start beginnt ein neues Protokoll: BatchNo steigt um eins und jeder Wert beginnt neu.
  2. Die Zeit einer Phase zählt nur, solange diese Phase läuft; die Zeit im Halt wird extra gezählt.
  3. PeakTemp ist die höchste Temperatur der Charge; TotalA und TotalB sind die dosierten Liter.
  4. Wenn die Charge fertig ist oder abgebrochen wird, sagt Result welches, ReportReady geht an, und das Protokoll ändert sich nicht mehr.
  5. Der Bericht schreibt Zeiten als Minuten und Sekunden, zeigt jedes Ziel neben seinem Wert und gibt auch einer abgebrochenen Charge einen Bericht.
  1. Ausprobieren Nutze die Tasten unter dem Modell und sieh, wie die Anlage reagiert.
  2. Lösung testen Jede Prüfung läuft mit einem Druck auf deinem Code.
  3. Zurückspulen PRO (braucht Pro) Wenn eine fehlschlägt, geh sie Zyklus für Zyklus zurück, um zu sehen, warum.

Hängst du bei dieser Mission fest? Frag die Mitglieder in der Umkleide.

Warum es wichtig ist

Wo du das im Betrieb sehen würdest

In einem Pharma- oder Lebensmittelwerk hinterlässt jede Charge ein Protokoll, das die Qualitätssicherung prüft, bevor das Produkt freigegeben wird. Das SCADA holt es von der SPS, sobald die Charge endet.

Eine Charge ohne Protokoll kann nicht freigegeben werden, und einem nachträglich geschriebenen Protokoll kann man nicht trauen. So oder so wird die Produktion eines Tages zurückgehalten oder verschrottet.

Wo du das findestStell die Charge her, behalte die Reaktion im Griff und halte jederzeit sicher an

Chargenanlagen in Chemie, Pharma und Lebensmitteln folgen Rezepten in Phasen. Das Bedienpersonal kann eine Charge anhalten und wieder starten oder sie abbrechen; die Steuerung muss in jedem Zustand genau wissen, was sicher ist. Manche Reaktionen setzen Wärme frei, und wenn die Kühlung nicht hinterherkommt, gehen sie durch.

  1. DosierenA, dann B
  2. Reagieren80 °C für 30 sDu bist hier
  3. KühlenAuf 40 °C
  4. AusblasIn die Vorlage
In einer echten Anlage: Orte, Teile und Sicherheit
  • Spezialchemikalien und Harze
  • Chargenanlagen in Pharma und Biotech
  • Lebensmittelzutaten und Aromen

Durchgehende Reaktionen verursachten Katastrophen wie Seveso (1976) und T2 Laboratories (2007). Echte Reaktoren haben unabhängige Hochtemperaturabschaltungen und Druckentlastungssysteme.

ISA-88 definiert das hier verwendete Zustandsmodell, damit Bedienpersonal überall weiß, was Hold und Abort bedeuten.

Die Größen, Zeiten und Schnittansichten sind didaktische Entscheidungen, keine Zeichnung einer bestimmten echten Anlage.

Mach weiter

Als Nächstes auf dem Weg