Capítulo 16 – Protocolo de comunicación Modbus TCP / IP, Port 502
Modbus TCP / IP:
Modbus es un protocolo de comunicaciones situado en el nivel 7 del Modelo OSI, basado en la arquitectura maestro / esclavo o cliente / servidor,
diseñado en 1979 por Modicon para su gama de controladores lógicos programables (PLCs). Convertido en un protocolo de comunicaciones estándar
de facto en la industria es el que goza de mayor disponibilidad para la conexión de dispositivos electrónicos industriales.
El protocolo Modbus TCP / IP realiza la transmisión por el puerto 502.
Para obtener más información, consulte las especificaciones y directrices siguientes, que se encuentran disponibles en el sitio Web "The Modbus
Organization" http: / / www.modbus.org / .
1. Modbus messaging on TCP / IP implementation guide V1.0b
2. Modbus application protocol specification V1.1b3
Comandos Modbus soportados:
01 (0x01h)
Read Coils / Lectura del estado de las salidas digitales
02 (0x02h)
Read Discrete Inputs / Lectura del estado de las entradas digitales
04 (0x04h)
Read Input Registers / Lectura de un registro
05 (0x05h)
Write Single Coil / Escritura del estado de una salida digital
06 (0x06h)
Write Single Register / Escritura de un registro
Tablas Modbus:
0:0001
Salidas digitales (Relés)
1:0001
Entradas digitales
3:0001
Mediciones y valores en general
4:0001
Comandos
Tipos de datos:
Bit
Se refiere a binario
Número hexadecimal, entero sin signo de 16-bits, utiliza 1 dirección de memoria. Registro con 2 bytes de memoria
en formato big-endian.
UWord16
Ejemplo: 1234h se enviará como 12, 34. El byte de más peso primero.
Número hexadecimal, entero con signo de 16-bits, utiliza 1 dirección de memoria. Registro con 2 bytes de memoria
en formato big-endian.
Word16
Ejemplo: 1234h se enviará como 12, 34. El byte de más peso primero.
Número hexadecimal, entero sin signo de 32-bits, utiliza 2 direcciones de memoria. Registro con 4 bytes de memoria
(2 word) en formato little-endian.
UWord32
Ejemplo: 12345678h se enviará como 56, 78, 12, 34. El word de menos peso primero.
Número hexadecimal, entero sin signo de 48-bits, utiliza 3 direcciones de memoria. Registro con 6 bytes de memoria
(3 word) en formato little-endian.
UWord48
Ejemplo: 112233445566h se enviará como 55, 66, 33, 44, 11, 22. El word de menos peso primero.
Número decimal, codificado en binario de 16-bits, Utiliza 1 dirección de memoria. Registro con 2 bytes de memoria
en formato big-endian.
BCD16
Solo usado para escribir el PIN de usuario. Varía de 0000 a 9999 decimal.
Ejemplo: PIN de usuario = 1234d, 1234h en BCD. Se enviará como 12, 34. El byte de más peso primero.
47
(consultar cuadros sinópticos de características)
Comandos: 01 y 05
Lectura / escritura
Comandos: 02
Lectura
Comandos: 04
Lectura
Comandos: 06
Solo escritura
UNIVERSAL+ 7WR M1 Diferencial tipo B