AB_D_FF_TMIN¶
Einleitung¶
Der AB_D_FF_TMIN ist ein Adapter-basierter Funktionsbaustein (FB) nach IEC 61499, der die Funktionalität eines Data-Latch (D-Flipflop) mit einer minimalen Zeitbedingung zwischen aufeinanderfolgenden Ausgangsereignissen realisiert. Er dient dazu, einen digitalen Datenwert von einem Adapter-Socket (Eingang) auf einen Adapter-Plug (Ausgang) zu übertragen und dabei sicherzustellen, dass die Ausgangsereignisse (EO) nicht schneller als durch einen konfigurierten Zeitparameter Tmin erlaubt auftreten. Der Baustein abstrahiert die reine D-Flipflop-Logik durch die Nutzung eines internen Flipflop-Bausteins und kapselt Daten und Ereignisse in Adapter-Schnittstellen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
INIT |
EInit | Initialisierungsanforderung (setzt die minimale Zeit) |
Ereignis-Ausgänge¶
| Name | Typ | Kommentar |
|---|---|---|
INITO |
EInit | Initialisierungsbestätigung |
Daten-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
Tmin |
TIME | Mindestzeit zwischen zwei Ausgangsereignissen EO |
Daten-Ausgänge¶
Keine direkten Datenausgänge; die Datenausgabe erfolgt über den Adapter-Plug Q.
Adapter¶
| Richtung | Name | Typ | Kommentar |
|---|---|---|---|
| Socket | I |
adapter::types::unidirectional::AB | Eingangsadapter: liefert Ereignis E1 und Datenwert D1 (der zu latchende Wert) |
| Plug | Q |
adapter::types::unidirectional::AB | Ausgangsadapter: gibt den gelatchten Datenwert D1 sowie das Ereignis E1 aus |
Hinweis: Der Adapter unidirectional::AB definiert ein Ereignis E1 und einen Datenwert D1 (typischerweise ein boolescher oder beliebiger generischer Typ). Die genaue Typdefinition des Adapters liegt außerhalb dieses Bausteins.
Funktionsweise¶
Der Baustein arbeitet intern mit dem FB E_D_FF_ANY_TMIN (Typ iec61499::events::E_D_FF_ANY_TMIN), der die Kernlogik des D-Flipflops mit einer minimalen Haltezeit zwischen Ausgangsereignissen realisiert. Die Funktionsweise gliedert sich wie folgt:
-
Initialisierung:
Durch ein Ereignis anINITwird der ParameterTmin(Mindestzeit) an den inneren FB übergeben. Der Baustein quittiert dies mitINITO. -
Datenerfassung und -weitergabe:
- Am Socket
Itritt ein EreignisE1auf, das den DatenwertD1(das zu latchende Signal) transportiert. - Dieses Ereignis wird als
CLKan den inneren Flipflop-Baustein weitergeleitet, der gleichzeitig den DatenwertD1vonI.D1aufnimmt. - Der innere Flipflop speichert den Wert
D1und gibt ihn an seinem AusgangQaus. - Der gelatchte Wert wird über den Plug
Q.D1nach außen gegeben, und zeitgleich wird das AusgangsereignisEOdes inneren FBs ausgelöst. -
Dieses
EOwird anQ.E1weitergeleitet, sodass der empfangende Adapter über die Aktualisierung informiert wird. -
Zeitsteuerung:
Der innere FBE_D_FF_ANY_TMINstellt sicher, dass nach einem AusgangsereignisEOfür die Dauer vonTminkein weiteres Ausgangsereignis erzeugt werden kann – unabhängig davon, wie schnell Eingangsereignisse eintreffen. Überschreitet die Zeit zwischen zweiE1-Eingängen dieTmin-Schranke, wird der Wert sofort übernommen, andernfalls wird er blockiert, bis die Mindestzeit abgelaufen ist.
Technische Besonderheiten¶
-
Adapter-basierte Schnittstelle:
Statt einzelner Ereignis-/Datenports verwendet der Baustein Adapter, die Ereignis und Daten als gekapselte Einheit transportieren. Dies erhöht die Wiederverwendbarkeit und reduziert die Anzahl äußerer Verbindungen. -
Minimale Ausgabezeit (Tmin):
Die EinstellungTminverhindert ein zu schnelles Auslösen von Ausgangsereignissen, was in zeitkritischen Steuerungen (z. B. zur Entprellung oder zur Einhaltung von Verarbeitungszyklen) nützlich ist. -
Interne Nutzung eines spezialisierten FB:
Der Baustein delegiert die eigentliche Flipflop-Logik an den systeminternen FBE_D_FF_ANY_TMIN, der für die korrekte zeitliche Steuerung zuständig ist. Dies hält den äußeren FB schlank und fehlerfrei. -
Typisierter Adapter:
Der Adaptertypadapter::types::unidirectional::ABist als unidirektional definiert: Daten und Ereignisse fließen nur in eine Richtung (vom Socket zum Plug). Dadurch ist der FB strikt aufwärtskompatibel.
Zustandsübersicht¶
Der Baustein besitzt keinen expliziten sichtbaren Zustandsautomaten; der Zustand ergibt sich aus dem inneren Flipflop und der Zeitsteuerung:
- Zustand 0 (initial / nicht gelatcht): Nach INIT oder nach einem Reset (nicht explizit vorhanden) liegt undefinierter Zustand vor. Der Wert
Q.D1wird erst nach dem ersten gültigenE1am Socket gesetzt. - Zustand 1 (gelatcht und aktiv): Der innere Flipflop hat einen Datenwert gespeichert. Nach einem Ausgangsereignis wird für die Dauer
Tminein Sperrzustand eingehalten, in dem eingehendeE1-Ereignisse ignoriert oder verzögert werden. Nach Ablauf der Mindestzeit ist der FB wieder bereit für die nächste Übernahme.
(Im XML ist kein SFC oder ECC definiert; die Zustandslogik liegt vollständig im internen Baustein.)
Anwendungsszenarien¶
-
Entprellung von Signalen:
Wenn ein Sensor oder eine Taste mehrere schnelle Impulse erzeugt (Prellen), kann der FB durch Setzen vonTminauf z. B. 20 ms verhindern, dass mehrere Werte in kurzer Folge weitergereicht werden. -
Zyklische Datenweitergabe mit Mindestabstand:
In einer verteilten Steuerung soll ein Messwert nur in bestimmten Mindestintervallen an eine übergeordnete Komponente gesendet werden. Der FB dient als Puffer, der die Aktualisierungsrate begrenzt. -
Sichere Übergabe in zeitkritischen Systemen:
Bei der Übergabe eines Wertes von einem schnellen in einen langsameren Taktbereich kann der FB mit geeignetemTminDatenverlust oder Rauschen verhindern.
Vergleich mit ähnlichen Bausteinen¶
| Baustein | Eigenschaften |
|---|---|
| AB_D_FF | Reines D-Flipflop ohne minimale Ausgabezeit – Ereignisse werden sofort weitergegeben. |
| E_D_FF_ANY | Standard-Ereignis-Daten-Flipflop ohne Zeitbeschränkung, aber mit diskreten Ports (keine Adapter). |
| AB_D_FF_TMIN | Kombiniert Adapter-Kapselung mit einer konfigurierbaren Mindestzeit zwischen Ausgangsereignissen. |
| R_TRIG / F_TRIG | Detektieren von steigenden/fallenden Flanken – keine Funktionalität zum Latchen eines Datenwerts. |
Der AB_D_FF_TMIN hebt sich durch die Integration einer Zeitsteuerung in eine Adapter-basierte D-Flipflop-Logik ab und ist daher besonders für Anwendungen geeignet, die sowohl Datenlatching als auch zeitliche Entkopplung erfordern.
Fazit¶
Der AB_D_FF_TMIN ist ein kompakter, adapterbasierter Funktionsbaustein, der die Grundfunktion eines D-Flipflops um die Fähigkeit erweitert, eine minimale Wartezeit zwischen Ausgangsereignissen einzuhalten. Durch die gekapselte Adapter-Schnittstelle und die interne Nutzung eines spezialisierten Flipflop-Bausteins wird eine hohe Wiederverwendbarkeit und klare Trennung von Logik und Zeitsteuerung erreicht. Der Baustein eignet sich insbesondere für industrielle Steuerungsanwendungen, bei denen Signalverarbeitung mit zeitlichen Randbedingungen erforderlich ist.