Hoppa till huvudinnehåll

DataHub : NMEA 2000 tanknivådata till NMEA 0183 XDR

Hur DataHub konverterar NMEA 2000-tanknivådata till NMEA 0183 XDR-meningar, inklusive tankidentifiering, exempel och överföringsfrekvens.

Skrivet av Marleen Cleyndert

Den här artikeln förklarar hur PredictWind DataHub konverterar NMEA 2000-tanknivådata till NMEA 0183 XDR-meningar , med hjälp av en exempelkonfiguration av två sötvattenstankar och en bränsletank .

Exemplen visar hur enskilda tankar identifieras, XDR-meningsformatet och hur ofta data överförs.

Även om det här exemplet använder tre tankar gäller samma principer för andra tankkonfigurationer och vätsketyper som stöds.

1. Oberoende tankar och instansnummer

Varje tank identifieras med sin vätsketyp plus sitt NMEA 2000-instansnummer, och varje tank blir sin egen XDR-mening. Två sötvattenstankar med instanserna 0 och 1 visas som FRESHWATER#0 och FRESHWATER#1 . Bränsletanken visas som FUEL#0 .

Två saker att kontrollera när du installerar sensorer:

  1. Unika instanser per vätsketyp. Två sötvattentankar på samma instans skulle producera identiska identifierare och skulle inte kunna skiljas åt. NMEA 2000-vätskeinstanser varierar från 0 till 15.

  2. Korrekt vätsketyp. DataHub mappar vätsketyper till identifierarnamn enligt följande:

  • Bränsle (diesel eller bensin) → FUEL

  • Sötvatten → FRESHWATER

  • Gråvatten/avloppsvatten → WASTEWATER

  • Svartvatten → BLACKWATER

  • Lev väl → LIVEWELLWATER

  • Olja → OIL

  • Annan typ → FLUID

2. Meningsformat

DataHub använder NMEA 0183 v4.11 XDR-konventionen, samma som OpenCPN:s Engine Dashboard använder:

koda:

$IIXDR,E,<nivå>,P,<TYP>#<instans>,V,<kapacitet>,l,<TYP>#<instans>*hh

  • E / P : nivå som procentuell fullhet, 0–100, skickas med en decimal

  • V / l : tankkapacitet i liter (små bokstäver L)

  • Kapacitetsgruppen inkluderas endast när sensorn rapporterar en giltig kapacitet större än noll. Om tanksensorn inte skickar någon kapacitet avslutas meningen efter nivågruppen.

Dessa exempel visar det exakta formatet, med illustrativa värden:

koda:

$IIXDR,E,72.4,P,SÖTVATTEN#0,V,300.0,l,SÖTVATTEN#0*53

$IIXDR,E,55.0,P,SÖTVATTEN#1,V,150.0,l,SÖTVATTEN#1*55

$IIXDR,E,88.8,P,BRÄNSLE#0,V,400.0,l,BRÄNSLE#0*5D

Utan kapacitet skulle bränslesatsen vara:

koda:

$IIXDR,E,88.8,P,BRÄNSLE#0*44

DataHub hoppar över en avläsning helt om nivån inte är tillgänglig eller om vätsketypen flaggas som ett fel.

3. Sändningsfrekvens

DataHub har inte ett eget schema för tankdata. Den avger en XDR-mening för varje PGN 127505-meddelande som sensorn skickar till nätverket. Hastigheten matchar därför vad tanksensorn sänder. NMEA 2000-standardhastigheten för denna PGN är var 2,5:e sekund; Simarine kan bekräfta STR2:ans faktiska hastighet.

Sensorer sänder ut denna PGN regelbundet oavsett ändringar, så meningarna upprepas även när nivån inte har ändrats. I Home Assistant ser du en stadig uppdateringsström snarare än uppdateringar bara vid ändringar.

Nästa steg: Konfigurera dina tanksensorer

När du ansluter kompatibla NMEA 2000-tanksensorer till din DataHub :

  1. Konfigurera dina tanksensorer enligt tillverkarens instruktioner och se till att varje tank har rätt vätsketyp och ett unikt instansnummer för den vätsketypen.

  2. Anslut sensorerna till ditt NMEA 2000-nätverk och se till att DataHub är ansluten till samma nätverk.

  3. Kontrollera att sensorerna sänder tanknivådata med NMEA 2000 PGN 127505.

  4. Anslut din mottagningsapplikation till DataHub lokala NMEA 0183 TCP-ström för att visa de konverterade XDR-meningarna.

  5. Verifiera tankavläsningarna i din mottagningsapplikation och kontrollera att varje tank är korrekt identifierad och att de rapporterade nivåerna matchar sensoravläsningarna.

Obs! DataHub konverterar tanknivåmeddelanden allt eftersom de tas emot från NMEA 2000-nätverket. Uppdateringsfrekvensen beror på sensorerna och deras överföringsinställningar. En internetanslutning krävs inte för denna konvertering.

Fick du svar på din fråga?