ALR_D_FF_TMIN¶
Einleitung¶
Der Funktionsblock ALR_D_FF_TMIN realisiert einen taktflankengesteuerten Data-Latch-Flipflop (D-Flipflop) mit einer minimalen Verzögerungszeit zwischen zwei aufeinanderfolgenden Ereignisausgängen (Minimum inter-disposal Time). Er ermöglicht das latchen eines Datenwerts bei Empfang eines Ereignisses und stellt sicher, dass der Ausgangsereignis-Stoß nicht schneller als ein definierbares Zeitintervall erfolgt. Dies ist besonders nützlich, um nachgeschaltete Systeme vor Überlastung zu schützen oder zeitliche Mindestabstände in der Ereigniskommunikation einzuhalten.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Ereignis | Typ | Kommentar |
|---|---|---|
| INIT | EInit | Initialisierungsanforderung; setzt die Mindestzeit Tmin |
Ereignis-Ausgänge¶
| Ereignis | Typ | Kommentar |
|---|---|---|
| INITO | EInit | Bestätigung der erfolgreichen Initialisierung |
Daten-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
| Tmin | TIME | Minimale Wartezeit zwischen zwei EO-Ereignissen |
Daten-Ausgänge¶
Keine eigenen Datenausgänge vorhanden – der gelatchte Wert wird über den Adapterausgang bereitgestellt.
Adapter¶
| Adapter | Richtung | Typ | Kommentar |
|---|---|---|---|
| I | Socket | ALR (unidirektional) | Eingangswert (D1) und Takt (E1) |
| Q | Plug | ALR (unidirektional) | Ausgangswert (D1) und Quittung (E1) |
Der Adapter ALR (unidirectional) besitzt einen Ereigniseingang E1 und einen Dateneingang D1 (Socket-Seite) bzw. einen Ereignisausgang E1 und Datenausgang D1 (Plug-Seite). – Die genaue Semantik von E1 und D1 ist anwendungsspezifisch; hier dient E1 als Takt und D1 als der zu latchende Datenwert.
Funktionsweise¶
Nach der Initialisierung (INIT) arbeitet der Baustein wie folgt:
- Ereignis am Eingangsadapter
I.E1löst den Latch-Vorgang aus. Der aktuelle WertI.D1wird intern übernommen. - Der gelatchte Wert wird sofort am Ausgangsadapter
Q.D1ausgegeben. - Gleichzeitig wird ein Ereignis
Q.E1ausgelöst – jedoch erst, wenn seit dem letzten Ausgangsereignis mindestens die ZeitTminvergangen ist.
Falls ein weiteresI.E1-Ereignis innerhalb der Wartezeit eintrifft, wird es ignoriert (bzw. erst nach Ablauf vonTminverarbeitet). Die minimale Verzögerung wird durch den internen FunktionsblockE_D_FF_ANY_TMINrealisiert.
Der Datenwert wird also bei jedem gültigen Takt aktualisiert, die Ausgabe des Ereignisses jedoch zeitlich gestreckt.
Technische Besonderheiten¶
- Zusammengesetzter FB: Der Baustein ist als Composite-FB realisiert und verwendet intern den FB
iec61499::events::E_D_FF_ANY_TMIN. Die Logik des eigentlichen Flipflops und die Zeitsteuerung wird dort gekapselt. - Universelles Zeitintervall:
Tminkann zur Laufzeit über INIT gesetzt werden und ist nicht fest vorgegeben. - Gepufferte Ereignisse: Da die Ereignisausgabe verzögert wird, können ankommende Taktereignisse während der Wartezeit verloren gehen, es sei denn, der interne FB puffert sie (hier nicht spezifiziert). Typisch ist ein einfaches Ignorieren.
- Adapterbasierte Schnittstelle: Die Verwendung von Adaptern ermöglicht eine flexible Verschaltung in modularen Steuerungsanwendungen, ohne dass die Anschlüsse fest verdrahtet werden müssen.
Zustandsübersicht¶
Der Baustein besitzt keine expliziten Zustände, sondern arbeitet ereignisgesteuert:
- Idle: Warten auf
I.E1(nach INIT). - Latchen: Bei
I.E1wird der Datenwert übernommen undQ.E1nach Ablauf vonTminausgelöst. - Blockiert: Während
Tminnoch nicht abgelaufen ist, werden weitereI.E1ignoriert. - Nach Ablauf der Wartezeit kehrt der Baustein in den idle-Zustand zurück.
Anwendungsszenarien¶
- Entprellung von Sensorsignalen: Ein Sensor liefert Ereignisse schneller als die nachfolgende Steuerung verarbeiten kann.
Tminlegt den Mindestabstand fest. - Pulsweitenbegrenzung: Sicherstellung, dass Aktorsteuerungen nicht zu schnell hintereinander geschaltet werden (z. B. Ventile, Motoren).
- Taktsynchronisation: Wenn ein Datenwert mit einem asynchronen Takt gelatcht und erst nach einer definierten Totzeit weitergegeben werden soll.
- Sicherheitsfunktionen: Verhindern von „Rapid-Fire“-Befehlen in kritischen Anwendungen.
Vergleich mit ähnlichen Bausteinen¶
- E_D_FF_ANY_TMIN: Ist der interne Baustein – er bietet die gleiche Funktionalität, jedoch ohne die Adapter-Schnittstelle.
ALR_D_FF_TMINkapselt diesen in eine anwendungsfreundlichere, adapterbasierte Form. - Standard IEC 61499 D-Flipflops: Diese haben oft keine zeitliche Steuerung der Ausgangsereignisse. Der hier beschriebene FB erweitert sie um die
Tmin-Verzögerung. - FB mit TON/Timer: Ein reiner Timer würde nur zeitverzögert auslösen, aber keinen Datenwert halten. Die Kombination mit einem Latch ist spezifisch.
Fazit¶
Der Funktionsblock ALR_D_FF_TMIN vereint die Eigenschaften eines D-Flipflops mit einer einstellbaren Mindestzeit zwischen Ereignisausgaben. Durch die Adaptertechnik und die einfache Initialisierung lässt er sich flexibel in IoT-, Automatisierungs- oder Steuerungsumgebungen einsetzen. Besonders geeignet ist er für Anwendungen, die eine zeitliche Entkopplung zwischen Datenerfassung und Ereignisweitergabe erfordern.