Student Projects

cancel
Showing results for 
Search instead for 
Did you mean: 

Implementación de un sistema SCADA para un laboratorio de electrónica industrial / Implementation of SCADA system for industrial electronics lab / for Student Design Competition 2013

CONTACT INFORMATION

University: UNIVERSIDAD DE ANTIOQUIA / ANTIOQUIA UNIVERSITY

Team Members James Duque  (2013) Email address:     jamexzduque@gmail.com

Cesar Brito (2013)          Email address:     celbrive1@gamil.com

Faculty Advisers: Orlando Carrillo          Email address:     Carrillo@udea.edu.co

Submission Language español

PROJECT INFORMATION

Titulo / Title

Implementación de un sistema SCADA para un laboratorio de electrónica industrial / Implementation of SCADA system for industrial electronics lab

Descripción / Description

Se ha desarrollado un sistema SCADA para la Supervisión, Control de los dispositivos de campo que existen en un laboratorio de electrónica industrial. Nuestro sistema esta compuesto de dos PLC's Siemens S7-1200, dos variadores de velocidad Danfoss FC300, un Altivar serie 5 45-2, y un Altivar 31 para operar cuatro motores asincronos, y de un PLC siemens de la misma referencia y un sensor de flujo másico para controlar la apertura de una válcula para maniobrar el flujo de un compresor de aire.

Products

NI Software:            LabVIEW 2012

Datalogging and Supervisory Control Module

NI OPC Servers

Data Dashboard NI  for Ipad

Other Hardware:     rs232 to rs485 converter (bidirectional)

PLC Siemens S7-1200 (3)

                                 Altivar 31, Variable Speed Controllers for asynchronous motors.

Altivar 5 series 45-2, Variable Speed Controllers for asynchronous motors.

Danfoss FC300 (2)

Dwyer,     Sensor de flujo másico.

Profesional Discover, Compresor de aire.

Asynchronous motors Siemens (4)

Laptop

Structure of System

ppal.png

.                   

The Challenge

Hoy en día se ha hecho demasiado vital la existencia de una aplicación que abarque la mayor parte del control en un proceso, y para conveniencia de este, que aporte significantes ventajas a la operación del elemento final en cuestión. Saciando el nivel de tecnología que existe en la actualidad, es importante implementar este sistema por los menesteres del laboratorio de electrónica industrial, como símbolo de vanguardia. Con base a esta idea queriamos desarrollar una aplicación la cual prestara el control de todos los dispositivos a distancia sobre una misma interfaz de tres maneras diferentes: desde cualquier Laptop con la aplicación ejecutandose, desde cualquier laptop conectada a una red lan, accediendo a la interfaz por medio de un navegador web aprovechando la herramienta de labview WEB SERVER, y desde un Ipad con la aplicación data dashboard creando una nueva interfaz.

The Solution

Configuración e implementación del digo en labview

Para realizar la interfaz de control y supervisión del proceso utilizamos como herramienta Labview debido a la versatilidad que ofrece en las funciones implementadas.

El control del proceso se puede realizar de diferentes maneras tales como son desde el PC servidor, un pc que se conecte a la misma red del pc servidor o mediante un IPAD que también se conecte en la misma red.

El proyecto general creado en LabView esta conformado por cuatro VIs que comprenden las tres redes y el menú principal, dos SubVIs en donde uno es para armar las tramas de los Danfoss y tres librerías para las variables compartidas que permiten la comunicación con el Ipad y con los distintos PLCs mediante el Servidor OPC.

1.png

Archivos del proyecto en LabVIEW

Menú Principal

La intensión de este menú es poder acceder al control de cada una de las subredes (Red de variadores Danfoss, red de variadores altivar o red de control para flujo másico) con solo accionar uno de los botones correspondiente a la subred deseada.

2.png

Menú principal del proyecto

Se tiene una estructura Flat Sequence, en donde el primer frame tiene como objetivo poner a correr cada uno de los otros programas que comprenden el proyecto y minimizarlos hasta que posteriormente sean llamados. El segundo frame contiene un While Loop el cual tiene la tarea de maximizar el programa que sea invocado y minimizar el del menú principal. Este control tiene la alternativa de parar la marcha cuando se presiona el botón de Stop.

3.png

Programación del Menú principal

Menú Danfoss

En el archivo main_danfoss.vi se hace uso de la estructura Flat Sequence dividido en tres frames. En el primer frame se inicializa todos los valores requeridos para el funcionamiento deseado del proyecto, como por ejemplo volver invisibles algunos botones y la configuración para generar User Events sobre la variable Text, esto último con el fin de reconocer la acción requerida tanto por los botones del panel como por el control desde el IPad.

4.png

Inicialización de las Variables

Dentro del segundo frame se encuentra un While loop donde se realiza todo el procedimiento necesario para cumplir con las actividades solicitadas. Todo el control de las acciones se realiza por medio de un Even Structure compuesto por varios case, donde se reconocen todos los eventos generados cuando se producen accionamientos sobre los botones del panel local y otro tipo de evento que ocurre cada cierto tiempo llamado Timeout Event. Dentro de este case se genera la trama para realizar la petición de la velocidad actual al variador, este hecho se realiza cada 150ms debido a que se tiene en cuanta el tiempo al que está configurada la actualización de las variables con el PLC y el tiempo que tarda el variador en responder.

5.png

Caso Timeout de la Estructura Evento

Dentro de este también se realiza la tarea de generar user envents cuando se detecta un cambio en las variables compartidas, gracias a estas se puede realizar la comunicación con el IPad, ya que al cambiar el valor desde una dispositivo exterior no se genera ningún evento dentro del programa como sucede en el caso de realizar la misma acción dentro del panel local.

En el case “Text: User event” es donde se define el valor de los parámetros que van a componer la trama a enviar, dependiendo del variador que se haya seleccionado y el tipo de control que se desea realizar. Los parámetros que aquí se modifican son: la dirección del variador dentro de la red (ADR), la función que realizará el variador (PCD2) y el valor referencia de la frecuencia que debe alcanzar (PCD2), estos valores son llevados al SubVI en donde se armara la trama con todos los parámetros en el orden adecuado.

6.png

Caso para eventos usuarios de la variable Text

Las entradas configuradas para dicho SubVI son: La dirección del variador (ADR), El parámetro de petición (PKE)(en este caso solo será la velocidad), la función a realizar (PCD1) y la referencia de la frecuencia que debe alcanzar (PCD2). La salida de este bloque es la trama final a enviar, este bloque solo se ejecuta en caso de que se haya solicitado un tipo de control o petición sobre los variadores.

7.png

Configuración de salidas y entradas de las tramas del Danfoss

La comunicación de las tramas entre LabVIEW y el PLC se realiza almacenando o leyendo los sectores de la cadena de caracteres en variables tipo DWord debido a que al realizar este procedimiento con variable tipo String, si se tiene al menos un campo con un valor 0x00,  se presentan conflictos y la trama no es enviada o recibida en su totalidad.

8.png

Partición y concatenado de las tramas Danfoss

Con la respuesta de los variadores Danfoss se genera una visualización del estado y la velocidad de dicho variador en la interfaz grafica. Este proceso se realiza extrayendo los bytes correspondientes de la trama respuesta a dichos parámetros (PCD1 y PCD2 respectivamente) y el valor obtenido de cada respuesta es llevado al indicador que le corresponde.

9.png

Configuración para la respuesta del Danfoss

Por ultimo en el tercer frame solo se encuentra la configuración necesaria para finalizar la secuencia del User Events.

10.png

Finalización del programa

Implementación del formato de tramas de control y/o lectura/escritura en Labview para el variador Danfoss FC300

En LabVIEW se diseñó un bloque destinado únicamente a la creación de las tramas para el control y el sensado de los variadores Danfoss. Cuando se desea realizar una acción sobre el motor se almacena el valor del parámetro correspondiente en el campo PCD1 y la referencia a la cual se desea mover el motor en PCD2. Adicional a esto se están enviando tramas de lectura periódicamente, preguntando por la velocidad actual del motor, en estos requerimientos PCD1 y PCD2 serán iguales a 0.

Un pantallazo del bloque diseñado y la creación del Checksum BCC se muestran a continuación:

11.png

Armado de tramas en LabVIEW para Danfoss

La trama está conformada por los bytes STX, LGE, ADR, PKE, IND, PKEalto, PKEbajo, PCD1, PCD2 y BCC donde los valores de ADR, PCD1 y PCD2 son extraídos desde la parte exterior a este bloque, los cuales varían dependiendo del variador el cuál se desee controlar y de la función Arrancar, Invertir o Parar que se elija.

En el ciclo For que se encuentra en la parte inferior se calcula el checksum de la trama, en él se aplica una operación XOR iterativa hasta llegar al último byte de la trama, para esto se hace uso de shift registers de la programación de LabVIEW con el fin de acumular los resultados del ciclo actual y usarlos en el siguiente ciclo. Al final se concatena el resultado del checksum al resto de la trama, convirtiéndolo primero al formato hexadecimal, y se almacena la trama completa en una variable la cual está conectada a una salida de este SubVI.

Menú Altivar

Para llevar a cabo el control requerido por el usuario en este menú, se trabaja bajo la misma distribución de código del Menú  Danfoss, contando con una estructura Flat Sequence compuesta de tres frames, el primero para las acciones de inicialización, el segundo donde se atiende las solicitudes, y por último en el tercer frame se realiza todo el proceso y los cálculos para obtener el control correspondiente que se aplicará sobre los variadores.

12.jpg

Programa para control de los Altivar

La diferencia con mayor importancia radica en el procedimiento seguido al crear las tramas de control, debido a que los protocolos usados son diferentes.

La comunicación establecida con el variador Altivar 45-2 es vía RS232, y en la trama no se hace uso de un byte de dirección ni de control de errores a diferencia de la comunicación con el Altivar 31 que se realiza por medio de RS485 y si hace uso de estos bytes, razón por la cual cambia la distribución  en la trama.

13.png

Armado de trama para la frecuencia, Altivar 31

14.png

Armado de trama para el arranque, Altivar 5 45-2

Generar los bytes de control de error CRC16 para tramas de Altivar 31

Para obtener los bytes de control de error CRC16 se hace uso del SubVI Trama_Altivar.vi en LabVIEW, en el cual ingresa la trama a enviar con los parámetros de control ya establecidos correspondientes a la solicitud realizada. EL cálculo del valor de CRC16 se obtiene de la siguiente manera:

  1. 1. 1. Cargar un registro de 16 bits con FFFFH (todos 1's). Este registro toma el nombre de registro CRC.
  2. 2. 2. Ejecutar una XOR entre el primer byte del mensaje y el byte menos significativo del registro CRC, dejando el resultado en el registro CRC.
  3. 3. 3. Desplazar el registro CRC un bit a la derecha (hacia el LSB), ingresando un 0 en el MSB. Extraer y examinar el LSB.
  4. 4. 4. Si el LSB fue 0 repetir el paso 3 (otro desplazamiento).   Si el MSB fue 1 realizar una XOR entre el registro CRC y el valor 0xA001 (1010 0000 0000 0001).
  5. 5. 5. Repetir los pasos 3 y 4 hasta completar ocho desplazamientos, dando como procesado un byte.
  6. 6. 6. Repetir los pasos 2 a 5 para el próximo byte del mensaje. Continuar hasta que todos los bytes han sido procesados.
  7. 7. 7. El contenido final del registro CRC es el valor CRC. Este valor es concatenado a la trama ingresada obteniendo así la trama final. Esta ya lista para ser enviada al PLC, el cual es el encargado de la comunicación con el variador Altivar.

 
15.png

Programa para calcular el CRC16

Menú MAF

Este programa es mucho más simple a diferencia de los otros, debido a que solo se lleva el control de cuatro variables las cuales son: Iniciar, parar, setpoint y control en la cual se determina el tipo de lazo sea abierto o cerrado. Aun así la dimensión del programa se creció debido a la necesidad de agregar un Time loop, el cual es el responsable de la cómoda visualización de la variable que nos brinda el sensor de flujo másico, y dentro de este también hay propiedades de las clases de Vis, en donde se minimiza si es presionado el botón home.

16.png

Programa del menú MAF

Publicación de la Interfaz de Control en una página Web

LabVIEW permite la posibilidad de acceder a la interfaz de control desde otros dispositivos que se encuentren en la red, para esto se hace uso de un servidor web con la interfaz de control creada y se agregan a un listado los host o direcciones IP a las cuales se les asigna la posibilidad de ver y controlar la interfaz[11].

A modo de tutorial se muestra a continuación los pasos que se deben seguir:

Paso 1:

Ubicados en el proyecto de LabVIEW diseñado, vamos a la pestaña Tools y en ella se presiona Options...

17.jpg

Publicación del proyecto en una página Web paso 1

Paso 2:

Dentro de Options… se elige la opción Web server y se seleccionan los parámetros que se muestran en la siguiente imagen.

18.jpg

Publicación del proyecto en una página Web paso 2

Paso 3:

En Web server se agrega el archivo .vi del proyecto que se desea publicar y se agregan las direcciones IP de los usuarios que podrán observar, observar y controlar o denegar el acceso, al respectivo .vi, según se seleccione. La siguiente imagen ilustra mejor lo dicho.

19.jpg

Publicación del proyecto en una página Web paso 3

 

Paso 4:

Luego de haber configurado el Web server, vamos a la pestaña Tools nuevamente y seleccionamos la opción Web Publishing Tool…

20.jpg

Publicación del proyecto en una página Web paso 4

Paso 5:

En la ventana desplegada seleccionamos el VI que se desea publicar y presionamos next.

21.jpg

Publicación del proyecto en una página Web paso 5

Paso 6:

Luego aparece una opción para ponerle un título, una cabecera y una frase abajo a la página Web.

22.jpg 

Publicación del proyecto en una página Web paso 6

Paso 7:                    

En la siguiente ventana aparece la opción de darle un filename, que dará la dirección URL de la página web, luego se presiona Save to Disk y se acepta la opción que aparezca.

23.jpg

Publicación del proyecto en una página Web paso 7

Paso 8:

En la última ventana que se despliega se presiona connect para abrir la página web. A partir de la dirección URL se accede a la interfaz desde un navegador web (google, mozila, internet explorer). Es importante mencionar que para controlar la interfaz desde otros computadores dentro de la red, no es necesario tener instalado LabVIEW, pero si se necesitan una serie de Plugins asociados a LabVIEW para poder acceder a la interfaz desde cada navegador. Se recomienda desactivar el firewall de Windows y el antivirus si se presentan inconvenientes para acceder a la interfaz de la página web.

24.jpg

Publicación del proyecto en una página Web paso 8

INTERFACE IMAGES (ipad)

 

la foto 1.jpg 

 

la foto 2.jpg

la foto 3.jpg

LEVEL OF COMPLETION           fully functional

TIME TO BUILD                              3 MONTHS

Attach VI code (included)

VIDEO

https://plus.google.com/u/0/105567134737274372202/posts/58MKvbos3cK

Benefit of using LabVIEW and NI tools

Por que Labview es un software: fácil de aprender, fácil de usar, y fácil de implementar, en este se pueden desarrollar un sin fin de aplicaciones las cuales gracias a su basto número de módulos, se pueden asociar a muchos dispositivos debido a su programación, y a que se pueden conectar a estos de manera transparente. Gracias a que la programación es de manera gráfica, Labview hace que la experiencia de programar sea muy agradable.

Comments
jamesduque
Member
Member
on

Nota: Se debe redefinir la ruta del proyecto para la interactividad entres los main principales

Contributors