Está en la página 1de 19

Nombre del Diplomado Sistemas SCADA y buses de comunicación industrial

Nombre de la Evaluación Comunicación Modbus TCP/IP UDP/IP

Número de Evaluación 1 Fecha de entrega 16 de Abril de 2016

Profesor Dr. Edgar Rivas Duración 2 horas

INTEGRANTES:
Macías Fernández Andrés
Sánchez Padilla Ariel
Espinosa Naranjo Alberto Fabián

INTRODUCCIÓN.
Cuando se requiere supervisar y controlar a distancia una instalación, proceso o sistema de características
variadas, es necesario implementar sistemas SCADA (Adquisición De Datos Y Supervisión De Control).
Para eso el sistema requiere de un PLC, una arquitectura tanto de hardware como de software. En esta
práctica se enfocará lograr tener comunicación, entre el PLC con algún dispositivo, y asi poder realizar
diferentes aplicaciones a futuro.
En este caso el tipo de comunicación será “MODBUS TCP/IP UDP/IP” por medio de puerto Ethernet y
una red local. Este protocolo está basado en la arquitectura maestro/esclavo (RTU) o cliente/servidor
(TCP/IP) y goza de mayor disponibilidad para la conexión de dispositivos electrónicos industriales.

OBJETIVO.
Configurar los parámetros del PLC para habilitar la comunicación Modbus por puerto Ethernet.
Se propone usar la infraestructura de la red del laboratorio y conectar de esa red a cada una de las PCs.

MARCO TEÓRICO.

MODBUS
El MODBUS es un protocolo de comunicación serial basado en el modelo maestro/esclavo, a la fecha es
un estándar de facto, es público, muy seguro, no requiere licencias y su implementación es relativamente
fácil en dispositivos electrónicos.
Comunicación Maestro-Esclavo en MODBUS

El MODBUS siempre funciona con un maestro y uno o más esclavos, siendo el maestro quién controla en
todo momento el inicio de la comunicación con los esclavos, que según la especificación pueden ser hasta
247 en una misma red. El esclavo por otro lado se limita a retornar los datos solicitados por el maestro, así
de simple es la comunicación usando el MODBUS, el maestro envía los mensajes y el respectivo esclavo
los responde.

Cada esclavo debe tener una única dirección, así el maestro sabe con quién se debe comunicar. Vea la
animación siguiente, observe cómo funciona él envió de mensajes entre el maestro y el esclavo tome en
cuenta lo siguiente:

 Cada esclavo tiene su propia dirección, que puede ir desde 1 hasta 247.
 El maestro siempre inicia la comunicación enviando un paquete de información bien estructurado
a todos los esclavos, entre otras muchas cosas en la información se incluye el número del esclavo.
 El esclavo elegido responde, enviando lo que se le pide por medio también de un paquete de
información bien estructurado.

Interfaz humano-máquina

Una interfaz Hombre - Máquina o HMI ("Human Machine Interface") es el aparato que presenta los datos
a un operador (humano) y a través del cual éste controla el proceso.

Los sistemas HMI podemos pensarlos como una "ventana de un proceso". Esta ventana puede estar en
dispositivos especiales como paneles de operador o en un ordenador. Los sistemas HMI en ordenadores se
los conoce también como software (o aplicación) HMI o de monitorización y control de supervisión. Las
señales del proceso son conducidas al HMI por medio de dispositivos como tarjetas de entrada/salida en
el ordenador, PLC's (Controladores lógicos programables), PACs (Controlador de automatización
programable ), RTU (Unidades remotas de I/O) o DRIVER's (Variadores de velocidad de motores).
Todos estos dispositivos deben tener una comunicación que entienda el HMI.

Figura 1.0 HMI UNITRONICS

Red de área local


Una red de área local o LAN es una red de computadoras que abarca un área reducida a una casa, un
departamento o un edificio.

La topología de red define la estructura de una red. Una parte de la definición topológica es la topología
física, que es la disposición real de los cables o medios. La otra parte es la topología lógica, que define la
forma en que los hosts acceden a los medios para enviar datos.

Figura 1.0 Red Local

Cuando muchas veces hablamos de Redes, más precisamente de conexiones de Redes de Área Local
(LAN, por sus siglas en inglés) aparece el término que es conocido como Ethernet, siendo un estándar de
redes que emplea el método CSMA/CD (Acceso Múltiple por Detección de Portadora con Detector de
Colisiones) que mejora notoriamente el rendimiento de dicha conectividad.

Se trata de un estándar que define no solo las características de los Cables que deben utilizarse para
establecer una conexión de Red, sino también todo lo relativo a los niveles Físicos de dicha conectividad,
además de brindar los formatos necesarios para las tramas de datos de cada nivel.

MATERIALES Y EQUIPO.

Por equipo, en total 3 equipos los que formarán la red o sea 3 PLCs y 3 computadoras.

 Infraestructura de red de la Universidad Autónoma de Querétaro.


 1 PLC/HMI Unitronics V570 con tarjeta de red Ethernet V200-18-E2B.
 1 Fuente de 24VCD
 1 Computadora con tarjeta de red.
 2 cables Ethernet.
 Software Visilogic para programar al PLC y monitorearlo.
 Software Modbus protocol simulator para emular un equipo con protocolo modbus dentro de la
computadora.

METODOLOGÍA.

1. Cableado de la red, se usará la infraestructura de red de la universidad, se asignará una dirección


IP a cada equipo en la red o sea los 3 PLCs y las 3 computadoras, tal dirección IP deberá estar
dentro del rango de direcciones permitida por la red, ninguna dirección puede ser inventada y
debido a que los PLCs no pueden generar una IP a diferencia de la las computadoras por lo que la
IP de los 3 PLCs debe ser una que ya exista en la red, para esto basta con usar un cable de red que
ya estaba conectado a una computadora del laboratorio y conectarlo al PLC.

2. Después de asignar una dirección IP a cada equipo de la red se procederá a desarrollar el código
del PLC correspondiente para la lectura y escritura de un registro, se usarán las funciones 03 y 16
de modbus correspondientemente.

3. Además del código se desarrollará una interfaz simple en el HMI para poder leer y escribir el valor
del registro modificado.

4. Desde el PLC se deberá poder leer un registro de la computadora la cual está conectada vía
Ethernet usando el protocolo modbus TCP/IP, en la computadora se ejecuta el software modbus
protocol simulator, igualmente desde el PLC se puede escribir sobre un registro de la
computadora, una vez que se ha escrito y leído se da por cumplido el objetivo del ejercicio.

RESULTADOS.
Para la elaboración de la práctica se propone seguir la siguiente topología:

Red
Institucional
UAQ

Visilogic 1 Visilogic 2 Visilogic 3 PC 1 PC 2 PC 3

Topología 1. Red necesaria para la práctica.

Se debe utilizar un bit de comienzo, el cual se activará automáticamente cuando el PLC esté listo para
comenzarse a utilizar.

Como parte fundamental de la configuración básica para el envío de datos utilizando Modbus, es
necesario asignar un nombre específico al PLC, el cual puede ser escogido de acuerdo a las necesidades
que se tengan, características especiales o función para la cual haya sido programado el PLC, en todo caso
puede elegirse el nombre que se desee. Por lo que por motivos de practicidad, se proponen los siguientes
nombres:

 Visilogic 1. (PLC del equipo de Ariel).


 Visilogic 2. (PLC del equipo de Diana).
 Visilogic 3. (PLC del equipo de Francisco).
El nombre es asignado utilizando el bloque de función “PLC NAME” y bastará con abrir su configuración
y escribir el nombre.

Posterior a asignar el nombre será necesaria la distribución de direcciones IP con la finalidad de poder
establecer comunicación con los dispositivos que se encuentran en la red institucional de la UAQ. Este
procedimiento se realizará manualmente otorgando la IP de las computadoras directamente al PLC
utilizando un bloque de función llamado “TCP/IP CARD INIT”, dentro del cual se configurarán
parámetros básicos para trabajar dentro de la red, tales como: dirección IP, máscara de subred y puerta de
acceso.

La configuración del PLC utilizado por nuestro equipo se visualiza de la siguiente manera:
 IP address: 148.220.24.16.
 Subnet mask: 255.255.255.0
 Gateway: 148.220.24.254

Figura 1. Asignación de dirección IP al PLC.

El siguiente paso que fue seguido fue la colocación del bloque de función “TCP/IP SOCK INIT” para
habilitar el socket 3, el cual permite que PLCs de marcas diferentes a Unitronics accedan a PLCs marca
Unitronics a través del protocolo de comunicación Modbus, así como indica que se realizarán lecturas.
Dicho socket está especialmente diseñado para comunicación TCP.

Una vez que se habilitó el socket 3, el equipo procedió a la configuración de Modbus utilizando el bloque
de función “MODBUS IP CONFIG”, al cual se debieron cambiar diversos parámetros mostrados a
continuación:
Figura 2. Bloque de configuración Modbus IP

En la figura se pueden ver parámetros de entrada y parámetros de salida, así como la descripción de los
esclavos dentro de la red.

Los parámetros de entrada son:


 Socket 3, habilitando a otros dispositivos y PLCS comunicarse con PLCs marca unitronics a
través del protocolo Modbus.
 Network ID 255.
 Time out. 100 unidades de 10ms. Lo cual nos indicará después de cuánto tiempo se realizará una
desconexión automática en caso de que no se estén enviando o recibiendo paquetes de datos.
 Retries 3. Son el número de intentos que se reintentará conectar con el dispositivo que se intente
establecer comunicación antes de establecer un error.

Los parámetros de salida son:


 Una variable Memory Bit (MB) con el identificador 0, el cual está asignado de forma
predeterminada para guardar un estado lógico. En caso de que alguna función se encuentre en
ejecución cambiará de valor, impidiendo que el tráfico de datos se descontrole.

En la descripción de los esclavos sólo se observa una variable MI (Memory Integer), la cual guarda la
dirección IP con la cual se intentará establecer conexión. Sin embargo, esta se divide en 4 espacios
diferentes del valor MI-48 al valor MI-51. Nuestro objetivo era establecer conexión con la dirección IP
148.220.24.174) la cual tuvo que corresponder con una de las computadoras de los miembros de nuestro
equipo y se dio de alta en los espacios de memoria como se muestra en la figura 3.

Figura 3. Asignación de memoria IP destino a MI-48 – MI-51.


Una vez que se ha configurado el bloque de función “MODBUS IP CONFIG” será necesario un bit para
establecer una solicitud de envío de datos y se seguirá la siguiente lógica:

Si se recibe una solicitud de envío (activada por la finalización de la configuración del protocolo
Modbus IP) y se inicializa la tarjeta Ethernet y el socket 3 ha sido inicializado y no hay alguna función
en progreso y el socket 3 no se encuentra conectado. Entonces el socket 3 deberá conectarse y
restablecer la solicitud de envío de datos a su valor inicial.

Todo esto se logrará gracias a bloques de memoria previamente establecidos por el sistema y se pueden
observar de la siguiente manera:

Bloque de Memoria Función


SB142 Verificar que la tarjeta Ethernet esté inicializada
SB146 Verificar estado de inicialización del Socket 3
MB0 Verificar si existe alguna función en progreso
SB150 Verificar estado de conexión del Socket 3
Tabla 1. Bloques de memoria utilizados para lograr conexión Modbus.

Posterior a la lógica tendrá que colocarse el bloque de función “TCP/IP CONNECT”, en el cual se
establecerá que el socket 3 será el auxiliar que ayudará a conectarse a una IP remota (previamente
establecida en los bloques MI-48 – MI-51) utilizando el puerto 502, dicho puerto es elegido debido a que
fue creado exclusivamente para trabajar bajo el protocolo Modbus; quedando de la siguiente manera.

Figura 4. Configuración del bloque de conexión TCP/IP

Una vez que se haya terminado lo anterior, habrá culminado la base para la configuración del protocolo
de comunicación Modbus IP y deberá verse de la siguiente manera.
Figura 5. Configuración básica para comunicación con protocolo Modbus IP.

Una vez concluida esa parte, será necesario comenzar a establecer las funciones que se utilizarán del
protocolo Modbus, las cuales serán:

 Función #3. Lectura de registros existentes.


 Función #16. Preestablecer múltiples registros.

De la misma manera se tiene que saber de qué forma se accederá, y ya que se cuenta con una interfaz
HMI; todos los datos serán leídos y enviados desde ahí, por lo que se colocará un botón dentro del HMI el
cual servirá para mandar a establecer una señal de solitud de mensaje, a través de un bit.

La primera función a utilizar será la lectura de registros existentes (Función #3), y para lograr la lectura
primero se deberá cumplir con la petición de lectura, que el socket 3 se encuentro conectado y
configurado y que no exista alguna otra función en progreso. Todo esto con los bloques de memoria
descritos anteriormente. Posterior a esto se tendrá que proceder a realizar la configuración de la función
#3 de Modbus, la cual se tendrá que observar de la siguiente manera.
Figura 6. Bloque de configuración de Función #3 de Modbus.

Esta configuración tiene 3 parámetros de entrada y 4 de salida:

Parámetros de entrada:
 Slave mode, establecido para la dirección IP en el MI-48 con el puerto 502.
 Slave: Start of Vector. Establece a partir de dónde comenzará el vector de lectura del esclavo (en
este caso leeremos 16 y 17).
 Read: Vector Length: Nos dice cuántos espacios del vector estaremos leyendo, en nuestro caso
serán 2.

Parámetros de salida:
 Master: start of vector: Establece a partir de dónde comenzará el vector de lectura del maestro.
 Status messages: En el espacio de memoria MI-32, se podrá observar el estado del mensaje.

Los demás parámetros de salida son preestablecidos.

Una vez que haya sido configurada la función #3 para Modbus se deberá restablecer el estado inicial de la
variable utilizada para mandar la solicitud de mensaje. Una vez terminado este proceso se podrá observar
lo siguiente.
Figura 7. Configuración de la función #3 de Modbus integrando botón de HMI.

Para finalizar con esta parte deberá agregarse un botón, cuya única función será la de cerrar el puerto, lo
cual se logrará terminando la comunicación con el socket 3. La programación lógica que debe seguirse es
la siguiente: Si el botón de cerrar puerto es oprimido, se activará un bit, y si el socket 3 está abierto y no
hay alguna función en progreso, el socket 3 se cerrará en ese momento y se restablecerá el estado inicial
del bit que se utilizó para realizar la petición. Quedando de la siguiente forma.

Figura 8. Establecer el cierre del socket 3.

Ahora que ha sido agregada una función para terminar la comunicación, se debe agregar una función para
restablecer la comunicación en caso de que el operador decida volver a leer registros. Por lo que se
realizará un proceso parecido al anterior, únicamente que en lugar de cerrar el socket 3, se realizará
nuevamente la acción de abrirlo, tal y como se hizo en un principio.
Figura 9. Función para restablecer comunicación el socket 3 incorporando un botón de HMI.

Igual que en el caso anterior se establece un bit que al ser activado debe verificar que se cumplan todas las
condiciones: tarjeta Ethernet inicializada, conexión del socket 3, no existan funciones en progreso, no esté
en uso el socket 3. Posterior a esto se conectará el socket 3 y se restablecerá el valor inicial del bit que
solicita dicha acción.

Para poder utilizar la función #16 de Modbus, será necesario agregar un botón en la interfaz humano-
máquina, el cual mandará información elegida por los integrantes del equipo a un registro en específico,
por lo que se debe configurar el bloque de función “MODBUS P.H.R. #16”, la cual sirve para escribir en
registros existentes, como se muestra en la figura.

Figura 10. Configuración de la Función #16 de Modbus.

Parámetros de entrada:
 Slave 0: nuevamente indicamos que estamos trabajando en modo esclavo con la IP destino escrita
en el MI-48 utilizando el puerto 502.
 Slave: Start of Vector. Realizaremos la escritura en el registro número 49.
 Master: Start of Vector, nos dicen en dónde empezará a leer el vector el maestro.
 Preset: Vector Length. Nos dice cuántos registros leeremos, en este caso será sólo 1.

Los parámetros de salida son preestablecidos.

Finalmente, se debe de mandar una solicitud de escritura a través de un botón en la interfaz, la cual
establecerá una solicitud de escritura y si se cumplen los parámetros de: socket 3 conectado y no hay
función en progreso, entonces se podrá mandar escribir y se restablecerá el estado del bit de solicitud de
escritura. Podrá observarse en la siguiente figura.

Figura 11. Configuración para la Función #16 de Modbus incorporando botón de HMI.

Una vez terminada la programación en escalera será necesario establecer los botones de la interfaz
humano-máquina y ligarlos a los bits asignados anteriormente. Por lo que el objetivo es el siguiente:

 Botón para abrir puerto (Conectar socket 3).


 Botón para cerrar puerto (Desconectar socket 3).
 Botón para solicitar lectura de registros.
 Botón para solicitar escritura de registros.
 Indicador binario para conocer el estado del puerto.
 Entradas numéricas para leer registros 16 y 17.
 Entrada numérica para escribir en registro 49.

Adicionalmente se añadirán 4 campos para establecer conexión con direcciones IP ligadas a la red creada,
por lo que se requieren 4 entradas numéricas extra para crear esto.
Figura 12. Botón para abrir puerto (socket 3) ligado a su bit.

Figura 13. Botón para cerrar puerto (socket 3) ligado a su bit.


Figura 14. Botón para solicitar lectura de registros ligado a su bit.

Figura 15. Botón para solicitar escritura de registros ligada a su bit.


Figura 16. Indicador binario para conocer estado del puerto.

Figura 17. Entradas numéricas para leer registros MI-16 y MI-17.

Figura 18. Entradas numéricas para escribir en registro MI-49.

Por último se agregaron 4 entradas numéricas para ser capaces de seleccionar la IP destino de nuestra
preferencia, siempre y cuando se encuentre dentro de la red. Estas entradas numéricas tienen un rango
limitado de número a escribir (0-255) debido a la capacidad del protocolo IPv4, el cual establece que la
máxima cantidad de direcciones posibles serán 255 por cada octeto de su apartado, quedando de la
siguiente manera.

Figura 19. Entradas numéricas para elegir dirección IP destino.


Figura 20. Rango limitante de números.

Como interfaz final se obtuvo lo siguiente.

Figura 21. Interfaz terminada.

Para concluir el apartado de resultados se muestran imágenes de la simulación realizada, las cuales
comprueban el correcto funcionamiento.
Figura 22. Modbus Simultaor mostrando intercambio de datos.

Figura 23. Intercambio de datos a IP destino (Equipo de Diana).


Figura 24. Intercambio de datos a IP destino (Equipo de Ariel)

CONCLUSIONES.
Alberto Fabián Espinosa Naranjo
El desarrollo de esta práctica mostró el modo de configuración básica para realizar la lectura de registros
existentes en diferentes espacios de memoria de diversos dispositivos, así como la escritura en espacios de
memoria asignados a través de un simulador Modbus/IP. De la misma forma, fue una buena introducción
a los buses de campo útiles para la transferencia de datos entre dispositivos conectados a una misma red,
por lo que se demostró y se cumplió el objetivo con efectividad; aprendiendo de esta manera, el uso de al
menos dos funciones básicas de Modbus/IP y la forma que tiene para inicializar cada uno de sus
componentes para lograr un correcto intercambio de información a través de dicho protocolo.

El ejercicio logró ser desarrollado, se pudieron configurar los parámetros del PLC gracias a que durante
clases pasadas se venía trabajando en esto y además se había implementado una red Ethernet, y en la
última clase se trabajó en dejar establecer un procedimiento y una configuración bien establecida y
ampliamente explicada de manera que el ejercicio fuera meramente un complemento para verificar que
todo los temas referentes a Modbus TCP/IP fueron comprendidos.

Andrés Macías Fernández


Se logró objetivo, y pudimos aprender y entender la configuración de los parámetros del PLC en el
software Visilogic para poder habilitar la comunicación por medio de protocolo Modbus con cualquier
dispositivo. Primeramente se logró la comunicación del PLC con una PC por medio de un simulador
Modbus gracias a que ambos se conectaron a una red local, utilizando puerto Ethernet y por ende cable
UTP. El PLC contaba con un HMI el cual nos permitía leer datos que nosotros escribíamos desde el
simulador y también nos permitía escribir datos desde la HMI, donde los podíamos verificar desde el
simulador.
También logramos tener comunicación con facilidad y de forma transparente con otros equipos de salón
ya que se conectaron a la misma red el cual nos permitió la transferencia de información. Esto se logró
gracias a las configuraciones del PLC por medio de la interfaz. Es necesario para la comunicación que se
le asigne la dirección IP del equipo al cual se desea tener comunicación.
Podemos concluir que este ejercicio es bastante útil en aplicaciones ya que puede lograr proporcionar
información a diversos usuarios: Operadores, Supervisores De Control De Calidad, Mantenimiento, etc. Y
así poder complementar diferentes tareas como pueden ser monitoreo, control de dispositivos etc.

Conclusiónes Ariel:

Se configuraron los parámetros del PLC y se implementó una pequeña red usando la infraestructura de la
red de la universidad a pesar de que al haber implementado correctamente el protocolo modbus TCP/IP se
usaron solo 2 de las funciones que el protocolo soporta pero fácilmente se pudieron haber implementado
todas las funciones ya que sería sólo realizar algunas pequeñas modificaciones, al final considero que en
lo personal comprendí cómo funciona el protocolo, el ejercicio me ayudo de cierta manera a entender lo
que se había estado desarrollando durante las últimas clases y el hecho de tener una explicación en
conjunto con la documentación y códigos de ejemplo facilitan bastante cualquier aplicación que se desee
desarrollar con estos PLCs aunque si es bastante lo que cambia en cuestión de programación con PLCs
Allen bradley y Unitronics pero en cuestión del concepto una vez entendiéndolo no pienso que será tan
difícil el poder implementarlo con PLCs de otro fabricante.

Generales

En base a los resultados obtenidos se puede concluir que se logró el objetivo dado que fue posible
configurar los parámetros del PLC para habilitar la comunicación modbus por puerto Ethernet. Gracias a
la explicación del protocolo modbus básicamente en su funcionamiento y las funciones que el protocolo
proporciona como por ejemplo lectura y escritura de registros del PLC, además de una introducción a
Ethernet que nos sirvió para establecer una pequeña red y configurar los elementos de la red.
Consideramos que lo más importante para lograr el objetivo de la práctica es leer detenidamente la
documentación del protocolo modbus TCP/IP que Unitronics proporciona ya que en nuestro caso nosotros
habíamos realizado una práctica similar en la materia de Automatización 3 y el implementar la red no
cambia pero si la manera de implementar el protocolo dentro del PLC pero teniendo un código ejemplo y
la documentación se vuelve algo más sencillo.

También podría gustarte