Inicio / Recursos / Automatización y PLC / Mapa MODBUS

Comunicaciones industriales

Mapa MODBUS industrial: registros, ejemplo y errores

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.

La idea clave

Un mapa MODBUS es el documento que define qué datos intercambian los equipos y cómo interpretarlos. Debe indicar área, dirección u offset, tipo, longitud, escala y permisos. Para valores de varias palabras, también debe acordar su orden y comprobarlo con el manual del dispositivo.

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

CampoFinalidadEjemplo
Equipo origen/destinoIdentifica los extremos del intercambioPLC-01 ↔ VFD-101
VariableNombre estable en PLC/HMIVFD101_SpeedFeedback
DescripciónExplica la funciónVelocidad real del variador
Dirección y offsetEvita confundir notacionesRegistro 40001 / offset 0
Área/funciónDistingue coils, inputs y registersHolding register
Lectura/escrituraDefine permisos y propietarioLectura desde PLC
TipoDetermina número de palabras e interpretaciónUINT16 con escala, o Float32 si el fabricante lo define
OrdenDefine bytes y palabrasHigh word first
Escala/unidadConvierte dato bruto a ingeniería0,1 rpm
RangoAyuda a validar y alarmar0–1500 rpm
Calidad/falloDefine uso ante dato inválidoMarcar dato no válido y ejecutar la acción definida por análisis funcional
RevisiónControla la versión acordadaRev. 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

Los valores de 32 bits representados en registros de 16 bits ocupan dos registros. El protocolo define la transmisión del byte más significativo primero dentro de cada registro; el orden entre registros y cualquier conversión del driver deben contrastarse 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

  1. Acordar roles y propietario de escritura.
  2. Comparar cada dirección con el manual vigente del equipo.
  3. Verificar solapes y huecos.
  4. Calcular el número de palabras por variable.
  5. Confirmar orden de bytes y palabras con una prueba.
  6. Definir escalas y unidades.
  7. Definir calidad, timeout y valor seguro ante fallo.
  8. Congelar una revisión firmada o aprobada por ambas partes.
  9. Probar lecturas y escrituras autorizadas en FAT, con condiciones seguras y 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.

Cuando el origen es un instrumento multivariable, conserva su identificador en el índice de instrumentos y relaciona con él las variables del mapa. Varios registros o valores comunicados no significan varios instrumentos físicos ni el mismo número de canales cableados.

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.

Ejemplo de mapa MODBUS con offset base cero

Ejemplo ficticio para un servidor; no corresponde al mapa de ningún fabricante. En la convención tradicional de este ejemplo, la referencia 40001 identifica el primer holding register y su offset en el protocolo es 0. El cliente lee los valores definidos como holding registers mediante la función 03. No traslades estas direcciones a un equipo real sin revisar su documentación.

DatoReferencia documentalOffset / registrosInterpretaciónAcceso acordado
Estado400010 / 1 registroUINT16; significado de bits documentado aparteLectura desde PLC
Velocidad400021 / 1 registroUINT16; valor bruto × 0,1 rpmLectura desde PLC
Valor de proceso40003–400042 / 2 registrosFloat32; high word primero en este ejemploLectura desde PLC

Si el registro de velocidad devuelve 1234, la escala de este ejemplo produce 123,4 rpm. El valor de proceso ocupa los offsets 2 y 3: la siguiente variable no puede empezar en 3. Un registro contiene 16 bits; la interpretación Float32 y el orden entre sus dos palabras requieren un acuerdo con el dispositivo. Prueba primero una lectura conocida y después un bloque; ensaya escrituras únicamente en un entorno autorizado y seguro, nunca sobre órdenes de una máquina en servicio.

Incorpora las verificaciones de comunicación al plan FAT del cuadro y PLC: dato conocido, escala, calidad y comportamiento ante pérdida de comunicación. Define el resultado esperado y conserva el registro de prueba; una tabla de registros por sí sola no acredita que la integración esté verificada.

Preguntas frecuentes

¿40001 significa que debo configurar la dirección 40001?

No necesariamente. Puede ser una referencia documental del área holding registers. Según el controlador o la librería, el campo de configuración espera un offset base cero o una numeración base uno. Documenta ambas representaciones y prueba un dato conocido.

¿Un REAL siempre ocupa dos registros?

Un valor de 32 bits necesita dos registros de 16 bits en esa representación. Debes confirmar que el fabricante utiliza Float32, su orden de palabras y cualquier adaptación del driver; no basta con etiquetar la variable como analógica.

¿El mapa define qué ocurre cuando se pierde la comunicación?

Debe documentarlo o referenciar la filosofía correspondiente. Identifica dato obsoleto, timeout, alarma y acción prevista. El último valor recibido no se debe presentar como un dato actualizado ni utilizarse sin evaluar las consecuencias.

Referencias y alcance

Consulta la documentación oficial y el manual de la versión instalada. Los ejemplos de esta guía son didácticos y no sustituyen la validación del proyecto.

Mapa dentro del proyecto

Conecta MODBUS con equipos, señales y variables PLC

Conoce INELVIA Lite, gratuito y con funciones limitadas. INELVIA Profesional reúne todas las funciones. Consulta el alcance de cada plan antes de elegir.