comunicacion siemens labview

20
Instituto Tecnológico de Estudios Superiores de Monterrey Campus Tampico Asignatura: REDES INDUSTRIALES LABORATORIO DE REDES Profesores: Dr. Virgilio Vásquez López Ing. Juan Gabino Díaz Proyecto Final “Comunicación OPC-Siemens-LabVIEW” Mario Mariño Chaix 508024 Omar A. Flores 510484 Carlos Zepeda 509914 Armando Vázquez 508371 Fecha de entrega: 14 / mayo / 11

Upload: andrea-stein

Post on 09-Aug-2015

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Comunicacion SIEMENS Labview

Instituto Tecnológico de Estudios Superiores de Monterrey

Campus Tampico

Asignatura:

REDES INDUSTRIALES

LABORATORIO DE REDES

Profesores: Dr. Virgilio Vásquez López

Ing. Juan Gabino Díaz

Proyecto Final “Comunicación OPC-Siemens-LabVIEW”

Mario Mariño Chaix 508024

Omar A. Flores 510484

Carlos Zepeda 509914

Armando Vázquez 508371

Fecha de entrega: 14 / mayo / 11

Page 2: Comunicacion SIEMENS Labview

Tabla de Contenido

Introducción ........................................................................................................................... 3

Objetivo .................................................................................................................................. 3

Marco Teórico ......................................................................................................................... 3

OPC ...................................................................................................................................... 3

Requerimientos ...................................................................................................................... 4

Desarrollo ............................................................................................................................... 5

Etapa OPC............................................................................................................................ 5

Etapa LabVIEW .................................................................................................................. 14

Etapa PLC .......................................................................................................................... 18

Conclusión y resultados ........................................................................................................ 20

Trabajos futuros.................................................................................................................... 20

Page 3: Comunicacion SIEMENS Labview

Introducción

El siguiente trabajo pretende ser una guía paso a paso en la que se explica la configuración

de software y hardware del trabajo realizado en el semestre, que consiste en un programa

en LabVIEW que procesa un código de barras adquirido como imagen por cámara web

USB que envía órdenes a un PLC a través de un cliente OPC.

Las implicaciones de este trabajo son que al tener la comunicación por OPC entre

computadora y PLC se pueden lograr procesamientos de información relativamente

complejos e incluso vincular la parte administrativa con la operativa.

Objetivo

El objetivo del proyecto es hacer una conexión vía Ethernet usando el protocolo OPC

como comunicación entre LabVIEW y el PLC Siemens S7-300. La conexión se hará con el

objetivo de hacer reaccionar el PLC simulando un proceso industrial real manipulándolo

desde una interface del LabVIEW, que será representado por el encendido de un motor de

CA. La interface de LabVIEW lee un determinado código de barras adquirido mediante el

módulo de Vision Acquisition del programa LabVIEW y dependiendo del código leído es la

instrucción enviada al PLC.

Marco Teórico

OPC

El OPC es un protocolo de comunicación, con el cual es posible tener comunicación con

diversos tipos de fabricantes tanto de software así como hardware. Este tiene la

capacidad de obtener y enviar datos en tiempo real

Una red que está ligada a un OPC posee una arquitectura con tres partes:

1. Aplicación que genera y contiene los datos que deseamos, este puede ser un PLC,

una Base de Datos, fichero Excel, etc.

2. Servidor OPC específico el cual se encargue de reconocer los datos de la aplicación

este Hardware o Software. Estos existen de diferentes marcas en el mercado, pues

cada tipo de aplicación puede tener su propio OPC, o incluso existen empresas que

se dedican a la realización de estos OPC para cualquier tipo de software o

hardware.

Page 4: Comunicacion SIEMENS Labview

3. Un Cliente OPC el cual tenga la comunicación con un servidor OPC. Este puede ser

una aplicación tal como Lab View, un sistema SCADA o Visual Basic.

Cualquiera puede ser un programador de OPC ya que algunos son software libre, el cual

puede ser descargado de diversos medios.

Requerimientos

Hardware Software

PLC S7-200 LabVIEW con módulo vission assitant y driver DAQ para cámaras web y con módulo Datalogging and Supervisory Control (DSC) y NI OPC servers.

Computadora SIMATIC

Cámara web USB

Page 5: Comunicacion SIEMENS Labview

Desarrollo

Etapa OPC

Para abrir el Programa OPC server, hay que entrar al icono de inicio y buscar el programa

“NI OPC Servers”.

Imagen 1. Acceso a NI OPC Servers

Una vez abierto el programa, uno se encuentra con la siguiente página principal:

Page 6: Comunicacion SIEMENS Labview

Imagen 2. Página principal de NI OPC Servers.

Page 7: Comunicacion SIEMENS Labview

Imagen 3. Selección de CHANEL en NI OPC Servers

Page 8: Comunicacion SIEMENS Labview

Imagen 4. Selección del puerto de comunicación en NI OPC Servers

En la página principal del programa, en la parte de CHANEL ahí se habré y se escoge el

protocolo de comunicación. Existen muchos en este caso se escogerá SIEMENS Ethernet

esto hará que el OPC server pueda entender el lenguaje siemens. Posterior mente

seleccionas el puerto de comunicación en este caso es la tarjeta de red de la PC.

Una vez dado de alta el protocolo de comunicación se procede con agregar un dispositivo.

Se hace clic la sección “Add a Device”, se procede con especificar el modelo de PLC que se

va a ocupa, en seguida se especifica la dirección IP del Dispositivo en el siguiente menú.

Imagen 5. Ubicación de “Add a Device” en NI OPC Servers

Page 9: Comunicacion SIEMENS Labview

Imagen 6. Selección del modelo de PLC en el menú de “Add a Devise”

Imagen 7. Selección de dirección IP del PLC en el menú de “Add a Devise”

Page 10: Comunicacion SIEMENS Labview

Una vez dado de alta el dispositivo, tenemos que agregar las TAG´s o Variables que

deseamos leer o manipular. El TAG puede ser un BIT, WORD, Etc. Cuando un TAG está

dado de alta, LabVIEW ya puede leer el dato y procesarlo.

Imagen 8. Ubicación del Menú para Seleccionar una TAG

Al darle clic en una “New TAG”, se abre un menú de propiedades en donde hay que

especificarle el nombre de la TAG y su dirección. La dirección que se le da a la TAG es la

misma que utiliza el PLC, por ejemplo “I0.0 , M0.3, Etc.”

Imagen 9. Propiedades de la TAG.

Page 11: Comunicacion SIEMENS Labview

Una vez teniendo el TAG se procede con abrir LabVIEW y se le especifica la información

que queremos jalar desde el OPC Server.

Imagen 10. Página Principal de LabVIEW.

Page 12: Comunicacion SIEMENS Labview

Se abre un nuevo Proyecto, al cual se le va a agregar una nueva biblioteca I/0 (entradas y

salidas). Para esto es necesario hacer clic derecho en “My Computer” y seleccionar OPC

server. Ya teniendo OPC server se especifica el archivo con el que se desea trabajar.

Imagen 11. Selección de Biblioteca OPC en el nuevo proyecto.

Una vez dado de alta la biblioteca con la información del OPC, será necesario buscar las

variables que se desean manipular las cuales están en la biblioteca del OPC. Para ello se da

clic derecho en la “nueva biblioteca”, y selecciona “New Variable”. Inmediatamente se

abre una nueva página de propiedades de variable, aquí hay que especificar el nombre de

la variable, su tipo, y la dirección. La dirección es la de la biblioteca del OPC que ya se

había dado de alta.

Page 13: Comunicacion SIEMENS Labview

Imagen 12. Propiedades de Variables en LabVIEW

Una vez dado de alta la variable esa se arrastra con el mouse al “Front Panel”, ya estando

ahí la variable es manipulada por el programa que se desee.

Imagen 13. Variable arrastrada al Front Panel para ser Controlada.

Page 14: Comunicacion SIEMENS Labview

Etapa LabVIEW

En esta etapa se captura y procesa el código de barras para luego enviar una órden al PLC.

A continuación se muestra el programa que solamente realiza la captura de la imagen a

través de una cámara web USB y despliega el código leído, posteriormente se muestra

cómo se vincula este VI con el cliente OPC.

Imagen 14. Diagrama de bloques del VI de lectura de código de barras

Imagen 15. Panel frontal del VI de lectura de código de barras.

A continuación se describe a detalle el funcionamiento del VI de lectura de código de

barras.

1. IMAQ Create. Crea un espacio de memora temporal para alojar la imagen capturada en buffer y poder trabajar con ella.

Entradas: constante tipo string con la que se da nombre a esta imagen. Salidas: nueva imagen creada.

2. IMAQ USB Init. Crea una sesión con la que se puede trabajar con una cámara web por usb.

Entradas: constante string en la que se indica el nombre la cámara usb con la

Page 15: Comunicacion SIEMENS Labview

que se va a trabajar. Este nombre es el que le da Windows una vez que se ha instalado de manera correcta. Salidas: sesión IMAQ USB creada. Error.

3. IMAQ USB Snap. Toma una fotografía con la cámara web indicada en el (2) y la guarda en el espacio reservado especificado en (1).

Entradas: constante string en la que se indica el nombre la cámara usb con la que se va a trabajar. Este nombre es el que le da Windows una vez que se ha instalado de manera correcta. Error. Salidas: sesión IMAQ USB creada. Error.

4. IMAQ USB Close. Finaliza la sesión creada en (2). Entradas: la sesión creada en (2). Salidas: sesión IMAQ USB creada; error.

5. IMAQ Write File 2. Guarda la imagen en un archivo especificado en la constante File Path en el formato especificado en Image.

Entradas: Image. Constante que especifica el formato en que se guardará la imagen capturada. ROI. Constante que especifica la ubicación y nombre donde se guarda el archivo capturado. Barcode Type. Aviso de error de los demás VI relacionados con la función de captura de imagen.

6. IMAQ Create. Crea un espacio de memora temporal para alojar la imagen capturada en buffer y poder trabajar con ella.

Entradas: constante tipo string con la que se da nombre a esta imagen. Salidas: nueva imagen creada.

7. IMAQ ReadFile. Abre y carga la imagen del archivo especificado en la constante File Path con formato especificado en Image en el espacio indicado en (6).

Entradas: Image. Constante que especifica el formato en que se guardará en buffer la imagen leíada. File Path. Constante que especifica la ubicación y nombre del archivo a leer. Error. Aviso de error de los demás VI relacionados con la función de lectura de la imagen

8. Nodo de propiedad de Imagen. En este nodo se da de alta la región de interés (ROI). Entradas: ROI. Matriz de definición.

Error. Aviso de error de los demás VI relacionados con la función de lectura de la imagen

9. Nodo de propiedad de Imagen. En este nodo se definen las coordenadas y color de la ROI.

Entradas: Matriz de definición de color y matriz de definición de coordenadas. 10. Lector de código de barras. Decodifica la información en el código de barras en la

imagen y entrega el código, información adicional (depende del código, no todos tienen implementada esta particularidad) y checksum que califica la calidad de la información decodificada (depende del código el algoritmo con el que se genera este número).

Page 16: Comunicacion SIEMENS Labview

Entradas: Image. Imagen de 8 bits capturada en el buffer donde está el código de barras. ROI. Constante que especifica las coordenadas y color de la región de interés donde contiene el código de barras. Barcode Type. Constante Integer32 que define el tipo de código de barras a leer. Error. Aviso de error de los demás VI relacionados con la función de captura de imagen.

Salidas: Código. String que contiene la información decodificada. Información extra. String que, dependiendo del tipo de código, contiene la información extra incluida. En el código usado (2 de 5) no hay información extra. Checksum. String con un número que representa la calidad de la información decodificada.

11. Indicador tipo string. Indicador en el panel frontal que despliega el código leído 12. Convierte el array a escalar la información extra. 13. Indicador tipo string. Indicador en el panel frontal que despliega el checksum 14. Concatenador de array. Une todos los string en uno solo, desplegando la información

en conjunto. 15. Indicador tipo string. Indicador en el panel frontal que despliega el código,

concatenado con la información extra y el checksum. 16. Delete buffer image. Borra el espacio de memoria reservada en (6) en la que se

manipuló la imagen. 17. Image indicator. Indicador de imagen, es una pantalla donde se despliega la imagen

procesada y la ROI.

Ahora se muestra el VI que utiliza la información leída del código de barra para enviar

órdenes al PLC. Básicamente se compara el valor del código de barras con constantes que

representan acciones definidas previamente, en este caso el encendido y sentido de giro

del motor, y que el valor booleano obtenido se envía a las TAG definidas en el cliente OPC.

En las siguientes imágenes solamente se explican los VI’s agregados al programa anterior,

por lo que se continua con la numeración de arriba.

Page 17: Comunicacion SIEMENS Labview

Imagen 16. Diagrama de bloques del VI que lee el código de barras y se comunica con el PLC.

Imagen 17. Botones para control manual vía OPC en el diagrama de bloques

Imagen 18. Panel frontal que muestra el código de barras, la ROI y el estado de los TAG con indicadores booleanos.

18. Variable de entrada direccionada a la variable inicio en el PLC 19. Retraso de tiempo necesario para evitar que se envíen 2 instrucciones

simultáneas al PLC. 20. Etapa de Comparación, en ella se toma la decisión de acción tomar dependiendo

del código leído y la variable del PLC cableado. Es decir, que cada comparador está cableado a una variable específica y solo se activa ésta si el valor leído en el código de barras concuerda con la constante cableada al comparador.

Page 18: Comunicacion SIEMENS Labview

21. Indicadores booleanos, tipo LED que indican en el panel frontal el estado de las salidas de los comparadores.

22. Variables del PLC dadas de alta en el cliente OPC. 23. Botones que gobiernan las variables dadas de alta en el OPC, con el fin de tener

control manual de las mismas por si se llegara a necesitar.

Etapa PLC

Se programó en el STEP-7 una secuencia de un Esclavo Micromaster 420. Este esclavo se

conectó al PLC mediante una red PROFIBUS como puede verse en la siguiente imagen.

Imagen 19. Configuración del hardware del proyecto, que incluye una conexión PROFIBUS con el MICROMASTER.

Aquí se puede observar el Micromaster anclado a la línea que indica la red PROFIBUS,

posteriormente se añade a la configuración del Micromaster el PPO tipo 3 para poder leer

y escribir parámetros, pues solo se usan 2 palabras para la comunicación.

Page 19: Comunicacion SIEMENS Labview

En la siguiente imagen se muestra la programación en lenguaje escalera, que se realizó

para controlar nuestro esclavo Micromaster, además de la programación de los bloques

que hacen que se encienda y gire en ambos sentidos.

Imagen 20. Diagrama escalera empleado

Aquí se muestra el uso de memorias, que son las que se utilizaran para la comunicación a

labview mediante el OPC.

Imagen 21. Tabla de símbolos del programa

Page 20: Comunicacion SIEMENS Labview

Conclusión y resultados Se logró el intercambio de datos entre software de diferentes compañías que con

diferentes protocolos gracias al uso de OPC que fungió como mediador para lograr la

comunicación entre LabVIEW y el PLC Siemens. La intención de hacer este proyecto es la

de experimentar con soluciones que sirvan en el ámbito industrial donde existen

dispositivos de diferentes marcas o de diferentes tipos de comunicación que no se pueden

comunicar directamente. El uso de OPC puede significar reducción de costos de software y

enlazar bases de datos de fuentes diversas que no se hayan considerado. Por ejemplo,

bases de datos de almacén con ingeniería y producción con el fin de que las órdenes de

trabajo y el seguimiento a las mismas ocurran de manera continua.

Para apreciar el funcionamiento del proyecto refiérase al video anexo.

Trabajos futuros Se propone que el trabajo aquí realizado se continúe a futuro para convertirse en un

sistema que automáticamente ejecute procesos de producción completos. La idea es que

se impriman órdenes de trabajo con códigos de barras que al ser escaneadas inicien

rutinas de producción en una celda de manufactura y entreguen piezas terminadas.

Sería conveniente analizar la manera en que actualmente opera la celda y buscar la

manera de aprovechar el escáner de códigos de barras con que ya cuenta actualmente.

Aunque se especula que los códigos de barras unidimensionales, como el empleado en

este trabajo, no sean aptos para el desarrollo futuro por la poca cantidad que se puede

guardar en ellos. Por eso se recomienda buscar emplear códigos de barra bidimensionales,

que por cierto también reconoce LabVIEW.

Además, se recomienda investigar integrar en este proyecto dispositivos móviles con

cámara como los Smartphone en los que se pueden bajar apps de lectura de códigos de

barra. Así se amplía el uso práctico de esta aplicación a personal en campo. Faltaría ver la

manera de lograr esta integración, si por SMS, wifi, bluetooth o algún otro canal.