Libreri Python Comunicacion TPC
Libreri Python Comunicacion TPC
Nombre de proyecto:
Desarrollo de subrutinas en Python para comunicación bidireccional entre una HMI y un PLC
Nombre de la organización:
Memoria que como parte de los requisitos para obtener el título de:
Presenta
Matricula:
Índice
Agradecimientos
Principalmente quiero agradecer a mis padres por la oportunidad que me
dieron de estudiar y el apoyo en toda mi trayectoria, a mi hermano que siempre
está dispuesto ayudarme a su alcance.
Quiero agradecer a mi tutor y profesores quienes me impulsaron a lograr mis
objetivos, siempre estuvieron dispuestos compartir experiencia y conocimientos.
Sobre todo, quiero agradecer a la Universidad Tecnológica de Querétaro y a
todas las personas que la conforman, son quienes hacen que se mueva sin sus
servicios y contribuciones no hubiese sido posible lograr esta meta.
I. Introducción Commented [A1]: La introducción es muy pobre.
Commented [jj2R1]:
Commented [jj3R1]:
Los avances en la industria han tenido un efecto en los últimos años,
modificando el modo de trabajo en un proceso industrial, podemos ver que a lo
largo del tiempo la introducción de nuevas tecnologías en la industria traen
enormes beneficios, una referencia puede ser la introducción de la producción
en línea de HENRRY FORD, creo una revolución puesto agilizo y mejoro
exponencialmente la producción de automóviles, con la automatización de
procesos sucede lo mismo los índices de desperdicio o piezas no funcionales
bajaron, la automatización se conforma de varios componentes, aquí es donde
entraron los panes de control que poco a poco se fueron haciendo más pequeños
y con más capacidad, pasando de un panel con lámparas de colores e
interruptores paso a ser una pantalla con gráficos, final mente esto migro a lo
que hoy en día conocemos como interfaz hombre maquina (HMI) capas de
encajar en cualquier proceso. Hoy en día su uso se ha hecho indispensable por
su gran flexibilidad y alta capacidad para controlar un proceso, la importancia
que se les da a estos dispositivos no es de extrañarse puesto que controlan
procesos que se cotizan en millones de pesos, gracias a los (HMI) tanto el
operario, el técnico de mantenimiento y el gerente pueden conocer a detalle el
estado de la maquina como horas trabajo piezas o en dado caso si ha falla.
La marca ROCKWEL es una de las importantes el mundo de la
automatización, por su innovación constante y su fiabilidad, sin embargo, es la
que maneja un sistema más cerrado con las interfaces hombre máquina, esto
nos abrió un área de oportunidad. Se buscó una alternativa para hacer un interfaz
hombre maquina totalmente genérica, para cualquier PLC de la marca
ROCKWEL. Con este proyecto se abren aún más áreas de oportunidad para la
implementación de los conocimientos y competencias potenciadas.
Imagen 1.0
Otro factor por el cual se asignó tanto tiempo fue porque es una etapa
experimental. Finalmente se unen las primeras dos etapas, la tercera fue la
creación de un programa donde pasamos del código a bloques de LabView a
código escrito en Python, como ya se podía leer y escribir en la variable desde
LabView a esta última etapa se le asigno únicamente una semana ya que solo
era interpretarlo de la lógica a bloques, el único inconveniente fue que se tuvieron
que programar en Python algunos sub VI hechos por national instruments esto
le dio un grado más de dificultad.
Final mente teniendo el programa funcionando en PYTHON se creó una
función de lectura y una de escritura, para hacer una librería con estas dos
funciones, ampliando su rango de uso.
VI. Análisis de riesgo
En este apartado se pude decir que no se tuvieron riesgos puesto antes
de iniciar con el proyecto se contaba con todos los recursos, también el tiempo
era bastante holgado para cumplir con todas las tareas que se establecieron en
la planeación. Gracias a estos puntos el proyecto se pudo culminar con dos
semanas antes de que terminara el tiempo límite.
VII. Fundamentación teórica
Para hacer la recopilación de información se usaron fuentes como
manuales de usuario, protocolos entre otros, los conceptos que vamos a
presentar a continuación son con los que se trabajó de una manera resumida
La placa, que antes era más pequeña que una tarjeta de crédito
tiene varios puertos y entradas, dos USD, uno de Ethernet y salida HDMI.
Estos puertos permiten conectar el miniordenador a otros dispositivos,
teclados, ratones y pantallas. También posee un System on Chip que
contiene un procesador ARM que corre a 700 MHz, un procesador gráfico
VideoCore IV y hasta 512 MG de memoria RAM. Es posible instalar
sistema operativo libres a través de una tarjeta SD.
Actividades Inicio Final semanas 1 semanas 2 semanas 3 semanas 4 semanas 5 semanas 6 semanas 7 semanas 8 semanas 9 semanas 10 semanas 11 semanas 12
investigacion protocolo IP 02/05/2018 09/05/2018
investigacion protocolo CIP 09/05/2018 16/05/2018
VIII. Plan de actividades
En los recursos materiales podemos notar que es una lista muy pequeña
puesto que el proyecto de basa en programación y pruebas en primera instancia
podemos ver que es una laptop, fue con la que se realizó la programación
después las Raspberry que fue la tarjeta donde se cargó el código y se conectó
la pantalla y por ultimo un PLC de la marca Allen Bradley que nos ayudó con las
pruebas de comunicación.
Imagen 1.1
Una vez estado en línea con el PLC y a ver mandado el primer mensaje
lo que sigue es esperar la primera respuesta, teniendo la primera respuesta la
convertimos en una cadena tipo lista para poder identificar la respuesta y saber
qué es lo que está sucediendo en la comunicación, para esto comparamos la
respuesta del PLC con la que el manual EIP-CIP-V1-1.0 nos dice que debe ser.
Ahora podemos mandar nueva mente una cadena de datos con el nombre de la
variable, con esto nos referimos al nombre de variable que se le dio en el plc en
este caso la variable se llamó nico por cuestiones prácticas. (Esto lo podemos
observar en la imagen 1.2)
Imagen 1.2
En esta parte del programa es cuando podemos decidir qué es lo que queremos
hacer si leer una variable o escribir sobre ella. para hacer cualquiera de estas
dos tenemos que mandar una trama de datos según nos lo indique el protocolo
si de comunicación en este caso daremos el ejemplo de lectura. Como podemos
ver en la (imagen 1.3) es que concatenamos una serie de números los cuales
los sacamos del manual, al mandar esta trama el plc sabe que es una petición
de lectura por consecuencia el mismo responderá con una cadena en la cual
viene oculta la respuesta.
Imagen 1.3
10.1 Diagrama de flujo
En la (imagen 1.4) representamos en un diagrama de flujo, nos sirvió de guía en
la cual nos basamos para realizar la programación, con base en el diagrama
programamos paso a paso ya que en este especifica los requisitos para hacer o
no hacer o tomar deserciones si las respuestas son ciertas o falsas.
Imagen 1.4
XI. Resultados obtenidos
(Creación de un programa en Python con la capacidad de leer y escribir
sobre una variable vía TCP con cualquier PLC de la marca ROCKWELL) fue el
alcance que se estableció en el proyecto y la usamos como un parámetro para
evaluar el resultado, en este caso el resultado final únicamente podía tener dos
resultados funcionaba o no funcionaba.
Los resultados fueron más que satisfactorios, se logró completar el
proyecto en su totalidad, aunque tuvo sus dificultades.
Nos orgullece decir que no hubo resultados negativos puesto que salió muy bien
sin embargo si hay puntos donde puede haber habido mejoras para hacer más
óptimo el proceso por el cual se sometió el proyecto.
En las siguientes dos imágenes podemos apreciar que el valor que se escribió
en el PLC se puedo leer con facilidad y exactitud en PYTHON esto hace que
nuestros resultados sean favorables contundentemente.
(Bradley)
(CIP Common Specificaction volumen 1, 2001)
(Cobo)
(EtherNet/IP Adaptation of CIP Specification, 2005)