sequence_E_04
Einleitung
Der Funktionsblock sequence_E_04 ist ein Sequenzer, der eine lineare Abfolge von vier Zuständen (State_01 bis State_04) mit einem definierten Startzustand (START) und einem Endzustand (State_00) realisiert. Der Übergang zwischen den einzelnen Zuständen erfolgt ausschließlich durch externe Ereignisse. Der Baustein ist für Steuerungsaufgaben konzipiert, bei denen eine schrittweise, ereignisgesteuerte Abarbeitung erforderlich ist, wie z.B. in einfachen Prozess- oder Montageabläufen.
Schnittstellenstruktur
Ereignis-Eingänge
START_S1: Wechselt vom Zustand START oder State_00 in den Zustand State_01.
S1_S2: Wechselt vom Zustand State_01 in den Zustand State_02.
S2_S3: Wechselt vom Zustand State_02 in den Zustand State_03.
S3_S4: Wechselt vom Zustand State_03 in den Zustand State_04.
S4_START: Wechselt vom Zustand State_04 in den Zustand State_00.
RESET: Setzt den Baustein von jedem beliebigen Zustand (State_01 bis State_04) in den Zustand State_00 zurück.
Ereignis-Ausgänge
CNF: Bestätigungsereignis, das bei jedem Zustandswechsel ausgelöst wird. Es liefert die aktuelle Zustandsnummer über
STATE_NR.EO_S1: Wird beim Eintritt in den Zustand State_01 ausgelöst und liefert den Wert von
DO_S1(TRUE).EO_S2: Wird beim Eintritt in den Zustand State_02 ausgelöst und liefert den Wert von
DO_S2(TRUE).EO_S3: Wird beim Eintritt in den Zustand State_03 ausgelöst und liefert den Wert von
DO_S3(TRUE).EO_S4: Wird beim Eintritt in den Zustand State_04 ausgelöst und liefert den Wert von
DO_S4(TRUE).
Daten-Eingänge
Keine vorhanden.
Daten-Ausgänge
STATE_NR (SINT): Gibt die Nummer des aktuellen Zustands aus. Die Kodierung lautet: START = 0, State_01 = 1, State_02 = 2, State_03 = 3, State_04 = 4.
DO_S1 (BOOL): Ist TRUE, wenn der Zustand State_01 aktiv ist.
DO_S2 (BOOL): Ist TRUE, wenn der Zustand State_02 aktiv ist.
DO_S3 (BOOL): Ist TRUE, wenn der Zustand State_03 aktiv ist.
DO_S4 (BOOL): Ist TRUE, wenn der Zustand State_04 aktiv ist.
Adapter
Keine vorhanden.
Funktionsweise
Der sequence_E_04 ist als Basic Function Block (BFB) implementiert und besitzt eine Execution Control Chart (ECC). Die ECC definiert die Zustände und die ereignisgesteuerten Übergänge zwischen ihnen. Bei jedem Zustandswechsel werden spezifische Algorithmen ausgeführt:
Exit-Algorithmus (X): Wird beim Verlassen eines Zustands ausgeführt, um den zugehörigen Datenausgang (
DO_Sx) auf FALSE zu setzen.Entry-Algorithmus (E): Wird beim Betreten eines Zustands ausgeführt, um den zugehörigen Datenausgang (
DO_Sx) auf TRUE zu setzen und das entsprechende Ereignis (EO_Sx) auszulösen.Confirmation-Algorithmus (C): Wird in jedem Zustand (außer RESET) ausgeführt, um die Zustandsnummer
STATE_NRzu aktualisieren und das BestätigungsereignisCNFauszulösen.
Ein RESET-Ereignis führt alle notwendigen Exit-Algorithmen der aktiven Zustände aus und wechselt über einen Zwischenzustand (sRESET) in den Endzustand State_00.
Technische Besonderheiten
Ereignisbasierte Transition: Zustandswechsel sind ausschließlich durch externe Ereignisse möglich. Es gibt keine zeit- oder datengesteuerten Übergänge.
Explizite Zustandskodierung: Die Zustandsnummern sind als Konstanten aus der Bibliothek
sequencedefiniert, was die Wiederverwendung und Lesbarkeit des Codes verbessert.Sauberer Reset: Der Reset-Vorgang deaktiviert alle aktiven Ausgänge, bevor der Endzustand erreicht wird, um ein klares und definiertes Systemverhalten zu gewährleisten.
Initialzustand: Der FB startet im Zustand
xSTART. Der erste Übergang in die operative Sequenz erfolgt durch das EreignisSTART_S1.
Zustandsübersicht
xSTART: Initialer Ruhezustand.
sState_01: Erster aktiver Schritt.
DO_S1= TRUE.sState_02: Zweiter aktiver Schritt.
DO_S2= TRUE.sState_03: Dritter aktiver Schritt.
DO_S3= TRUE.sState_04: Vierter aktiver Schritt.
DO_S4= TRUE.sState_00: Finaler Ruhezustand nach Abschluss der Sequenz. Alle
DO_Sx= FALSE.sRESET: Zwischenzustand während eines Reset-Vorgangs. Führt die Deaktivierung aller Ausgänge durch.
Anwendungsszenarien
Schrittkettensteuerungen: Steuerung von Maschinen oder Anlagen, die einen festen, schrittweisen Arbeitsablauf haben (z.B. Pick-and-Place, Füllanlagen).
Taktung von Prozessen: Synchronisation von Teilprozessen, bei denen jeder Schritt manuell oder durch ein Sensorsignal freigegeben wird.
Manuelle Bedienabläufe: Umsetzung von geführten Bediensequenzen, bei denen der Operator jeden Schritt bestätigen muss.
⚖️ Vergleich mit ähnlichen Bausteinen
Im Gegensatz zu einem E_CYCLE- oder E_DELAY-Baustein bietet sequence_E_04 keine zeitgesteuerten, sondern rein ereignisgesteuerte Übergänge. Im Vergleich zu einem generischen E_SR (Flip-Flop) oder einer Kombination aus E_D_FF (D-Flip-Flop) realisiert dieser FB eine vordefinierte Zustandsmaschine mit mehreren Schritten und einer klaren Reset-Logik. Er ist spezialisierter und strukturierter als eine ad-hoc Implementierung mit mehreren Einzelbausteinen.
Fazit
Der sequence_E_04 ist ein robuster und einfach zu verwendender Sequenzer für IEC 61499. Seine klare, ereignisgesteuerte Schnittstelle und die explizite Zustandsverwaltung machen ihn ideal für Anwendungen, bei denen ein deterministischer, schrittweiser Ablauf erforderlich ist. Die integrierte Reset-Funktionalität und die Zustandsrückmeldung über CNF und STATE_NR unterstützen eine sichere und gut überwachbare Integration in übergeordnete Steuerungen.