Ir al contenido principal

DataHub : Conversión de datos de nivel de tanque NMEA 2000 a NMEA 0183 XDR

Cómo DataHub convierte los datos de nivel de tanque NMEA 2000 en sentencias NMEA 0183 XDR, incluyendo la identificación del tanque, ejemplos

Escrito por Marleen Cleyndert

Este artículo explica cómo PredictWind DataHub convierte los datos de nivel de tanque NMEA 2000 en sentencias NMEA 0183 XDR , utilizando una configuración de ejemplo de dos tanques de agua dulce y un tanque de combustible .

Los ejemplos demuestran cómo se identifican los tanques individuales, el formato de las sentencias XDR y con qué frecuencia se transmiten los datos.

Aunque este ejemplo utiliza tres depósitos, los mismos principios se aplican a otras configuraciones de depósitos y a otros tipos de fluidos compatibles.

1. Tanques independientes y números de instancia

Cada tanque se identifica por su tipo de fluido más su número de instancia NMEA 2000, y cada uno se convierte en su propia sentencia XDR. Dos tanques de agua dulce con instancias 0 y 1 aparecen como FRESHWATER#0 y FRESHWATER#1 . El tanque de combustible aparece como FUEL#0 .

Dos cosas que debes comprobar al configurar los sensores:

  1. Instancias únicas por tipo de fluido. Dos tanques de agua dulce en la misma instancia producirían identificadores idénticos y no podrían distinguirse. Las instancias de fluidos NMEA 2000 van de 0 a 15.

  2. Tipo de fluido correcto. DataHub asigna los tipos de fluido a los nombres de identificadores de la siguiente manera:

  • Combustible (diésel o gasolina) → FUEL

  • Agua dulce → FRESHWATER

  • Aguas grises/residuales → WASTEWATER

  • Agua negra → BLACKWATER

  • Vive bien → LIVEWELLWATER

  • Aceite → OIL

  • Cualquier otro tipo → FLUID

2. Formato de oración

El DataHub utiliza la convención NMEA 0183 v4.11 XDR, la misma que utiliza el Engine Dashboard de OpenCPN:

código:

$IIXDR,E,<nivel>,P,<TIPO>#<instancia>,V,<capacidad>,l,<TIPO>#<instancia>*hh

  • E / P : nivel como porcentaje de llenado, 0–100, enviado con un decimal.

  • V / l : capacidad del depósito en litros (L minúscula)

  • El grupo de capacidad se incluye solo cuando el sensor informa una capacidad válida mayor que cero. Si el sensor del tanque no envía una capacidad, la instrucción finaliza después del grupo de nivel.

Estos ejemplos muestran el formato exacto, con valores ilustrativos:

código:

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

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

$IIXDR,E,88.8,P,COMBUSTIBLE#0,V,400.0,l,COMBUSTIBLE#0*5D

Sin capacidad, la frase sobre el combustible sería:

código:

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

El DataHub omite la lectura por completo si el nivel no está disponible o si el tipo de fluido se marca como un error.

3. Frecuencia de transmisión

El DataHub no mantiene un cronograma propio para los datos del tanque. Emite una sentencia XDR por cada mensaje PGN 127505 que el sensor envía a la red. Por lo tanto, la frecuencia coincide con la que transmite el sensor del tanque. La frecuencia estándar NMEA 2000 para este PGN es de 2,5 segundos; Simarine puede confirmar la frecuencia real del STR2.

Los sensores transmiten este PGN periódicamente, independientemente de los cambios, por lo que las frases se repiten incluso cuando el nivel no se ha movido. En Home Assistant verás una actualización constante en lugar de actualizaciones solo cuando hay cambios.

Próximos pasos: Configuración de los sensores del tanque

Al conectar sensores de tanque NMEA 2000 compatibles a su DataHub :

  1. Configure los sensores de sus tanques siguiendo las instrucciones del fabricante, asegurándose de que cada tanque tenga el tipo de fluido correcto y un número de instancia único para ese tipo de fluido.

  2. Conecte los sensores a su red NMEA 2000 y asegúrese de que el DataHub esté conectado a la misma red.

  3. Compruebe que los sensores transmiten datos de nivel del tanque mediante NMEA 2000 PGN 127505.

  4. Conecte su aplicación receptora al flujo TCP NMEA 0183 local del DataHub para visualizar las sentencias XDR convertidas.

  5. Verifique las lecturas de los tanques en su aplicación receptora, comprobando que cada tanque esté identificado correctamente y que los niveles reportados coincidan con las lecturas de los sensores.

Nota: El DataHub convierte los mensajes de nivel de tanque a medida que los recibe de la red NMEA 2000. La frecuencia de actualización depende de los sensores y su configuración de transmisión. No se requiere conexión a internet para esta conversión.

¿Ha quedado contestada tu pregunta?