Hier ist die Dokumentation für die Übung Uebung_128b basierend auf den bereitgestellten Daten.
Uebung_128b: Übung zu ISOBUS Send Message GLOBAL TP BAM¶
Einleitung¶
Diese Übung demonstriert das Senden einer ISOBUS-Nachricht unter Verwendung des Transportprotokolls (TP) mit der Methode Broadcast Announce Message (BAM). Dabei wird eine Nachricht an die globale Adresse (Broadcast) gesendet. Da die Datenmenge 8 Bytes überschreitet (hier 32 Bytes), ist die Verwendung des Transportprotokolls notwendig.
Verwendete Funktionsbausteine (FBs)¶
In dieser Übung werden verschiedene Funktionsbausteine verschaltet, um die Netzwerkkommunikation und Datenerzeugung zu realisieren.
Hauptkomponenten¶
-
isobus::pgn::NmGetCfInfo (
NmGetCfInfo_1)- Dieser Baustein ruft Informationen über eine Control Function (CF) im Netzwerk ab.
- Parameter:
u8CanIdx:NODE1(CAN-Knoten 1)member:thisMember(Bezieht sich auf den eigenen Teilnehmer)address,mask:FLT_ALL_PASS(Filtereinstellungen)
- Funktion: Er stellt Netzwerkereignisse (
sNetEv) und Namensinformationen bereit, die für die Initialisierung des Sende-Bausteins benötigt werden.
-
isobus::pgn::NetEv2NetEv (
NetEv2NetEv)- Ein Konverter-Baustein, der Netzwerkereignisse verarbeitet und Zieladressen zuweist.
- Parameter:
s16Handle:GLOBAL_A(Definiert das Ziel als globale Adresse/Broadcast).
- Funktion: Er wandelt das Netzwerkereignis des eigenen Geräts in ein Ereignis um, das für eine globale Übertragung (Broadcast) konfiguriert ist.
-
isobus::pgn::tx::AlPgnTxNew_TP (
AlPgnTxNew_TP)- Der eigentliche Sende-Baustein für PGNs unter Verwendung des Transportprotokolls (TP).
- Parameter:
u32Pgn:61184(Proprietary A PGN).u16DaSize:0(Wird dynamisch überschrieben).u8Priority:3.
- Eingänge:
NmDestin: Erhält die Zielinformation (Global) vomNetEv2NetEv.Data: Erhält die 32-Byte-Nutzdaten.install: Initialisiert den Sende-Handle.REQ: Löst das Senden aus.
-
logiBUS::io::DI::logiBUS_IE (
DigitalInput_CLK_I1)- Verarbeitet digitale Eingabesignale.
- Parameter:
Input:Input_I1InputEvent:BUTTON_SINGLE_CLICK
- Funktion: Dient als Auslöser (Trigger) für den Sendevorgang.
-
eclipse4diac::convert::providers::PROVIDE_ARR_0032_BYTE (
INIT_ARR_0032_BYTE)- Erzeugt ein statisches Byte-Array.
- Parameter:
D1: Ein Array mit 32 Bytes (beginnend mit16#01, 16#00... 16#AA...).
- Funktion: Stellt die Nutzdaten (Payload) für die ISOBUS-Nachricht bereit.
Debugging / Visualisierung¶
Folgende Bausteine dienen der Aufschlüsselung von Strukturen zu Diagnosezwecken:
* eclipse4diac::convert::STRUCT_DEMUX (STRUCT_DEMUX_3): Zerlegt isobus::pgn::NAMEFIELD_T.
* eclipse4diac::convert::STRUCT_DEMUX (STRUCT_DEMUX_4): Zerlegt isobus::pgn::CF_INFO_T.
* eclipse4diac::convert::STRUCT_DEMUX (STRUCT_DEMUX_5): Zerlegt isobus::pgn::ISONETEVENT_T.
Programmablauf und Verbindungen¶
Der Ablauf der Übung gestaltet sich wie folgt:
-
Initialisierung:
- Der Baustein
NmGetCfInfo_1liefert Informationen über den eigenen Netzwerkknoten. DasIND-Ereignis triggert die nachfolgenden Schritte. - Die Netzwerkinformationen (
sNetEv) werden anNetEv2NetEvgeleitet. - Gleichzeitig stellt
INIT_ARR_0032_BYTEein 32-Byte-Datenpaket zur Verfügung und initialisiert den Dateneingang vonAlPgnTxNew_TP.
- Der Baustein
-
Konfiguration des Senders:
- Der Baustein
NetEv2NetEvist mit dem HandleGLOBAL_Akonfiguriert. Das bedeutet, er bereitet den Sende-Baustein darauf vor, an die globale Adresse (255) zu senden. - Das Ergebnis von
NetEv2NetEvwird an den EingangNmDestindesAlPgnTxNew_TPgelegt und über das Eventinstallbestätigt. Damit weiß der Sender, dass er ein Broadcast-Telegramm senden soll.
- Der Baustein
-
Sendevorgang (TP BAM):
- Durch Betätigen des Tasters
Input_I1(Single Click) am BausteinDigitalInput_CLK_I1wird das EventREQam Sende-BausteinAlPgnTxNew_TPausgelöst. - Da die Datenlänge (32 Byte) größer als 8 Byte ist und das Ziel die globale Adresse ist, verwendet der Baustein automatisch das BAM-Protokoll (Broadcast Announce Message), um die Daten segmentiert zu übertragen.
- Gesendet wird die PGN 61184 (Proprietary A) mit Priorität 3.
- Durch Betätigen des Tasters
Zusammenfassung¶
In dieser Übung wird die Handhabung von ISOBUS-Transportprotokollen vertieft. Im Speziellen wird gezeigt, wie größere Datenmengen (> 8 Byte) mittels AlPgnTxNew_TP an alle Teilnehmer im Netzwerk (Broadcast) gesendet werden. Die Kombination aus der PGN-Konfiguration, der Datenquelle (INIT_ARR) und der Adressierung (GLOBAL_A) führt zur automatischen Aushandlung einer BAM-Übertragung.