Selbsthaltung oder OTL/OTU? SPS-Speicher sicher auswählen
Selbsthalteschaltungen und OTL-/OTU-Anweisungen können denselben Befehl halten, verhalten sich bei Fehlern jedoch unterschiedlich. Dieser Leitfaden vergleicht Scanverhalten, Neustartrisiken, Fehler...
Ein Motorbefehl, der nach dem Loslassen der Starttaste durch den Bediener aktiv bleibt, kann mit einem Selbsthaltezweig oder mit rücksetzbaren Setz-/Rücksetzanweisungen aufgebaut werden. Das stationäre Ergebnis kann auf einer HMI identisch aussehen. Das Fehlerverhalten ist jedoch nicht identisch – und dieser Unterschied ist bei einem Neustart, einer Störung oder einer Online-Bearbeitung entscheidend.
Die nützliche technische Frage lautet daher nicht „Welche Anweisung ist besser?“, sondern „Wo soll der Zustand gespeichert werden, wer darf ihn ändern, und welche Bedingungen müssen Vorrang behalten?“
Zwei Möglichkeiten, sich etwas zu merken – zwei unterschiedliche Vereinbarungen
Ein herkömmlicher Selbsthaltekreis verwendet eine gewöhnliche Ausgangsanweisung und einen parallelen Kontakt des angesteuerten Bits. In der Logix-Terminologie folgt eine Output-Energize-Anweisung in jedem Zyklus der Rung-Bedingung: Eine wahre Rung schreibt das Bit auf „wahr“, eine falsche Rung auf „falsch“. Der Zweig hält die Rung wahr, nachdem die kurzzeitige Startanforderung verschwunden ist, aber ein in Reihe geschalteter Stopp, eine Störung oder eine Freigabebedingung kann den Pfad sofort unterbrechen.
Eine Output-Latch-Anweisung schreibt ein Bit auf „wahr“, sobald ihre Rung wahr wird. Das Bit bleibt anschließend wahr, bis eine Output-Unlatch-Anweisung – oder ein anderer Schreiber – es löscht. Die Referenz zu Bit-Anweisungen von Rockwell Automation unterscheidet OTE als zyklusabhängigen Ausgang von OTL und OTU als rückhaltende Setz- und Löschoperationen.

Ein Setz-/Rücksetzpaar trennt die Bedingungen, die einen Befehl setzen und löschen. Das Diagramm wurde aus der ursprünglichen Medienillustration übernommen; Quelle: Control.com.
Der Zyklus entscheidet, welchem Design leichter zu vertrauen ist
Selbsthaltelogik macht den vorrangigen Stopp-Pfad sichtbar
Bei einer einfachen Laufanforderung hält das Selbsthaltemuster die Bedingungen für Start, Stopp, Überlast, Betriebsart und Freigaben auf einer Rung sichtbar. Sobald eine beliebige Bedingung in Reihe falsch wird, wird die OTE in diesem Zyklus wieder auf „falsch“ geschrieben. Wartungstechniker können die vollständige Entscheidung normalerweise nachvollziehen, ohne mehrere Routinen durchsuchen zu müssen.
Das Muster wird schwierig, wenn viele Subsysteme denselben Zustand starten oder stoppen können. Das fortlaufende Hinzufügen paralleler Zweige verschleiert die Priorität und erschwert die Fehlersuche während des Online-Betriebs. An diesem Punkt ist eine dedizierte Zustandsmaschine oft übersichtlicher als entweder eine riesige Selbsthalterung oder verstreute Latch-Anweisungen.
OTL und OTU trennen Ereignisse vom Zustand
Rückhaltende Anweisungen sind nützlich, wenn unabhängige Ereignisse einen Zustand setzen und löschen müssen: einen Sequenzschritt, einen abgeschlossenen Handshake, eine Alarmquittierung oder eine Anforderung, die den auslösenden Impuls überdauern muss. Das Risiko liegt in der Zustandsverantwortung. Wenn dasselbe Tag aus mehreren Routinen geschrieben wird, können Aufgaben- und Zyklusreihenfolge den endgültigen Wert bestimmen.
Ein Querverweis, der einen Latch und einen Unlatch zeigt, belegt für sich genommen noch kein sicheres Verhalten. Das Programm benötigt außerdem eine eindeutige Prioritätsregel. Wenn Setz- und Rücksetzbedingungen im selben Zyklus wahr sein können, muss der Entwickler dokumentieren, welches Ergebnis Vorrang hat, und überprüfen, dass die Routinenplanung dies nicht unerwartet ändern kann.
Gespeicherten Zustand vom physikalischen Ausgang fernhalten
Ein starkes Muster besteht darin, einen internen Befehl oder Sequenzzustand zu speichern und anschließend den physikalischen Ausgang mit einer einzigen OTE anzusteuern, die durch aktuelle Freigaben verriegelt wird. Die gespeicherte Anforderung kann weiterhin wahr sein, aber der Aktuatorbefehl fällt dennoch ab, sobald eine Überlast, eine Schutzeinrichtung, eine Prozessverriegelung oder die Betriebsart die Freigabe entzieht.
Diese Trennung verbessert auch die Diagnose. Bediener können erkennen, dass eine Laufanforderung vorhanden ist, während eine bestimmte Freigabebedingung die Bewegung blockiert. Dasselbe Prinzip hilft bei der Inbetriebnahme von Steuerungen; der Inbetriebnahmeablauf für Micro800 erklärt, warum Ausgänge unter kontrollierten Bedingungen geprüft werden sollten, statt sie allein aus einem internen Bit abzuleiten.
Sicherheitsfunktionen erfordern sicherheitsgerichtete Hardware, validierte Logik und ein dokumentiertes Konzept zur Risikominderung. Weder ein Selbsthaltezweig noch ein gewöhnliches OTL-/OTU-Paar macht aus einem Standard-SPS-Ausgang eine Sicherheitsfunktion.
Das Neustartverhalten ist eine Designanforderung, keine Überraschung
Bevor rückhaltende Logik ausgewählt wird, muss festgelegt werden, was nach einem Stromausfall, einem Wechsel der Steuerungsbetriebsart, einem Programmdownload oder einer Unterbrechung der Kommunikation geschehen soll. Ein physischer Schütz fällt bei fehlender Versorgung ab, aber ein gespeicherter Befehl kann beim Wiederaufnehmen der Steuerung weiterhin wahr sein. Ein automatischer Neustart kann für bestimmte kontinuierliche Prozesse akzeptabel, für Maschinen mit Zugang durch Personen jedoch unzulässig sein.
Verwenden Sie einen Anlaufzustand, der gespeicherte Anforderungen bewusst mit den aktuellen Feldbedingungen abgleicht. Bestätigen Sie Rückmeldesignale, löschen Sie veraltete Handshakes, stellen Sie die Kommunikationsqualität wieder her und verlangen Sie eine neue Bedieneraktion, wenn dies die Risikobeurteilung fordert.
Inbetriebnahmetests, die verborgene Fehler sichtbar machen
Testen Sie mehr als nur Start und Stopp. Halten Sie beide Anforderungen wahr, entfernen Sie nacheinander jeweils eine Freigabebedingung, erzwingen Sie während des Zustandsübergangs eine Störung, wechseln Sie die Steuerungsbetriebsart, unterbrechen Sie netzwerkbasierte Rückmeldungen und prüfen Sie, was nach der Wiederherstellung der Stromversorgung geschieht. Beobachten Sie Befehlbit, endgültige Ausgangsrung und Feldrückmeldung gemeinsam.
Auch das Verhalten von One-Shots kann sich bei einer Latch-Auslegung ändern. Wenn ein Ereignis nur einmal erwartet wird, müssen Speicherbit und Zykluszeitpunkt überprüft werden. Der zugehörige Leitfaden zu One-Shot-Impulsen und dem OTE-Verhalten in Studio 5000 zeigt, warum ein intern vorhandener Impuls möglicherweise nie das vom Entwickler erwartete Ergebnis im Feld erzeugt.
Redaktionelle Einschätzung: Eindeutige Zustandsverantwortung ist wichtiger als die Wahl der Anweisung
Für einfache gehaltene Befehle bevorzugt PLC ProTech ein Selbsthaltemuster, weil der Stopp-Pfad sichtbar ist und kontinuierlich ausgewertet wird. Für Sequenzzustände und Ereignisspeicher ist Setz-/Rücksetzlogik geeignet, wenn eine Routine allein für den Zustand verantwortlich ist, die Rücksetzpriorität eindeutig festgelegt wurde und der physikalische Ausgang weiterhin über eine separate, freigabegesteuerte OTE angesteuert wird.
Die Wahl der Anweisung ist zweitrangig. Das entscheidende Qualitätsmerkmal ist, ob ein anderer Entwickler jeden Schreiber identifizieren, den Zustand nach einer Unterbrechung vorhersagen und nachweisen kann, dass Schutzbedingungen Vorrang haben.
FAQ
Hält eine OTL-Anweisung einen echten Ausgang während eines Stromausfalls erregt?
Nein. Der Verlust der Steuerungsspannung entzieht dem physikalischen Ausgangskreis die Energie. Die Sorge besteht darin, dass das gespeicherte Befehlsbit beim Wiederanlauf von Steuerung und Ausgangssystem weiterhin wahr sein kann – abhängig von Steuerung, Speicherkonfiguration und Anlaufprogramm.
Ist eine Selbsthalterung nicht rückhaltend?
Die OTE folgt ihrer Rung, sobald die Rung abgefragt wird. Ein Selbsthaltezweig kann die Rung im Normalbetrieb aufrechterhalten, aber das Verhalten beim Anlauf und beim Vorscan ist steuerungsspezifisch. Entwickler sollten die Zielplattform überprüfen, statt von identischem Verhalten über verschiedene SPS-Familien hinweg auszugehen.
Kann dasselbe Tag von OTL-, OTU- und OTE-Anweisungen verwendet werden?
Viele SPS lassen mehrere Schreiber zu, aber das Ergebnis kann von Ausführungsreihenfolge und Zyklusreihenfolge abhängen und ist schwer zu diagnostizieren. Ein sichereres Design weist jedem Zustand einen einzigen Besitzer zu und steuert jeden physikalischen Ausgang von einer einzigen abschließenden Befehlsstelle aus.
Wann ist Setz-/Rücksetzlogik die bessere Wahl?
Sie eignet sich für Ereignisspeicher, Sequenzschritte, Alarmquittierungen und Handshakes, die über einen Trigger von einem Zyklus hinaus bestehen bleiben müssen. Rücksetzbedingung, Anlaufstrategie und Reaktion auf Störungen müssen gleichzeitig definiert werden.