Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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.
METODOLOGÍA.
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
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:
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
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.
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.
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:
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.
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:
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.