Está en la página 1de 9

Comunicación Modbus RTU - TCP/IP

Luis Ortiz Armendáriz, Bryan Palma Sánchez, Grégori Vásconez Ramírez, Kímberly Villalba
Proaño.
Departamento de Energía y Mecánica, Universidad de las Fuerzas Armadas (ESPE), Latacunga, Ecuador.

lgortiz1@espe.edu.ec
bjpalma@espe.edu.ec
gdvasconez2@espe.edu.ec
kpvillalba@espe.edu.ec

Resumen- Este documento brinda todas las bases teóricas en pares, un dispositivo debe iniciar una solicitud y luego
necesarias para la implementación de la comunicación a través esperar una respuesta y el dispositivo de inicio (el maestro) es
del protocolo MODBUS entre un ordenador que enviará el responsable de iniciar cada interacción. Por lo general, el
diseño de un HMI, realizado en DOPSoft, a dos pantallas para la
interacción con dos variadores de velocidad y un controlador de maestro es una interfaz humano-máquina (HMI) o sistema
temperatura que se explicarán detalladamente las diferentes SCADA y el esclavo es un sensor, controlador lógico
claves de los parámetros de ejecución. Además, la forma en que programable (PLC) o controlador de automatización
cada dispositivo debe estar configurado para establecer la programable (PAC). [1]
comunicación y programación indicada, se explicará además la Modbus/TCP es un protocolo de comunicación diseñado
manera de realizar la comunicación entre el ordenador y el que permite a equipos industriales tales como PLCs, PC,
variador de velocidad por medio de un convertidor USB a Rs- drivers para motores y otros tipos de dispositivos físicos de
485, por medio del software mbpoll.
Al finalizar el trabajo se adjuntará el funcionamiento del entrada/salida, comunicarse sobre una red Ethernet.
sistema como muestra de la correcta configuración de los Modbus/TCP básicamente encapsula una trama MODBUS
elementos descrita a lo largo del presente escrito. dentro de una trama TCP en una manera simple como se
muestra en la figura a continuación. [2]
Palabras Clave- MODBUS, TCP/IP, Comunicación, HMI, Rs-
485 II. FUNDAMENTACIÓN TEÓRICA
Abstract- This paper gives all the theoretical bases necessary A. Modbus RTU
for the implementation of communication through the MODBUS
protocol between a computer that will send the design of an HMI, Es un protocola de comunicación de punto a punto serial
made in DOPSoft, to two screens for interaction with two speed abierta. Se utiliza para desarrollar la comunicación multi-
variators and a temperature controller that will explain in detail Maestro Esclavo / ServerClient entre dispositivos inteligentes.
the different keys of the execution parameters. In addition, the En Modbus RTU RS-232, RS-422 o RS-485 se puede
way in which each device must be configured to establish the utilizar como capa física basada en la especificación de la capa
communication and programming indicated, will also explain física. RS-232 es topología dúplex que transmitir y recibir
how to perform the communication between the computer and
the speed variator by means of a USB to Rs-485 converter, datos al mismo tiempo mientras RS-485 es una topología
through the mbpoll software. dúplex medio en el que proceso de transmisión y recepción
At the end of the work, the operation of the system will be lleva a una tras otra [3]. RS-232, RS-422 y RS485 también
attached as a sample of the correct configuration of the elements pueden diferenciarse sobre la base de la velocidad de
described throughout this document. transmisión y la velocidad de transporte de datos. En Modbus
RTU capa física es responsable de la dirección del esclavo,
Key Words- MODBUS, TCP/IP, Communication, HMI, Rs-485
iniciar y detener bits de datos en bits, código CRC, tiempo de
espera y de detección de error de trama y la capa de enlace de
datos es responsable de reconocimiento de código de función
I. INTRODUCCIÓN
o rechazo, datos de disponibilidad o repool. Código de función
En la Industria existe una gran cantidad de dispositivos y Modbus RTU es de 32 bits de punto flotante y se utiliza
protocolos así como un sinnúmero de fabricantes, mismos que formato de número entero. En dispositivos maestros Modbus
crean sus propias formas de comunicación, es por ello que nace RTU envían consulta a los dispositivos esclavos y los
la necesidad de una manera de traducir cada uno de estos dispositivos esclavos enviar respuesta a la pregunta del
lenguajes de las distintas marcas y hacerlos capaces de maestro según el código especificado. La figura 1 muestra el
comunicarse entre sí sin importar el fabricante y el protocolo formato del mensaje de Modbus RTU.
que éste utilice.
En el mundo de los protocolos existen dos grandes
clasificaciones: protocolos abiertos y protocolos propietarios.
Modbus es un protocolo abierto del cual se tiene una gran
cantidad de información.
Modbus es un protocolo de solicitud-respuesta
implementado usando una relación maestro-esclavo. En una
relación maestro-esclavo, la comunicación siempre se produce
Fig. 1 Mensaje en Modbus RTU Modbus Mensaje Campo

B. TCP Modbus
Modbus TCP es la comunicación servidor / cliente sobre la
red Ethernet TCP / IP [4]. Modbus TCP es equivalente a Fig. 4 Diagrama de implementación
Modbus RTU que se ejecuta a través de la interfaz Ethernet.
Ciclo de mensajería de Modbus TCP consiste en cuatro etapas Se ejecuta las conexiones de los elementos de
que se muestran en la figura 2. En primer cliente paso envía comunicación, comprobando que estén correctos, haciendo
una consulta (Petición de conexión) al servidor, en el segundo énfasis en el conversor que ayudara a la comunicación de los
paso de esta consulta es reconocido o aceptado por el servidor, elementos bajo rs-485.
en el tercer servidor paso envía las respuestas de código de Se debe crear un nuevo proyecto en el software DopSoft,
función y en cuarto cliente de paso da señal de conformación para la implementación de las pantallas, tomando en cuenta las
con el servidor que puede desconectarse conexión TCP. El acciones que deberá realizar el control, y en que direcciones se
formato del mensaje de Modbus TCP se muestra en la figura 4. encuentra cada elemento para la lectura y escritura de datos
enviados mediante la trama re direccionados a la direcciones
específica de cada elemento comprobando en el DataSheet.
En esta parte del proyecto, se debe cargar la interface
gráfica a los controladores HMI, comprobando la
comunicación con los elementos, en especial verificar el
conversor con la configuración mostrada en la Figura 5.

Fig. 2 Mensaje de Modbus TCP

Fig. 3 Formato de mensaje de Modbus TCP

En Modbus TCP para servidor se conecta se requiere


identificación y número de puerto del servidor para establecer
la comunicación y para un cliente se requiere una dirección IP
de servidor, ID de cliente y el número de puerto en el formato
de mensaje.

III. CREACIÓN DEL PROYECTO


Este montaje experimental utiliza como unidad principal Fig. 5 Arquitectura de comunicación para HMI - VFD
una computadora, dos unidades de control y visualización
HMI DELTA, todo esto bajo protocolo de comunicación IV. CONFIGURACIÓN DE DISPOSITIVOS
Modbus TCP/IP. Para enlazar una comunicación punto a punto con el
Para la implementación de dos variadores de frecuencia se variador de frecuencia utilizaremos un convertidor USB a RS-
usó un conversor de TCP/IP a protocolo RS-485, Modbus 485, es necesario tener el driver del variador de frecuencia
RTU, en la configuración de maestro – esclavo, dichos instalado y el del convertidor, en la figura 1 muestra la ventana
variadores controlan la velocidad del motor del proceso de instalación del driver del variador delta.
implementado, también un medidor de temperatura universal.
Fig. 9 Ventana de configuración de registros en Mbpoll

Fig. 6 Ventana de instalación de driver del VFD


Una vez configurado el Mbpoll, se nos creará una tabla con
Para configurar manualmente los parámetros del VFD los registros y sus valores, que podemos modificar de acuerdo
aplastamos el botón “MODE” (señalado con 6 en la figura 2) a los bits correspondientes, tal como se muestra en la figura 5.
y con las flechas cambiamos hasta cuando aparezca “06.00. En
esta sección podemos cambiar los parámetros del VFD,
refiriéndose así: 09.00 a la dirección de comunicación, 09.01 a
la velocidad de transmisión y el 09.04 al protocolo de
comunicación, valores de dirección obtenidos del manual del
fabricante.

Fig. 10 Ventana de escritura en registro – Mbpoll

V. PROGRAMACIÓN
La red que se implementará se muestra en la figura 6, está
constituida de dos pantallas HMI y una PC conectada a una red
TCP/IP Ethernet y esta red conectada a un convertidor de
Fig. 7 Panel de operación de VFD Delta Ethernet a RTU. En la red Modbus RTU se encuentran los dos
variadores de velocidad y el medidor de temperatura.
Con la instalación de drivers completada y configuración
manual del VFD, mediante el programa Mbpoll configuramos
el acceso al variador, entrando en “Connection” ubicado en la
barrada de menú, seguidamente en “Connect…” y se nos abrirá
una ventana como se muestra en la figura 3. En esta
seleccionamos la conexión como “Serial Port” y debajo al
dispositivo al que queremos conectarnos, en este caso el VDF.
Los siguientes parámetros configuramos de acuerdo a como
esté en el variador, por defecto, 9600 bauds/s, tamaño de la
trama de 8 bits, bit de paridad impar y bit de stop 1.

Fig. 11 Diagrama de la red implementada.

La programación de las pantallas HMI se realizará en el


software “DOPSoft”, como primer paso es conectar nuestra PC
a la red inalámbrica “WebServer” que nos conectara a la red
TCP/IP con los demás dispositivos. Despues, debemos realizar
la configuración de comunicación en el programa, en la barra
Fig. 8 Ventana de configuración de conexión con el VDF en Mbpoll de menú en “Options” y luego en “Communication Settings”,
nos colocamos en la pestaña de Ethernet y vamos agregando
Para realizar la lectura y escritura del registro 2000H del cada dispositivo que utilizaremos, tal como se muestra en la
VDF, ingresamos en “Setup” en la barra de menú y luego en figura.
“Read/Write Definition…” y tenemos la ventana de la figura
4. Aquí ingresamos el ID del dispositivo, el tipo de función,
escritura y la dirección especificada anteriormente en decimal,
es decir, la 8192.
decimal y desplazando +1 tenemos como se muestra en la
figura, que sería el caso de la variable de proceso.

Fig. 15 Ventana de configuración de registro del Display Numérico del PV


en DOPSoft

Fig. 12 Ventana de configuración de dispositivos en DOPSoft

Creamos una interfaz gráfica con botones que deseamos


VI. COMUNICACIÓN
para controlar nuestros dispositivos, por ejemplo “RUN”,
“STOP”, “INVERTER”, que son para: iniciar, parar e invertir A. PC – Variador Modbus, RTU
el sentido del motor respectivamente, así lo vemos en la figura Respetar los siguientes parámetros:
8. 1) Medio: Hardware necesario para establecer la
comunicación: PC, Convertidor USB a RS 485, cable
y variador de velocidad DELTA.

Fig. 16 Medio de comunicación con protocolo MODBUS

Fig. 13 Interfaz gráfica en DOPSoft Es indispensable verificar que se pueda realizar la


comunicación MODBUS con el variador de velocidad
Dentro de cada botón ingresado debemos realizar una DELTA, para lo cual es necesario verificar en el
configuración, en la figura 9 muestra que se debe ingresar una manual.
dirección de escritura, tal como se hizo en Mbpoll, ingresando La configuración del dispositivo conversor usb a
la dirección 2000H en decimal desplazado +1 y en “Detail” el RS485, se debe introducir su disco de instalación y
valor de “1” que es correspondiente a la función de “Stop” seguir las instrucciones detalladas en su manual.
según el manual de operación. 2) Enlace: Esta etapa se basa en la configuración de cada
uno de los elementos en los que destacan la velocidad,
data bit, la polaridad y stop bit.
En el caso del variador nos dirigimos al manual y
buscamos sus parámetros de comunicación.
Se configura el número de esclavo el mismo que puede
ser del 1 al 254.
Se configura la velocidad de comunicación,
seleccionamos la más común que es 9600 bps.
Se configura el protocolo de comunicación,
seleccionamos data bit 8, bit de paridad “ODD” y bit
de stop “1”.
Fig. 14 Ventana de configuración de registro del botón “STOP” en DOPSoft Cada uno de estos parámetros se debe ingresar al
variador. Explicación del controlador del variador.
Asimismo, para la interfaz del control de temperatura,
creamos una donde se visualice la variable de proceso (PV) y
el Setpoint (SV), cada uno tiene su registro correspondiente
siendo el 1000H y 1001H respectivamente, transformándolo a
Fig. 19 Presencia de timeout Error
Fig. 17 Diagrama de bloques del sistema MIMO de temperatura y humedad
3. El error se produce porque está mal direccionado el
1. Estado de la pantalla: Muestra el estado actual del esclavo como se observa esta seleccionado el esclavo
conductor 1, pero se configuró como esclavo 7, entonces
2. Pantalla LED: Indica la frecuencia, voltaje, corriente, procedemos a corregir el error y verificamos.
al usuario.
3. Potenciómetro: Para el ajuste de frecuencia maestro
4. Tecla RUN: Indicar la operación del variador de
frecuencia.
5. Teclas UP and DOWN: Sirven para cambiar
parámetros en el variador.
6. Modo: Cambiar entre los diferentes modos de
visualización.
7. STOP/RESET: Detiene la operación del variador de
CA y restablecer la unidad tras el fallo ocurrido.
8. Entrar: Se utiliza para introducir/modificar los Fig. 20 Cambio de Slave ID
parámetros.
4. El problema se solucionó y se observa que existe
Una vez conocidos la funcionalidad del controlador comunicación.
del variador procedemos a introducir los parámetros de
configuración.

1) Protocolo y registros: Se va a usar protocolo


MODBUS para lo cual se introducirá varios registros
del variador. En la práctica se realizará mediante
registros el paro, encendido, cambios de giro y
frecuencia del variador, para su efecto usaremos el
software Modbus Poll el cual hace la función de
master, procedimiento: Fig. 21 Verificación de comunicación
1. Para poder leer al variador toda la capa de enlace debe
estar sincronizada, para ello configuraremos lo 5. Verificamos la comunicación y observamos que se
siguiente: está envidiando el 14 y observamos la trama
MODBUS:
07: Número de esclavo
03: Function code holding register
00 00 00 : Lugar donde se está arrancando la dirección
de lectura.
0A C5 AB: Cantidad de registros modbus a leer.

Fig. 18 Configuración del Serial port y Serial settings

2. Al parecer aparece un Timeout Error, en el cual se


está enviándola trama, pero no regresa nada

Fig. 22 Trama de comunicación

6. Una vez que se establece la comunicación, apuntamos


al registro de interés, encontrados en el manual del
variador.
7. Los espacios de memoria del simulador vienen dados
en decimal por lo tanto, tenemos que transformar los
valores 2000H, 2001H en decimal (8192 y 8193)
respectivamente.

Fig. 26 Selección de pantalla


Fig. 23 Direccionamiento de registros
2. Configuramos la pantalla de tal manera que esta sea
8. Una vez ingresada la dirección, colocamos el valor en capaz de leerle al variador, tenemos:
decimal para cada una de sus distintas combinaciones
y probamos, ejemplo si deseo arrancar la
combinación es (1 0) que en decimal es 2 y lo escribo
en value y efectivamente se prende la bomba
conectada al variador.

Fig. 27 Configuración de Link name, controller and Comunication parameter.

3. Presionamos finish y procedemos a crear nuestro


HMI. Primeramente vamos a prender y apagar la
Fig. 24 Valor en decimal para cada combinación del registro
bomba conectada al variador. Para ello creamos un
9. Otro parámetro de interés es la medición de la Numeric Entry.
frecuencia se registro es el 2001H en decimal es el
8193 e ingresamos un valor de 30 Hz. (Este valor debe
ser ingresado con centésimas 3000)

Fig. 25 Monitoreo de frecuencia

10. Finalizada y comprobada la comunicación entre PC –


Variador delta mediante protocolo MODBUS en Fig. 28 Creación de hmi y numeric entry
RTU.
4. Una vez creado el Numeric Entry, debemos de
B. Comunicación PC – Pantalla Delta – DOP_eRemote,
direccionarlo de la siguiente manera en escritura y
MODBUS TCP/IP
lectura.
Para la comunicación entre PC y la Pantalla Delta, es necesaria
de igual manera la conexión del medio. Para lo cual se enlaza
a una red basada en IP, en la cual pasamos por un Switch y un
concentrador inalámbrico o cableado, pero el variador siempre
va a estar en Serial. Se conecta el variador a la pantalla en los
terminales 1 y 6 en el com.
Procedemos a realizar el enlace, protocolo y registro entre
Variador Delta y Pantalla Delta.

1. Generamos un nuevo programa y seleccionamos la


pantalla B03E211.
Fig. 29 Configuración de link y content

5. Compilamos y descargamos, al parecer no se pudo


establecer la comunicación, uno de los errores podría
ser el computador que no se encuentre con dirección
IP, entonces lo verificamos. Fig. 33 Mensaje de descarga del programa a la pantalla

10. Y realizamos lo mismo que en la comunicación serial,


pulsamos desde la pantalla los números 2 para
prender la bomba, 48 para invertir el sentido de giro,
etc.
11. Por facilidad creamos botones para cada operación
de stop, run e inversión de giro.

Fig. 30 Mensaje de fallo de comunicación

6. Efectivamente el computador estuvo sin


direccionamiento IP, entonces le direccionamos el
siguiente:

Fig. 34 Creación de botones de stop, run e inversión

12. Configuramos cada botón dando doble clic en el


mismo y lo direccionamos

Fig. 31 Asignación de ip y máscara de subred al PC

NOTA: La dirección IP de la pantalla es 192.168.0.20


7. Volvemos a compilar y descargar para verificar si se
puede establecer la comunicación. Fig. 35 Configuración de cada botón en los parámetros de write addres y
Desafortunadamente el problema sigue no se puede detail.
establecer la comunicación. Otro problema podría
ser el cableado, procedemos a verificar. NOTA: El Write address es el mismo para todos los
8. El cableado está correcto. Entonces cuando el error botones lo unico que cambia es Detail por cada función por
persiste puede ser que no estemos en la misma subred ejemplo para STOP es 1, para RUN es 2 e Inversion es 48.
o que el registro se haya desplazado entonces 13. Compilamos, descargamos y comprobamos
cambiamos el registro 8192 por el registro 8193 a este resultados.
lo direccionamos, compilamos y verificamos la
comunicación

Fig. 36 Pantalla remota que muestra lo que se está mostrando en el HMI.

14. Presionamos el botón STOP y vemos que se apaga la


Fig. 32 Mensaje de descarga del programa a la pantalla bomba y en el HMI en el command se muestra el 1 y
así probamos cada operación asignada a los distintos
9. Efectivamente, se solucionó el error y ya se está botones.
estableciendo la comunicación.
Fig. 37 Verificación de command 2 para Run.
Fig. 41 Monitoreo de frecuencias

15. Ahora vamos a crear otra pantalla para monitorear la 18. Entonces tenemos dos HMI, en este podemos
frecuencia. Creamos un Numeric entry y lo monitorear la frecuencia y en el otro prender, parar e
direccionamos como se muestra: invertir el sentido de giro del actuador.

Fig. 42 Encendido de actuador

19. Se puede monitorear mediante nuestro dispositivo


Android, mediante la aplicación eRemote para lo cual
Fig. 38 Creación de otra pantalla para monitoreo de frecuencia se debe instalar el apk en el dispositivo.

Fig. 39 Configuración de write and read address

16. Para desplazarnos entre pantallas es necesario


crearnos botones que nos lleven a ellas entonces
seleccionamos un GO TO SCREEN. Y tenemos:

Fig. 43. eRemote instalada en android

20. Una vez instalada procedemos a ejecutarla y llenamos


los datos que nos solicitan para poder establecer
conexión con la pantalla

Fig. 40 Creación de botones para desplazarse entre pantallas.

17. Compilamos, descargamos y verificamos resultados.


IX. RECOMENDACIONES
Para evitar errores al momento de la realización de la práctica
se recomienda verificar los dispositivos y cables de conexión
que se encuentren en correcto funcionamiento y conexión lo
que evitará errores de comunicación. Se debe tomar siempre en
cuenta que es posible que ocurra un desplazamiento de
registros por el cambio de TCP/IP a RTU. Finalmente para una
Fig. 44 Pantalla de configuración de eRemote correcta configuración de cualquier dispositivo se deben
Revisar los manuales de los dispositivos antes de empezar a
Nota: Ambos dispositivos tienen que estar conectados a la configurarlos o conectarlos.
misma red Wi-Fi

VII. ANÁLISIS DE RESULTADOS


Los resultados obtenidos durante la comunicación serial
entre el Variador Delta y la PC fueron satisfactorios, en los
cuales se pudo constatar la comunicación mediante el ingreso
de registros para el encendido y apagado del actuador,
inversión de giro y monitoreo de frecuencia. Todo ello se lo
realizo mediante el software Modbus Poll el cual realiza la
función de master y el variador es esclavo.
Al inicio se tuvo problemas para establecer la
comunicación mediante ethernet entre la Pantalla Delta y el
Variador. El cual presento un desplazamiento de registro. Esto
se debe a que existen otros dispositivos externos conectados a
la red (switch), los cuales hacen que se desplace el registro.
Finalmente, se corrigió este inconveniente y de igual manera
se logró establecer la comunicación y se realizó de igual
manera mediante un HMI el paro, encendido, inversión de giro
y monitoreo de frecuencia de ambos variadores así como del
controlador de temperatura.
El envío de datos hacia el SERVER existe, aunque debido
a problemas de direccionamiento o por desplazamientos de
registros algo muy común cuando se establece comunicación
mediante Ethernet, no se observó los valores en el computador,
pero el envío de datos existe lo cual se soluciona resolviendo
algunos de los problemas mencionados

VIII. CONCLUSIONES
El proceso de comunicación descrito en el documento
entre el ordenador con los demás elementos se realizó con
existo siendo estos los adecuados para la realización de
cualquier práctica, se han descrito los posibles problemas y las
soluciones a los mismos. Se describió además un instructivo
fácil de seguir para la creación del HMI mismo que funcionó
de forma correcta con los dos variadores y el controlador de
temperatura, siendo capaz de monitorear y supervisar todo en
tiempo real, permitiendo variar la frecuencia de los variadores
así como controlar su encendido y apagado, así como la
inversión de giro de la bomba conectada, por otro lado el
controlador de temperatura es controlado su set point siendo
posible también establecer una alarma que salta al sobrepasar
el mismo.
La sencillez y versatilidad del protocolo Modbus ha hecho
que este sea adoptado en el campo industrial ya que se lo puede
usar con cualquiera de los dispositivos más usados en la
industria.
Para establecer la comunicación mediante protocolo
Modbus se deben establecer los parámetros del medio, enlace,
protocolo y registros. Para configurar los dispositivos
involucrados es necesario tener su respectivo manual, en el
cual se encuentran los parámetros de interés en la práctica

También podría gustarte