Q_INTERLOCK_2
Einleitung
Der Funktionsblock Q_INTERLOCK_2 ist ein ereignisgesteuerter, bistabiler Speicher mit Toggle-Funktionalität und dualer Verriegelung. Er dient der Steuerung zweier gegenseitig ausschließender Ausgänge (OUT1 und OUT2). Der Baustein kann sowohl über direkte Setz-Ereignisse als auch über Takt-Ereignisse (für eine Toggle-Funktion) angesteuert werden und stellt sicher, dass immer nur einer der beiden Ausgänge aktiv sein kann. Ein gemeinsames Reset-Ereignis setzt beide Ausgänge zurück.
Schnittstellenstruktur
Ereignis-Eingänge
SET1: Setzt den Ausgang
OUT1aufTRUEundOUT2aufFALSE.CLK1: Fungiert als Takt und schaltet den Ausgang
OUT1bei jedem Ereignis um (vonFALSEaufTRUEbzw.TRUEaufFALSE). Gleichzeitig wirdOUT2aufFALSEgesetzt.SET2: Setzt den Ausgang
OUT2aufTRUEundOUT1aufFALSE.CLK2: Fungiert als Takt und schaltet den Ausgang
OUT2bei jedem Ereignis um. Gleichzeitig wirdOUT1aufFALSEgesetzt.R: Setzt beide Ausgänge (
OUT1undOUT2) aufFALSE.
Ereignis-Ausgänge
EO: Wird bei jeder Zustandsänderung eines der Ausgänge (
OUT1oderOUT2) ausgelöst. Dieses Ereignis tritt immer dann auf, wenn einer der AlgorithmenSET1,SET2oderRESETausgeführt wird.
Daten-Eingänge
Dieser Funktionsblock besitzt keine Daten-Eingänge.
Daten-Ausgänge
OUT1: Boolescher Wert des ersten Flip-Flops.
OUT2: Boolescher Wert des zweiten Flip-Flops.
Adapter
Dieser Funktionsblock verwendet keine Adapter.
Funktionsweise
Der Q_INTERLOCK_2 ist als Basic Function Block (BFB) implementiert und besitzt einen Execution Control Chart (ECC) mit vier Zuständen: START, SET1, SET2 und RESET.
Initialzustand (
START): Beide Ausgänge sindFALSE.Zustandsübergänge: Bei Eintreffen eines Ereignises wird der entsprechende Übergang im ECC ausgewertet.
SET1oderCLK1führen zum ZustandSET1.SET2oderCLK2führen zum ZustandSET2.Rführt zum ZustandRESET.
Algorithmusausführung: Im Zielzustand wird der zugehörige Algorithmus ausgeführt, der die Ausgangsvariablen setzt.
Algorithmus
SET1:OUT1 := TRUE; OUT2 := FALSE;Algorithmus
SET2:OUT1 := FALSE; OUT2 := TRUE;Algorithmus
RESET:OUT1 := FALSE; OUT2 := FALSE;
Ereignisausgabe: Nach Ausführung des Algorithmus wird das Ausgangsereignis
EOausgelöst, um nachfolgende Blöcke über die Änderung zu informieren.Rückkehr: Nach Ausführung des Algorithmus und dem Senden von
EOkehrt der ECC immer in denSTART-Zustand zurück.
Die Toggle-Funktion wird durch die Ereignisse CLK1 und CLK2 realisiert. Ein CLK1-Ereignis führt immer zur Ausführung von SET1. Wenn OUT1 bereits TRUE war, hat dies keine sichtbare Änderung zur Folge (es bleibt TRUE). Wenn OUT1 jedoch FALSE war, wird es auf TRUE gesetzt. Das Verhalten für CLK2 ist analog. Die gegenseitige Sperre (Interlock) ist in den Algorithmen SET1 und SET2 hart verdrahtet: Wird einer der Ausgänge gesetzt, wird der andere immer explizit zurückgesetzt.
Technische Besonderheiten
Duale Verriegelung (Dual Interlock): Die Ausgänge
OUT1undOUT2sind streng gegenseitig ausschließend. Die Algorithmen garantieren, dass nie beide gleichzeitigTRUEsein können.Kombinierte Set-/Toggle-Eingänge: Der Baustein bietet für jeden Ausgang sowohl einen direkten Set- als auch einen Toggle-Eingang, was die Flexibilität erhöht.
Globales Reset: Das
R-Ereignis hat Vorrang vor allen Set- oder Toggle-Operationen im selben Zyklus und setzt beide Ausgänge zurück.Ereignisgesteuert: Jede Änderung der Ausgänge wird durch ein eingehendes Ereignis ausgelöst und selbst mit einem Ausgangsereignis (
EO) quittiert.
Zustandsübersicht
Der ECC besteht aus vier Zuständen:
START: Wartezustand, Ausgänge entsprechen dem letzten gespeicherten Wert.
SET1: Aktiver Zustand, in dem Algorithmus
SET1ausgeführt wird.SET2: Aktiver Zustand, in dem Algorithmus
SET2ausgeführt wird.RESET: Aktiver Zustand, in dem Algorithmus
RESETausgeführt wird.
Nach Verlassen der aktiven Zustände (SET1, SET2, RESET) erfolgt ein automatischer, bedingungsloser Übergang zurück in den START-Zustand.
Anwendungsszenarien
Steuerung gegenseitig ausschließender Aktoren: Z.B. Wahl zwischen „Heizen“ und „Kühlen“ in einer Klimaanlage, wo nie beide Funktionen gleichzeitig aktiv sein dürfen.
Betriebsartenschaltung: Umschalten zwischen zwei verschiedenen Maschinen- oder Anlagenzuständen (z.B. „Automatik“ vs. „Handbetrieb“), wobei ein Wechsel nur auf explizite Anforderung erfolgt.
Toggle-Schalter mit Priorität: Ein Tastendruck (
CLK1/CLK2) schaltet eine Funktion ein, ein Druck auf die andere Taste schaltet die erste aus und die zweite ein. Ein Not-Aus (R) schaltet alles ab.
⚖️ Vergleich mit ähnlichen Bausteinen
E_SR (Set-Reset): Der klassische SR-Flipflop hat separate
S1/S2undR1/R2Eingänge.Q_INTERLOCK_2kombiniert dies mit Toggle-Funktionalität (CLK1/CLK2) und erzwingt die gegenseitige Ausschließlichkeit bereits intern. BeiE_SRkann durch gleichzeitiges Setzen beider Eingänge ein undefinierter Zustand entstehen, was hier durch das Interlock verhindert wird.E_RS (Reset-Set): Ähnlich wie
E_SR, jedoch mit priorisiertem Reset.Q_INTERLOCK_2hat ein globales ResetRmit höchster Priorität, aber die Set-Eingänge sind untereinander gleichberechtigt (das zuletzt ausgelöste Set- oder Toggle-Ereignis gewinnt).E_T (T-Flipflop): Ein reiner Toggle-Baustein ohne Set-Funktion und ohne zweiten, gesperrten Ausgang.
Q_INTERLOCK_2erweitert dies um die duale, verriegelte Struktur.
Fazit
Der Q_INTERLOCK_2 ist ein vielseitiger und robuster Funktionsblock für Steuerungsaufgaben, bei denen zwei Zustände gegeneinander verriegelt werden müssen. Die Kombination aus direkter Setz- und Toggle-Funktionalität sowie ein globales Reset machen ihn für eine Vielzahl von Applikationen geeignet. Die interne Implementierung der Verriegelung entlastet den Anwender von der Fehleranfälligkeit, diese Logik extern nachbilden zu müssen. Er ist ideal für klare, zustandsbasierte Steuerungen mit gegenseitigem Ausschluss.