![](https://carlosabneryt.com/wp-content/uploads/miniatura-1-400x267.jpg)
Comunicar Raspberry Pi con HMI Delta via Modbus ASCII
hace 3 años · Actualizado hace 2 años
![](https://carlosabneryt.com/wp-content/uploads/image-138-1024x576.png)
¿Qués es el estándar RS485?
RS485 es un estándar de transmisión en serie, un poco como RS232, pero usa otras señales eléctricas. Una ventaja importante de RS485 es que puede colocar varios dispositivos RS485 en el mismo bus. Por lo tanto, no tiene que multiplicar las interfaces RS485 en el host para cuestionar varios dispositivos. Sin embargo, hay un pequeño truco para hacerlo: en cada extremo del bus, debes colocar un terminador de bus. A veces esto significa que debe atornillar una pequeña resistencia en un terminal, o simplemente mover un interruptor en la posición adecuada.
La principal particularidad al utilizar RS485 está en el formato de los datos intercambiados. Mientras que con RS232 muchos dispositivos simplemente usan protocolos de texto (ASCII), con RS485 la mayoría de los dispositivos usan el protocolo MODBUS. Por lo tanto, debe conocer un mínimo de MODBUS para interconectar un dispositivo RS485.
Protocolo de comunicación Modbus
MODBUS es un protocolo entre un host (maestro) y dispositivos (esclavos) para acceder a la configuración de los dispositivos y leer las medidas. Los mensajes MODBUS corresponden a operaciones relativamente simples para leer y escribir palabras de 16 bits y registros binarios (a menudo llamados "bobinas"). El host inicia sistemáticamente el intercambio y el dispositivo "esclavo" responde. El esclavo no envía ningún mensaje antes de que el anfitrión lo solicite.
Equipos utilizados para la práctica
Una Raspberry Pi 3B+ soporta el protocolo MODBUS a través RS485 haciendo uso de un convertidor USB-RS485 CH340 conectado a un puerto de USB.
En esta práctica se programa la Raspberry Pi como PLC utilizando el software de Codesys 3.5.16, se realiza una comunicación con otro dispositivo que también soporta dicho protocolo; pantalla HMI Delta.
NOTA: este procedimiento también se puede replicar para comunicar nuestra Raspberry con otro dispositivo que soporte el protocolo.
![](https://carlosabneryt.com/wp-content/uploads/image-139-1024x425.png)
Configuración de la Raspberry Pi para habilitar puerto USB
Primero se debe de configurar el convertidor en la Raspberry Pi 3B+. Desde el terminal se debe realizar una actualización ejecutando el siguiente comando, importante estar conectado a una red de Internet.
sudo apt-get update
![](https://carlosabneryt.com/wp-content/uploads/image-140.png)
Después debe realizar un upgrade a nuestra Raspberry Pi, ejecutando el siguiente comando en el terminal: sudo apt-get upgrade
![](https://carlosabneryt.com/wp-content/uploads/image-141.png)
Por último se debe de modificar el archivo CODESYSControl.cfg, para poder realizarlo ejecutar el siguiente comando en el terminal:
sudo nano /etc/CODESYSControl.cfg
Se debe de abrir el archivo, ir hasta el final y agregar la siguiente configuración:
[SysCom]
Linux.Devicefile=/dev/ttyUSB
portnum := COM.SysCom.SYS_COMPORT1;
![](https://carlosabneryt.com/wp-content/uploads/image-142.png)
Al terminar guardar el archivo y salir.
Configuración de Modbus ASCII en Codesys
Después en Codesys es necesario agregar un módulo Modbus_COM_Port --> Modbus_Master_COM_Port--->Modbus_Esclavo_Puerto_COM.
Es importante realizar una correcta configuración:
![](https://carlosabneryt.com/wp-content/uploads/image-143.png)
![](https://carlosabneryt.com/wp-content/uploads/image-144-1024x235.png)
![](https://carlosabneryt.com/wp-content/uploads/image-145-1024x242.png)
También es necesario configurar los canales, en este caso solo se utilizan 2 FC, 03 y 01.
![](https://carlosabneryt.com/wp-content/uploads/image-146-1024x204.png)
Configuración Modbus ASCII en HMI Delta
Ahora es necesario configurar la HMI Delta, utilizando Dopsoft 2.00 creamos un nuevo proyecto, elegimos el modelo de HMI y después configuramos el puerto de comunicación:
![](https://carlosabneryt.com/wp-content/uploads/image-147.png)
Dentro del área de trabajo creamos un diseño con 2 campos numéricos y 2 botones:
![](https://carlosabneryt.com/wp-content/uploads/image-148.png)
Para el campo numérico se deben de colocar las direcciones de lectura y escritura W40001 & W40002:
![](https://carlosabneryt.com/wp-content/uploads/image-149.png)
Y para el botón B1 y B2:
![](https://carlosabneryt.com/wp-content/uploads/image-150.png)
Esas direcciones ya están definidas en el manual de las HMI Delta, se muestran los registros de entrada y salida además de las entradas y salidas discretas:
![](https://carlosabneryt.com/wp-content/uploads/image-151.png)
Finalmente se realiza la prueba de comunicación:
![](https://carlosabneryt.com/wp-content/uploads/image-152.png)
Enlace para ver el procedimiento paso a paso
A continuación les comparto un vídeo con los pasos explicados mas a detalle:
⭐️ Si quieres saber más de otros artículos parecidos a Comunicar Raspberry Pi con HMI Delta via Modbus ASCII puedes visitar nuestra categoría Raspberry PI. Te esperamos dentro 👍
Deja una respuesta
Entradas de Interes