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

SPS-Programm zum Umpumpen zwischen Tanks: Expertenfehler

Zwei Füllstände, Antriebsrückmeldung, ein auslaufender Motor und eine gespeicherte Abschaltung.

Repariere eine komplette Umpumpsteuerung. Öffne den Weg vor dem Pumpen, stoppe am Zielfüllstand und schütze den Quelltank.

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

Öffnen vor dem Pumpen; Auslaufen vor dem Schließen

Test 1 von 7
Vom Test gesetztVom Test geprüftSchritt 11 von 11 · 460 ms
Level
Schwer · 40 Punkte
Art
Finde den Fehler
Zeit
Über uns 45 Min.
Bestehensquote
Neu
Maschine
3D-Umpumpanlage mit zwei Tanks
Siemens
SCL
Rockwell
Strukturierter Text
Beckhoff
Strukturierter Text
Bericht des Bedieners · Umpumpanlage mit zwei Tanks
Der Motor ist angelaufen, während sich das Ventil noch bewegte. Ein voller Zieltank lief über. Die Rückkehr der Freigabe startete ein Umpumpen ohne erneuten Tastendruck neu.
Gefordertes Verhalten

Das Umpumpen, das den Waschraum geflutet hat: was dein Code tun muss

Dieser übersetzbare Entwurf enthält drei zusammenwirkende Fehler. Teste ihn an der Anlage, vergleiche Befehl und gemessenes Verhalten und repariere jede Betriebsregel. Die durchsichtigen Teile zeigen den Prozess; die Instrumente liefern die Zahlen.

Start und Phase
Zustand 0 ist Ruhe. Ein neuer Start mit Permit, ohne Fault/PumpDamaged, mit SourceLevel > 10 % und Level < 80 % wechselt nach 10. ValveCmd öffnet den Weg; PumpOn bleibt OFF, bis ValveOpen nach 20 wechselt. Verarbeite pro Zyklus einen Phasenwechsel.
Zeitüberwachung der Rückmeldung
In 10 oder 20 löst ein durchgehend fehlendes ValveOpen über 500 ms eine Abschaltung nach 90 aus. Der erste freigegebene Aufruf von Delay beginnt bei null. Ein Zyklus mehr oder weniger wird akzeptiert, weil die Position des Delay-Aufrufs ihn um einen Zyklus verschiebt. Kommt die Rückmeldung zurück, beginnt das Warten von vorn. In 20 muss PumpOn sofort OFF gehen, sobald ValveOpen FALSE ist.
Voller Zieltank und Auslauf
Level >= 80 % wechselt nach 30: PumpOn OFF, ValveCmd weiter ON. Warte auf MotorSpeed <= 0 rpm, bevor du nach 50 wechselst, ValveCmd schließt und Done setzt. DrainValve bleibt die ganze Zeit OFF. Normale Eintrittsbefehle dürfen State um einen Zyklus nachlaufen; der Eintritt in 30 nimmt PumpOn sofort weg.
Abschaltung und Wiederanfahren
In aktiven Zuständen gewinnt verlorenes Permit, Fault, PumpDamaged oder SourceLevel <= 10 % gegen den Abschluss und wechselt sofort nach 90: Alarm ON, PumpOn/ValveCmd/Done OFF. Stop führt zurück nach 0, außer bei bereits erfolgter Abschaltung. Reset verlässt 50/90 nur bei losgelassenem Start, mit Permit, ohne Fault/PumpDamaged und mit SourceLevel > 10 %. Die Wiederherstellung kann ohne neuen Start nicht neu starten.
Physikalische Nachweise
SourceLevel misst einen 400-L-Tank; Level misst einen 100-L-Zieltank. FlowRate ist der tatsächliche Umpumpstrom. PumpWear und SpilledLitres zeigen die Folgen. Trockenlauf oder Pumpen gegen Blockade erzeugt veranschaulichten Verschleiß; voller Verschleiß stoppt die Welle. Das sind Lerneffekte, keine echten Schadensprognosen oder sicheren Grenzwerte.

Drück SPS starten und drück kurz Start. Sieh zu, wie der Quelltank sinkt und der Zieltank steigt. Wähl das Umpumpventil, um Befehl und Weg zu vergleichen. Setz ValveStuck vor einem neuen Lauf, um die Öffnungs-Zeitüberwachung zu testen.

Variablentabelle

Das Umpumpen, das den Waschraum geflutet hat: Eingänge und Ausgänge

Dein Programm liest 10 Eingänge und setzt 5 Ausgänge. 4 weitere Eingänge steuern die Simulation oder zeigen Messwerte, damit du testen kannst. 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
ValveOpenBOOLLiestEin Eingang, den dein Code brauchtEndschalter am Ventil: Das Ventil ist bestätigt offen
PermitBOOLLiestEin Eingang, den dein Code brauchtLaufzulassung: ON, solange der Lauf sicher ist
LevelREALLiestEin Eingang, den dein Code brauchtTankfüllstand, %
SourceLevelREALLiestEin Eingang, den dein Code brauchtQuellbehälter, %
MotorSpeedREALLiestEin Eingang, den dein Code brauchtDrehzahl der Pumpenwelle, rpm
PumpDamagedBOOLLiestEin Eingang, den dein Code brauchtPhysischer Pumpenausfall
ValveStuckBOOLNicht nötigZum Testen oder Beobachten; dein Code kann es weglassenVentil klemmt: Das Ventil öffnet nicht
FlowRateREALNicht nötigZum Testen oder Beobachten; dein Code kann es weglassenGemessener Zulauf- / Kreislaufdurchfluss, L/s
PumpWearREALNicht nötigZum Testen oder Beobachten; dein Code kann es weglassenVeranschaulichter aufgelaufener Pumpenverschleiß, %
SpilledLitresREALNicht nötigZum Testen oder Beobachten; dein Code kann es weglassenAuf den Boden verschüttetes Wasser, Liter
PumpOnBOOLSchreibtEin Ausgang, den dein Code setztPumpenbefehl
ValveCmdBOOLSchreibtEin Ausgang, den dein Code setztBefehl Ventil öffnen
DrainValveBOOLSchreibtEin Ausgang, den dein Code setztBefehl Ablassventil
AlarmBOOLSchreibtEin Ausgang, den dein Code setztAlarmlampe
DoneBOOLSchreibtEin Ausgang, den dein Code setztDone-Lampe: Der Ablauf ist fertig

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. Die Offen-Rückmeldung gibt die Pumpe frei; ein fehlendes Signal bekommt eine neue Zeitüberwachung von 500 ms.
  2. Stoppe bei 80 %, halte den Weg offen, solange der Motor ausläuft, und schließ ihn dann.
  3. Leerer Quelltank, verlorene Freigabe und Fehler speichern eine Abschaltung; das Wiederanfahren braucht einen neuen Start.

Die Prüfungen führen 7 Tests an der Maschine aus, Zyklus für Zyklus: Öffnen vor dem Pumpen; Auslaufen vor dem Schließen; Vorrang bei trockener Quelle schlägt Abschluss und Reset; Grenze der Zeitüberwachung für die Offen-Rückmeldung; Verlorene Rückmeldung nimmt die Pumpe sofort weg und startet eine neue Wartezeit; Gehaltenes Start kann bei wiederhergestellter Freigabe nicht neu starten; Stop und physischer Fehler wirken sofort; Kein Beginn ohne Platz oder ohne Wasser.

Vor Ort

Wo du das findest

Ein Waschtank in einer Fabrik wird aus einem größeren Vorratstank nachgefüllt. Das Ventil muss offen sein, bevor die Förderpumpe startet.

Eine Pumpe, die ohne Wasser läuft, kann ihre Dichtung ruinieren. Wird der Waschtank überfüllt, läuft Wasser auf den Boden.

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

Mach weiter

Weitere Challenges