Introducción
En esta publicación se muestra cómo usar RS232 en un PLC de Industrial Shields basado en Arduino. Esta publicación ha sido implementada para la versión M-Duino PLUS y ARdbox Relay / Analog HF (HW 232/485)
Requisitos
Ethernet o 20 I/Os PLC:
Placas Industrial Shields:
Install the Boards >>>
Implementación
- Hardware configuración
El primer paso es configurar el hardware. Las conexiones correctas entre los dispositivos deseados se muestran a continuación:
Industrial Shields PLC | RS232 Device |
RX | TX |
TX | RX |
GND | GND |
También es importante tener la configuración adecuada de los conmutadores. Si el equipo es un M-Duino PLUS el RS-232 siempre está habilitado. Para los equipos de la Familia Ardbox se requiere alguna configuración extra:
Ardbox Analog HF RS-232:
Documentation RS-232 >>>
Ardbox Relay HF RS-232:
- Configuración del Software
Una vez realizada la configuración del hardware, es posible continuar con la parte del software. En primer lugar es necesario incluir la biblioteca RS232.h:
#include <RS232.h>
Entonces, no olvide implementar la inicialización adecuada de su comunicación en la función setup ():
RS232.begin(9600);
* Recuerde que ambos dispositivos deben comunicarse a la misma velocidad en baudios.
Ahora todo está listo para comenzar a utilizar las funciones o métodos RS232. RS232 es una clase que puede utilizar los mismos métodos que la clase Serial. Referencias del sitio web de Arduino para ver las diferentes funciones disponibles. Los métodos más utilizados que todo desarrollador de Industrial Shields debe conocer son:
RS232.begin(baud); //sets the baud rate for RS232 data transmision RS232.read(); //reads incoming RS232 data RS232.write(byteToSend); //write binary data to RS232 port RS232.write(dataToSend, dataLength); //write binary data to RS232 port RS232.available() //returns the number of bytes available for reading on RS232 port
Esto es todo lo que se necesita saber para utilizar RS232 en equipos de Industrial Shields. Finalmente se muestra un ejemplo usando RS232.
Ejemplo
- Escribir:
// Include Industrial Shields libraries #include <RS232.h> //// IMPORTANT: check switches configuration //////////////////////////////////////////////////////////////////////////////////////////////////// void setup() { // Begin serial port Serial.begin(9600); // Begin RS232 port RS232.begin(38400); } //////////////////////////////////////////////////////////////////////////////////////////////////// void loop() { // Wait bytes in the serial port if (Serial.available()) { byte tx = Serial.read(); // Echo the byte to the serial port again Serial.write(tx); // And send it to the RS-232 port RS232.write(tx); } }
- Leer:
// Include Industrial Shields libraries #include <RS232.h> //// IMPORTANT: check switches configuration //////////////////////////////////////////////////////////////////////////////////////////////////// void setup() { // Begin serial port Serial.begin(9600); // Begin RS232 port RS232.begin(38400); } //////////////////////////////////////////////////////////////////////////////////////////////////// void loop() { // Print received byte when available if (RS232.available()) { byte rx = RS232.read(); // Hexadecimal representation Serial.print("HEX: "); Serial.print(rx, HEX); // Decimal representation Serial.print(", DEC: "); Serial.println(rx, DEC); } }
Cómo utilizar RS-232 en un PLC industrial basado en Arduino