Definition und Zweck:
Setzen (engl. Set) ist eine grundlegende Operation in der SPS-Programmierung, die dazu dient, einen digitalen Ausgang oder einen internen Merker dauerhaft auf den logischen Zustand „EIN“ (TRUE, 1) zu schalten. Ein einmal gesetzter Ausgang oder Merker behält diesen Zustand bei, auch wenn das Signal, das den Set-Befehl ausgelöst hat, wieder auf „AUS“ geht.
Das Hauptziel des Setzens ist es, eine Speicherfunktion zu implementieren (Latching), bei der ein Zustand über mehrere SPS-Zyklen hinweg erhalten bleiben muss, bis er durch eine separate Operation explizit zurückgesetzt wird.
Relevanz in der SPS-Programmierung:
Setzen-Anweisungen sind unverzichtbar für die Implementierung von Steuerungslogiken, die ein „Gedächtnis“ benötigen:
- Latching-Logik: Die häufigste Anwendung. Ein kurzer Impuls (z.B. von einem Start-Taster) setzt einen Ausgang (z.B. Motor-EIN), der dann dauerhaft aktiv bleibt, bis ein separater Reset-Befehl (z.B. von einem Stopp-Taster) ihn ausschaltet.
- Zustandsflags: Setzen von internen Merkern, die den Zustand eines Maschinenteils (z.B. „Maschine_Produziert“, „Alarm_Aktiv“) über einen längeren Zeitraum speichern.
- Fehlerbehandlung: Setzen eines Fehler-Merker-Bits bei Auftreten eines Fehlers, das erst nach Fehlerbehebung und Quittierung zurückgesetzt wird.
- Schrittketten: Setzen von Merkern, um den aktiven Schritt in einer Sequenz zu signalisieren.
Syntax (Beispiel in Strukturierter Text – ST):Motor_Start_Taste := TRUE; (* Wenn Start-Taste gedrückt wird *)IF Motor_Start_Taste THEN Motor_RUN.SET; END_IF;
Dabei ist Motor_RUN ein digitaler Ausgang oder Merker.
Vorsicht: Jede Set-Anweisung erfordert eine entsprechende Reset-Anweisung, um den Zustand wieder zu löschen. Ohne einen klaren Reset kann ein Ausgang dauerhaft aktiv bleiben, was zu unerwünschtem oder gefährlichem Verhalten führen kann. Die Balance zwischen Set- und Reset-Befehlen muss sorgfältig programmiert werden.
→ Siehe auch: Rücksetzen (RESET), Latching, Variable, Merker, SPS-Programmierung, Digitalausgang

