AX_RS_SYM_INIT¶
Einleitung¶
Der Funktionsblock AX_RS_SYM_INIT realisiert einen ereignisgesteuerten, bistabilen Flip-Flop (RS-Flip-Flop) mit symmetrischem Start-up-Verhalten und explizitem Initialisierungsmechanismus. Er erweitert einen einfachen RS-Flip-Flop um die Fähigkeit, beim Start (INIT) einen vorgegebenen Zustand einzunehmen und über den Ereignis-Eingang INIT sowohl die Initialisierung als auch die Deinitialisierung zu steuern. Der tatsächliche Zustand des Flip-Flops wird über einen Adapter bereitgestellt, während die Datenausgänge QO und der Adapter-Ausgang Q.D1 synchronisiert werden.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
| INIT | EInit | Initialisierungsanforderung (mit QI, Q_INIT) |
| R | Event | Reset-Signal (setzt Q zurück) |
| S | Event | Set-Signal (setzt Q) |
Ereignis-Ausgänge¶
| Name | Typ | Kommentar |
|---|---|---|
| INITO | EInit | Initialisierungsbestätigung (mit QO) |
Daten-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
| QI | BOOL | Ereignis-Qualifier – steuert die Ausführung |
| Q_INIT | BOOL | Gewünschter Wert von Q bei der Initialisierung |
Daten-Ausgänge¶
| Name | Typ | Kommentar |
|---|---|---|
| QO | BOOL | Ereignis-Qualifier – gibt QI an INITO oder bei S/R weiter |
Adapter¶
| Name | Typ | Kommentar |
|---|---|---|
| Q | adapter::types::unidirectional::AX | Adapter für den Wert des Flip-Flops (D1) |
Funktionsweise¶
Der FB durchläuft verschiedene Zustände, gesteuert durch die Ereignisse INIT, S und R.
- Im START-Zustand wartet er auf ein INIT-Ereignis.
- Wird INIT mit
QI = TRUEempfangen, wechselt er in den Init-Zustand. Die AktioninitializesetztQO := QI. - Abhängig vom Wert von
Q_INIT:- Ist
Q_INIT = TRUE→ Wechsel in SET-Zustand. - Ist
Q_INIT = FALSE→ Wechsel in RESET-Zustand.
- Ist
-
Nach der Aktion wird
INITOausgelöst. -
Wird INIT mit
QI = FALSEempfangen (egal ob aus SET oder RESET), wechselt er in den DeInit-Zustand. Die AktiondeInitializesetztQO := FALSE. Anschließend wirdINITOausgelöst und der FB geht zurück zu START. -
In den Zuständen SET und RESET verhält sich der FB wie ein herkömmlicher RS-Flip-Flop:
- Bei S-Ereignis wird die Aktion
SETausgeführt:QO := QI; wennQI = TRUE, wird zusätzlichQ.D1 := TRUEgesetzt (Adapter-Ausgang). - Bei R-Ereignis wird die Aktion
RESETausgeführt:QO := QI; wennQI = TRUE, wirdQ.D1 := FALSEgesetzt. - Das Ereignis an
Q.E1wird nach jeder Aktion gesendet.
Die QI-Variable fungiert als Qualifier: Nur wenn QI = TRUE, werden die Operationen auf den Adapter (Setzen/Rücksetzen von Q.D1) tatsächlich durchgeführt. Andernfalls wird nur QO weitergereicht.
Technische Besonderheiten¶
- Symmetrisches Start-up-Verhalten: Die Initialisierung berücksichtigt den Wert von
Q_INIT, sodass der Flip-Flop gezielt in den SET- oder RESET-Zustand starten kann. Das Verhalten ist symmetrisch, da beide Möglichkeiten explizit abgebildet sind. - Adapter-Kopplung: Der Zustand des Flip-Flops wird nicht direkt als Datenausgang geführt, sondern über einen unidirektionalen Adapter (
Q) mit dem AusgangD1bereitgestellt. Dies ermöglicht eine lose Kopplung mit weiteren Bausteinen. - Deinitialisierung: Durch INIT mit
QI = FALSEwird der FB zurückgesetzt und kehrt in den START-Zustand zurück. Dabei werden alle internen Variablen auf definierte Werte gesetzt (QO = FALSE). - Ereignis-Qualifier:
QIundQOdienen der Steuerung der Ereignisweitergabe und bieten eine zusätzliche Bedingungsebene.
Zustandsübersicht¶
| Zustand | Beschreibung |
|---|---|
| START | Warten auf INIT-Ereignis |
| Init | Initialisierung: Setzt QO und wählt Zielzustand |
| DeInit | Deinitialisierung: Setzt QO = FALSE |
| SET | Aktiver Set-Zustand (Q.D1 = TRUE) |
| RESET | Aktiver Reset-Zustand (Q.D1 = FALSE) |
Wichtige Transitionen: - START → Init bei INIT mit QI = TRUE - Init → SET bei Q_INIT = TRUE - Init → RESET bei Q_INIT = FALSE - SET → RESET bei R - RESET → SET bei S - SET/RESET → DeInit bei INIT mit QI = FALSE - DeInit → START (automatisch nach Abschluss)
Anwendungsszenarien¶
- Anlaufsteuerung: Ein Flip-Flop, der nach einem Start oder Reset einen definierten Anfangszustand einnehmen soll (z. B. Maschine startet im Zustand „Bereit“).
- Sichere Initialisierung: In sicherheitskritischen Systemen, bei denen der Startzustand explizit vorgegeben werden muss.
- Modularer Aufbau: Einsatz als grundlegendes Speicherelement in einer Adapter-basierten Architektur, bei der der Zustand über den Adapter an andere Bausteine weitergegeben wird.
Vergleich mit ähnlichen Bausteinen¶
- Standard RS (z. B. RS-Flipflop): Einfacher RS-Flip-Flop ohne INIT und ohne Adapter.
AX_RS_SYM_INITerweitert dies um Initialisierungslogik und Adapter-Schnittstelle. - Bistabile Kippglieder mit Reset: Viele Bausteine bieten nur asynchrones Rücksetzen. Dieser FB integriert das Reset in das EVENT-gesteuerte Verhalten und erlaubt eine symmetrische Zielvorgabe.
- SR-Latch mit INIT: Ähnliche Bausteine existieren, jedoch meist ohne den Qualifier
QIund die Deinitialisierungsmöglichkeit.
Fazit¶
Der FB AX_RS_SYM_INIT kombiniert ein klassisches RS-Flipflop-Verhalten mit einer flexiblen Initialisierungslogik, die sowohl Setzen als auch Rücksetzen beim Start erlaubt. Die Verwendung eines Adapters für den Zustandswert und die Einbeziehung von Qualifiern (QI, QO) machen ihn zu einem robusten und vielseitigen Baustein für ereignisgesteuerte Automatisierungsanwendungen, die einen definierten und rücksetzbaren Anfangszustand benötigen.