Introducción
RS-485 es un estándar robusto y versátil para la comunicación industrial, que permite la transferencia de datos a larga distancia con alta resistencia al ruido eléctrico. Es ampliamente utilizado en sistemas de automatización, especialmente cuando se conectan múltiples dispositivos o controladores. Este tutorial te guiará a través de la configuración y prueba de la comunicación RS-485 en un Raspberry PLC de Industrial Shields.
Con sus puertos RS-485 integrados, el Raspberry PLC admite tanto el modo half-duplex como full-duplex, lo que lo hace adaptable a diversos escenarios industriales. En esta guía cubriremos los requisitos de hardware, la configuración del cableado y los comandos de software esenciales para configurar y probar la comunicación RS-485. Tanto si trabajas con versiones V3, V4 o V6, este tutorial garantiza una configuración sencilla y una prueba de comunicación exitosa.
Requisitos
Hardware
- Raspberry PLC
- Power supply (12 - 24V)
- B or micro B type cable, to program the Arduino / ESP32 based PLC
- Two twisted pair cables, for RS485
Software
Hardware
El Raspberry PLC de Industrial Shields está equipado con dos puertos RS-485 que admiten comunicación half-duplex. Para habilitar la comunicación full-duplex, puedes usar ambos puertos simultáneamente, uno para transmitir datos y otro para recibirlos. Las opciones de configuración de comunicación son las siguientes:
- Half-Duplex (HD) usando A1+ y B1-.
- Full-Duplex (FD) usando A1+, B1-, A2+ y B2-.
Conexiones
- Para comunicación HD: A+ con A+ y B- con B-.
- Para comunicación FD: A+ con Y+, B- con Z-, Y+ con A+ y Z- con B-.

Software
Las referencias de puerto varían según la versión del Raspberry PLC y si se utilizan placas de expansión:
- V3 and V4 without expansion board: Ports /dev/ttySC0 and /dev/ttySC1.
- V6 and V4 with expansion board: Ports /dev/ttySC2 and /dev/ttySC3.

Funcionalidades
Configurar el puerto
Para configurar un puerto serie para comunicación RS-485, utiliza el siguiente comando:
stty 115200 -F [PORT] raw -echo
Replace [PORT] with the appropriate port for your Raspberry PLC version.
Recibir datos
Para recibir datos a través de un puerto RS-485, ejecuta:
cat [PORT]
Replace [PORT] with the correct port.
Enviar datos
Para enviar datos, utiliza el siguiente comando:
echo "DATA" > PORT2
Replace [PORT] with the correct port and replace "DATA" with the message you want to send.
Test de verificación
Sigue estos pasos para realizar un test de verificación rápido de la funcionalidad RS-485 en un Raspberry PLC:
1. Alimenta el PLC entre 12 y 24V y conecta los siguientes cables:
- A1+ to A2+
- B1- to B2-
2. Inicializa ambos puertos serie con la misma velocidad de transmisión (p. ej., 115200)
stty 115200 -F [PORT1] raw -echo
stty 115200 -F [PORT2] raw -echo
3. Listen for incoming data on PORT1:
cat PORT1
4. Send data from PORT2 and verify reception on PORT1:
echo "OK" > PORT2
5. Test bidirectional communication: Send data from PORT1 to PORT2 and confirm it is received.