Comunicaciones industriales
Mapa MODBUS en un proyecto industrial: estructura y errores frecuentes
Una dirección no basta. Para intercambiar datos de forma fiable hay que acordar perspectiva, área, offset, tipo, orden de palabras, escala, calidad y propietario de cada variable.
Contenido
MODBUS es sencillo en apariencia, pero muchos problemas de puesta en marcha nacen de interpretaciones distintas. Un documento indica el registro 40001, otro utiliza offset 0 y el programa espera la dirección 1. El dato ocupa dos palabras, pero cada equipo las ordena de forma diferente. La variable existe, aunque nadie ha acordado quién la escribe.
El mapa de comunicaciones debe eliminar estas ambigüedades antes de programar.
1. Decisiones previas
Antes de crear filas, documenta la arquitectura:
- Protocolo y variante: MODBUS TCP o RTU.
- Rol de cada equipo: cliente/servidor o maestro/esclavo según la terminología utilizada.
- Direcciones IP o parámetros serie.
- Identificador de unidad cuando proceda.
- Frecuencia de consulta y tiempos de espera.
- Comportamiento ante pérdida de comunicación.
- Propietario de los valores: qué sistema tiene autoridad para escribir.
- Convención de direcciones que utilizará el documento.
Un mapa correcto comienza con una convención explícita; no con la primera dirección disponible.
2. Columnas recomendadas
| Campo | Finalidad | Ejemplo |
|---|---|---|
| Equipo origen/destino | Identifica los extremos del intercambio | PLC-01 ↔ VFD-101 |
| Variable | Nombre estable en PLC/HMI | VFD101_SpeedFeedback |
| Descripción | Explica la función | Velocidad real del variador |
| Dirección y offset | Evita confundir notaciones | Registro 40001 / offset 0 |
| Área/función | Distingue coils, inputs y registers | Holding register |
| Lectura/escritura | Define permisos y propietario | Lectura desde PLC |
| Tipo | Determina número de palabras e interpretación | REAL 32 bits |
| Orden | Define bytes y palabras | High word first |
| Escala/unidad | Convierte dato bruto a ingeniería | 0,1 rpm |
| Rango | Ayuda a validar y alarmar | 0–1500 rpm |
| Calidad/fallo | Define uso ante dato inválido | Mantener último valor + alarma |
| Revisión | Controla la versión acordada | Rev. 03 |
3. Dirección absoluta, referencia y offset
Algunos documentos utilizan referencias como 40001; otros muestran el offset base cero; las librerías de PLC pueden pedir uno u otro. Es imprescindible escribir la convención al inicio y, si intervienen varias herramientas, mostrar ambas representaciones.
No asumir que «40001» se introduce literalmente en el bloque de comunicación. La interpretación depende del equipo, manual y librería. Validar con una variable conocida antes de desplegar el mapa completo.
También debe definirse si los rangos de lectura se agrupan. Leer bloques contiguos suele ser más eficiente que lanzar una petición por variable, pero no debe incluir zonas no soportadas ni exceder los límites del dispositivo.
4. Tipos de dato, palabras y escala
BOOL y bits
Una señal booleana puede ocupar un coil, un discrete input o un bit dentro de una palabra. Si se empaqueta, documentar palabra, bit y sentido lógico. Indicar si «1» significa activo, fallo o disponible.
Enteros
Distinguir con signo y sin signo. Un mismo patrón de 16 bits puede interpretarse de forma muy distinta. Añadir rango esperado permite detectar errores temprano.
Valores de 32 bits
REAL, DINT y DWORD ocupan varias palabras. El orden de bytes y palabras debe confirmarse con el fabricante. No basta con decir «float».
Escalado
Cuando el valor bruto necesita un factor, registrar fórmula, unidad y límites. El PLC y la HMI deben utilizar el mismo criterio para evitar mostrar y controlar magnitudes distintas.
Texto y arrays
Las cadenas requieren definir longitud, codificación, terminación y orden. Los arrays necesitan dimensiones y continuidad de registros.
5. Revisión antes de implementar
- Acordar roles y propietario de escritura.
- Comparar cada dirección con el manual vigente del equipo.
- Verificar solapes y huecos.
- Calcular el número de palabras por variable.
- Confirmar orden de bytes y palabras con una prueba.
- Definir escalas y unidades.
- Definir calidad, timeout y valor seguro ante fallo.
- Congelar una revisión firmada o aprobada por ambas partes.
- Probar lectura y escritura en FAT antes de la puesta en marcha.
6. Errores frecuentes
- Mezclar referencia 40001 con offset 1 o 0 sin indicarlo.
- Asignar dos variables a registros que se solapan.
- Tratar un REAL de dos palabras como un entero de una palabra.
- Olvidar el orden de palabras.
- No indicar qué sistema puede escribir.
- Usar escalas distintas en PLC y HMI.
- Actualizar demasiado rápido y saturar un dispositivo.
- No definir qué ocurre al perder comunicación.
- Cambiar el mapa sin incrementar la revisión.
7. Conectar el mapa con señales y PLC
El mapa no debería ser una tabla ajena al resto de la automatización. Cada variable comunicada debe relacionarse con el equipo, el listado de señales y el nombre utilizado en PLC/HMI.
INELVIA incorpora el mapa MODBUS dentro del flujo de automatización y PLC. Esto permite distinguir señales físicas y comunicadas, mantener nombres coherentes y llevar la información hacia la base de programación.
Mapa dentro del proyecto
Conecta MODBUS con equipos, señales y variables PLC
Ve cómo INELVIA mantiene el contexto de las comunicaciones durante la ingeniería.