«Gateway» puede designar tres dispositivos muy distintos. Un puente transparente transporta bytes por otra ruta. Una pasarela de transporte convierte una variante de un protocolo en otra, por ejemplo Modbus RTU a Modbus TCP. Un traductor de datos lee valores en un protocolo y los publica en otro, por ejemplo de BACnet a Modbus. Averigüe cuál de estas tres funciones ofrece un producto: cada una requiere especificaciones y pruebas diferentes.
Esta guía forma parte de la serie sobre Modbus y RS-485.
Las tres funciones
| Función | Qué cambia | Qué permanece igual | Ejemplo |
|---|---|---|---|
| Puente transparente (túnel) | La ruta de los bytes | El protocolo, el formato de trama y las direcciones | Un servidor de dispositivos serie que transporta bytes RS-485 por TCP |
| Pasarela de transporte | El formato de trama y el direccionamiento | Los códigos de función y el significado de los registros | Modbus TCP a Modbus RTU |
| Traductor de datos | El protocolo, los identificadores, los tipos de datos y, quizá, las unidades | Solo lo que establezca el mapa | Objetos BACnet publicados como registros Modbus |
Un mismo producto puede desempeñar más de una función. Términos comerciales como «transparente» se usan con poca precisión. Pida las pantallas de configuración y un ejemplo de petición y respuesta.
Un puente transparente
Un puente traslada el flujo de bytes original de una ruta a otra. Un servidor de dispositivos serie puede transportar un flujo RS-485 por una red IP, mientras que el software del otro extremo lo presenta como un puerto serie. El protocolo no cambia. Un flujo serie IEC 60870-5-101 transportado por TCP sigue siendo IEC 101, no IEC 104; y los bytes Modbus RTU sin modificar en un socket TCP no son Modbus TCP.
Como no hay traducción, ambos extremos deben coincidir en todo. Compruebe:
- el retardo añadido, que puede alterar los tiempos entre caracteres con los que Modbus RTU detecta el fin de una trama;
- qué ocurre si la conexión de red se interrumpe y se restablece;
- si dos clientes pueden abrir simultáneamente el mismo flujo serie y poner así dos maestros en un solo bus.
Ponga en marcha el protocolo original de extremo a extremo, atravesando el puente.
Una pasarela de transporte
Una pasarela Modbus TCP a RTU entiende Modbus. Un cliente TCP envía una petición a la pasarela, con la dirección del dispositivo serie en el identificador de unidad. La pasarela elimina la cabecera MBAP de 7 bytes, añade la dirección RTU y el CRC, envía la petición por el bus y devuelve la respuesta por TCP. El mapa de registros de cada dispositivo no cambia. La guía sobre Modbus TCP y RTU explica ambos formatos de trama.
La capacidad sí cambia. Varios clientes TCP pueden acceder a una pasarela, pero el bus serie solo transporta una petición a la vez. La velocidad de Ethernet no aumenta la capacidad del bus. Pregunte cómo gestiona la pasarela estas opciones:
- Paso directo. Cada petición de un cliente llega al bus. Tres clientes que consultan diez contadores triplican el tráfico del bus, y las respuestas lentas retrasan a todos los clientes.
- Caché. La pasarela consulta el bus por su cuenta y responde a los clientes desde la memoria. El tráfico del bus permanece constante, pero cada valor tiene la antigüedad de la última consulta y la pasarela puede seguir respondiendo aunque un contador se haya detenido.
Dimensione el bus con la calculadora de tiempos de Modbus RTU y establezca los tiempos de espera de los clientes por encima del tiempo de espera serie de la pasarela.
Un traductor de datos
Un traductor lee valores en un modelo de datos y los publica en otro. Necesita un mapa explícito para cada punto. Si una temperatura BACnet se publica como registro Modbus, el mapa debe indicar:
| Campo | Ejemplo |
|---|---|
| Origen | Dispositivo 1201, analog-input 3, present-value |
| Destino | Registro de retención 40101 |
| Tipo de datos | int16 |
| Escala y unidad | 0,1 °C; 215 equivale a 21,5 °C |
| Valor no válido o fuera de servicio | Publicado como −32.768 |
| Regla de actualización | Leer cada 60 s; el registro conserva su valor entre lecturas |
Parte de la información se pierde en la traducción. Un registro Modbus no contiene unidad, marca temporal ni indicador de calidad. Las banderas de estado y las matrices de prioridades de BACnet, y los códigos de estado de OPC UA, no tienen equivalente en Modbus. Decida cómo sabrá el receptor que un valor está obsoleto: mediante otro registro de estado, un registro de antigüedad o una señal de actividad que cambia con cada actualización.
Leer y escribir siguen rutas distintas
Que una pasarela publique una medición no significa que acepte automáticamente órdenes en sentido contrario. Escribir en un registro publicado puede producir tres resultados: cambiar solo la memoria de la pasarela, ser rechazado o activar una orden al dispositivo de campo que alguien configuró expresamente. La especificación debe indicar cuál de ellos ocurre.
Antes de probar una escritura, obtenga el mapa de órdenes, los valores permitidos, la autorización del responsable del equipo y la señal de retorno que demuestre que el equipo respondió. Nunca pruebe una orden escribiendo en un registro de medición. La guía sobre la matriz de prioridades de BACnet explica por qué una escritura BACnet puede seguir vigente después de lo esperado.
Pruebe la función que va a adquirir
- Utilice valores de origen conocidos que revelen errores: uno negativo, uno con decimales, un contador grande y un cambio de estado.
- Compare la lectura en el origen con el valor en el receptor en el mismo momento.
- Detenga el dispositivo de origen sin apagar la pasarela. Compruebe que el receptor identifique el valor como obsoleto y no como una lectura estable.
- Reinicie la pasarela. Compruebe qué ve el receptor antes de la primera lectura nueva: un valor predeterminado, cero o el valor anterior.
- Si se incluyen escrituras, pruébelas por separado con el responsable del equipo.
Edge como traductor de datos
Edge, en el Gateway ZGW-20, funciona como traductor de datos. Lee dispositivos Zigbee y LoRaWAN, equipos Modbus TCP y RTU, objetos BACnet/IP y servidores OPC UA, y los integra en un único modelo de datos con una unidad y una marca temporal por lectura. Después publica los datos en plataformas energéticas por MQTT o HTTP, o como registros Modbus TCP para un BMS o SCADA. Trate cada punto publicado como un punto mapeado y pruébelo como se indica arriba. Conectar Edge con su plataforma describe cómo envía Edge los datos a una plataforma.
Preguntas frecuentes
¿Qué diferencia hay entre una pasarela de protocolos y un puente?
Un puente, o túnel serie, traslada bytes de una ruta a otra sin interpretarlos, por lo que ambos extremos deben utilizar el mismo protocolo. Una pasarela de protocolos entiende el protocolo: puede cambiar el formato de trama, encaminar peticiones según una dirección o traducir valores a otro protocolo.
¿Cómo funciona una pasarela de Modbus TCP a RTU?
Un cliente Modbus TCP envía una petición a la dirección IP de la pasarela e incluye la dirección del dispositivo serie en el identificador de unidad. La pasarela elimina la cabecera MBAP de Modbus, añade la dirección RTU y el CRC, envía la petición por el bus serie y devuelve la respuesta por TCP. El mapa de registros del dispositivo no cambia.
¿Qué hace una pasarela de BACnet a Modbus?
Lee objetos BACnet, como una entrada analógica, y publica sus valores presentes como registros Modbus, o realiza la conversión inversa. Cada punto requiere un mapa: objeto de origen, registro, tipo de datos, escala y unidad. Es posible que la información de estado y prioridad no sobreviva a la traducción.