Modbus TCP
El protocolo Modbus TCP en InDataX permite la comunicación con una amplia variedad de dispositivos industriales sobre redes Ethernet. Este driver es versátil y permite tanto conexiones estándar TCP/IP como conexiones TCP sobre RTU (encapsulado).
Parámetros de Conexión
Para configurar el canal de comunicación Modbus TCP, define los siguientes campos:
- Nombre: Identificador único del protocolo.
- Tipo de conexión: Selecciona entre
TCP/IP(estándar) oTCP sobre RTU(si el dispositivo Modbus RTU está tras una pasarela/gateway). - Dirección IP: La dirección IP del dispositivo esclavo o pasarela.
- Puerto: El puerto de escucha (habitualmente el
502). - ID de esclavo Modbus: Identificador del dispositivo (Unit ID), habitualmente
1.
Configuración de Variables
El acceso a los datos en Modbus se realiza mediante registros. InDataX permite mapear estos registros de forma sencilla:
- Nombre: Nombre de la variable en InDataX.
- Tipo: Tipo de dato para la conversión (Real, Entero, Booleano, etc.).
- Registrar valor: Inclusión en los históricos de la Thing.
- Dirección Modbus: Dirección numérica del registro inicial.
- Longitud: Número de registros que componen la variable (p.ej. 2 registros para un valor de 32 bits).
- Tipo de registro:
- Bobina (
Coil): Bits de salida que permiten lectura y escritura (p.ej. activar un relé). - Entrada discreta (
Discrete Input): Bits de entrada de solo lectura (p.ej. estado de un sensor digital). - Registro de retención (
Holding Register): Registros de 16 bits que permiten lectura y escritura. Es el tipo más común para setpoints y configuraciones. - Registro de entrada (
Input Register): Registros de 16 bits de solo lectura para datos de proceso (p.ej. valores de sensores analógicos).
- Bobina (
- Con signo: Indica si el valor debe ser interpretado como un número con signo (positivo/negativo).
Asegúrate de verificar si el manual de tu dispositivo utiliza direcciones basadas en 0 o en 1, ya que esto suele ser la causa más común de errores de lectura.
Ejemplo de Configuración
A continuación se muestran ejemplos comunes de cómo mapear datos industriales mediante Modbus TCP:
| Variable | Tipo | Dirección | Longitud | Tipo Registro | Notas |
|---|---|---|---|---|---|
temperatura_horno | Real | 100 | 2 | Registro de retención | Un valor de 32 bits ocupa 2 registros de 16 bits. |
estado_motor | Booleano | 10 | 1 | Bobina | Lectura/Escritura de un bit individual de salida. |
caudal_m3h | Entero | 200 | 1 | Registro de entrada | Valor de 16 bits de solo lectura desde un sensor. |
entrada_digital | Booleano | 5 | 1 | Entrada discreta | Estado de un contacto físico de solo lectura. |
En Modbus TCP, si lees valores de 32 bits (como Reales), el orden de los registros o bytes puede variar según el fabricante (Little-Endian vs Big-Endian). Si obtienes valores incoherentes, es posible que debas ajustar el orden de lectura en la lógica del sistema.