Marcio Cunha

Modbus Registers: Cómo Funcionan Coils, Inputs, Input Registers y Holding Registers

Comprenda de forma clara y práctica cómo funcionan los cuatro tipos de registros del protocolo Modbus: Coils, Discrete Inputs, Input Registers y Holding Registers. Descubra cómo se comunican sensores y PLCs.

Marcio Cunha12 min
También disponible en:EnglishPortuguês
Resumen
  • El protocolo Modbus organiza toda la comunicación industrial en bloques de memoria conocidos como registros y variables discretas.
  • Las bobinas o Coils operan como salidas binarias que controlan relés, motores y actuadores directamente en el campo.
  • Las entradas digitales o Discrete Inputs monitorean el estado físico de interruptores y sensores de presencia en tiempo real.
  • Los registros de entrada o Input Registers almacenan lecturas analógicas inmutables generadas por instrumentos de medición.
  • Los Holding Registers actúan como la memoria de trabajo bidireccional donde residen parámetros de configuración y comandos complejos.

El Papel de Modbus en la Automatización Industrial y Edificios

Imagine que necesita hacer que una computadora antigua en una sala de control hable con docenas de sensores de temperatura dispersos por una fábrica gigantesca. En la década de 1970, Modicon creó Modbus exactamente para resolver este problema de comunicación entre diferentes marcas de equipos industriales. En la práctica, esto significa que Modbus funciona como un idioma universal simplificado, donde un dispositivo maestro hace preguntas y los dispositivos esclavos responden educadamente enviando números organizados en tablas.

La genialidad de este protocolo radica en su simplicidad estructural. En lugar de paquetes de datos complejos con cifrado pesado, Modbus organiza toda la información de la máquina en cuatro grandes áreas de almacenamiento lógico llamadas registros o variables. Cada área guarda un tipo específico de dato, ya sea un comando simple de encendido y apagado o un conteo numérico detallado. Comprender esta división es el primer paso para diseñar sistemas de automatización robustos y evitar dolores de cabeza durante la integración.

Coils: Las Bobinas de Salida que Controlan el Mundo Físico

Las llamadas Coils, traducidas frecuentemente como bobinas, representan las variables binarias de lectura y escritura del universo Modbus. En el día a día de la ingeniería, una bobina equivale a un relé o a una salida digital que puede asumir solo dos estados: encendido o apagado, verdadero o falso, uno o cero. En la práctica, cuando un sistema de supervisión envía un comando para activar una bomba de agua, está escribiendo el valor binario '1' en una dirección específica de bobina.

El término histórico 'bobina' proviene de los relés electromecánicos tradicionales utilizados en los albores de la automatización, donde una corriente eléctrica pasaba a través de un cable enrollado para atraer un contacto metálico. Aunque hoy en día utilizamos transistores modernos y circuitos integrados de estado sólido, el nombre se mantiene firme en los manuales técnicos. Al programar un controlador lógico programable o PLC, configurar correctamente las bobinas asegura que los actuadores físicos respondan instantáneamente a los comandos digitales enviados por la red.

<

Discrete Inputs: El Monitoreo del Estado Actual del Sistema

Mientras que las bobinas permiten que el operador envíe comandos para encender y apagar dispositivos, las Discrete Inputs o entradas discretas sirven estrictamente para leer el mundo exterior. Piense en ellas como los ojos y oídos del controlador: sensores de puerta abierta, botones de emergencia físicos, interruptores de límite de carrera y detectores de presencia. En la tabla Modbus, estos puntos son de solo lectura, lo que significa que el sistema de control solo puede consultar el estado actual pero nunca modificarlo directamente vía red.

Esta restricción de lectura es una medida crucial de seguridad operativa. Si un operador pudiera alterar el estado de un sensor de emergencia a través de un comando de software en la pantalla de la computadora, existiría un grave riesgo de burlar los enclavamientos físicos de seguridad. Por lo tanto, las entradas discretas proporcionan un reflejo fiel e inalterable de la realidad física de la planta, asegurando que el software sepa exactamente qué está sucediendo en las trincheras de la línea de producción sin abrir brechas para errores humanos accidentales.

Input Registers: Los Datos Analógicos de Lectura Continua

Cuando pasamos a magnitudes que varían de forma continua, como temperatura, presión, caudal y nivel de tanques, los datos binarios ya no son suficientes. Aquí es donde entran los Input Registers o registros de entrada, que almacenan valores numéricos de 16 bits provenientes de instrumentos de medición de campo. En la práctica, si un termopar lee 75,5 grados Celsius, ese número es convertido por el convertidor analógico-digital del sensor y guardado en un registro de entrada como un valor entero para ser leído por la red.

Al igual que las entradas discretas, los Input Registers son de acceso estrictamente reservado a la lectura. El equipo de control puede consultar el valor actual de la presión de la caldera tantas veces como quiera, pero no puede sobrescribir ese valor de forma remota, ya que refleja directamente la medición física del momento. Esta separación garantiza la integridad de los datos del proceso, evitando que el ruido eléctrico o los errores de software corrompan las variables vitales de monitoreo de la planta industrial.

Holding Registers: El Corazón Dinámico de la Configuración y el Comando

Si tuviéramos que elegir la estrella más versátil del protocolo Modbus, esa corona sin duda iría para los Holding Registers. A diferencia de los registros de entrada, los Holding Registers permiten tanto la lectura como la escritura de datos numéricos de 16 bits. En la práctica, actúan como una memoria de trabajo donde el operador puede ajustar parámetros vitales del proceso, como la temperatura de referencia de un horno, los límites de alarma de un motor o la velocidad de un variador de frecuencia.

Para ilustrar mejor esto, vea a continuación un ejemplo simplificado de cómo un script en Python utilizando la biblioteca pymodbus puede interactuar con estos registros en un entorno real:

from pymodbus.client import ModbusTcpClient

# Conecta al PLC mediante Modbus TCP en el puerto estándar
client = ModbusTcpClient('192.168.1.50', port=502)
client.connect()

# Escribe un nuevo punto de ajuste (Setpoint) de 85 grados en el Holding Register 40001
client.write_register(address=0, value=85, slave=1)

# Lee el valor actual de temperatura directamente del Input Register 30001
temp_result = client.read_input_registers(address=0, count=1, slave=1)
if not temp_result.isError():
    print(f'Temperatura actual leída del campo: {temp_result.registers[0]} C')

client.close()

Esta capacidad bidireccional convierte a los Holding Registers en los bloques de construcción fundamentales para cualquier automatización compleja. Toda la lógica de ajuste fino, calibración de instrumentos y persistencia de parámetros de funcionamiento reside en estas direcciones de memoria, exigiendo un cuidado redoblado por parte de los desarrolladores para evitar sobrescrituras accidentales que puedan comprometer la estabilidad del proceso industrial.

Consideraciones Finales sobre el Direccionamiento y Mapeo Modbus

Dominar el funcionamiento de los cuatro tipos de registros Modbus transforma la manera en que ingenieros y desarrolladores abordan la integración de sistemas de hardware y software. Ya sea trabajando con automatización de edificios basada en Modbus RTU sobre cables serie RS-485 o redes industriales de alta velocidad Modbus TCP basadas en Ethernet, la lógica detrás de Coils, Inputs, Input Registers y Holding Registers sigue siendo exactamente la misma. Comprender estas fronteras lógicas garantiza diagnósticos más rápidos, código de integración más limpio y sistemas operativos mucho más seguros.

En última instancia, el éxito de un proyecto de automatización depende de un mapeo de memoria bien documentado y rigurosamente probado. Cuando cada sensor, actuador y parámetro de configuración ocupa su lugar correcto en la tabla Modbus, la comunicación fluye sin cuellos de botella, permitiendo que los operadores y sistemas de supervisión tomen decisiones basadas en datos confiables en tiempo real.