Introducción
La función Read Input Registers (Leer Registros de Entrada), Modbus RTU (Código de Función Modbus: 4), se utiliza para leer de 1 a 125 registros de entrada contiguos en un dispositivo remoto.
En esta entrada del blog, vamos a leer los registros de entrada entre el conjunto de PLCs basados en Arduino como client - servidor > with industrial automation and an Arduino Programmable Logic Controller PLC.
Modbus RTU
Para saber más sobre Modbus RTU y cómo funciona la librería, visita la siguiente entrada del blog:
Requisitos de Hardware
- 2x M-Duino PLC >
- Power Supply >
- Cable tipo B, para programar el PLC basado en Arduino
- Dos cables de par trenzado, para RS485.
Requisitos de Software
Conexiones
Ahora, para establecer una comunicación Modbus RTU, vamos a hacer lo siguiente:
1. Alimentar el PLC entre 12 y 24V.
2. Realiza el cableado a través de RS-485. Esto se basa en un cable de par trenzado, un cable de A+ a A+, y el otro de B- a B-.
3. Coloca el interruptor rojo en la posición Half-Duplex: HD
Bobinas de lectura del maestro Modbus RTU
Para configurar un controlador Arduino PLC industrial como maestro y el otro como esclavo, tendremos que programar ambos para que ejecuten cada código. Así, para programar el maestro, vamos a hacer lo siguiente:
1. Ve a la barra superior, y haz clic en: File > Examples > Tools40 > Modbus > y selecciona el sketch ModbusRTUMasterReadCoils. Y cambia la línea 63 por:
if (!master.readCoils(31, 0, 1)) { // Failure treatment }
2. Haz clic en Tools > Board > Industrial Shields boards > y selecciona la familia M-Duino.
3. Después, selecciona el modelo de PLC yendo a Tools > Model > y selecciona el modelo. En nuestro caso: M-Duino 21+
4. Selecciona el puerto yendo a Tools > Port > y selecciona el puerto de la placa Arduino.
5. Finalmente, haz clic en la flecha para cargar el boceto, o ve a Sketch > Upload
Modbus RTU Slave
Una vez que el maestro ya está programado, vamos a hacer lo mismo que con el PLC maestro, pero eligiendo el sketch ModbusRTUSlave. Así:
1. Cambia el cable tipo B y conéctalo al otro PLC M-Duino.
2. Ve a la barra superior, y haz clic en: Archivo > Ejemplos > Herramientas40 > Modbus > y selecciona el sketch ModbusRTUSlave.
3. Una vez abierto el sketch, haz clic en Tools > Board > Industrial Shields boards > Y selecciona la familia M-Duino.
4. A continuación, selecciona el modelo de PLC yendo a Tools > Model > Y seleccionando el modelo. En nuestro caso: M-Duino 21+.
5. Selecciona el puerto yendo a Tools > Port > y selecciona el puerto de la placa Arduino.
6. Finalmente, haz clic en la flecha para subir el boceto, o ve a Sketch > Upload.
¡Ahora, abre el Monitor Serial desde el Maestro, y lee una bobina de la entrada Q0.0!
Consejo: Añade algún valor a la salida Q0.0 para obtener un valor diferente de 0
Tutorial de Modbus RTU: Cómo leer la bobina con Arduino PLC