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.
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.
Leer el control de propulsión
Paso, velocidad del eje, consignas, valores hidráulicos y alarmas por Modbus TCP o Modbus RTU.
Escuchar al buque
Datos del motor y de navegación de NMEA 2000 o J1939, con una placa CAN.
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.
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.
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
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
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
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.
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
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.
| Señal | Entre | Tipo | Función |
|---|---|---|---|
| Paso, velocidad del eje, consignas | EntreControl de propulsión → pasarela | TipoModbus TCP, solo lectura | FunciónPerfil de uso de la hélice |
| Presión y temperatura hidráulicas | EntreControl de HPU o hélice de maniobra → pasarela | TipoModbus RTU sobre RS-485 | FunciónPlanificar el servicio |
| Alarmas y eventos | EntreControl de propulsión → pasarela | TipoRegistros Modbus, solo lectura | FunciónUna cronología de eventos en tierra |
| Velocidad del motor | EntreNMEA 2000 → pasarela | TipoPGN 127488, CAN, solo escucha | FunciónComparar con la velocidad del eje y el paso |
| Velocidad y rumbo sobre el fondo | EntreNMEA 2000 → pasarela | TipoPGN 129026 | FunciónVelocidad frente a potencia |
| Velocidad en el agua | EntreNMEA 2000 → pasarela | TipoPGN 128259 | FunciónEstado del casco y de la hélice, como tendencia |
| Todos los valores, con hora y calidad | EntrePasarela → bróker en tierra | TipoMQTT con TLS | FunciónServicio, soporte e I+D |
| Estado de la pasarela | EntrePasarela → bróker en tierra | TipoMQTT | Funció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.
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