Gå til hovedinnhold

DataHub : NMEA 2000 tanknivådata til NMEA 0183 XDR

Hvordan DataHub konverterer NMEA 2000-tanknivådata til NMEA 0183 XDR-setninger, inkludert tankidentifikasjon, eksempler og overføringsfrekve

Skrevet av Marleen Cleyndert

Denne artikkelen forklarer hvordan PredictWind DataHub konverterer NMEA 2000-tanknivådata til NMEA 0183 XDR-setninger , ved hjelp av en eksempelkonfigurasjon av to ferskvannstanker og én drivstofftank .

Eksemplene viser hvordan individuelle tanker identifiseres, XDR-setningsformatet og hvor ofte dataene overføres.

Selv om dette eksemplet bruker tre tanker, gjelder de samme prinsippene for andre tankkonfigurasjoner og støttede væsketyper.

1. Uavhengige tanker og instansnumre

Hver tank identifiseres av væsketypen pluss NMEA 2000-forekomstnummeret, og hver blir sin egen XDR-setning. To ferskvannstanker med forekomstene 0 og 1 vises som FRESHWATER#0 og FRESHWATER#1 . Drivstofftanken vises som FUEL#0 .

To ting du bør sjekke når du setter opp sensorer:

  1. Unike forekomster per væsketype. To ferskvannstanker på samme forekomst ville produsere identiske identifikatorer og kunne ikke skilles fra hverandre. NMEA 2000-væskeforekomster varierer fra 0 til 15.

  2. Riktig væsketype. DataHub tilordner væsketyper til identifikatornavn som følger:

  • Drivstoff (diesel eller bensin) → FUEL

  • Ferskvann → FRESHWATER

  • Gråvann/avløpsvann → WASTEWATER

  • Svartvann → BLACKWATER

  • Lev godt → LIVEWELLWATER

  • Olje → OIL

  • Enhver annen type → FLUID

2. Setningsformat

DataHub bruker NMEA 0183 v4.11 XDR-konvensjonen, den samme som OpenCPNs Engine Dashboard bruker:

kode:

$IIXDR,E,<nivå>,P,<TYPE>#<instans>,V,<kapasitet>,l,<TYPE>#<instans>*hh

  • E / P : nivå som prosent fullhet, 0–100, sendt med én desimal

  • V / l : tankkapasitet i liter (små bokstaver L)

  • Kapasitetsgruppen inkluderes bare når sensoren rapporterer en gyldig kapasitet større enn null. Hvis tanksensoren ikke sender en kapasitet, slutter setningen etter nivågruppen.

Disse eksemplene viser det nøyaktige formatet, med illustrerende verdier:

kode:

$IIXDR,E,72.4,P,FERSKVANN#0,V,300.0,l,FERSKVANN#0*53

$IIXDR,E,55.0,P,FERSKVANN#1,V,150.0,l,FERSKVANN#1*55

$IIXDR,E,88,8,P,DRIVSTOFF#0,V,400,0,l,DRIVSTOFF#0*5D

Uten kapasitet ville drivstoffsetningen være:

kode:

$IIXDR,E,88.8,P,DRIVSTOFF#0*44

DataHub hopper over en avlesning fullstendig hvis nivået ikke er tilgjengelig eller væsketypen er flagget som en feil.

3. Overføringsfrekvens

DataHub har ikke sin egen tidsplan for tankdata. Den sender ut én XDR-setning for hver PGN 127505-melding sensoren sender ut på nettverket. Hastigheten samsvarer derfor med det tanksensoren sender ut. NMEA 2000-standardhastigheten for denne PGN-en er hvert 2,5 sekund; Simarine kan bekrefte STR2s faktiske hastighet.

Sensorer kringkaster dette PGN-et med jevne mellomrom uavhengig av endringer, slik at setningene gjentas selv når nivået ikke har endret seg. I Home Assistant vil du se en jevn oppdateringsstrøm i stedet for oppdateringer bare ved endringer.

Neste trinn: Konfigurering av tanksensorene dine

Når du kobler kompatible NMEA 2000-tanksensorer til DataHub en din:

  1. Konfigurer tanksensorene i henhold til produsentens instruksjoner, og sørg for at hver tank har riktig væsketype og et unikt instansnummer for den væsketypen.

  2. Koble sensorene til NMEA 2000-nettverket ditt , og sørg for at DataHub er koblet til samme nettverk.

  3. Sjekk at sensorene overfører tanknivådata ved hjelp av NMEA 2000 PGN 127505.

  4. Koble mottakerapplikasjonen din til DataHub lokale NMEA 0183 TCP-strøm for å se de konverterte XDR-setningene.

  5. Bekreft tankavlesningene i mottaksapplikasjonen din, og kontroller at hver tank er identifisert riktig og at de rapporterte nivåene samsvarer med sensoravlesningene.

Merk: DataHub konverterer tanknivåmeldinger etter hvert som de mottas fra NMEA 2000-nettverket. Hyppigheten av oppdateringer avhenger av sensorene og deres overføringsinnstillinger. Det kreves ikke internettforbindelse for denne konverteringen.

Svarte dette på spørsmålet?