Sei sulla pagina 1di 10

Informe:

CENTRO INDUSTRIAL Y DEL DESARROLLO TECNOLÓGICO (CIDT)


Simulación de Maquina moldeadora de metal, con interfaz Labview- Arduino
Omar Eduardo Díaz sierra,oediaz17@misena.edu.co
Edwin Ordoñez Chogo,eordoñez913@misena.edu.co
Cristian Yesid Lerma Flórez, cylerma0@misena.edu.co
Yesenia Paola rosales,@misena.edu.co
Juan steed Rodríguez, @misena.edu.co

RESUMEN: El presente informe de I. INTRODUCCIÓN


electrónica que se llevó a cabo en el ambiente de
automatización, con el fin de poner en práctica los
conocimientos adquiridosen sistemas de control y AContinuación se encontrara la guía práctica de
un sistemas de control y adquisición de datos
adquisición de datos (Arduino y LabView) mediante el uso de placa Arduino para la
aplicándolo en un banco de entrenamiento adquisición de los datos provenientes de los
neumático FESTO. sensores para ser tratados, visualizados y
controlados mediante Labview, con lo cual por
medio de los elementos finales de control
PALABRAS CLAVE: Microcontrolador Placa (cilindros) se llevara a cabo un proceso.
Arduino UNO, LabVIEW, Banco Festo para el
montaje, dos (2) válvulas monoestables, dos (2)
cilindros doble efecto, unidad mantenimiento,
II. MARCO TEÓRICO
divisor de tensión, dos (2) tarjetas relé, un (1)
sensor óptico y unidad de alimentación.
Electroválvula. SCADA:
SCADA representa el control de supervisión y la
adquisición de datos. Cualquier aplicación que
OBJETIVOS obtenga datos operativos acerca del sistema para
controlar y optimizar ese sistema es una aplicación
OBJETIVO GENERAL SCADA.

Simular Maquina moldeadora de metal, con LA INTERFAZ HOMBRE MÁQUINA (HMI): es la


interfaz Labview- Arduino interfaz entre el proceso y los operadores,
básicamente un panel del operador. Es la
OBJETIVOS ESPECIFICOS herramienta principal con la cual los operadores y
los supervisores de la línea coordinan y controlan
 Diseñar una interfaz mediante LabView- los procesos industriales y de fabricación en la
Arduino para el control de una maquina planta.
moldeadora de metal.
LabVIEW: es una plataforma y entorno de
 Elaborar una interfaz HMI (Interfaz Hombre- desarrollo para diseñar sistemas, con un lenguaje
Máquina) para el control y visualización del de programación visual gráfico pensado para
proceso. sistemas hardware y software de pruebas, control
y diseño, simulado o real y embebido.
 Elaborar un montaje eléctrico y neumático que
me permita el control del proceso de la maquina
moldeadora

ARDUINO

1
Informe:
.

Arduinoes una plataforma de desarrollo basada en


una placa electrónica de hardware libre que III. DESARROLLO
incorpora un microcontrolador re-programable y
una serie de pines hembra, los que permiten PROGRAMACIÓN ARDUINO-LABVIEW
establecer conexiones entre el microcontrolador y
los diferentes sensores y actuadores de una PASOS PARA LA ELABORACIÓN DE LA
manera muy sencilla PRACTICA

1. DIRECCION LIBRERIA PARA ARDUINO

C:\Program Files (x86)\National


Instruments\LabVIEW 2015\vi.lib\LabVIEW
Interface for Arduino\Firmware\LIFA_Base

RELE:

El relé o relevador es un dispositivo


electromagnético. Funciona como un interruptor
controlado por un circuito eléctrico en el que, por
medio de una bobina y un electroimán, se acciona
un juego de uno o varios contactos que permiten
abrir o cerrar otros circuitos eléctricos
independientes. Librería base para cargar al Arduino y establecer
comunicación con LabView

2. Abrir un Black VI

Abrir un proyecto, en la opción Blank VI (instrumento


visual).

2
Informe:
.

3. Librería de Arduino 5. Bloques Arduino para el envío y recepción de


datos.

Bloque Init: el Bloque es la equivalencia en arduino para


inicializar el puerto (COM), la velocidad de
comunicación, la cantidad de datos que se van a enviar
o recibir, el tipo de comunicación (serial, XBEE y
Bluetooth).

Bloque Close: Este tipo de bloque se debe posicionar al Principalmente en la parte de programación (block
final del bloque while para cerrar la programación y diagram) damos click derechos, bajamos hasta donde se
evitar que el programa se pare por no cerrar el puerto de encuentra la librería arduino, seleccionamos esta Liberia
comunicación entre el PC y arduino. y damos click en la carpeta Log Level, en este bloque
encontraremos los bloques que me permitirán enviar,
4. Bloque de configuración recibir datos, ya sean de tipo booleano o análogo

6. Bloques digitales.

Este bloque es el equivalente en arduino a la


función pinMode(1, OUTPUT o INPUT).
Los bloques Digital Write y Digital Read, son equivalente
a las funciones DigitalWrite (1,0) y DigitalRead (5), que
permiten el envío y recepción de datos booleanos.

DigitalRead. El pin de la izquierda es


donde se selecciona el
pin a leer y el pin de la
derecha se muestra el
valor leído, estos datos
de salida es de tipo
numérico

3
Informe:
.

DigitalWrite. El pin de la izquierda es Una vez descrita la idea, procedemos a poner 6


donde se selecciona el indicadores led (booleanos), un control numérico y
pin a escribir, el pin un indicador numérico. Se observa de esta
donde está conectado el manera:
bloque de control “valué”
se escribe un valor (1-0)
hay que tener en cuenta
que este bloque solo
permite la escritura de
datos enteros (no
booleanos) hay que
hacer una conversión.

¿Cómo se programa?

Principalmente, se debe generar un bloque While


Estos controles e indicadores se pueden encontrar
como estructura inicial de programación, es allí
dando click derecho, seleccionando en booleano y
donde se elaborará todo el proceso. Estos bloques
numeric.
de programación van interconectados en serie
como se muestra en la siguiente figura. 8. Iniciar interfaz arduino

Para iniciar la comunicación arduino, leer los pasos


anteriores y elaborar la siguiente secuencia.

Hay factores a tener en cuenta, las líneas rosada y


verdes, debe estar interconectadas en serie desde Una vez realizada la siguiente secuencia,
la inicialización hasta el close, el bloque while debe iniciaremos con la debida programación para
estar conectado a un control de stop, pues la nuestro proceso.
parada del programa se debe hacer desde el stop,
pues si se hace del stop del programa la 9. Registro de desplazamiento
comunicación nunca se cerrará y generará
conflicto. Principalmente necesitamos un elemento de
programación el cual nos guarde un registro de la
7. Paso a paso de nuestro diseño cantidad de veces que se ha ejecutado el proceso.
Para esto, LabVIEW cuenta con una opción
Para iniciar, el proceso consiste en dos cilindros, llamada “shift register”.
donde uno de ellos (cilindro B) es el encargado de
sostener la pieza una vez el sensor la detecte, el
operador haya retirado la mano y programado la
cantidad de repeticiones, un cilindro A saldrá N
cantidad de veces según el operario lo haya
programado, una vez finalizado la operación, el
operario deberá tener un tiempo para retirar la
pieza de forma segura.

4
Informe:
.

Basta con dar click derecho a uno de los bordes Una vez se cumple un ciclo la función Add sumara
del ciclo while, ubicamos y damos click en la 1 cada vez y se almacenara en el Shift Register, lo
función Shift register, y nos tendrá que aparecer lo cual permitirá sumar y llevar un conteo.
siguiente.
El siguiente paso es agregar una función de
comparación, que será un condicional para que el
proceso inicie, “el contador o el proceso deberá
continuar si el contador ( # de veces que se ha
desarrollado el proceso) es menor o igual que el
número de veces asignado por el operario, de ser
mayor, el proceso habrá finalizado.

Esta condición es menor o igual que, se encuentra


dando click derecho de el área de programación,
luego comparación y menor igual.

Una vez añadido, debemos agregar un “Add” que


no es más que una suma, la cual me contara la
cantidad de veces que se repita el proceso.

Siguiente, arrastramos el numeric control, lo


conectamos a un pin del comparador y el otro, a la
línea del Shift Register.

Esta función viene con dos terminales, una de la


cuales ira contactada al Shift Register y otra a una
constante la cual tendrá un valor de 1 en formato
numero entero. Deberá quedar algo así.

Nuestra primera condición ha quedado lista, el


siguiente paso es construir la siguiente condición,
la cual es la lectura de la pieza puesta en la
maquina, para que el proceso pueda iniciar, es
decir, la pieza tiene que estar en posición,
pudiendo el operario retirar su mano con seguridad

5
Informe:
.

Para esto, debemos agregar un bloque desde la


Liberia de arduino de lectura, DigitalRead con el fin
de leer el dato proveniente del sensor inductivo.

Pero esta señal, deberá ir a un accionamiento, en


este caso tenemos dos, por lo cual se manejaran
dos CASOS, uno para el cilindro B que sostiene la
pieza y otro para el cilindro A que moldea la pieza.
Antes de conectar el pin derecho del DigitalRead
hay que tener en cuenta que el tipo de dato de LabVIEW cuenta con una estructura llamada
salida es un numero entero y es necesario “CASE” que se acopla a nuestra necesidad, donde
convertirlo a un tipo booleano, para esto se podremos tener un caso donde se cumplan las dos
utilizara un comparador de tipo igual, donde se condiciones (verdadero) o donde no se cumpla una
asignara una constante 1 y si la lectura es igual, y la otra no, o ninguna de las dos (falso).
arrojara un valor TRUE booleano o FALSE de ser
lo contrario.

Cortamos el cable que une el shift register para


poder agregar el case structure.
Luego, esta dos condiciones irán a una compuerta
AND con el fin de cumplir la función para que la
máquina de inicio, donde ambas deben ser TRUE.

6
Informe:
.

Agregamos nuestro case structure, si vemos en su


parte superior tiene una lista en las cuales existen
dos casos TRUE o FALSE, por ahora
posicionémonos en TRUE y una la otra esquina
del shift register, no tocar el caso FALSE por
ahora.

Lo siguiente es unir la salida de la compuerta AND


al signo de interrogación ubicación en uno de los
bordes del CASE.

Luego es necesario indicar en el campo visual,


que, 1. El proceso ha iniciado y 2. El primer pistón
se ha activado.

Para esto arrastramos al interior del While el led


del cilindro B y el led que indica el proceso, en el
interior del caso case, damos click derecho,
buscamos en booleano una constante false (F) y
una true (T).
Luego de esto procedemos a activar nuestro
primer cilindro, el cual sostendrá la pieza y su pin
de salida es el 9. Utilizaremos el bloque
DigitalWrite.

Una vez agregado, necesitamos poner un tiempo


en el cual debe esperar para pasar a la siguiente
secuencia. Esto lo hacemos mediante la Liberia
Timming y agregamos la función Wait que es un
tiempo de espera, el equivalente a delay en
arduino. Damos click derecho en su pin izquierdo y
agregamos constante y asignamos un tiempo de
2000ms (2s).

7
Informe:
.

Finalmente unimos los led indicados en la imagen Una vez asegurado el 0 y que el shift no registre el
con sus respectivas constante. desplazamiento, debemos asignar constantes al
los indicadores booleanos, contrarios a los que
El siguiente paso es completar el modo FALSE. teníamos en el caso TRUE.
Desplegamos la lista y seleccionamos el caso
FALSE, lo primero que haremos es agregar un
tiempo de 500ms (Wait).

El siguiente paso, el programar el funcionamiento


del cilindro A, el cual debe accionarse N cantidad
Luego necesitamos que en el caso de que sea de veces. Como este es otro caso, al igual que el
falso, 1. El cilindro se retraiga 2. Que el contador anterior utilizaremos la estructura case.
“no cuente” o no sume.

Primero escribimos la salida en cero, en el pin 9.

Hacer que el contador no cuente, técnicamente es Luego de seleccionar el caso, utilizaremos la


imposible puesto que cada vez que termine una misma dos condiciones que usamos para el
parte del proceso, el registro suma uno a la primero caso, puesto que ambos casos depende
cuenta, pero para contrarrestar esto, utilizaremos de las dos condiciones iníciales.
la función resta, para restar el valor del Shift
Register se reste consigo mismo y así poder Luego seleccionamos el caso a trabajar, TRUE. El
obtener el 0 y una vez obtenido, enviarlo por el proceso de accionamiento del cilindro, debe
shift register. hacerse secuencialmente, uno tras otro con una
péquela variación del tiempo, LabVIEW cuenta con
una estructura llamada Flat Sequence. La
buscamos en estructura y la arrastramos al interior
del case.

8
Informe:
.

En el siguiente flat, escribiremos el mismo tiempo


de espera y una salida en el pin 8 con un valor
numérico de 1 para activar la válvula, luego en el
último flat, una salida en el mismo pin pero esta
vez con un valor de 0 para desactivar el cilindro.

Agregamos 3 flat.

Como en el case anterior abrimos un túnel desde


el case anterior que atraviese todo el case y los flat
Para visualizar el número de veces, arrastramos al
sequence
interior del while el indicador numérico “conteo” y lo
conectamos a la línea del shift register.

.
El flat funciona como una cinta cinematográfica Además conectamos los nodos verde y rosado de
antigua, primero se reproduce el primer flat y así comunicación al close.
se repite secuencialmente de izquierda a derecha.
Luego pasamos al caso false, en este caso el
En el primer flat agregaremos un Wait de espera proceso es más sencillo, pues solo debemos
de medio segundo, esto con el fin de evitar que escribir la salida numero 9 un 0, asignar un tiempo
cuando se active el cilindro B se active al mismo de espera de 3000ms y conectar directamente la
tiempo el cilindro A. línea del shift register.

9
Informe:
.

Finalmente solo queda ubicar los indicadores


donde los requiera el proceso, si todo se ha
elaborado siguiendo los pasos, la flecha superior
izquierda de depuración estará en blanco y no se
mostrara rota.

10

Potrebbero piacerti anche