Ir al contenido
Todos los casos

Caso de estudio · Sector: propulsión naval

Datos de propulsión de cada buque. Sin tocar el control.

Un PLC Linux a bordo lee el control de propulsión, escucha NMEA 2000 y envía los datos a tierra por MQTT.

Solo lecturahacia el control de propulsión: la pasarela nunca envía una orden
2 + 2puertos Ethernet y RS-485 para Modbus TCP y Modbus RTU
1placa CAN opcional para escuchar NMEA 2000 o J1939
1 por buquela misma pasarela y la misma imagen de software en cada instalación

Cada buque es un emplazamiento sin cable hasta la oficina.

Por eso cada sistema de propulsión lleva una pasarela, y los datos llegan a tierra cuando el enlace lo permite.

Basado en instalaciones reales de clientes de Industrial Shields del sector de la propulsión naval; no se publican datos ni nombres. La función de pasarela, el controlador que se compra en serie para ella y sus interfaces (Ethernet, RS-485 y CAN) salen de lo que estos fabricantes compran y nos preguntan. Los mapas de registros, PGN, mensajes y valores de los paneles de esta página son ejemplos de una forma habitual de hacerlo.

El reto

Datos encerrados en el control de propulsión.

Los fabricantes de sistemas de propulsión (hélices, hélices de maniobra y sus controles) instalan sus equipos en buques que navegan por todo el mundo. El sistema de control conoce el paso, la velocidad del eje, las presiones hidráulicas y las alarmas, pero esos datos se quedan a bordo. Para dar soporte a la tripulación, planificar el servicio y diseñar el siguiente sistema, cada fabricante necesita los datos en tierra, de cada buque, sin añadir riesgo a un sistema que mueve el barco. Eso pide una pasarela aparte: lee y nunca manda.

01

Leer el control de propulsión

Paso, velocidad del eje, consignas, valores hidráulicos y alarmas por Modbus TCP o Modbus RTU.

02

Escuchar al buque

Datos del motor y de navegación de NMEA 2000 o J1939, con una placa CAN.

03

Enviar a tierra

MQTT a través del router del buque, con un búfer local mientras el enlace por satélite o 4G está caído.

04

La misma unidad en cada buque

Una pasarela y una imagen de software, con un fichero de configuración por buque.

Solo lectura, por diseño

La pasarela no tiene ningún camino de escritura hacia el control de propulsión: Modbus solo lee, CAN solo escucha, y va en su propio segmento de red. Las órdenes y las alarmas siguen en el control de propulsión y en el sistema de alarmas del buque.

Cómo funciona

Tres trabajos: leer la propulsión, enviar a tierra, escuchar al buque.

Cada panel muestra un trabajo de la pasarela. Pulsa los botones. Los paneles son simulaciones ilustrativas con valores de ejemplo, sin datos de ningún cliente ni buque.

Trabajo 1 · Leer el control de propulsión

Consultar, comprobar, poner la hora.

La pasarela consulta el control de propulsión por Modbus TCP, o por Modbus RTU sobre RS-485, a un ritmo fijo. Cada valor se escala, se comprueba con su rango y se marca con la hora. Si el control deja de responder, la pasarela marca los valores como caducados en lugar de enviar un número viejo como si fuera nuevo. Pasa de puerto a travesía y después pierde la respuesta.

  • Paso, velocidad del eje, presión hidráulica, alarmas
  • Escalado y comprobación de rango por registro
  • Marca de caducado cuando falta una respuesta
Paso, avante·Velocidad del eje·ModbusValores válidosCaducados
Consulta·
Calidad·
Última respuesta·
CONSULTANDOVÁLIDOSVALORES CADUCADOS

Registro de la pasarela (ejemplo)

  • Pasarela consultando el control de propulsión.

Simulación ilustrativa. Valores de ejemplo, sin datos de ningún cliente. El mapa de registros sale de la documentación de cada control de propulsión. Una pasarela que solo lee registros no puede cambiar una consigna por error.

Prueba consultas Modbus, tiempos de espera y valores caducados: simulador de red Modbus

Trabajo 2 · Enviar a tierra

Guardarlo en el mar, enviarlo cuando vuelve el enlace.

La pasarela publica los valores por MQTT en un bróker en tierra, a través del router del buque: satélite en alta mar, 4G cerca de la costa. El enlace va y viene, así que cada mensaje se guarda primero en la pasarela y se envía en orden cuando vuelve el enlace. Los valores salen cuando cambian, además de resúmenes periódicos, para ahorrar ancho de banda. Pierde el satélite y después recupéralo.

  • MQTT con TLS al bróker en tierra
  • Un búfer local mientras no hay enlace
  • Envío por cambio, más resúmenes
Mensajes en el búfer·Enlace con tierra·RouterBrókerBúfer
Enlace·
Búfer·
Mensajes guardados·
PUBLICANDOGUARDANDOREENVIANDO

Registro del enlace (ejemplo)

  • Pasarela conectada al bróker en tierra.

Simulación ilustrativa. Valores de ejemplo, sin datos de ningún cliente. Ritmos de mensajes y tamaños de búfer de ejemplo. Dimensiona el búfer para el tiempo más largo sin enlace en la ruta del buque, y conserva la hora de la pasarela, no la de llegada a tierra.

Trabajo 3 · Escuchar al buque

Los datos ya están en el bus troncal. Escuchar, no hablar.

La velocidad del motor, la velocidad sobre el fondo y la velocidad en el agua ya están en el bus troncal NMEA 2000 de muchos buques. Con una placa CAN, la pasarela escucha los grupos de parámetros que necesita (PGN) y los pone junto a los datos de propulsión, para comparar paso y potencia con la velocidad real del buque. Solo escucha: no pide dirección ni envía al bus. Compara dos viajes.

  • PGN 127488: velocidad del motor
  • PGN 129026: velocidad y rumbo sobre el fondo
  • PGN 128259: velocidad en el agua
Velocidad en el agua·Velocidad del motor·Placa CANPGN leídosDiferencia
PGN vistos·
Diferencia·
Modo·
ESCUCHANDODIFERENCIA MARCADASIN TRÁFICO

Registro NMEA 2000 (ejemplo)

  • Placa CAN en el bus troncal, 250 kbit/s.

Simulación ilustrativa. Valores de ejemplo, sin datos de ningún cliente. Menos velocidad con el mismo paso y la misma potencia puede venir de corrientes, viento, olas, carga o incrustaciones. La pasarela solo pone los números uno al lado del otro; el análisis en tierra decide. Qué PGN hay en un buque depende de sus equipos.

Arquitectura del sistema

¿Cómo se llevan los datos de propulsión de un buque a tierra?

El control de propulsión ofrece sus valores por Modbus TCP sobre Ethernet o por Modbus RTU sobre RS-485. Un RASPBERRY PLC CPU-Gateway FLEX los consulta y, con una placa CAN, también escucha NMEA 2000 o J1939. Python o Node-RED escala, comprueba y marca con la hora los valores, los guarda y los publica por MQTT en un bróker en tierra a través del router del buque. La pasarela va en su propio segmento de red y no tiene ningún camino de escritura hacia el control.

Control de propulsiónModbus TCP · EthernetControl de HPU o hélice de maniobraModbus RTU · RS-485NMEA 2000 o J1939placa CAN · solo escuchaSalud de la pasarelatemperatura, alimentación, discoRaspberry PLCpasarela · solo lecturaBúfer localse guarda sin enlaceRouter del buquesatélite o 4GBróker en tierraMQTT con TLSCuadros de mandoservicio e I+DUna disposición posible. Solo lectura hacia el control de propulsión, en su propio segmento de red. Mapas de registros y PGN dependen de cada buque.Control de propulsiónFuente · Modbus TCP · EthernetControl de HPU o hélice de maniobraFuente · Modbus RTU · RS-485NMEA 2000 o J1939Fuente · placa CAN · solo escuchaSalud de la pasarelaFuente · temperatura, alimentación, discoRaspberry PLCpasarela · solo lecturaBúfer localAlmacén · se guarda sin enlaceRouter del buquesatélite o 4GBróker en tierraMQTT con TLSCuadros de mandoservicio e I+DUna disposición posible. Solo lectura haciael control de propulsión. Mapas de registrosy PGN dependen de cada buque.
Fuentes a bordoAlmacén localRed hacia tierra
Señales
SeñalEntreTipoFunción
Paso, velocidad del eje, consignasEntreControl de propulsión → pasarelaTipoModbus TCP, solo lecturaFunciónPerfil de uso de la hélice
Presión y temperatura hidráulicasEntreControl de HPU o hélice de maniobra → pasarelaTipoModbus RTU sobre RS-485FunciónPlanificar el servicio
Alarmas y eventosEntreControl de propulsión → pasarelaTipoRegistros Modbus, solo lecturaFunciónUna cronología de eventos en tierra
Velocidad del motorEntreNMEA 2000 → pasarelaTipoPGN 127488, CAN, solo escuchaFunciónComparar con la velocidad del eje y el paso
Velocidad y rumbo sobre el fondoEntreNMEA 2000 → pasarelaTipoPGN 129026FunciónVelocidad frente a potencia
Velocidad en el aguaEntreNMEA 2000 → pasarelaTipoPGN 128259FunciónEstado del casco y de la hélice, como tendencia
Todos los valores, con hora y calidadEntrePasarela → bróker en tierraTipoMQTT con TLSFunciónServicio, soporte e I+D
Estado de la pasarelaEntrePasarela → bróker en tierraTipoMQTTFunciónSaber que la propia pasarela funciona

Por qué funciona

Una pasarela que lo lee todo y no manda nada.

Sin riesgo para el control

Solo lee, va en su propio segmento de red, no envía órdenes. El control de propulsión y su sistema de alarmas siguen como están.

Hecha para la serie

La misma imagen Linux en cada unidad, con un fichero de configuración por buque.

Software abierto

Debian con Python y Node-RED: el código de los protocolos es del fabricante, que puede leer cada línea.

Los puertos que necesita un buque

Dos Ethernet, dos RS-485 y una placa CAN opcional en una unidad de carril DIN.

Aguanta los cortes

Un búfer local y MQTT guardan los datos mientras el satélite está caído.

Datos para el siguiente diseño

Perfiles de uso reales de la hélice para los planes de servicio y el I+D.

Hardware

Un PLC Linux sin E/S locales: una pasarela.

RASPBERRY PLC CPU-Gateway FLEX, PLC con Raspberry Pi para carril DIN sin E/S locales, con Ethernet, RS-485 y placa CAN opcional

Comprado en serie para esta funciónRASPBERRY PLC CPU-Gateway FLEX

El Raspberry PLC sin E/S locales. En este sector se compra en serie, uno por instalación, para recoger los datos y pasarlos; las E/S se quedan en el control de propulsión.

Función en este diseño
Consulta Modbus, escucha CAN, guarda los datos y los publica por MQTT
Procesador
Raspberry Pi 4, cuatro núcleos de 64 bits a 1,8 GHz, 2, 4 u 8 GB de RAM
Puertos
1 Ethernet Gigabit y 1 Ethernet 10/100, wifi, Bluetooth LE, 2 USB 2.0, 2 USB 3.0, 2 RS-485
Ampliación
Una placa opcional: CAN, LoRa o 4G (LTE-M/NB-IoT o LTE Cat 4)
Software
Debian de 64 bits preinstalado; ejecuta Python, Node-RED y C/C++
Alimentación y montaje
De 12 a 24 Vdc, SAI con supercondensadores, reloj de tiempo real, carril DIN TS35, IP20, de 0 a 50 °C

Esta página no afirma ninguna homologación marina de una sociedad de clasificación. Usa la pasarela para datos y monitorización fuera de las funciones esenciales de control y alarma, y acuerda su lugar con el astillero y la sociedad de clasificación. Una alimentación de 24 V de buque varía con las baterías y los cargadores, así que alimenta la pasarela desde una fuente estable. NMEA 2000 funciona sobre CAN a 250 kbit/s: la placa CAN da el bus y la capa de protocolo la pone el software. Pruébalo en el bus troncal real antes de la serie. La pasarela trabaja de 0 a 50 °C: móntala en un armario ventilado, lejos del calor de la sala de máquinas, y comprueba los límites ambientales que fija la sociedad de clasificación para ese lugar.

Preguntas sobre este caso

¿Qué es una pasarela de datos a bordo para la propulsión?

Un ordenador aparte a bordo que lee el control de propulsión y otros sistemas del buque, comprueba y marca con la hora los valores, los guarda y los envía a tierra. No controla nada. Aquí es un RASPBERRY PLC CPU-Gateway FLEX, uno por instalación, que lee Modbus y CAN y publica por MQTT.

NMEA 2000, Modbus o MQTT: ¿cuál?

Cada uno tiene su lugar. Modbus TCP o Modbus RTU es lo que suelen ofrecer los controles de propulsión para leer sus valores. NMEA 2000 lleva los datos del motor y de navegación que ya están en el bus troncal del buque. MQTT lo lleva todo a tierra por un enlace que va y viene. Puedes probar consultas Modbus, tiempos de espera, valores caducados y orden de palabras en el simulador de red Modbus.

¿Puede un Raspberry PLC leer NMEA 2000?

Sí, con la placa CAN. NMEA 2000 funciona sobre CAN a 250 kbit/s; Linux ve la placa como una interfaz SocketCAN, y la capa de protocolo (por ejemplo, el fast packet de los PGN de más de una trama) la pone el software, como los decodificadores NMEA 2000 de código abierto. Para escuchar, la pasarela no necesita pedir dirección. Para enviar al bus debe pedirla, y un producto que se vende como certificado NMEA 2000 necesita la certificación de la NMEA. Prueba con el bus troncal real en el banco antes de la serie. Para CAN en un Raspberry PLC, mira este ejemplo de lectura CANopen.

¿Por qué solo lectura?

Porque el control de propulsión mueve el buque. Una pasarela que solo lee y va en su propio segmento de red no puede cambiar una consigna ni silenciar una alarma por error, y mantiene baja la exposición del control a ciberataques. Para los buques contratados desde el 1 de julio de 2024, las IACS UR E26 y E27 fijan requisitos de ciberresiliencia para el buque y sus sistemas a bordo; acuerda con el astillero y la sociedad de clasificación cómo encaja una pasarela de datos.

¿Qué pasa cuando se corta el enlace por satélite?

La pasarela guarda cada mensaje, con su propia hora, en un búfer local y lo envía en orden cuando vuelve el enlace. MQTT con sesión persistente y calidad de servicio 1 ayuda a no perder mensajes en el bróker. Para un puente en Python de MQTT a una base de datos en un Raspberry PLC, mira este ejemplo.

¿Necesita la pasarela una homologación marina?

Depende de la función y de la sociedad de clasificación. Los equipos de funciones esenciales de control, alarma o seguridad suelen necesitar homologación de tipo; una pasarela de datos fuera de esas funciones a menudo no, pero decide la sociedad de clasificación. Esta página no afirma ninguna homologación de tipo para el Raspberry PLC.

Descarga el caso de estudio

PDF de 4 páginas con el reto, la lógica, la arquitectura y el hardware. Sin formularios.

¿Un proyecto similar?

Cuéntanos qué datos de propulsión necesitas. Te responderá un ingeniero.

Dinos qué controles tienes que leer y con qué protocolo, si hay una red NMEA 2000 o J1939 a bordo, cómo se conecta el buque con tierra y cuántas instalaciones entregas al año. Te diremos cómo montar la pasarela.

  • Respuesta de nuestro equipo técnico
  • Modbus TCP y RTU, CAN, NMEA 2000 y MQTT
  • PLC basados en Arduino, ESP32 o Raspberry Pi