I_COGSOGRapidUpdate
Einleitung
Der Funktionsblock I_COGSOGRapidUpdate implementiert die Verarbeitung des NMEA 2000 Parameter Group Number (PGN) 129026 „COG & SOG, Rapid Update“. Dieser Baustein dient dem Empfang und der Bereitstellung von Navigationsdaten, speziell des momentanen Kurses über Grund (Course Over Ground, COG) und der Geschwindigkeit über Grund (Speed Over Ground, SOG) mit hoher Aktualisierungsrate. Er ist für den Einsatz in maritimen oder mobilen Arbeitsmaschinen-Steuerungssystemen konzipiert, die auf dem ISOBUS-Standard basieren.
Schnittstellenstruktur
Ereignis-Eingänge
INIT: Initialisiert den Funktionsblock. Wird zusammen mit dem Qualifier
QIausgelöst.
Ereignis-Ausgänge
INITO: Bestätigt die erfolgreiche Initialisierung. Löst die Ausgänge
QOundSTATUSaus.IND: Zeigt den erfolgreichen Empfang und die Verarbeitung neuer COG/SOG-Daten an. Löst die zugehörigen Datenausgänge aus.
TIMEOUT: Wird ausgelöst, wenn ein Timeout beim Empfang der Daten auftritt.
Daten-Eingänge
QI (BOOL): Qualifier für den INIT-Ereigniseingang. Steuert die Initialisierung (
TRUE= starten).
Daten-Ausgänge
QO (BOOL): Qualifier für die Ereignisausgänge INITO und IND. Zeigt den allgemeinen Betriebszustand an.
STATUS (STRING): Statusmeldung, die zusätzliche Informationen (z.B. Fehlerbeschreibungen) liefert.
Q_timeout (BOOL): Gibt an, ob das letzte empfangene Ereignis ein Timeout war (
TRUE) oder gültige Daten (FALSE).timestamp_timeout (DINT): Zeitstempel, der dem TIMEOUT-Ereignis zugeordnet ist.
timestamp_data (DINT): Zeitstempel der zuletzt empfangenen gültigen COG/SOG-Daten.
SID (USINT): Sequence Identifier. Ermöglicht die Synchronisation dieser Daten mit anderen, im selben Zyklus gesendeten PGNs des Fahrzeugs.
COGReference (BYTE): Referenzrichtung für den Kurs über Grund. Der Wert
0steht für die Referenz „Wahre Nordrichtung“ (True North).CourseOverGround (UINT): Kurs über Grund (COG). Die Einheit ist 1x10-4 Radiant.
SpeedOverGround (UINT): Geschwindigkeit über Grund (SOG). Die Einheit ist 1x10-2 Meter pro Sekunde.
Adapter
Dieser Funktionsblock verfügt über keine Adapterschnittstellen.
Funktionsweise
Der Baustein agiert als passiver Empfänger für das NMEA 2000 PGN 129026. Nach der Initialisierung via INIT mit QI=TRUE wartet er auf eingehende Datenframes. Bei Empfang eines gültigen Frames werden die enthaltenen Daten (COG, SOG, Referenz, SID) dekodiert und über den IND-Ausgang samt den zugehörigen Datenwerten bereitgestellt. Gleichzeitig wird Q_timeout auf FALSE gesetzt. Tritt innerhalb eines konfigurierten Zeitfensters kein neuer Datenframe auf, wird ein TIMEOUT-Ereignis generiert und Q_timeout auf TRUE gesetzt. Der STATUS-Ausgang kann für Diagnosezwecke genutzt werden.
Technische Besonderheiten
NMEA 2000 Konformität: Implementiert exakt die Spezifikation für PGN 129026.
Auflösung: Die physikalischen Werte für Kurs und Geschwindigkeit sind in den im NMEA-Standard definierten festen Auflösungen kodiert (COG: 0.0001 rad/LSB, SOG: 0.01 m/s/LSB). Eine Umrechnung in gebräuchlichere Einheiten (Grad, Knoten) muss gegebenenfalls in nachgelagerten Blöcken erfolgen.
Sequenzierung: Die
SIDunterstützt die Korrelation von Daten, die zeitgleich in verschiedenen PGNs gesendet werden.
Zustandsübersicht
Inaktiv: Vor der Initialisierung.
Initialisiert/Wartend: Nach erfolgreichem
INIT. Der Baustein lauscht auf den CAN-Bus bzw. die entsprechende Schnittstelle auf PGN 129026.Datenempfang: Bei Eintreffen eines Frames werden die Daten verarbeitet und ein
IND-Ereignis generiert.Timeout: Wird aktiv, wenn erwartete Daten nicht innerhalb der vorgegebenen Zeit eintreffen. Löst ein
TIMEOUT-Ereignis aus.
Anwendungsszenarien
Maritime Navigation: Anzeige von aktuellem Kurs und Geschwindigkeit auf einem Multifunktionsdisplay (MFD).
Autonome Steuerung: Bereitstellung der grundlegenden Navigationsdaten für Autopiloten oder Routenführungsalgorithmen von Arbeitsmaschinen.
Datenlogging: Protokollierung von Fahrzeugbewegungsdaten mit hoher zeitlicher Auflösung.
Sensorfusion: Kombination der COG/SOG-Daten mit anderen Positions- und Bewegungssensoren (z.B. GNSS, Gyroskop) zur Verbesserung der Gesamtgenauigkeit.
⚖️ Vergleich mit ähnlichen Bausteinen
Gegenüber generischen CAN-Empfangsblöcken:
I_COGSOGRapidUpdateist spezialisiert auf PGN 129026. Er übernimmt die komplette Dekodierung der Rohdaten gemäß NMEA-Spezifikation und stellt die physikalischen Werte direkt bereit. Ein generischer Empfänger würde nur die Roh-Bytes liefern.Gegenüber PGN 129025 (COG/SOG): PGN 129026 ist die „Rapid Update“-Variante, die für eine höhere Update-Rate und geringere Latenz optimiert ist, während PGN 129025 zusätzliche Felder wie Zeitstempel enthalten kann. Die Wahl des Bausteins hängt von den Anforderungen der Anwendung an Aktualität und Datenumfang ab.
🛠️ Zugehörige Übungen
Fazit
Der I_COGSOGRapidUpdate-Funktionsblock ist eine essentielle Komponente für jedes ISOBUS- oder NMEA 2000-basierte System, das auf präzise und schnell aktualisierte Kurs- und Geschwindigkeitsinformationen über Grund angewiesen ist. Durch seine standardkonforme Implementierung gewährleistet er zuverlässigen Datenaustausch und eine einfache Integration in übergeordnete Steuerungs- und Anzeigesysteme.