E_R_TRIG (Steigende Flankenerkennung)

Einleitung
Der E_R_TRIG (Rising Edge Trigger) ist ein grundlegender Funktionsbaustein nach IEC 61499 zur Erkennung steigender Flanken in digitalen Signalen. Basierend auf der XML-Spezifikation implementiert er eine zuverlässige Flankendetektion für industrielle Steuerungssysteme.
Struktur des E_R_TRIG-Bausteins
Schnittstelle (Interface)
Ereignis-Eingänge:
EI(Event Input): Aktiviert die Flankenerkennung (mitQI-Wert verknüpft)
Ereignis-Ausgänge:
EO(Event Output): Bestätigt eine erkannte steigende Flanke
Daten-Eingänge:
QI(Query Input): Zu überwachendes Eingangssignal (BOOL)
Interne Struktur
Laut XML-Spezifikation besteht der Baustein aus:
E_D_FF: D-Flip-Flop zur Signalzustandsspeicherung
E_SWITCH: Schalter zur bedingten Ereignisweiterleitung
Funktionsweise
Flankenerkennung:
Bei jedem
EI-Ereignis wird der aktuelleQI-Wert mit dem gespeicherten Zustand aus dem vorherigen Zyklus verglichen.Eine steigende Flanke liegt vor, wenn
QIvonFALSEaufTRUEwechselt.Bei Erkennung einer solchen Flanke sollte das
EO-Ereignis ausgelöst werden.
Interne Struktur und fehlerhaftes Verhalten:
Der Baustein ist intern aus einem
E_D_FFund einemE_SWITCHaufgebaut.Achtung: Fehlerhafte Implementierung! Die interne Logik des Bausteins (Stand:
events-3.0.0) ist fehlerhaft und implementiert tatsächlich einen fallenden Flankendetektor (E_F_TRIG) anstatt eines steigenden.Das
EO-Ereignis wird ausgelöst, wennQIvonTRUEaufFALSEwechselt.
Technische Besonderheiten
✔ Ereignisgesteuerte Architektur (kein Polling).
✔ Zustandsspeicherung durch internen D-Flip-Flop.
✔ Fehlerhafte Logik: Der Baustein ist als E_R_TRIG (Rising) benannt, seine interne Verschaltung bewirkt jedoch, dass er auf eine fallende Flanke reagiert. Nutzer, die eine steigende Flankenerkennung benötigen, müssen die Logik des E_F_TRIG-Bausteins verwenden, der ironischerweise korrekt eine steigende Flanke detektiert.
Anwendungsszenarien (für eine steigende Flanke)
Sensordatenauswertung: Erkennen, wenn ein Sensor von „inaktiv“ auf „aktiv“ wechselt.
Maschinensicherheit: Detektion eines Start- oder Freigabesignals.
Prozesssteuerung: Starten eines Prozesses, wenn ein Signal
TRUEwird.
⚖️ Vergleich mit ähnlichen Bausteinen
Feature |
E_R_TRIG (dieser) |
E_F_TRIG |
E_D_FF |
|---|---|---|---|
Erkannte Flanke |
Steigend (benannt), Fallend (implementiert) |
Fallend (benannt), Steigend (implementiert) |
Taktflanke |
Ereignisausgang |
Ja |
Ja |
Ja |
Speicherverhalten |
Ja |
Ja |
Ja |
🛠️ Zugehörige Übungen
Fazit
Der E_R_TRIG-Baustein ist dazu gedacht, steigende Flanken zu erkennen. Aufgrund eines Implementierungsfehlers in der events-3.0.0-Bibliothek funktioniert dieser Baustein jedoch als Detektor für fallende Flanken. Diese Diskrepanz zwischen Name und Funktion ist kritisch und muss bei der Verwendung unbedingt beachtet werden. Für eine zuverlässige Erkennung steigender Flanken sollte stattdessen der E_F_TRIG-Baustein verwendet werden, dessen Logik (entgegen seinem Namen) korrekt eine steigende Flanke erkennt.