NetEv2NetEv
Einleitung
Der Funktionsblock NetEv2NetEv dient der Manipulation von Netzwerkereignissen (NetEv) innerhalb eines ISOBUS-basierten Systems. Sein primärer Zweck ist es, einen eingehenden Netzwerkereignis-Datensatz zu übernehmen und einen spezifischen Wert – den Netzwerk-Member-Handle – zu überschreiben. Der Block fungiert somit als einfacher Konverter oder Adapter für ISONETEVENT_T-Datenstrukturen.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Dieses Ereignis löst die Verarbeitung des Funktionsblocks aus. Es ist mit den Daten-Eingängen
INunds16Handleverknüpft.
Ereignis-Ausgänge
CNF: Dieses Ereignis signalisiert den Abschluss der Verarbeitung. Es wird nach der Bearbeitung des
REQ-Ereignisses ausgelöst und ist mit dem (leeren) Daten-Ausgang verknüpft, der die manipulierteISONETEVENT_T-Struktur ausgibt.
Daten-Eingänge
IN (
isobus::pgn::ISONETEVENT_T): Der Eingang für die ursprüngliche Netzwerkereignis-Datenstruktur, die manipuliert werden soll.s16Handle (
INT): Der neue Netzwerk-Member-Handle, der in die übergebeneISONETEVENT_T-Struktur geschrieben werden soll. Dieser Wert identifiziert den Controller/Function (CF) oder Benutzer, der als Quelle des Ereignisses dient.
Daten-Ausgänge
<leer>(isobus::pgn::ISONETEVENT_T): Der Ausgang liefert die manipulierteISONETEVENT_T-Datenstruktur. Der Name des Ausgangs ist leer, der Datentyp ist identisch mit dem des EingangsIN.
Adapter
Dieser Funktionsblock verwendet keine Adapter.
Funktionsweise
Die Funktionsweise des NetEv2NetEv-Blocks ist deterministisch und einfach:
Bei Eintreffen eines
REQ-Ereignisses wird die Funktion ausgeführt.Der gesamte Inhalt der Eingangsdatenstruktur
INwird in die Ausgangsdatenstruktur kopiert.Anschließend wird das Feld
.s16Handleinnerhalb dieser kopierten Ausgangsstruktur mit dem Wert des Eingangss16Handleüberschrieben.Das
CNF-Ereignis wird ausgelöst, um die Bereitstellung des manipulierten Datensatzes am Ausgang zu signalisieren.
Der Block ändert nur das spezifizierte Handle-Feld. Alle anderen Felder der ISONETEVENT_T-Struktur bleiben unverändert.
Technische Besonderheiten
Datentyp: Der Block arbeitet spezifisch mit dem Datentyp
isobus::pgn::ISONETEVENT_T. Die genaue Struktur dieses Typs ist in der zugrundeliegendenisobus::pgn-Bibliothek definiert.Direkte Zuweisung: Die Implementierung erfolgt über eine direkte Zuweisung in Structured Text (ST). Es findet keine zusätzliche Logik, Prüfung oder Fehlerbehandlung statt.
Namenskonvention: Der Daten-Ausgang besitzt keinen expliziten Namen, was in 4diac zulässig ist. Er wird über das
CNF-Ereignis referenziert.
Zustandsübersicht
Der Funktionsblock besitzt keinen internen Zustand oder Speicher. Sein Verhalten ist rein kombinatorisch: Bei jedem REQ-Ereignis wird sofort die beschriebene Operation durchgeführt und ein CNF-Ereignis generiert.
Anwendungsszenarien
Handle-Überschreibung in Event-Streams: In Netzwerken, wo Ereignisse zwischen verschiedenen Controllern (CFs) weitergeleitet werden, muss der Quell-Handle (
s16Handle) eventuell angepasst werden, um den aktuellen Absender korrekt zu identifizieren.Event-Proxy/Adapter: Der Block kann als einfacher Proxy eingesetzt werden, um eingehende Netzwerkereignisse mit einer neuen Quellkennung zu versehen, bevor sie an nachgelagerte Verarbeitungslogik weitergegeben werden.
Test und Simulation: Zum Simulieren von Netzwerkereignissen von verschiedenen virtuellen Quellen (CFs) innerhalb eines Test-Setups.
⚖️ Vergleich mit ähnlichen Bausteinen
E_SR (SR-Flip-Flop) oder E_D_FF (D-Flip-Flop): Diese Blöcke besitzen einen internen Zustand (Speicher).
NetEv2NetEvist zustandslos und manipuliert nur durchlaufende Daten.E_SELECT / E_MUX: Diese Blöchte wählen zwischen verschiedenen Datenquellen aus oder leiten sie durch.
NetEv2NetEvverändert aktiv einen Teil der durchlaufenden Daten.E_R_TRIG / E_F_TRIG: Diese sind reine Ereignis-Trigger ohne Datenmanipulation.
NetEv2NetEvist ein datenverarbeitender Block.Generische ASSIGN-Bausteine: Ein einfacher
ASSIGN-Block kopiert einen Eingangswert 1:1 auf den Ausgang.NetEv2NetEvist ein spezialisierterASSIGN-Block für den TypISONETEVENT_T, der eine gezielte Modifikation (Handle-Überschreibung) vornimmt.
🛠️ Zugehörige Übungen
Fazit
Der NetEv2NetEv-Funktionsblock ist ein spezialisiertes, schlankes Werkzeug für ISOBUS-Anwendungen. Er erfüllt eine klare und notwendige Nischenaufgabe: das Überschreiben des Quell-Handles in Netzwerkereignis-Datensätzen. Seine einfache, zustandslose Implementierung macht ihn robust und vorhersehbar. Für Entwickler, die mit ISOBUS PGNs und Netzwerkereignissen arbeiten, stellt er ein nützliches Hilfselement dar, um Datenflüsse korrekt zu kennzeichnen und anzupassen.