Busca en nuestro Blog. Encontrarás múltiples aplicaciones, soluciones, ejemplos de código. Navega utilizando la nube de etiquetas o busca utilizando criterios específicos

Aprender los conceptos básicos sobre RS232 de un PLC industrial

Introducción

En esta publicación, vamos a explicar cómo hacer lo básico para trabajar con la comunicación RS-232 de los controladores lógicos programables de Industrial Shields. Al leer esta publicación, entenderás cómo conectar y configurar el RS-232 de tu controlador PLC industrial Arduino.

El protocolo RS-232 define las señales que están conectadas entre DTE como terminal de computadora y DCE como módem. Nuestros PLCs tienen en el interior el circuito integrado MAX232, que puede convertir las señales de un puerto serie TIA-232 en señales adecuadas que pueden usarse en circuitos lógicos digitales compatibles con TTL.

El circuito integrado, MAX232, tiene salidas que pueden funcionar con los niveles de voltaje de RS-232, que se producen a partir del suministro de voltaje de 5V utilizando multiplicadores de voltaje en asociación con condensadores externos. 

Lectura previa

Te recomendamos que leas la siguiente publicación para comprender la programación de este blog. Utilizamos el siguiente post para hacer este ejemplo::

Requisitos

Para trabajar con el protocolo RS-232, necesitarás cualquiera de nuestros controladores industriales para la automatización industrial:

Configurando los interruptores

Tenemos 2 familias de PLC: Mduino y Ardbox. 
En la familia Mduino, siempre habrá activado el RS-232 de forma predeterminada, por lo que no necesitará activarlo con ningún interruptor.
Para la familia Ardbox Analog, hay algunos conmutadores que necesitamos configurar

 
A parte de los interruptores, tenemos 3 puentes dentro del PLC. Protocolo de comunicaciones y conexiones disponibles que utilizan estas configuraciones de puentes:
  • Hardware Serie RS-232.

  • I2C * Si I2C está activo, I0.0 & I0.6 están deshabilitados.

  • SPI

  • TTL

  • USB

  • Entradas: 8 de las 10 entradas, I0.0, I0.1 & I0.4 to I0.9. * Si usas I2C, I0.0 también está deshabilitado.

  • Salidas digitales: todas las 10 salidas. * Si utilizas I2C, Q0.6 está deshabilitado.

  • Salidas analógicas: de A0.0 a A0.6. * Si usas I2C A0.6 está deshabilitado.



El último caso es la familia Ardbox Relay, con los siguientes interruptores:

Nota: Para habilitar el protocolo RS-232, la ZONA SUPERIOR debe configurarse como se muestra en la tabla. Aunque el nombre del interruptor solo está referenciado a R

S-485 es también li mismo para el RS-232.


A parte de los interruptores, tenemos 2 puentes dentro del PLC. Protocolo de comunicaciones y conexiones disponibles que utilizan estas configuraciones de puentes:

  • Hardware Serie RS-232.

  • I2C * Si I2C está activo, I0.0 & I0.6 están deshabilitados.

  • SPI

  • TTL

  • USB

  • Entradas: Todas las 10 entradas, I0.0 to I0.9. * Si usas I2C, I0.0 está deshabilitado.

  • Salidas de Relé: de R1 a R6. * Si usas I2C, R5 está deshabilitado. R7 & R8 están desactivados desde el interruptor TOP ZONE.

  • Salidas analógicas: A0.0 & A0.1




Hardware

Lo primero que tenemos que hacer es asegurarnos de que el PLC tiene un suministro de 12 a 24 VdC.

Para hacer la conexión, en ambas familias, usamos los pines RX y TX de esta manera:

1st PLC            2nd PLC

TX------------------RX            (RS232)

RX------------------TX            (RS232)


Software

El primer paso es descargarnos los  Arduino based PLC boardspara Arduino IDE.
Después de realizar la configuración del hardware, debemos continuar con la configuración del software y también cómo lo usamos. Para comenzar este proceso, es necesario incluir la biblioteca RS232.h fundada en nuestro sitio web. Después de esto, en la configuración de la función, es importante tener cuidado de hacer la implementación correcta de tu comunicación.

Para toga la gama de PLCs de Industrial Shields:

Configuration de software

Ejemplo básico de escritura en RS-232: 

// 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);

  }   

   }

Ejemplo básico de lectura en RS-232:  

// 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);

  } 
} 

Básicos: Implementación de protocolo RS-232


 
 

¿Quieres más información?

Con la tecnología Open Source, puedes ejecutar tus propias instalaciones.

Rellena el formulario y contactaremos contigo lo más pronto posible.

Enviar  Por favor, completa el formulario correctamente.