Lokaler Fortschritt wird geladen…
PLC Gym
PLC Gym StartseiteLevel 1, 0 XP · dein Fortschritt
Challenge 12 · Finde den Fehler · PRO (braucht Pro)

SPS-Logik für Erstwertmeldung: Experten-Challenge

Ein Rückmeldungs-Timeout, Erstwerterfassung und ein klemmender Quittiertaster.

Halte die erste Ursache in TripCode fest und schalte bei einer Auslösung PumpOn und ValveCmd sofort ab. Alarm bleibt gespeichert; Horn reagiert auf einen neuen Druck auf Ack.

Diese Challenge 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-Prozesstank, auf der diese Challenge läuftPRO (braucht Pro) Challenge
So läuft der Test ab

Eine fehlerfreie Anlage kann nicht zurückgesetzt werden, solange Start noch gehalten wird

Test 1 von 7
Vom Test gesetztVom Test geprüftSchritt 6 von 6 · 480 ms
Level
Schwer · 40 Punkte
Art
Finde den Fehler
Zeit
Über uns 40 Min.
Bestehensquote
Neu
Maschine
3D-Prozesstank
Siemens
SCL
Rockwell
Strukturierter Text
Beckhoff
Strukturierter Text
Bericht des Bedieners · Prozesstank
Zuerst hieß es Ventil-Zeitüberschreitung. Später hieß es Motorfehler. Quittieren schien alles zu löschen, dann lief die Anlage wieder an.
Gefordertes Verhalten

Welcher Fehler kam wirklich zuerst? Was dein Code tun muss

In einem Entwurf, der sich übersetzen lässt, stecken drei Fehler. Bediener sehen nach dem Quittieren einen anderen Fehlercode, und kurze Ventilbewegungen lösen manchmal den Alarm aus. Mehrere Ursachen können im selben Zyklus kommen. Repariere die Zeitüberwachung, die Erfassung der Ursache und das Quittieren zusammen.

Start und Durchfluss
Eine neue Start-Flanke speichert ValveCmd mit Permit, ohne Stop und ohne Alarm. PumpOn ist nur TRUE mit ValveCmd AND ValveOpen. Stop/Verlust von Permit nimmt beide Befehle sofort weg; danach braucht es einen neuen Druck auf Start.
Drei Ursachen
TripCode 0 = frei; 1 = Fault; 2 = Level >= 95%; 3 = ValveCmd ohne ValveOpen durchgehend für 500 ms. Rufe Delay in jedem Zyklus auf; sein erster aktiver Aufruf beginnt bei null. Der nächste Aufruf bei 500 ms löst aus. Ein Zyklus früher oder später wird akzeptiert, weil die Position des Delay-Aufrufs ihn um einen Zyklus verschiebt. Ein unterbrochener Stellweg setzt die Verzögerung zurück.
Erste Ursache und Priorität
Tritt mehr als eine Ursache im selben Zyklus auf, gewinnt Fault, dann hoher Level, dann die Ventil-Zeitüberschreitung. Nach der Erfassung bleibt TripCode erhalten, auch wenn eine weitere Ursache auftritt. Alarm = TripCode <> 0. Beide Prozessbefehle müssen im Auslösezyklus OFF sein.
Horn und Ack
Eine neue Erfassung lässt Horn ertönen. Eine steigende Flanke von Ack schaltet nur Horn stumm. Wer Ack über einen gültigen Reset hinweg hält, kann den nächsten neuen Fehler nicht stumm schalten. Lass los und drück erneut.
Reset
Reset löscht TripCode, Alarm und Horn nur, wenn Start losgelassen ist, Fault FALSE, Level < 95% und ValveStuck FALSE. Das Ventil bleibt zu, und ein neuer Start ist nötig. Ein Reset bei aktiver Ursache kann sie nicht löschen.

Setze die Simulation zurück und wähle ValveStuck, bevor du SPS starten und Start drückst. Sieh zu, wie ValveCmd und ValveOpen sich widersprechen, während das Ventil zu bleibt. Teste die genaue Grenze der Zeitüberschreitung und spiele sie erneut ab. Halte über Eingänge Ack gedrückt, während du einen Fehler löschst und neu auslöst; ein neues Ereignis muss Horn trotzdem ertönen lassen.

Variablentabelle

Welcher Fehler kam wirklich zuerst? Eingänge und Ausgänge

Dein Programm liest 9 Eingänge und setzt 5 Ausgänge. Die Namen sind im Editor jedes Herstellers gleich.

VariableDatentypDein CodeWas es an der Maschine bedeutet
StartBOOLLiestEin Eingang, den dein Code brauchtStarttaster
StopBOOLLiestEin Eingang, den dein Code brauchtStopptaster
ResetBOOLLiestEin Eingang, den dein Code brauchtReset-Taster
FaultBOOLLiestEin Eingang, den dein Code brauchtStörungssignal aus der Anlage
ValveStuckBOOLLiestEin Eingang, den dein Code brauchtVentil klemmt: Das Ventil öffnet nicht
ValveOpenBOOLLiestEin Eingang, den dein Code brauchtVentil bestätigt offen
PermitBOOLLiestEin Eingang, den dein Code brauchtLaufzulassung: ON, solange der Lauf sicher ist
LevelREALLiestEin Eingang, den dein Code brauchtTankfüllstand, %
AckBOOLLiestEin Eingang, den dein Code brauchtQuittieren bei einem neuen Tastendruck
PumpOnBOOLSchreibtEin Ausgang, den dein Code setztPumpenbefehl
ValveCmdBOOLSchreibtEin Ausgang, den dein Code setztVentilbefehl
AlarmBOOLSchreibtEin Ausgang, den dein Code setztAlarmlampe
TripCodeDINTSchreibtEin Ausgang, den dein Code setztErste Ursache: 0 frei, 1 Motor, 2 hoher Füllstand, 3 Ventil-Zeitüberschreitung
HornBOOLSchreibtEin Ausgang, den dein Code setztBefehl für den akustischen Alarm, als Messwert angezeigt

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 Prüfungen

Was die Prüfungen testen

  1. TripCode erfasst die erste Ursache und ändert sich bis zu einem gültigen Reset nicht.
  2. Die Öffnungsrückmeldung hat 500 ms; ein unterbrochener Befehl startet eine neue Wartezeit.
  3. Ein gehaltenes Ack kann ein späteres Ereignis nicht stumm schalten. Alarm, Horn, PumpOn und ValveCmd werden in jedem Zyklus geprüft.

Die Prüfungen führen 7 Tests an der Maschine aus, Zyklus für Zyklus: Eine fehlerfreie Anlage kann nicht zurückgesetzt werden, solange Start noch gehalten wird; Die erste Ursache überlebt spätere Fehler; festgelegte Priorität bei gleichzeitigen Ursachen; Die Grenze für hohen Füllstand und ein gehaltenes Ack können das nächste Ereignis nicht stumm schalten; Rückmeldung kurz vor der Grenze verhindert eine Zeitüberschreitung; Eine Zeitüberschreitung von 500 ms löst aus, verriegelt und verweigert ein unsicheres Rücksetzen; Unterbrochener Stellweg bekommt eine neue Wartezeit; Rückkehr der Freigabe startet einen gehaltenen Start nie neu.

Vor Ort

Wo du das findest

Ein Brauereitank hört nach einem Alarm auf zu füllen. Die Ingenieurin oder der Ingenieur muss wissen, welche Störung zuerst kam, bevor spätere Störungen sie verdecken.

Wenn spätere Störungen den ersten Fehlercode überschreiben, geht die Ingenieurin oder der Ingenieur zur falschen Anlage. Ack zu nutzen, um den Alarm zu löschen, könnte eine Anlage neu starten, die noch gestört ist.

Gelöst oder festgefahren? Besprich es in der Umkleide.

Mach weiter

Weitere Challenges