Comunicación Modbus RTU
Modbus RTU (Remote Terminal Unit) es un protocolo estándar para la comunicación en la red y utiliza la conexión RS232 o RS422/485 para la transferencia de datos serie entre dispositivos Modbus de la red.
Modbus RTU utiliza una red de maestros y esclavos en la que toda la comunicación parte de un solo dispositivo maestro, mientras que los esclavos simplemente reaccionan a la solicitud del maestro. El maestro envía una solicitud a una dirección de esclavo, y solo responde al comando el esclavo con dicha dirección de esclavo.
Caso especial: la dirección de esclavo Modbus 0 envía un telegrama Broadcast (difusión) a todos los esclavos (sin respuesta del esclavo).
Códigos de función Modbus
-
Una CPU que se utiliza como maestro Modbus RTU puede leer y escribir datos y estados E/S en un esclavo Modbus RTU conectado por medio de una conexión de comunicación.
-
Una CPU que se utiliza como esclavo Modbus RTU permite a un maestro Modbus RTU conectado por medio de una conexión de comunicación leer y escribir datos y estados E/S en la propia CPU.
Funciones para leer datos: leer datos de programa y E/S descentralizadas
|
Código de función Modbus |
Funciones para lectura de datos del esclavo (servidor) - direccionamiento estándar |
|---|---|
|
01 |
Leer bits de salida: 1 hasta 2000/19921) bits por solicitud |
|
02 |
Leer bits de entrada: 1 hasta 2000/19921) bits por solicitud |
|
03 |
Leer registro de paradas: 1 hasta 125/1241) palabras por solicitud |
|
04 |
Leer palabras de entrada: 1 hasta 125/1241) palabras por solicitud |
Funciones para escribir datos: escribir E/S descentralizadas y modificar datos de programa
|
Código de función Modbus |
Funciones para escritura de datos en el esclavo (servidor) - direccionamiento estándar |
|---|---|
|
05 |
Escribir un bit de salida: 1 bit por solicitud |
|
06 |
Escribir un registro de paradas: 1 palabra por solicitud |
|
15 |
Escribir uno o varios bits de salida: 1 a 1960 bits por solicitud |
|
16 |
Escribir uno o varios registros de paradas: 1 a 122 palabras por solicitud |
-
Los códigos de función Modbus 08 y 11 ofrecen posibilidades de diagnóstico para la comunicación con el dispositivo esclavo.
-
La dirección de esclavo Modbus 0 envía un telegrama Broadcast (de difusión) a todos los esclavos (sin respuesta del esclavo; para códigos de función 5, 6, 15, 16).
Direcciones de estación en la red Modbus
|
Estación |
Dirección |
|
|---|---|---|
|
Equipo RTU |
Dirección de estación estándar |
1 a 247 , así como 0 para Broadcast |
|
Dirección de estación avanzada |
1 a 65535, así como 0 para Broadcast |
|
Direcciones de memoria Modbus
El número de direcciones de memoria Modbus (direcciones de entrada/salida) realmente disponibles se rige por la variante de CPU y la memoria de trabajo disponible.
Instrucciones Modbus RTU en el programa
-
Modbus_Comm_Load: es necesario ejecutar Modbus_Comm_Load para establecer parámetros PtP como velocidad de transferencia de datos, paridad y control del flujo de datos. Una vez se ha configurado el módulo de comunicación para el protocolo Modbus RTU, solo pueden utilizarlo la instrucción Modbus_Master o la instrucción Modbus_Slave.
-
Modbus_Master: con la instrucción de maestro Modbus, es posible utilizar la CPU como dispositivo maestro Modbus RTU para la comunicación con uno o varios dispositivos esclavos Modbus.
-
Modbus_Slave: con la instrucción de esclavo Modbus, es posible utilizar la CPU como dispositivo esclavo Modbus RTU para la comunicación con un dispositivo maestro Modbus.