ADI_D_FF¶
Einleitung¶
Der Funktionsblock ADI_D_FF realisiert ein Daten-Latch (D‑Flipflop) auf Basis von Adaptern. Er dient dazu, einen Booleschen Wert bei Eintreffen eines Ereignisses zu speichern und auszugeben. Der Baustein kapselt den industriellen Standard‑FB E_D_FF_ANY und kommuniziert ausschließlich über die unidirektionalen Adapter ADI.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
Der FB besitzt keine separaten Ereignis–Eingänge. Die Ereignissteuerung erfolgt ausschließlich über den Adapter I.
Ereignis-Ausgänge¶
Der FB besitzt keine separaten Ereignis–Ausgänge. Die Ereignisausgabe erfolgt ausschließlich über den Adapter Q.
Daten-Eingänge¶
Der FB besitzt keine separaten Daten–Eingänge. Die Datenaufnahme erfolgt über den Adapter I.
Daten-Ausgänge¶
Der FB besitzt keine separaten Daten–Ausgänge. Die Datenausgabe erfolgt über den Adapter Q.
Adapter¶
| Typ | Bezeichnung | Richtung | Beschreibung |
|---|---|---|---|
adapter::types::unidirectional::ADI |
I |
Eingang (Socket) | Liefert das Taktsignal (E1) und den zu latchnden Datenwert (D1). |
adapter::types::unidirectional::ADI |
Q |
Ausgang (Plug) | Gibt den gespeicherten Datenwert (D1) und ein Bestätigungsereignis (E1) aus. |
Funktionsweise¶
Der ADI_D_FF arbeitet nach dem Prinzip eines flankengesteuerten D‑Flipflops. Jedes am Adapter I eintreffende Ereignis E1 wird als Takt (CLK) interpretiert. Bei jedem Takt wird der aktuelle Datenwert D1 vom Eingang übernommen, intern gespeichert und am Adapter Q sowohl als neuer Datenwert (D1) als auch als Bestätigungsereignis (E1) ausgegeben.
Im Inneren wird der standardisierte IEC‑61499‑Baustein E_D_FF_ANY verwendet, der exakt diese Funktion bereitstellt. Die Adapter dienen als einheitliche, wiederverwendbare Schnittstellen für Ereignisse und Daten.
Technische Besonderheiten¶
- Der gesamte Daten- und Ereignisaustausch erfolgt über Adapter vom Typ
ADI(unidirektionale Ereignis- und Datenübertragung). Dadurch ist der FB leicht in adapterbasierte Architekturen integrierbar. - Es ist kein eigenständiger Zustandsautomat implementiert; die gesamte Logik wird durch den internen FB
E_D_FF_ANYrealisiert. - Die Implementierung folgt dem Standard IEC 61499-1 (Annex A) und nutzt die Eclipse 4diac-IDE.
Zustandsübersicht¶
Der FB besitzt keine expliziten Zustände im Sinne einer Zustandsmaschine. Das Verhalten entspricht einem einfachen Flipflop:
- Bei jedem Takt (Ereignis an
I.E1) wird der aktuelle Wert vonI.D1übernommen und anQ.D1weitergegeben. - Der gespeicherte Wert bleibt bis zum nächsten Takt konstant.
- Der Ausgang
Q.E1signalisiert die Übernahme eines neuen Wertes.
Anwendungsszenarien¶
- Synchronisation: Festhalten eines asynchron eintreffenden Booleschen Signals zu einem definierten Taktzeitpunkt.
- Zwischenspeicher (Latch): Halten eines Datenwertes zur Weiterverarbeitung in nachfolgenden FB‑Netzwerken.
- Puffern: Entkopplung von Ereignis- und Datenquellen von der weiteren Verarbeitung (z. B. bei zeitkritischen Abläufen).
Vergleich mit ähnlichen Bausteinen¶
| Baustein | Funktion | Unterschiede |
|---|---|---|
ADI_SR_FF |
Set‑Reset‑Flipflop | Speichert aufgrund von Setzen/Rücksetzen, nicht taktgesteuert. |
ADI_T_FF |
T‑Flipflop | Schaltet den Zustand bei jedem Takt um (Toggle). |
ADI_D_FF |
D‑Flipflop | Speichert den anliegenden Datenwert bei Taktflanke (wie hier beschrieben). |
Fazit¶
Der ADI_D_FF ist ein kompakter, adapterbasierter D‑Flipflop‑Baustein für die 4diac‑IDE. Er bietet eine saubere Trennung von Takt und Datum und ist ideal für den Einsatz in ereignisgesteuerten Automatisierungslösungen geeignet. Die Kapselung durch Adapter erhöht die Wiederverwendbarkeit und vereinfacht die Integration in bestehende Projekte.