SCADA BASADO EN LABVIEW PARA EL LABORATORIO DE … · Resumen vii tienen una red de Ethernet...

125
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERÍA INDUSTRIAL PROYECTO FIN DE CARRERA SCADA BASADO EN LABVIEW PARA EL LABORATORIO DE CONTROL DE ICAI ANA OTÍN MARCOS MADRID, junio de 2007

Transcript of SCADA BASADO EN LABVIEW PARA EL LABORATORIO DE … · Resumen vii tienen una red de Ethernet...

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERÍA INDUSTRIAL

PROYECTO FIN DE CARRERA

SCADA BASADO EN LABVIEW

PARA EL LABORATORIO DE

CONTROL DE ICAI

ANA OTÍN MARCOS

MADRID, junio de 2007

Autorizada la entrega del proyecto al alumno:

Ana Otín Marcos

EL DIRECTOR DEL PROYECTO

José Antonio Rodríguez Mondéjar

Ramón Rodríguez Pecharromán

Fdo: Fecha:

Vº Bº del Coordinador de Proyectos

Álvaro Sánchez Miralles

Fdo: Fecha:

A mis padres por su apoyo y su ayuda,

por la oportunidad que me dieron.

Resumen v

Resumen

La idea de la que parte este proyecto es la de permitir supervisar y controlar

dispositivos distribuidos en el Laboratorio de Control de ICAI de forma remota. Ofrece

grandes posibilidades, ya que una vez desarrollado sería exportable a otros

dispositivos que se quisiesen controlar remotamente.

De esta forma se convierte el laboratorio en una planta para la que se quiere

desarrollar un sistema SCADA (Supervisory Control and Data Acquisition). Los

distintos usuarios pueden interactuar con los dispositivos de la planta a través de la

red local de la Universidad, mediante una interfaz muy intuitiva que muestra el estado

de la planta, con una representación gráfica y dinámica de los elementos que la

componen.

Figura 1. Interfaz gráfica de la aplicación de supervisión remota

Así, mediante la interfaz del sistema de supervisión remota, el usuario puede

cambiar parámetros del control, enviar órdenes, visualizar el estado de la planta,

almacenar datos históricos y gestionar las alarmas que se producen en la planta.

Resumen vi

La planta consta de 2 cubas de agua. Mediante un control PID se regula el caudal

de forma automática hasta alcanzar el nivel de agua deseado y después se mantiene.

También puede trabajar en modo manual, determinando directamente el caudal de

agua que se desea.

Los controles de la planta están implementados en LabVIEW, al igual que el

sistema de supervisión remota, e instalados en ordenadores conectados a los

dispositivos de la planta por medio de una tarjeta de adquisición de datos. El

ordenador de supervisión remota se comunica con los ordenadores de control local por

medio de la red local de la Universidad.

Figura 2. Esquema de la aplicación SCADA

La principal ventaja de este tipo de sistemas es que se puede conocer el estado de

una planta desde un único puesto de supervisión, y modificar parámetros desde el

mismo. Esto realmente se aprecia cuando el número de sistemas a controlar es elevado

o cuando se encuentran geográficamente distribuidos.

Las comunicaciones se realizan por Ethernet, ya que permite comunicarse

fácilmente entre máquinas y sistemas corporativos. La mayor parte de las empresas

Resumen vii

tienen una red de Ethernet existente, típicamente en forma de red de área local, de

forma que no es necesaria ningún tipo de infraestructura.

De forma más general, sus características son:

- Posee un entorno visual que permite interacción del ser humano con los medios

tecnológicos implementados. En el caso de un sistema SCADA la interfaz debe ofrecer

al operador una recreación de lo que ocurre en la planta.

— Ofrece imágenes en movimiento que representan el comportamiento del proceso,

dando al operador la impresión de estar presente dentro de una planta real.

- Puede enviar órdenes a los controles locales mediante la aplicación de supervisión

remota, también puede ajustar los parámetros de dichos controles.

— Representa señales de alarma para lograr alertar al operador cuando tiene lugar

una condición perjudicial o fuera de lo aceptable, así como la posibilidad de

reconocerlas.

— Existe la opción de almacenar los datos adquiridos, esta información puede

analizarse posteriormente en una hoja de cálculo.

— Hay distintos niveles de usuario, de forma que es preciso identificarse para poder

acceder a distintas funciones o modificar los distintos parámetros.

Summary viii

Summary

This Project has the intention to supervise and control distributed devices in ICAI´s

Remote Control Laboratory. There are many possibilities because once developed it

would be implemented to control other devices in remote mode.

This way, the laboratory becomes a pilot plant in which a SCADA (Supervisory

Control and Data Acquisition) system will be developed. Different users can interact

with plant devices by using University local net, just using an intuitive interface that

shows plant status, representing a graphic and dynamic display of its elements.

Figura 3. Remote supervising system interface

Thus, by the remote supervising system interface, the user can change control

parameters, send orders, display plant status, store historic data and manage plant

alarms.

Plant consists on 2 tanks of water. By a PID control mass flow is regulated

automatically up to reaching the desired water level and after that the flow is kept in

Summary ix

this level. Also, it is possible to work in manual mode, fixing directly the water flow

that is desired.

Plant control system and remote supervising system are implemented in LABVIEW

and installed in computers that are connected to plant devices by a data acquisitive

card. The remote supervisor computer is communicated to local control computers by

University local net.

Figura 4. SCADA system.

The main advantage of this kind of systems is that plant status can be known from a

unique supervise place and parameters can be changed as well. This is really

appreciated when the number of systems to be control is high or when they are

geographically placed.

Communications are made by Ethernet because it allows connection between

machines and corporative systems. The higher part of the companies has an existing

Ethernet as a Local Area net, so that, it is not required any kind of structure.

Summary x

Generally, the characteristics of the developed SCADA systems are detailed here in:

- It has a visual environment that allows the interaction between human being and

technological devices implemented. In SCADA systems, interface should offer the

operator a simulation of everything happens on site.

- It offers motion pictures that represents process behavior giving the operator the

feeling to be on site.

- Also it can send orders to local control by implementing remote supervising as

well as control of the parameters.

- It represents alarm signals to inform and alert the operator when harmful or

unacceptable situation takes place and could be distinguished.

- There is an option to store acquire data. This information is subsequently analyzed

in a data sheet

- There are several levels for different users so that everyone needs to identify

oneself in order to access and use all the function of the program and modify existing

parameters.

Índice xi

Índice

PARTE I - MEMORIA ............................................................................................................................. 1

PRÓLOGO................................................................................................................................................. 2

1 INTRODUCCIÓN .............................................................................................................................. 4

1.1 Estado del arte..................................................................................................... 4

1.1.1 SCADA 4

1.1.2 LabVIEW 9

1.2 Motivación del proyecto.................................................................................. 11

1.3 Objetivos ............................................................................................................ 13

1.4 Recursos empleados......................................................................................... 15

2 ESPECIFICACIÓN DEL PROYECTO .......................................................................................... 17

2.1 Descripción de la planta .................................................................................. 18

2.2 Requisitos del Control de la planta................................................................ 20

2.3 Especificación de la aplicación de Control Local......................................... 23

2.4 Especificación de la aplicación de Control Remoto..................................... 23

2.5 Especificación de las comunicaciones ........................................................... 24

2.6 Privilegios de los distintos usuarios .............................................................. 24

3 DISEÑO DEL CONTROL LOCAL................................................................................................ 27

3.1 Interfaz gráfica .................................................................................................. 27

3.2 Implementación del Control en LabVIEW ...................................................29

3.2.1 Tarjeta de adquisición de datos 30

3.2.2 Implementación del Control en LabVIEW 32

3.2.3 Indicadores de alarma 34

3.3 Herramientas de programación ..................................................................... 36

3.4 Configuración de los Usuarios ....................................................................... 41

4 COMUNICACIONES ...................................................................................................................... 45

4.1 Herramientas..................................................................................................... 45

4.1.1 TCP-IP 45

4.1.2 UDP 47

4.1.3 DataSocket (Marca registrada de Nacional Instruments) 47

4.2 La tecnología OPC............................................................................................ 49

Índice xii

4.3 Diseño de las comunicaciones ........................................................................ 49

4.4 Ethernet.............................................................................................................. 50

4.5 Diseño de las comunicaciones ........................................................................ 51

5 SUPERVISIÓN REMOTA .............................................................................................................. 54

5.1 Interfaz gráfica .................................................................................................. 54

5.2 Supervisión de las cubas ................................................................................. 59

5.3 Base de datos ..................................................................................................... 61

5.4 Alarmas y eventos ............................................................................................ 65

6 RESULTADOS .................................................................................................................................. 71

6.1 Presentación de los resultados........................................................................ 71

6.2 Limitaciones del producto final ..................................................................... 76

7 CONCLUSIONES............................................................................................................................. 79

8 FUTUROS DESARROLLOS .......................................................................................................... 82

9 AGRADECIMIENTOS .................................................................................................................... 85

BIBLIOGRAFÍA ..................................................................................................................................... 87

PARTE II – ESTUDIO ECONÓMICO ............................................................................................... 88

PARTE III – MANUAL DE USUARIO .............................................................................................. 90

CÓDIGO DE LABVIEW ..................................................................................................................... 106

Índice de Figuras xiii

Índice de Figuras

Figura 1. Interfaz gráfica de la aplicación de supervisión remota......................................................v

Figura 2. Esquema de la aplicación SCADA.........................................................................................vi

Figura 3. Remote supervising system interface................................................................................. viii

Figura 4. SCADA system......................................................................................................................... ix

Figura 5. Estructura de un sistema SCADA .......................................................................................... 5

Figura 6. Ejemplo de panel frontal........................................................................................................ 10

Figura 7. Diagrama de bloques del ejemplo anterior ......................................................................... 11

Figura 8. Esquema SCADA laboratorio control ICAI ........................................................................ 12

Figura 9. Esquema con las partes del sistema SCADA ...................................................................... 14

Figura 10. Etapas de un proceso de supervisión................................................................................. 17

Figura 11. Esquema de la supervisión en el proyecto ........................................................................ 18

Figura 12. Sistema de control de nivel de un depósito ...................................................................... 19

Figura 13. Esquema de funcionamiento............................................................................................... 19

Figura 14. Control Cubas........................................................................................................................ 20

Figura 15. Diagrama de bloques de un regulados PID paralelo ....................................................... 21

Figura 16. Esquema que ilustra el paso de manual a automático..................................................... 22

Figura 17. Interfaz control local............................................................................................................. 27

Figura 18. Indicadores de alarma cuando el nivel de agua es -93,4%.............................................. 28

Figura 19. DAQmx example .................................................................................................................. 30

Figura 20. Exp datos VI .......................................................................................................................... 31

Figura 21. PID VIs ................................................................................................................................... 32

Figura 22. Diagrama de bloques del PID advanced modificado ...................................................... 33

Figura 23. Código correspondiente a la adquisición de datos, control y monitorización del

proceso........................................................................................................................................... 34

Figura 24. Crear una referencia a un control ....................................................................................... 34

Figura 25. Propiedades de un control booleano.................................................................................. 35

Figura 26. Case estructure para las alarmas ........................................................................................ 36

Figura 27. Engine Launch VI ................................................................................................................. 38

Figura 28. Tag Configuration Editor..................................................................................................... 38

Figura 29. Crear una nueva Tag desde HMI Wizard ......................................................................... 39

Figura 30. Código generado con HMI Wizard ................................................................................... 40

Figura 31. Subpaleta Tags ...................................................................................................................... 40

Figura 32. User Account Manager ........................................................................................................ 41

Figura 33. Ventana para autentificarse como usuario........................................................................ 42

Figura 34. Panel Wizard ......................................................................................................................... 43

Índice de Figuras xiv

Figura 35. Diagrama de bloques de la estructura para leer datos .................................................... 46

Figura 36.Diagrama de bloques del VI leer TCP................................................................................. 46

Figura 37.Esquema de una comunicación por DataSocket................................................................ 48

Figura 38. Partes de una aplicación con DSC Module ....................................................................... 50

Figura 39. Generación de Tags automáticamente ............................................................................... 52

Figura 40. Interfaz principal de la aplicación de supervisión remota. ............................................. 54

Figura 41. Código para mostrar si el sistema está en manual o automático ................................... 56

Figura 42. Abrir un panel con HMI Wizard ........................................................................................ 56

Figura 43. Cerrar un panel con HMI Wizard....................................................................................... 57

Figura 44. Acceder a la supervisión de la cuba 1 ................................................................................ 58

Figura 45. Lista alarmas.......................................................................................................................... 58

Figura 46. Exportar los datos del histórico a una hoja Excel ............................................................. 59

Figura 47. Interfaz para controlar el sistema x de forma remota ...................................................... 60

Figura 48. Trenes ..................................................................................................................................... 60

Figura 49. HMI Wizard para Real - Time Trend ................................................................................. 61

Figura 50. Pasos para crear una base de datos .................................................................................... 62

Figura 51. Historical Logging Configuration ...................................................................................... 63

Figura 52. VI para exportar los datos del histórico a Excel................................................................ 64

Figura 53. Interfaz para exportar los datos a Excel............................................................................. 64

Figura 54. Configurar alarmas............................................................................................................... 66

Figura 55. Alarm VI................................................................................................................................. 67

Figura 56. HMI Wizard para reconocer alarmas................................................................................. 68

Figura 57. Código para reconocer alarmas .......................................................................................... 68

Figura 58. Lista de alarmas .................................................................................................................... 69

Figura 59. Captura de la pantalla de supervisión remota.................................................................. 71

Figura 60. Captura de la pantalla de control local de la cuba 1 ........................................................ 72

Figura 61. Prueba 1 pantalla del sistema de supervisión remota ..................................................... 73

Figura 62. Prueba 1 Remoto tank 1 ....................................................................................................... 74

Figura 63. Prueba Excel .......................................................................................................................... 75

Figura 64. Estado de la planta durante la prueba Excel..................................................................... 75

Figura 65. Resultado de la prueba Excel .............................................................................................. 76

Figura 66. User Account Manager ........................................................................................................ 92

Figura 67. New user account ................................................................................................................. 93

Figura 68. Group Memberships............................................................................................................. 94

Figura 69. Interfaz Control Local .......................................................................................................... 95

Figura 70. Indicadores de alarma cuando el nivel de agua es -93,4%.............................................. 96

Figura 71. Interfaz principal de la aplicación de supervisión remota.............................................. 98

Figura 72. Control remoto de la cuba 2 ................................................................................................ 99

Índice de Figuras xv

Figura 73. Indicador con la última alarma que ha tenido lugar...................................................... 100

Figura 74. Alarm List ............................................................................................................................ 101

Figura 75. Código de colores de las alarmas ..................................................................................... 101

Figura 76. Panel Save Data................................................................................................................... 102

Figura 77. Lista desplegable con las variables que se archivan en la base de datos ................... 103

Figura 78. Set Time and Date............................................................................................................... 103

Índice de Tablas xvi

Índice de Tablas

Tabla 1. Canales de la tarjeta de adquisición de datos ....................................................................... 30

Tabla 2. Usuarios del sistema ................................................................................................................ 41

Tabla 3. Usuarios del sistema ................................................................................................................ 92

PARTE I PARTE I PARTE I PARTE I ---- MEMORIA MEMORIA MEMORIA MEMORIA

Prólogo 2

PRÓLOGO

El objetivo de este proyecto es realizar un sistema SCADA para el Laboratorio

de ICAI. El sistema tiene una interfaz intuitiva, puede enviar órdenes a los

dispositivos de nivel de depósito que se encuentran en el laboratorio, requiere

autentificarse como usuario para realizar algunas acciones, posee indicadores

luminosos de alarmas y ofrece la posibilidad de exportar datos relevantes de la

planta a una hoja de cálculo.

Esta memoria comienza describiendo las especificaciones de cada una de las

partes que forman el sistema SCADA en el capítulo 2.

Una vez descritas las necesidades del sistema se procede a describir el diseño

del control local en el capítulo 3, tanto la interfaz gráfica de la aplicación como la

implementación del controlador.

Realizada la aplicación anterior, hay que hacer la aplicación de supervisión

remota: una aplicación que permite enviar órdenes a la planta, visualizar si hay

alguna alarma activa o exportar datos del histórico de la base de datos a una hoja

Excel. Esto se describirá en el capítulo 5, ya que previamente se hablará de las

comunicaciones que permiten la transmisión de datos.

Con todo eso ya montado y funcionando, se puede comprobar en el

laboratorio cómo se puede cambiar la referencia de nivel de agua de las cubas

desde el ordenador alejado de la planta y cómo se puede cambiar a modo

manual y regular el caudal de las bombas.

1 Introducción

1 Introducción 4

1 Introducción

1.1 Estado del arte

1.1.1 SCADA

1.1.1.1 Historia

Los primeros SCADA (Supervisory Control And Data Adquisition) eran

simplemente sistemas de telemetría que proporcionaban informes periódicos de

las condiciones de campo vigilando las señales que representaban medidas y/o

condiciones de estado en ubicaciones de campo remotas. Estos sistemas ofrecían

capacidades muy simples de monitorización y control. La visión del operador en

el proceso estaba basada en los contadores y las lámparas detrás de paneles

llenos de indicadores. Mientras la tecnología se desarrollaba, los ordenadores

asumieron el papel de manejar la adquisición de datos, disponiendo de

comandos de control, y presentando la información sobre una pantalla de CRT.

Los ordenadores agregaron la capacidad de programar el sistema para realizar

funciones de control más complejas.

Los primeros sistemas automatizados SCADA fueron modificados con

programas de aplicación específicos para atender a requisitos de algún proyecto

particular. Hoy, los proveedores de SCADA están diseñando sistemas pensados

para resolver las necesidades de distintas industrias con módulos de software

específicos. Se puede encontrar software SCADA comercialmente disponible

adaptado para procesamiento de papel y celulosa, oleoductos y gaseoductos,

hidroeléctricas, distribución de agua, etc.

Los sistemas SCADA se están convirtiendo en una parte integral de la gestión

corporativa. Estos sistemas ya no son vistos por la gerencia simplemente como

herramientas de operación, sino como un recurso importante de información.

Continúan sirviendo como centro de responsabilidad en la operación, pero

también proporcionan datos a los sistemas y usuarios fuera del ambiente del

centro de control que dependen de la información oportuna en la cual basan sus

decisiones económicas cotidianas.

1 Introducción 5

1.1.1.2 Conceptos básicos de los sistemas SCADA

Los sistemas SCADA (Supervisory Control And Data Adquisition) son

aplicaciones de software, diseñadas con la finalidad de controlar y supervisar

procesos a distancia. Permiten a un usuario recoger datos de una o más

instalaciones geográficamente distribuidas y/o enviar comandos y órdenes a

estas instalaciones. Además, envían la información generada en el proceso

productivo a diversos usuarios, tanto del mismo nivel como hacia otros

supervisores dentro de la empresa, es decir, que permite la participación de otras

áreas como por ejemplo: control de calidad, supervisión, mantenimiento, etc.

Figura 5. Estructura de un sistema SCADA

El sistema está compuesto por numerosas unidades (controles locales),

geográficamente distribuidas, recogiendo medidas y enviando órdenes a los

dispositivos de campo, estas se encuentran conectadas a una o varias estaciones

de supervisión remotas por medio de un sistema de comunicaciones. La estación

1 Introducción 6

de supervisión remota presenta la información adquirida en pantallas y permite

al operador realizar tareas de control a distancia.

Todo sistema SCADA tiene que cumplir una serie de requisitos básicos, que

son:

— Tener arquitectura abierta, es decir, debe permitir su crecimiento y

expansión, así como tener capacidad de adecuarse a las necesidades futuras del

proceso y de la planta.

— La programación e instalación no debe presentar mayor dificultad, debe

contar con interfaces gráficas que muestren un esquema básico y real del proceso.

— Deben permitir la adquisición de datos de todo tipo de equipos, así como la

comunicación a nivel interno y externo (redes locales y de gestión).

— Deben ser programas sencillos de instalar, sin excesivas exigencias de

hardware, y fáciles de utilizar, con interfaces amigables para el usuario.

1.1.1.3 Funciones de un SCADA

Las funciones principales son:

— Supervisión remota de instalaciones y equipos: Permite al operador

conocer el estado de los distintos dispositivos que componen la instalación.

— Control remoto de equipos: Mediante el sistema se pueden enviar órdenes

a los controles locales para activar o desactivar los equipos remotamente (por

ejemplo abrir válvulas, activar interruptores, etc.), de manera automática y

también manual. Además es posible ajustar parámetros, valores de referencia,

algoritmos de control, etc.

— Visualización gráfica: El sistema es capaz de ofrecer imágenes en

movimiento que representen el comportamiento del proceso, dando al operador

la impresión de estar presente dentro de una planta real. También pueden

mostrar gráficos de las señales registradas en el tiempo.

1 Introducción 7

— Representación de señales de alarma: A través de las señales de alarma se

logra alertar al operador cuando tiene lugar una condición perjudicial o fuera de

lo aceptable. Estas señales pueden ser tanto visuales como sonoras y se pueden

realizar registros de incidencias.

— Históricos: Se cuenta con la opción de almacenar los datos adquiridos, esta

información puede analizarse posteriormente, el tiempo de almacenamiento

dependerá del operador o del autor del programa.

1.1.1.4 Transmisión de la información

Los sistemas SCADA necesitan comunicarse vía red, puertos GPIB, telefónica

o satélite, es necesario contar con ordenadores que realicen el envió de datos

hacia un ordenador remoto, este a su vez será parte de un centro de control y

gestión de información.

Cada fabricante de equipos para sistemas SCADA emplean diferentes

protocolos de comunicación y no existe un estándar para la estructura de los

mensajes, sin embargo existen estándares internacionales que regulan el diseño

de las interfaces de comunicación entre los equipos del sistema SCADA y

equipos de transmisión de datos.

Un protocolo de comunicación es un conjunto de reglas y procedimientos que

permite a las unidades remotas y central, el intercambio de información. Los

sistemas SCADA hacen uso de los protocolos de las redes industriales.

1.1.1.5 ELEMENTOS DEL SISTEMA

Un sistema SCADA esta conformado por:

� Interfaz Hombre-Máquina: Permite la interacción del ser humano con los

medios tecnológicos implementados. En el caso de un sistema SCADA la

interfaz debe ofrecer al operador una recreación de lo que ocurre en la planta.

� Supervisión Remota: Se encarga de recibir los datos de la planta y enviar

órdenes a la misma. También se encarga del almacenamiento y procesado

1 Introducción 8

ordenado de los datos, de forma que otra aplicación o dispositivo pueda tener

acceso a ellos.

� Control Local: Lo constituye todo elemento que envía algún tipo de

información a la aplicación de supervisión remota. Ejecuta las acciones del

mando (programadas) en base a los valores actuales de las variables. Es parte del

proceso productivo y necesariamente se encuentra ubicada en la planta.

� Sistema de Comunicaciones: Se encarga de la transferencia de

información desde el punto donde se realizan las operaciones hasta el punto

donde se supervisa y controla el proceso. Lo conforman los transmisores,

receptores y medios de comunicación.

� Transductores: Son los elementos que permiten la conversión de una

señal física en una señal eléctrica (y viceversa).

1.1.1.6 El mercado de los SCADAs

En la industria hay una multitud de SCADA funcionando tanto para la

supervisión y el control de un pequeño proceso de fabricación como para plantas

enteras. Hay muchas empresas distribuidoras de sistemas SCADA, a menudo

son proveedores de PLC, que realizan el SCADA que pueda comunicar con sus

productos. Para elegir un sistema SCADA hay que tener en cuenta su

compatibilidad con el entorno en el cual va a implementarse. Las diferencias que

se encuentran entre distintos SCADA, se refieren principalmente al número de

variables que el programa puede leer en tiempo real. Así, un SCADA debe

elegirse según las características y limitaciones del proceso a controlar. Por

ejemplo, la empresa Schneider Electric provee el software VIJEO LOOK para

pequeñas y medianas aplicaciones (128, 512, 1024 I/O) y MONITOR PRO para

aplicaciones grandes y complejas (256, 1024, o ilimitadas I/O). Otros de los

paquetes SCADA más implantados en el mercado son:

CIRNET, de CIRCUTOR S.A.

SCADA InTouch, de LOGITEK.

WinCC, de Siemens.

1 Introducción 9

Coros LS-B/Win, de Siemens.

SYSMAC SCS, de Omron.

FIXDMACS, de Omron-Intellution.

RS-VIEW32 de Rockwell

GENESIS32 de Iconics

1.1.2 LabVIEW

LabVIEW es una plataforma estándar en la industria de test y medida, para el

desarrollo de sistemas de prueba y control de instrumentación; en el campo de la

automatización industrial, para la adquisición de datos, análisis, monitorización

y registro, así como para el control y monitorización de procesos; en el área de

visión artificial, para el desarrollo de sistemas de inspección en producción o

laboratorio. En los últimos años ha crecido en nuevos campos de trabajo como

simulación, diseño de control y sistemas embebidos en tiempo real.

En este proyecto se ha utilizado el módulo de LabVIEW Datalogging and

Supervisory Control (DSC), para desarrollar interactivamente sistemas de

monitorización y control distribuido. DSC Module amplia las aplicaciones de

LabVIEW para configurar y administrar alarmas y eventos interactivamente, y

crear sistemas de seguridad.

1.1.2.1 Programación en LabVIEW

LabVIEW de National Instrument, es un lenguaje de programación de

propósito general, como es el Lenguaje C o Basic, pero con la característica que

es totalmente gráfico. Está basado en la programación modular, lo que permite

crear tareas muy complicadas a partir de módulos o sub-módulos mucho más

sencillos. Además, estos módulos pueden ser usados en otras tareas.

LabVIEW es un lenguaje completamente gráfico, y el resultado de ello es que

es totalmente parecido a un instrumento: por ello, a todos los módulos creados

con LabVIEW se les llama VI (Instrumento Virtual). Cada VI consta de tres

componentes:

1 Introducción 10

— Un panel frontal (o Front Panel). Es la interfaz de usuario.

— Un diagrama de bloques (o Block Diagram). Contiene el código fuente

gráfico que define la funcionalidad del VI.

— Icono y conector. Identifica a cada VI, de manera que podemos utilizarlo

dentro de otro VI. Un VI dentro de otro VI recibe el nombre de subVI. Sería

como una subrutina en un lenguaje de programación basado en texto.

Figura 6. Ejemplo de panel frontal

1 Introducción 11

Figura 7. Diagrama de bloques del ejemplo anterior

El panel frontal se construye a base de controles e indicadores, los cuales no

son más que los terminales de entrada y salida, respectivamente, del VI. Como

controles podemos tener knobs y dials (botones rotatorios), push buttons

(pulsadores) y otros dispositivos de entrada. Como indicadores tenemos graphs

(gráficas), LEDs y otros visualizadores. Los controles simulan elementos de

entrada al instrumento y proporcionan datos al diagrama de bloques. Los

indicadores simulan elementos de salida del instrumento y visualizan los datos

que el diagrama de bloques adquiere o genera.

Una vez construido el panel frontal, el código se desarrolla usando unas

representaciones gráficas de funciones (ver Figura 7) que controlarán los objetos

del panel frontal. El diagrama de bloques es quien contiene este código fuente

gráfico. Los objetos del panel frontal aparecen como terminales en el diagrama

de bloques.

1.2 Motivación del proyecto

La finalidad del proyecto es la supervisión y el control remoto de sistemas

situados en el Laboratorio de Control del Departamento de Electrónica y

Automática. Para ello se procederá a la construcción de un SCADA con

LabVIEW.

1 Introducción 12

Existen diversas razones que motivan el realizar una aplicación distribuida en

lugar de una aplicación concentrada. Las aplicaciones concentradas recogen,

analizan, procesan y visualizan los datos en una misma máquina. Pero

actualmente la adquisición de datos ya no se realiza únicamente en el PC, sino

que existen sensores distribuidos que recogen información y se conectan

directamente la red de ethernet convirtiéndose en un punto de medida remoto al

cual se puede conectar e importar después esos datos a la aplicación.

La planta a controlar por el SCADA está compuesta por dos equipos de

control de nivel de un depósito (cubas) que se encuentran en el laboratorio. Una

representación del SCADA de control de los dispositivos de control de nivel de

depósito se esquematiza en la Figura 8.

Figura 8. Esquema SCADA laboratorio control ICAI

Estos dispositivos estarán individualmente controlados desde un ordenador

al que se encuentran conectados. Se podrán visualizar medidas (nivel cubas) y

enviar comandos y órdenes para el control del dispositivo.

1 Introducción 13

El ordenador remoto será el encargado de recibir las medidas de los distintos

dispositivos de la planta, y enviar comandos u órdenes a la misma. De la misma

forma se creará una base de datos para la generación de históricos, un sistema de

seguridad para la identificación de usuarios y un sistema que alerta de las

alarmas que se producen.

Como ya se ha mencionado anteriormente hay muchos sistemas SCADA en el

mercado, pero como se comercializan para distintas aplicaciones, sólo se usa una

pequeña parte de sus funciones. Así, algunas empresas eligen crear su propio

SCADA programándolo con lenguajes de programación estándar. El resultado es

una interfaz más optimizada y adaptada al proceso que se está automatizando.

Muchos de los sistemas SCADA instalados hoy en día se están convirtiendo

en parte integral de la estructura de los Sistemas Gerenciales de información.

Estos sistemas no están siendo vistos por los Gerentes como simples

herramientas de operación y de Ingeniería, sino como una fuente importante de

información. En este rol, estos sistemas continúan sirviendo como el centro de

responsabilidades de operación, pero además, proveen información a sistemas y

usuarios fuera del ambiente de control, importante para la toma de decisiones de

negocio.

1.3 Objetivos

El objetivo final del proyecto es desarrollar un SCADA que permita

supervisar y controlar remotamente varios equipos de control de nivel de un

depósito que se encuentran en el laboratorio de control de ICAI.

La aplicación se puede dividir en tres niveles que se consideran objetivos

parciales del proyecto.

Primer nivel: Control local de la planta: Realización de una aplicación de

control para cada uno de los equipos, capaz de controlar los mismos.

Segundo nivel: Supervisión remota: Creación de la aplicación de supervisión

remota desde el ordenador central. La aplicación deberá generar una base de

datos con los históricos de la planta.

1 Introducción 14

Tercer nivel: Exportación de datos relevantes: Aplicación que permitirá

acceder a la base de datos de la planta y visualizar el estado de la misma, pero no

podrá enviar comandos y órdenes.

Un último objetivo es desarrollar la documentación de proyecto.

La aplicación responde al esquema de la Figura 9.

Figura 9. Esquema con las partes del sistema SCADA

1 Introducción 15

1.4 Recursos empleados

Los recursos que se han empleado en este proyecto aquellos que se encuentran

en el Laboratorio de Control de ICAI, entre ellos:

• Tarjeta de adquisición de datos PCI 6014 de National Instruments. • 3 PC • Planta a controlar (2 cubas) • Red de Ethernet

El software utilizado es el de National Instruments, concretamente

LabVIEW 7.1 con los módulos PID Control Toolkit y DSC Module.

2 Especificación del proyecto

2 Especificación del proyecto 17

2 Especificación del proyecto

Las diferentes etapas necesarias para

poder realizar la supervisión y la adquisición

de datos de la planta están descritas en la

Figura 10 .

El proceso que se va a supervisar es el

nivel de agua de unas cubas que se

encuentran en el Laboratorio de Control de

ICAI.

El sistema de control será un regulador

PID implementado en LabVIEW.

Figura 10. Etapas de un proceso de supervisión

Las comunicaciones se realizarán a través de la red interna de la Universidad.

Se realizará una aplicación en LabVIEW para el proceso de supervisión, con

una interfaz intuitiva y simple de manejar. Además, esta aplicación mostrará el

estado de la planta y guardará datos históricos.

La Figura 11 muestra el esquema de la supervisión mediante un

PC. Su interfaz gráfica va a permitir la monitorización y el control de las cubas.

Esta arquitectura involucra tres elementos: un PC de supervisión, un PC con el

sistema de control (en realidad son tantos como cubas contiene el proyecto) y el

proceso a supervisar.

2 Especificación del proyecto 18

Figura 11. Esquema de la supervisión en el proyecto

2.1 Descripción de la planta

Se trata de una planta en la que se controla el nivel de agua de un depósito.

Estos sistemas están compuestos por 2 cubas comunicadas por un conducto en su

base. Aunque se pueden enviar órdenes a las dos bombas que alimentan las

cubas, en este proyecto sólo se van a enviar a la cuba izquierda. Del mismo

modo, se puede medir el nivel de agua de cada una de ellas, aunque sólo se

medirá el de la cuba izquierda (si de desea, se puede modificar). Tienen dos

orificios en la parte inferior, uno que puede ser cerrado mediante una llave de

paso y sirve para vaciarlo. El otro está taponado en el izquierdo y abierto en el

derecho.

2 Especificación del proyecto 19

Figura 12. Sistema de control de nivel de un depósito

A continuación se esquematiza el

proceso. La bomba de la cuba

izquierda suministra agua a esta cuba.

El agua pasa por el conducto que une

ambas cubas. Por un lado llena la cuba

derecha y por otro lado el agua sale de

ella por el orificio que está abierto.

Figura 13. Esquema de funcionamiento

Lo que se pretende controlar es el nivel de la cuba izquierda, echando agua en

esta misma cuba. Para ello se puede actuar de dos formas:

— Modo Automático: El operador de la planta selecciona el nivel de agua

(Setpoint) que quiere en la cuba izquierda. Mediante un control PID se regula el

caudal de forma automática hasta alcanzar dicho nivel y después se mantiene.

2 Especificación del proyecto 20

— Modo Manual: Un operador de alto nivel, o el administrador, pueden abrir

el lazo de control y determinar directamente el caudal de agua que deseen.

Tanto el nivel de depósito, como el voltaje que se puede aplicar a las bombas,

vienen dados en porcentaje. En el caso del nivel, vacío corresponde a -100%, 0%

a la mitad y 100% al máximo. En el caso de la bomba, se puede regular el caudal

desde el 0% hasta el 100% de su capacidad.

2.2 Requisitos del Control de la planta.

El control de la planta se va a implementar en LabVIEW. Un ordenador

localizado en la planta recibe la medida del nivel de las cubas; en función del

nivel de agua que hay y el que se desea, el regulador varía el mando (caudal) a

enviar.

Figura 14. Control Cubas

El control que se usa para mantener el nivel de agua de las cubas deseado es

un controlador PID (Proporcional Integral Diferencial). La parte proporcional

consiste en el producto entre la señal de error y la constante proporcional. La

limitación del control proporcional aislado es que se produce un error en

régimen permanente. El citado error se elimina con el control integral, que

sumado a la parte proporcional consigue una respuesta del sistema sin error en

régimen permanente frente a escalones en la referencia y perturbación. Se ha

usado la forma paralelo, sin ponderación de la referencia y sin filtrado del error

en la parte derivativa.

El control responde al esquema de la Figura 15.

2 Especificación del proyecto 21

Figura 15. Diagrama de bloques de un regulados PID paralelo

Donde:

- SP: Set Point, referencia.

- PV: Process Value, nivel de agua.

- u: Control Output, mando.

⋅⋅+⋅

⋅+⋅= )()(

11)( sPVsTsE

sTKsC d

ic

Ecuación 1. Control no interactivo. Suma P+I+D

El nivel de depósito se puede controlar también de forma manual, para ello, se

abre el lazo de control y el operador varía manualmente el mando. Al volver a

pasar a control automático la acción integral ha estado integrando un error, de

modo que al volver al control automático, tendrá unas condiciones iniciales no

acordes con el estado de la planta. Esto puede producir cambios bruscos en la

variable de mando. Para evitar esto, el regulador, cuando está en fase manual, va

siguiendo las acciones del operador, ajustándose en todo momento a ellas a

través de un parámetro de tracking, que en la figura se ha fijado a 1.

2 Especificación del proyecto 22

Figura 16. Esquema que ilustra el paso de manual a automático

El mando a aplicar al sistema varía en un margen de valores que no se puede

exceder, aunque el regulador lo pudiera pedir. En este caso el mando se queda

saturado en el límite correspondiente, dando un mando constante. Este

fenómeno puede darse en distintas situaciones, siendo frecuente en los arranques

de un proceso, cuando la diferencia entre el valor de referencia y el valor de la

salida (error) es grande. Durante el tiempo en que actúa el mando constante, el

control integral acumula una considerable integral del error. Al llegar a errores

pequeños el mando no disminuye como cabría esperar, porque el regulador

intenta compensar la integral del error, y esto produce unas oscilaciones

alrededor de la referencia que hacen mucho más lenta la respuesta. Este

fenómeno se denomina windup, Para evitar que esto suceda, el regulador lleva

un anti-windup.

Para eliminar la acción integral hay que hacer Ti=∞ , pero si por confusión el

operador introduce Ti=0, se elimina la acción integral también.

Las ecuaciones del sistema son:

PVSPke −=)( Siendo SP la consigna y PV el nivel de agua en la cuba.

Ecuación 2. Error

2 Especificación del proyecto 23

)()( keKku cp ⋅=

Ecuación 3. Acción proporcional

tieie

T

Kku

k

ii

cI ∆⋅

−+⋅= ∑=1 2

)1()()(

Ecuación 4. Acción integral

[ ])1()()( −−⋅∆

⋅−= kPVkPVt

TKku d

cd

Ecuación 5. Acción derivativa

2.3 Especificación de la aplicación de Control Local

El control local de las cubas tiene que responder a las siguientes

especificaciones:

- Poder cambiar los parámetros del regulador (Ti, Td y Kc).

- Poder elegir el nivel de referencia que se desea (Setpoint).

- Mostrar en una gráfica cómo varía en función del tiempo el mando

(Control), referencia (Setpoint) y nivel de agua (PV), todo ello en %.

- Permitir el paso de manual a automático.

Todo ello debe ser posible mediante una interfaz intuitiva y fácil de manejar.

2.4 Especificación de la aplicación de Control Remoto

La aplicación de control remoto tiene que responder a las mismas necesidades

que el control local, es decir, tiene que ofrecer la posibilidad de cambiar las

variables (Ti, Td, Kc, SP y poder pasar de manual a automático).

Además de esto, tiene que responder a las siguientes especificaciones:

2 Especificación del proyecto 24

- Poseer un entorno visual que ofrezca al operador una recreación de lo que

ocurre en la planta, y que permita la interacción del ser humano con los medios

tecnológicos implementados.

- Poder enviar órdenes a los controles locales, y poder ajustar parámetros.

— Ofrecer imágenes en movimiento que representen el comportamiento del

proceso, dando al operador la impresión de estar presente dentro de una planta

real.

— Representar señales de alarma para lograr alertar al operador cuando tiene

lugar una condición perjudicial o fuera de lo aceptable, así como la posibilidad

de reconocerlas.

— Hay que contar con la opción de almacenar los datos adquiridos. Esta

información puede analizarse posteriormente en una hoja de cálculo.

2.5 Especificación de las comunicaciones

Las comunicaciones se tienen que realizar a través de la red local de la

Universidad.

2.6 Privilegios de los distintos usuarios

No todos los usuarios del sistema deben poder acceder a los mismos

parámetros. De esta forma se distinguen 4 grupos de usuarios con las siguientes

características:

El grupo Operator, con un nivel 5 de seguridad, puede cambiar la consigna

(Setpoint), puede reconocer alarmas y acceder a la lista de alarmas, así como

exportar datos del histórico a una hoja de Excel.

El grupo System Operator, con un nivel 7 de seguridad, tiene acceso a la

consigna (Setpoint), también puede cambiar a modo manual y de esta forma

variar el mando (control) de forma manual. Al igual que el grupo Operator, puede

reconocer alarmas y acceder a la lista de las mismas, así como exportar datos del

histórico a una hora de Excel.

2 Especificación del proyecto 25

El grupo Administrator posee los mismos privilegios que el grupo System

Operator, y además, puede modificar los parámetros del PID (Ti, Td y Kc). El

Administrador es el único que puede parar la aplicación para salir de ella.

Los grupos Guest y Nobody sólo pueden visualizar el sistema.

3 Diseño del Control Local

3 Diseño del Control Local 27

3 Diseño del Control Local

En este capítulo se van a explicar las medidas adoptadas para responder a las

especificaciones del control local de la planta.

3.1 Interfaz gráfica

La interfaz es muy simple, sólo se visualizan los controles básicos para el

funcionamiento. Se ha escogido una frecuencia de muestreo de 1 muestra/s, y

los canales de entrada y salida también se han considerado constantes.

Figura 17. Interfaz control local

A continuación se detallan los distintos elementos que aparecen en la interfaz

del control local.

1. STOP.- Para el programa, sólo puede acceder a él el administrador

2. Login/Logout.- Para identificarse como usuario en el sistema.

3. Modo Manual o Automático.- Moviendo el slide a la derecha el

sistema trabaja en automático y hacia la izquierda en manual.

3 Diseño del Control Local 28

4. Setpoint(%).- Control para fijar el nivel de agua que se quiere alcanzar

cuando está trabajando en automático

5. Parámetros del controlador.- Controles para modificar los parámetros

del controlador que se ha comentado en la sección 2.2.

6. Manual Control (%).- Control, botón giratorio, para variar el valor del

mando cuando se trabaja en modo manual.

7. PV(%).- Nivel de agua de la cuba, -100% vacío, 100% lleno.

8. Gráfica que muestra la referencia (Setpoint), el mando (Control) y el

nivel de agua (PV) en función del tiempo.

9. User Group.- Indicador del grupo al que pertenece el usuario que se ha

identificado en el sistema.

Cuando el nivel de agua se encuentra por debajo del -70%, o por encima de

70%, aparecen unos indicadores para alertar del estado de la planta.

Figura 18. Indicadores de alarma cuando el nivel de agua es -93,4%

Dependiendo del nivel de agua, pueden aparecer los siguientes indicadores

luminosos.

3 Diseño del Control Local 29

Nivel de agua por debajo del -70% y por encima del -

90%

Nivel de agua por debajo del -90%

Nivel de agua por encima del 70% y por debajo del 90%

Nivel de agua por encima del 90%

Tabla 2. Indicadores de alarma

3.2 Implementación del Control en LabVIEW

Como ya se ha comentado, se adquiere la medida del nivel de agua de la

tarjeta de adquisición de datos y se envía el voltaje a aplicar en la bomba. Si el

control está en automático, el regulador envía el mando que hay que aplicar para

llegar al nivel de agua necesario y si está en manual se selecciona el mando

deseado con un botón giratorio.

Para realizar el código se partió del siguiente ejemplo, obtenido de los

ejemplos que proporciona LabVIEW:

3 Diseño del Control Local 30

Figura 19. DAQmx example

En este ejemplo, el programa adquiere la medida de nivel de agua, y se la pasa

al VI PID, cuyas entradas también son los parámetros del controlador. La salida

del VI PID es el mando que hay que aplicar a la planta.

Este ejemplo se modificó para que respondiese a las especificaciones del

control local.

3.2.1 Tarjeta de adquisición de datos

Hoy en día existe una gran variedad de tarjetas de adquisición de datos. En

este proyecto se ha usado la tarjeta PCI 6014 de National Instruments, que tiene

dos salidas analógicas, 8 líneas de E/S digitales y dos contadores de 24 bits.

Tipo Canal Descripción Máximo Mínimo ao0 Bomba izquierda 10V 0V Output ao1 Bomba derecha 10V 0V ai0 Depósito izquierdo 10 -10 Input ai1 Depósito derecho 10 -10

Tabla 1. Canales de la tarjeta de adquisición de datos

Para reducir el código, se creó un VI llamado Exp datos, cuyo código se

muestra en la Figura 20, que se encarga de la lectura de la tarjeta de adquisición

de datos.

3 Diseño del Control Local 31

Figura 20. Exp datos VI

En este proyecto se está midiendo el nivel de agua de la cuba izquierda y

suministrando agua a la cuba izquierda también. Si por cualquier motivo se

quisiese modificar esto, habría que modificar las entradas Physical Channels del VI

exp datos.

Los valores que proporciona la tarjeta de adquisición de datos se dan en

Voltios, es más significativo saber que se está aplicando el 50% del mando a

decir que se están aplicando 5 Voltios. Por esta razón se transformaron los

valores del nivel de agua y del mando a %.

A la válvula se le puede aplicar un voltaje de 0 a 10V, para pasarlo a %, se

pone el control de 0 a 100 y se divide entre 10 antes de enviarlo a la tarjeta de

adquisición de datos.

En el caso del nivel de agua se recibe un voltaje de -10V a 10V, por lo que

bastaría con multiplicar por 10 la lectura de la tarjeta de adquisición de datos. Se

ha determinado que el nivel de vacío (-100%) o lleno (100%) no correspondan con

la cuba totalmente vacía o llena, debido al error de medida de los sensores que se

produce por debajo de un cierto valor de agua y a que una protección salta antes

de que la cuba rebose. Por esta razón se multiplica por 11,5 la lectura de la tarjeta

adquisición de datos.

3 Diseño del Control Local 32

Para cambiar frecuencia de muestreo, habría que cambiar el valor de Rate en el

VI Exp datos.

3.2.2 Implementación del Control en LabVIEW

Inicialmente se realizó el control con el VI PID como venía en el ejemplo que

se ha ilustrado en la Figura 19, que se encuentra en el PID toolkit. El problema es

que este VI no contemplaba la posibilidad de pasar de manual a automático de

modo suave (Bumpless transfer), por lo que se recurrió al PID Advanced, también

en la paleta de PID.

Figura 21. PID VIs

El PID Advanced VI representa un PID en la forma paralelo, con ponderación

de la referencia, paso suave de manual a automático, con anti-windup, con la

opción de linealizar el error y sin filtrado para la parte derivativa. Debido a la

simplicidad del proceso, se modificó el VI, eliminando la ponderación de la

referencia y la opción de linealizar. El resultado se muestra en la Figura 20.

3 Diseño del Control Local 33

Figura 22. Diagrama de bloques del PID advanced modificado

El mando es la misma variable, así cuando el sistema se encuentra en

automático, el control que regula el mando en manual también se mueve. De

esta forma cuando pasamos de automático a manual, el valor del mando no varía

bruscamente y permanece en el último valor que proporcionó el mando

automático. La transición también es suave cuando se pasa de modo manual a

modo automático.

3 Diseño del Control Local 34

Figura 23. Código correspondiente a la adquisición de datos, control y monitorización del proceso

3.2.3 Indicadores de alarma

Para visualizar los indicadores luminosos de alarma cuando la planta se

encuentra en alarma, y no hacerlo mientras el funcionamiento es normal, se ha

creado una referencia para cada uno de los indicadores y se cambian las

propiedades en función del estado del sistema.

Figura 24. Crear una referencia a un control

3 Diseño del Control Local 35

Cuando se crea la referencia el control permanece, pero se pueden cambiar

todas sus propiedades a través de su referencia. Para hacer esto, clic derecho

sobre la referencia y create>>property, aparece un lista con todas las propiedades

que se pueden modificar.

Figura 25. Propiedades de un control booleano

En el caso de las alarmas usamos visible (para visualizar el led) y value (para

cambiar de verdadero a falso en función del estado de la planta). A continuación

se muestra la estructura case con las distintas opciones en función del estado de

la planta, y el caso de LO LO (nivel menor que -90%) y LO (nivel menor que -

70%).

3 Diseño del Control Local 36

Figura 26. Case estructure para las alarmas

Cuando la planta está en estado normal (no hay alarmas) todos los

indicadores se encuentran no visibles. Cuando el estado es LO LO, se fuerza a

verdadero el valor del Led LO LO y LO, y se pone en verdadero la opción de

visualizar el Led.

3.3 Herramientas de programación

Todos los controles introducidos en el panel frontal que generan un Terminal

en el diagrama de bloques van a ser variables, identificables por el nombre de la

etiqueta. Para utilizar las variables en otros puntos del programa, sin llenarlo de

cables, se pueden usar: variables locales, variables globales, Tags, crear una

referencia o combinar algunas de las opciones anteriores.

En las variables locales los datos se almacenan en algunos de los controles o

indicadores existentes en el panel frontal de VI creado; es por eso que estas

variables no sirven para intercambiar datos entre VIs. La principal utilidad de

estas variables radica en el hecho de que una vez creada la variable local no

importa que proceda de un indicador o de un control, ya que se podrá utilizar en

3 Diseño del Control Local 37

un mismo diagrama, tanto de entrada como de salida, es decir, se puede leer el

valor de la variable o se puede modificar la variable. En este proyecto se han

usado variables locales en la aplicación de control local.

Las variables globales son un tipo especial de VI, que únicamente dispone de

panel frontal, en el cual se define el tipo de dato de la variable y el nombre de

identificación imprescindible para poder referirse a ella. Estas variables si sirven

para intercambiar datos entre VIs. No se han creado variables globales para

ninguna aplicación de este proyecto.

Creando una referencia a un control o indicador, se puede acceder a las

propiedades de dicho control o indicador, además de poder modificar o mostrar

su valor. Se ha usado este método para cambiar o leer el valor de variables y

para ocultar y mostrar controles.

Una herramienta fundamental en este proyecto son las Tags. Las Tags son

muy importantes en el DSC Module, representan la conexión entre cualquier

punto real de entrada/salida o cualquier variable. Las Tags se pueden configurar

para que se inicialicen en un valor, se muevan en un rango de valores, almacenen

sus datos en un histórico o produzcan un

mensaje de error si salen de un rango de

datos definidos. El Tag Engine es el

encargado de mantener todos los valores de

las Tags y las alarmas, ejecutándose como un

proceso diferente, independientemente de la aplicación de interfaz. Cuando el

Tag Engine está funcionando aparece un indicador luminoso de color verde en los

controles o indicadores que están asociados a una Tag, y aparece en la barra de

tareas el siguiente icono

El Tag Engine permite compartir Tags a través de la red. De esta forma el

control remoto compartirá las Tags de los controles locales, como se detalla más

adelante.

Para que el Tag Engine arranque automáticamente cuando se arranca la

aplicación con el archivo .scf deseado, se usa el VI Engine Launch.

3 Diseño del Control Local 38

Figura 27. Engine Launch VI

Las Tags que se van a usar en un programa tienen que estar guardadas en un

archivo .scf, estos archivos se gestionan desde Tag Configuration Editor.

Figura 28. Tag Configuration Editor

En la Figura 28 se muestran las Tags que hay en la aplicación de control local.

Estas Tags coinciden con los variables que se van a enviar por la red. Todas son

de tipo analógico, aunque el slide de paso de manual a automático debería haber

sido de tipo discreto. Debido a que no funcionaba de forma correcta, se realizó

con una Tag analógica; una vez adquirido el valor de la Tag se pasa a discreto

para poder trabajar con el slide.

La Tag del mando, llamada control, está asociada a todos los controles e

indicadores asociados con el mando, independientemente de si funciona en

manual o en automático. De esta forma el botón giratorio que regula el mando

en manual sigue al mando automático cuando la aplicación se está ejecutando en

modo automático. De la misma forma, cuando se pasa a manual, el mando

3 Diseño del Control Local 39

proporciona el último valor que proporcionó el mando automático, y los

indicadores de nivel muestran siempre la misma Tag.

Las Tags se pueden crear de diferentes formas: generándolas automáticamente

en el Tag Configuration Wizard, creándolas manualmente en el Tag Configuration

Editor, o haciendo clic con el botón derecho del ratón sobre el control o indicador

al que se quiere asociar la Tag, seleccionar HMI Wizard y crear desde ahí la nueva

Tag. En este proyecto se ha optado por la última opción.

Figura 29. Crear una nueva Tag desde HMI Wizard

Sobre cada uno de los botones o indicadores situados en el panel frontal, se

hizo clic derecho sobre ellos y HMI Wizard, se crea la Tag y automáticamente se

genera el código necesario para conectar el botón al punto de entrada o salida.

3 Diseño del Control Local 40

Figura 30. Código generado con HMI Wizard

Para usar posteriormente los las Tags en otros puntos del programa se recurre

a la paleta de Tags.

Figura 31. Subpaleta Tags

Con el VI Read, se lee el valor de la Tag deseada y se muestra el valor en el

panel frontal a través de un indicador, o se realizan las operaciones necesarias

con él. Para cambiar el valor de una Tag se usa Write.

3 Diseño del Control Local 41

3.4 Configuración de los Usuarios

Para poder hacer uso de la aplicación es necesario identificarse como usuario.

Dependiendo del nivel, el usuario podrá tener acceso a los distintos controles del

sistema. Hay 4 grupos de usuarios con distintos privilegios. Se ha creado un

usuario para cada 3 de ellos a modo de ejemplo. Para añadir más usuarios o

grupos de usuarios, cambiar las contraseñas, asignar un nivel a los usuarios y

borrar cuentas de usuario o grupos: Tools>> DSC Module>>Security>>Edit User

Accounts. Hay que identificarse como administrador para realizar estos cambios.

Figura 32. User Account Manager

User Group User Name Password Security Level Group

Guest - -

Operador Operador Ope 5

System operator Engineer Eng 7

Non

Administrador

Administrator Administrator 9 Administrador

Tabla 2. Usuarios del sistema

Antes de realizar el Loggin o después de hacer Loggout el usuario es Nobody. El

grupo Nobody sólo puede visualizar la los controles, pero no cambiarlos.

3 Diseño del Control Local 42

Figura 33. Ventana para autentificarse como usuario

El grupo Operator, con un nivel 5 de seguridad puede cambiar la consigna

(Setpoint).

El grupo System Operator tiene acceso a la consigna (Setpoint), puede cambiar

a modo manual y variar el mando (Control).

El grupo Administrator tiene acceso a todos los controles: los citados

anteriormente más los parámetros del PID (Ti, Td y Kc) y el botón de STOP, que

es el que para la aplicación.

Para que los controles se puedan manipular o no en función de grupo de

usuario, clic derecho del ratón sobre el control en cuestión y elegir Security. Por

defecto pone Everybody- Full access, para cambiarlo poner Everybody- Disabled &

Grayed Out. Para permitir a algún grupo acceder al control, Add>>grupo de

usuarios>> full access.

3 Diseño del Control Local 43

Para que aparezca el panel para identificarse como usuario cuando se hace clic

en Login/Logout hay que crear un botón, llamarlo Login/Logout, hacer clic

derecho sobre él y elegir Panel Wizard.

Figura 34. Panel Wizard

En Panel Wizard hacer clic en la opción Login prompt y OK.

4 Comunicaciones

4 Comunicaciones 45

4 Comunicaciones

En el proyecto, las comunicaciones son un punto clave ya que el SCADA debe

tener acceso al estado de las variables del proceso.

En Internet encontramos un estándar a nivel mundial de muy bajo coste por el

cual podemos distribuir todo tipo de información.

Con LabVIEW, la publicación y distribución de datos que genera nuestra

aplicación, se puede llevar a cabo a través de Internet forma relativamente

sencilla.

4.1 Herramientas

A continuación se presentan algunas de las herramientas que se pueden usar

para intercambiar datos a través de la red de área local o a través de Internet.

4.1.1 TCP-IP

Con el protocolo TCP-IP (Transmisión Control Protocol), podemos

interconectarnos con equipos que se encuentren fuera de nuestra red local. Es

decir, podemos conectarnos con cualquier equipo que también está conectado a

Internet y que tenga una dirección IP. Una vez conectado con dicho equipo, se

puede transmitir todo tipo de información.

TCP-IP es un protocolo de comunicaciones que permite comunicar cualquier

sistema que tenga una interfaz TCP-IP, no sólo PCs.

De esta forma se puede conectar cualquier instrumento a través de una

interfaz TCP-IP a Internet y así poder manipular estos instrumentos desde

cualquier parte del planeta sin tener que crear una infraestructura adicional.

Como primera solución se optó por usar los VI de TCP que proporciona

LabVIEW para realizar las comunicaciones. De esta forma se realizaron 2

estructuras, una para leer datos y otra para escribirlos.

4 Comunicaciones 46

Figura 35. Diagrama de bloques de la estructura para leer datos

Figura 36.Diagrama de bloques del VI leer TCP

La estructura para escribir datos y el VI escribir datos son muy similares a la

Figura 35, y a la Figura 36, por lo que no tiene interés representarlos también. Se

consiguió desarrollar un programa que mostraba de forma remota un gráfico con

las variables PV, Setpoint y Control. El ordenador de control local actuaba de

servidor y enviaba los datos, mientras que el ordenador central actuaba de cliente

recibiendo los datos. El siguiente paso era que todos los ordenadores trabajasen

como cliente y servidor al mismo tiempo, de forma que pudiesen tanto enviar

datos como recibirlos. Este método se desestimó porque era poco flexible, y si se

paraba el programa u ocurría algún problema en alguno de los 2 ordenadores, el

otro paraba también.

4 Comunicaciones 47

4.1.2 UDP

El protocolo UDP (User Datagram Protocol), al contrario que el TCP-IP, está

más enfocado a trabajar con redes de ámbito local. Su filosofía de trabajo es

similar a la de TCP_IP, por lo que se desestimó también. La diferencia entre ellos

es que UDP no está orientado a conexión, la información se envía a la red y los

ordenadores destino se encargan de recogerla.

4.1.3 DataSocket (Marca registrada de Nacional Instruments)

DataSocket, es una nueva tecnología de programación basada en el estándar

TCP/IP, simplificando el intercambio de datos entre distintas aplicaciones entre

un mismo ordenador o entre ordenadores conectados a la red.

Las librerías de DataSocket ahorran programación a la hora de publicar y

compartir los datos que genera una aplicación en LabVIEW a través de la red.

DataSocket se divide en dos aplicaciones: DataSocket API y DataSocket Server.

DataSocket API presenta una interfaz simple para comunicarse con varios tipos de

datos de varios lenguajes. DataSocket Server resuelve la programación a bajo

nivel sobre TCP/I P y se encarga de servir los datos que se quieren publicar.

4 Comunicaciones 48

Figura 37.Esquema de una comunicación por DataSocket

En la comunicación mediante DataSocket intervienen tres actores:

- El que publica: aplicación donde se generan los datos a compartir.

- El que suscribe: aplicación que importa los datos desde otra aplicación.

- DataSocket SERVER: aplicación que sirve los datos que son publicados

para las aplicaciones que quieren acceder a ellos.

Cuando usamos HMI Wizard para generar el código, se genera una URL

DataSocket para la Tag asociada con el control del panel frontal.

4 Comunicaciones 49

4.2 La tecnología OPC

El bus OPC (OLE1 for Process Control) es un estándar de comunicación en el

campo del control y supervisión de procesos. Este estándar permite que

diferentes fuentes de datos envíen datos a un mismo servidor OPC, al que a su

vez podrán conectarse diferentes programas compatibles con dicho estándar. De

este modo se elimina la necesidad de que todos los programas cuenten con

drivers para dialogar con múltiples fuentes de datos, basta que tengan un driver

OPC.

Se puede leer y escribir en un servidor de OPC usando DataSocket. El Tag

Engine se encarga del OPC, siendo un cliente y un servidor de OPC. Cuando se

arranca el Tag Engine, se carga un archivo .scf, donde se puede cargar cualquier

servidor que requieran las Tags cargadas en ese archivo. Cuando el Tag Engine

actúa como servidor, el software que actúa como cliente ve al Tag Engine como

un servidor llamado National Instruments.OPCLabVIEW.

4.3 Diseño de las comunicaciones

Cuando se genera un código con el HMI Wizard, éste hace una conexión

DataSocket entre el elemento del panel frontal y la Tag.

Una aplicación con el DSC Module contiene 3 elementos que trabajan juntos: la

interfaz gráfica, el Tag Engine y varios servidores.

1 Tecnología de transferencia y compartición de información entre

aplicaciones. Permite insertar un fichero o un programa como un objeto en otro

fichero. Los objetos insertados retienen su formato original y se enlazan a la

aplicación que los creó. Es una especificación diseñada por Microsoft que

funciona en Windows y Macintosh.

4 Comunicaciones 50

Figura 38. Partes de una aplicación con DSC Module

En el módulo DSC, device servers es una aplicación que se comunica con

dispositivos de entrada/salida como PLCs, dispositivos de entrada/salida

remotos, Tag Engines remotos y dispositivos de adquisición de datos (DAQ).

Estos servidores leen la entrada seleccionada y escriben cuando se requiere.

Al ser OPC-compliant, el DSC Module puede aplicarse tanto como cliente como

servidor OPC. Cuando una aplicación del DSC Module se está ejecutando, se

determina desde el archivo de configuración (.scf) cada servidor que se necesita.

4.4 Ethernet

La industria del PC ha estandarizado los buses de comunicación, haciendo

fácil diseñar un sistema de medición y control distribuido. En cada ocasión hay

que elegir el bus de datos que más se ajuste a las necesidades, ya sea el PCI, PXI,

GPIB, USB, FireWire, Ethernet, u otros buses de comunicación futuros. Ethernet

se ha convertido en el estándar para sistemas altamente distribuidos. Existen

cuatro beneficios básicos al usar Ethernet, lo que ha permitido su adopción en

automatización y medición distribuida:

4 Comunicaciones 51

- Tecnología presente en todas partes.

- Comunicación simplificada entre máquinas. Las compañías se están

estandarizando con Ethernet, es posible conectar múltiples dispositivos en un

bus físico. Las siete capas de la arquitectura OSI permiten a Ethernet soportar

diferentes protocolos simultáneamente en una conexión física común. En un sólo

bus Ethernet, puede tener comunicaciones TCP, FTP, HTTP, y Modbus

ocurriendo simultáneamente.

- Comunicaciones a la empresa. Uno de los principales beneficios del Ethernet

es la habilidad para comunicarse fácilmente entre máquinas y sistemas

corporativos. La mayor parte de las empresas tienen una red Ethernet existente,

típicamente en forma de red de área local.

- El ancho de banda Ethernet lo hace adecuado para aplicaciones de medición

y control.

4.5 Diseño de las comunicaciones

En la aplicación remota no se quieren crear Tags, sino usar las existentes en los

controles locales para poder enviar órdenes a través de ellos a las cubas y recibir

el nivel de agua. De esta forma, si por ejemplo el valor del mando se modifica en

el sistema central, se modificará también en el control local de la cuba en cuestión

y se modificarán todos los indicadores que muestren el valor de ese mando.

En el panel frontal, sobre los botones de las variables de interés (Kc, Ti, Td,

Setpoint, control, PV y automático) se hace clic derecho y se elige HMI Wizard, se

elige crear new tag(ver Figura 29) y se selecciona Registered Computers.

4 Comunicaciones 52

Figura 39. Generación de Tags automáticamente

Aparece una lista con todos los ordenadores que se pueden comunicar con él y

las Tags que hay. En este proyecto se usan los ordenadores AILECPC010 para el

Tank 1 y el AILECPC005 para el Tank 2. El ordenador donde se ejecuta la

aplicación de supervisión remota es el AILECPC007. Las Tags del ordenador de

supervisión se archivan en el archivo scada1.scf con el nombre del ordenador

donde se encuentran, seguido del nombre del programa y finalmente el nombre

de la Tag del lugar de origen. Si en el control local del Tank 1 la Tag del nivel de

agua se llamaba PV, en el ordenador central se va a llamar

_AILECPC010_LabVIEW_PV. Si se cambiase el o los ordenadores del control

local, habría que cambiar el archivo scada1.scf, buscando el nuevo ordenador y

sus Tags en Registered Computers.

5 Supervisión Remota

5 Supervisión Remota 54

5 Supervisión Remota

En este apartado se va a explicar la aplicación de Supervisión Remota. Desde

ella se podrán variar los parámetros de las 2 cubas que constituyen el sistema y

obtener datos relevantes, como la existencia de alarmas o poder exportar los

datos del histórico a una hoja de Excel.

5.1 Interfaz gráfica

La pantalla principal de la aplicación muestra una representación gráfica de la

planta. A medida que el nivel de agua sube o baja en las cubas, también lo hace

su representación en al pantalla del ordenador.

Figura 40. Interfaz principal de la aplicación de supervisión remota.

1.- STOP.- Para el programa; sólo puede acceder a él el administrador

2.- Login/Logout.- Para identificarse como usuario en el sistema.

5 Su 55

5 Supervisión Remota

3.- Tank x.- Con un clic del ratón sobre este botón se accede a los

parámetros de control de la cuba x y a la visualización de las medidas de

la misma.

4.- Save Data.- Permite pasar a un Excel los valores de las Tags que se

quiera, de cualquiera de las 2 cubas, en un periodo de tiempo determinado

por el usuario y con periodo de muestreo estipulado también por el

usuario. Por defecto se ha puesto un minuto entre muestra y muestra.

5.- User Group.- Indicador del grupo al que pertenece el usuario que se ha

identificado en el sistema.

6.- Representación de la planta.

7.- Level.- PV (%).- Nivel de agua de la cuba, -100% vacío, 100% lleno.

8.- Estado del control.- Si el sistema se encuentra en modo automático, se

visualiza Automatic Mode, si por el contrario está en manual aparece

Manual Mode. Si está en modo manual se visualiza el mando que se está

aplicando, si por el contrario está en automático se visualiza el Setpoint.

9.- Alarm List.- Muestra las alarmas que se han producido en el sistema, las

que han sido reconocidas (ack), las que no han sido reconocidas (unack), las

que están activas y las que no lo están.

10.- ACK.- Se usa para reconocer la alarma.

11.- Alarmas.- En el caso de haber alguna alarma aparece el código de la

misma.

12.- Setpoint.- Aparece sólo cuando el sistema se encuentra en modo

automático, permitiendo seleccionar el nivel de agua deseado.

Para hacer que el slide que permite cambiar el Setpoint sea visible o no, en

función de si el control se encuentra en modo manual o automático, se recurre a

crear una referencia para el slide y variar su propiedad visible en función del

5 Su 56

5 Supervisión Remota

estado. Para el texto se ha creado una variable tipo indicador y se pasa una

constante en función del estado de la planta.

Figura 41. Código para mostrar si el sistema está en manual o automático

Como ya se ha comentado antes, para acceder a los distintos paneles desde el

panel principal, sólo hay que hace clic con el ratón sobre los botones. La

programación se ha realizado de forma simple con el DSC Module. Una vez

colocado el botón correspondiente en el panel frontal se hace clic derecho sobre

él, y se selecciona Panel Wizard. En el cuadro de diálogo, se selecciona Browse, y se

busca la ruta donde se encuentra el VI que se quiere ejecutar al hacer clic sobre el

botón.

Figura 42. Abrir un panel con HMI Wizard

5 Su 57

5 Supervisión Remota

En cada uno de los subpaneles que se abre hay un botón para cerrarlo llamado

CLOSE. Esto también se realiza con el DSC Module, se pone un botón en el panel

frontal, clic derecho con el ratón y se selecciona Panel Wizard, ahora se selecciona

en With this control Close this panel.

Figura 43. Cerrar un panel con HMI Wizard

De esta forma se ha dividido la aplicación en distintas ventanas que permiten

funciones concretas, de forma que en la ventana principal se recoge el

funcionamiento normal de la planta y se accede a las funciones específicas a

través del menú superior.

5 Su 58

5 Supervisión Remota

Figura 44. Acceder a la supervisión de la cuba 1

Figura 45. Lista alarmas

5 Su 59

5 Supervisión Remota

Figura 46. Exportar los datos del histórico a una hoja Excel

5.2 Supervisión de las cubas

Cuando se hace clic con el ratón sobre Tank 1 o Tank 2 aparece una pantalla

muy parecida a la del control local, donde se pueden realizar las mismas acciones

sobre el sistema que las que se hacían en el control local.

5 Su 60

5 Supervisión Remota

Figura 47. Interfaz para controlar el sistema x de forma remota

En primer lugar se realiza la interfaz y después, en cada uno de los controles,

con HMI Wizard, se les asigna la Tag correspondiente.

El gráfico se hace con el VI del DSC Module (real-time trend) que se encuentra

en la paleta Trends.

Figura 48. Trenes

5 Su 61

5 Supervisión Remota

Para elegir las variables que se quieren mostrar en el gráfico, se hace clic

derecho sobre él, y se elige HMI Wizard, se escogen las Tags: PV, Setpoint y

Control; de una lista desplegable.

Figura 49. HMI Wizard para Real - Time Trend

5.3 Base de datos

Citadel historical database es una base de datos de National Instruments, que el

DSC Module y otros productos de NI usan para almacenar los datos, eventos y

alarmas que se deseen.

Para crear una base de datos hay que usar el programa Measurement And

Automation Explorer, cuyo icono se encuentra en el escritorio, y seguir los

siguientes pasos: Configuration>> Historical Data>> Clic derecho Create New>>

Historical Data>>Citadel 5 Database.

5 Su 62

5 Supervisión Remota

Figura 50. Pasos para crear una base de datos

Los datos procesados por el Tag Engine se encuentran en la memoria y no hay

ningún archivo para guardarlos. Cuando el Tag Engine para, retiene el último

valor recibido, y no se actualiza hasta que no vuelve a ejecutarse. Citadel toma los

valores del Tag Engine, por lo que ningún valor puede almacenarse mientras este

último no se está ejecutando.

El máximo tamaño de una base de datos de Citadel es de 2GB. Para

aprovechar el espacio, por defecto viene configurado para que sólo se guarden

datos cuando las Tags cambien de valor, y si en una hora no ha habido ningún

cambio se guarda una muestra. El problema es que, con este método, al exportar

los datos a Excel, éste interpola entre los valores que toma, por lo que no guarda

las situaciones en las que una Tag es constante. Por este motivo se ha cambiado

el tiempo máximo entre datos, de 1 hora que venía por defecto a 1 segundo (que

corresponde con el ratio para la adquisición de datos, 1 muestra por segundo).

Para cambiarlo Tag configuration editor>>Configure>Historical y cambiar el Maxium

time between logs.

5 Su 63

5 Supervisión Remota

Figura 51. Historical Logging Configuration

En el Historical Logging Configuration se elige también la ruta de la base de

datos donde se quiere guardar el histórico. Las bases de datos de crean en el

Measurement & Automation Explorer (MAX).

Se ha estimado que en funcionamiento normal de la planta, y a razón de una

muestra por segundo, se archivan 10.422 Bytes/hora. Si el sistema estuviese

funcionando durante todo el día, la base de datos alcanzaría su capacidad

máxima en 23 años aproximadamente.

No es intuitivo cómo acceder a la base de datos, por lo que se ha realizado una

aplicación para poder acceder a un periodo de tiempo concreto, y guardar las

variables que interesen en una hoja de cálculo. Por defecto el archivo que se

guarda lleva como nombre la fecha del día en que se realiza la consulta, pero se

puede cambiar.

5 Su 64

5 Supervisión Remota

Para realizar el código, en la paleta del DSC Module>>Historical Data>> Write

Traces to Spreadsheet File.

Figura 52. VI para exportar los datos del histórico a Excel

Figura 53. Interfaz para exportar los datos a Excel

Para poder acceder a dicha aplicación, clic en el botón Save to Excel, se eligen

las Tags que se quieren guardar, el periodo de tiempo, y el intervalo de tiempo

5 Su 65

5 Supervisión Remota

entre muestra y muestra (por defecto se ha puesto 1 minuto). Después se hace

clic en Save to file.

Para elegir la Tag que se quiere exportar al Excel, es necesario recordar que las

Tags vienen definidas primero por el nombre del sistema donde se encuentran,

luego LabVIEW y después el nombre de la Tag en cuestión. Ejemplo:

AILECPC005_LabVIEW_control (sería el control de la cuba 2)

5.4 Alarmas y eventos

Un evento es algo que pasa dentro del DSC Module. Los eventos se pueden

dividir en dos grupos: Tag events que pertenecen a una Tag individual, y system

events que pertenecen a todo el sistema del DSC Module. Un ejemplo de un Tag

event es un cambio en el estado de una alarma para una Tag. Los system events

incluyen el cambio de usuario del sistema, cuando arranca el Tag Engine o

cuando comienza el sistema a almacenar datos en la base de datos.

En DSC Module, una alarma es un tipo de evento relacionado con el valor de

una Tag. Un evento puede ser una actividad instantánea como un clic del ratón,

pero una alarma suele tener las siguientes características:

-Denota una situación anormal.

-Ocurre bajo unas condiciones específicas.

-Debe ser reconocida por el usuario (acknowledge) o reconocida

automáticamente.

Para configurar el valor para el que una Tag se encuentra en alarma, hay que ir

a Configure Tags, seleccionar la Tag que se desee, doble clic sobre ella y Alarms.

5 Su 66

5 Supervisión Remota

Figura 54. Configurar alarmas

El sistema debería haber incluido un registro de eventos, pero un error en el

programa DSC Module no lo ha permitido, por lo que queda pendiente para

futuras mejoras del sistema.

Para mostrar las alarmas en principio se usó el VI Alarm summary, que

muestra todas las alarmas que existen en ese momento en el sistema, además de

aquellas que ya no se encuentran en estado de alarma pero no han sido

reconocidas. El código se ha creado también con HMI Wizard, eligiendo las Tags

que estaban configuradas para dar alarmas: el nivel de agua de las 2 cubas (PV

de los ordenadores AILECP005 y AILECP010).

Se especificó que debería mostrarse una única línea con la última alarma que

hubiese tenido lugar y la posibilidad de reconocer dicha alarma. Para hacer esto

se creo un VI, alarm, que trabaja con las referencias al Alarm sumary y ACK,

5 Su 67

5 Supervisión Remota

seleccionando sólo la primera alarma de la lista y mostrándola en pantalla por un

string y permitiendo sólo el reconocimiento de la alarma que se muestra. Esto

sería el equivalente a trabajar con punteros en C.

Figura 55. Alarm VI

Para reconocer las alarmas, una vez más se pone un botón en el panel frontal,

clic derecho sobre el y HMI Wizard, poner Alarm Acknowledgement en Atach

Control to y elegir las Tags cuyas alarmas se quieren reconocer (en este caso

AILECPC005_LabVIEW_PV y AILECPC010_LabVIEW_PV).

5 Su 68

5 Supervisión Remota

Figura 56. HMI Wizard para reconocer alarmas

El código generado es el siguiente:

Figura 57. Código para reconocer alarmas

Para poder visualizar todas las alarmas que tienen lugar en el sistema se ha

incluido el VI Alarm Summary en un VI nuevo con el botón Close. Haciendo clic

sobre List se accede a la lista de las alarmas. En esta lista se pueden reconocer las

alarmas una a una haciendo clic derecho con el ratón sobre ellas, y eligiendo la

5 Su 69

5 Supervisión Remota

opción acknowledge. Si se desea, se pueden reconocer todas haciendo acknowledge

all.

Figura 58. Lista de alarmas

.

6 Resultados

6 Resultados 71

6 Resultados

Se ha desarrollado una aplicación para controlar localmente cada una de las

cubas, y una aplicación de supervisión remota que ofrece la posibilidad de

exportar datos históricos y modificar los parámetros de la planta, así como la

visualización de alarmas.

Debido a que los valores de las Tags se actualizan cuando pasan del 1% del

rango de valores que alcanzan, puede haber un error de un 2% entre el valor

medido y el visualizado en la aplicación de supervisión remota. Se podría

eliminar el error, pero consumiría mucho tiempo de la CPU.

6.1 Presentación de los resultados

A continuación se presenta la pantalla de supervisión remota en un instante y

el estado del control local de la cuba 1 en ese mismo instante.

Figura 59. Captura de la pantalla de supervisión remota

6 Resultados 72

El control de la planta se encuentra en modo automático, con un Setpoint igual

a 0 y un nivel de agua igual al 0,2%.

Figura 60. Captura de la pantalla de control local de la cuba 1

Se puede comprobar que efectivamente el sistema se encuentra en modo

automático, el Setpoint es cero y el nivel de agua es del 0,3%, como ya se ha dicho

antes, hay un pequeño error en las medidas.

A continuación se muestra como la aplicación de control remoto de la planta

responde al control remoto de la cuba 1.

6 Resultados 73

Figura 61. Prueba 1 pantalla del sistema de supervisión remota

La cuba 1 se encuentra en modo automático, con una referencia de -70% y un

nivel de -70,2% de agua.

Si hiciésemos clic sobre Tank 1, accederíamos a la siguiente pantalla, donde se

puede ver que el nivel de agua es -70,2%, el sistema se encuentra en automático y

la referencia es -70%.

6 Resultados 74

Figura 62. Prueba 1 Remoto tank 1

A continuación se muestra un proceso de exportación de datos a una hoja de

Excel. En primer lugar se establecen las Tags a guardar, el tiempo de comienzo y

fin y el periodo entre muestras.

6 Resultados 75

Figura 63. Prueba Excel

El proceso que tuvo lugar en el periodo escogido se muestra a continuación.

Figura 64. Estado de la planta durante la prueba Excel

6 Resultados 76

Figura 65. Resultado de la prueba Excel

Las variables se guardan en columnas en el mismo orden en el que se han

solicitado con el nombre de la ruta de la Tag. De esta forma la primera columna

corresponde al modo del control (1=automático). La gráfica muestra unas

variaciones de la referencia, comienza en -100%, y luego pasa a -50%, -40% y así

sucesivamente hasta -20%, lo que se ve registrado en la hoja de Excel.

6.2 Limitaciones del producto final

A medida que se ha añadido código a la aplicación de supervisión remota,

ésta ha ido respondiendo de forma más lenta, de forma que la respuesta de la

aplicación no es instantánea.

Los valores de las Tags, sólo se actualizan en la aplicación remota cuando

cambian en un 1% del rango de valores que alcanzan. El error por este motivo, es

del 1% en el mando y del 2% en el nivel de agua.

El código de colores de las alarmas no se ha podido modificar, porque no se

ha conseguido cambiar de la lista de alarmas. Se puede acceder a las

propiedades de la tabla y cambiar los colores, pero luego no quedan registrados

6 Resultados 77

los cambios. Por esta razón se ha dejado el código de colores que viene por

defecto.

El problema que no se ha conseguido solventar ha sido poder almacenar los

eventos que tienen lugar en el sistema. Se configuró el DSC Module para archivar

automáticamente estos eventos, pero el programa no los guarda. Se recurrió a los

ejemplos que proporciona National Instruments, pero estos ejemplos tampoco

funcionaban. El soporte técnico no ha solventado el problema.

7 Conclusiones

7 Conclusiones 79

7 Conclusiones

El objetivo principal de este proyecto se ha conseguido, es decir, se ha

desarrollado un sistema SCADA para el Laboratorio de Control de ICAI. En el

apartado 1.3, se dividía la aplicación en tres objetivos parciales:

Primer nivel: Control local de la planta. La aplicación se ha realizado y

funciona correctamente.

Segundo nivel: Supervisión remota. Se ha creado dicha aplicación, se pueden

enviar órdenes a la planta y recibir medidas de la misma. También se almacenan

las medidas y las órdenes enviadas, en una base de datos. Además, se muestra al

operador mediante señales luminosas si hay alguna situación anómala en la

planta, pudiendo el operador gestionar las alarmas generadas.

Tercer nivel: Exportación de datos relevantes. No se ha realizado una

aplicación independiente, aunque si se pueden exportar los datos almacenados

en la base de datos a una hoja de Excel. Esto se debe a los problemas que

surgieron con el acceso a la base de datos, con la administración de eventos y con

el sistema de alarmas.

Con respecto al software, DSC Module facilita la programación en muchos

aspectos, como a la hora de resolver las comunicaciones y generar código de

forma automática. También ha permitido realizar una interfaz intuitiva que

ofrece imágenes en movimiento. Sólo tiene un gran inconveniente, y es que es

poco flexible a la hora de realizar acciones que no tiene especificadas por defecto.

Las Tags discretas presentan problemas: una vez realizado el código no

responden a las especificaciones, sin ninguna explicación lógica. Por esa razón

se determinó generar una Tag analógica para transformarla después a una

variable booleana y así poder usarla para el paso de manual a automático.

Citadel, la aplicación donde se almacenan los históricos, permitirá almacenar

los datos de la planta durante unos 23 años, a razón de una muestra por segundo

y estando en funcionamiento las 24 horas del día. El inconveniente que tiene es

7 Conclusiones 80

que no permite acceder directamente a los datos, por lo que es necesario realizar

una consulta desde otro programa (por ejemplo Excel) para poder trabajar con

ellos. Realizar una consulta externa desde Excel no es intuitivo, por lo que se

realizó una aplicación para exportar los datos desde el interior del programa.

En general, LabVIEW es una herramienta óptima para desarrollar aplicaciones

de supervisión y control. La programación es muy fácil e intuitiva cuando se

realizan las operaciones básicas para las que está configurado, los ejemplos son

una gran ayuda a la hora de programar y hay muchas funciones (VI) que

permiten resolver rápidamente las especificaciones planteadas. Los problemas

aparecen cuando no se quiere (o no se puede) recurrir a las funciones

predefinidas y el código se complica. Este tipo de programación presenta algunos

problemas a la hora de depurar errores.

8 Futuros Desarrollos

8 Futuros Desarrollos 82

8 Futuros Desarrollos

Sería interesante realizar las mejoras que se detallan a continuación:

Realizar una aplicación de supervisión para puestos de gestión, que

permitiese acceder a los históricos para realizar informes y estadísticas del estado

de la planta. Se podría usar como base el sistema de supervisión remoto para

realizarlo, y las comunicaciones se realizarían sólo con él, no con los controles

locales, ya que no interesa modificar los parámetros de la planta. Sería un

sistema puramente de supervisón para actividades de gestión.

Se podría ampliar el proyecto a un ámbito geográfico más amplio, es decir,

poder realizar el proceso de supervisión fuera de la red local de la universidad.

Ahora, cualquier ordenador conectado a la red local, y con el módulo DSC

instalado, podría modificar las Tags y así modificar el estado de la planta de

forma no deseada. Como mejora se podría buscar un método para proteger las

Tags a través de la red.

Modificar el regulador para que la parte diferencial tenga filtrado.

Cuando la bomba que regula el caudal se calienta, salta una protección y

disminuye el caudal. Se podrían modificar las aplicaciones para que registren

este suceso.

Cuando el nivel de agua llega al máximo, salta una protección, y la bomba

está un tiempo sin echar agua; se podría registrar este evento también.

Sería muy interesante encontrar una forma de apagar la bomba si la aplicación

se para (tanto de forma accidental como deliberada), ya que actualmente se sigue

proporcionando el mismo mando que antes de parar el sistema.

También habría que limitar el periodo de tiempo que puede escogerse para

archivar los datos en el Excel, que el programa calculase en función de las

variables seleccionadas y del periodo de tiempo elegido si se pueden archivar, ya

que cuando el volumen de datos es muy grande aparece un error de archivo.

8 Futuros Desarrollos 83

Crear una plantilla en Excel que gestione los datos almacenados, y permita

hacer reportes y gráficas de forma simple, así como mostrar la evolución de los

procesos.

Hay que resolver el problema del archivo de eventos, se comentó el error al

soporte técnico de National Instruments, “Error -1967386611 occurred at

HIST_RunAlarmQueryCORE.vi, Citadel: (Hex 0x8ABC100D) The given Citadel

database is not currently configured to log alarms to a relational database” la repuesta

fue:

“mira, te comento las 2 cosas que puedes chequear en tu PC:

1) Entra en el Administrador de tareas (Ctrl+Alt+Supr) en la pestaña de Procesos y

mira a ver si esta ejecutándose el sqlservr.exe

2) En Panel de Control>Agregar o Quitar Programas mira a ver si esta el Microsoft

SQL Server Desktop Engine instalado.

A ver si desinstalando DSC se arregla el problema. Para hacerlo, vete a Panel de

Control> agregar o quitar programas>Nacional Instruments Software>Cambiar o

Quitar>LabVIEW DSC Module 7.1>Quitar

Después, vuelve a instalarlo a ver si la instalación se produce sin errores. Después de

reiniciar chequea si están los 2 puntos anteriores (sqlservr.exe,..) y ejecuta los ejemplos a

ver si vuelve a salir el error.”

Se realizaron todos los pasos pero el error persiste.

9 Agradecimientos

9 Agradecimientos

85

9 Agradecimientos

Para finalizar quiero agradecer a todos los que han colaborado al buen

desarrollo de este proyecto.

A José Antonio Rodríguez Mondéjar y a Ramón Rodríguez Pecharromán,

directores del proyecto, por su gran ayuda desde el principio, sus consejos y

orientaciones que me han dado durante el proyecto. El trabajo realizado ha

resultado una experiencia muy positiva para mí y querría darles las gracias por

su atención y motivación.

Bibliografía

Bibliografía 87

Bibliografía

[1] MÁNUEL LÁZARO, A., RÍO FERNÁDEZ, J.,”Programación Gráfica para el

Control e Instrumentación”, Madrid, España.

[2] Dattalogging and Supervisory Control Module Developer Manual 7.1.

[3] Getting Started with LabVIEW, April 2003 Edition.

[4] Getting Started with the LabVIEW Datalogging and Supervisory Control Module

7.1.

[5] http://www.ni.com

[6] https://upcommons.upc.edu/pfc/handle/2099.1/2767

[7] http://www.esi.com.co/presentaciones.html

[8] http://148.202.148.5/cursos/17721/ModuloIII/ModuloIIILabView.htm

[9] http://personal.redestb.es/efigueras/index.htm

[10] http://techteach.no/publications/labview/pid_control/index.htm

PARTE II PARTE II PARTE II PARTE II ---- ESTUDIO ESTUDIO ESTUDIO ESTUDIO

ECONÓMICOECONÓMICOECONÓMICOECONÓMICO

Estudio Económico 89

Estudio Económico

Se ha realizado un sistema SCADA didáctico, que puede usarse como

herramienta de apoyo en las asignaturas del Área de Control en varias

titulaciones para complementar los conceptos teóricos.

Este proyecto presenta interesantes perspectivas de futuro, ya no sólo por sus

bajos costos, sino también por las amplias posibilidades que ofrece. Por ejemplo,

se podría realizar una ampliación del sistema que permitiese controlar todas las

cubas del laboratorio, la aplicación de supervisión remota se instalaría en el

ordenador del profesor, pudiendo éste ver el desarrollo conjunto de todos los

grupos, o pudiendo preparar los dispositivos para los ensayos desde un único

ordenador.

El único coste que conlleva es el de dejar los ordenadores permanentemente

encendidos. Incluso puede usarse para otros fines mientras tanto, puesto que

apenas se nota la bajada de rendimiento en los ordenadores.

PARTE III PARTE III PARTE III PARTE III ---- MANUAL DE MANUAL DE MANUAL DE MANUAL DE

USUARIOUSUARIOUSUARIOUSUARIO

Manual de Usuario 91

Manual de Usuario

Este manual rige para la versión 7.1 de LabVIEW, así como para la versión 7.1

de DSC Module, PID Control Toolkit y Citadel 5.0.

Para evitar repeticiones, el presente manual describe cómo debe leerse o

introducirse la información relativa a una cuba (Tank 1). Para la segunda cuba

que se incluye en la instalación (Tank 2), hay que repetir los pasos

correspondientes.

El manual se refiere con control local, a la aplicación que controla las cubas a

través de la tarjeta de adquisición de datos, y con aplicación de supervisión

remota, a aquella que envía órdenes a los controles locales y gestiona las alarmas

y el histórico de datos.

1 Usuarios

Hay 4 grupos de usuarios con distintos privilegios:

a. Administrator.- Puede acceder a todos los controles, modificar parámetros y

administrar cuentas de usuario. Es el único que puede parar el sistema.

b. System Operators.- Pueden operar con la planta en modo automático o

manual. En modo automático pueden variar el Setpoint (referencia del nivel

de agua que se quiere alcanzar) y en modo manual pueden variar el mando

(regular el caudal a suministrar a la cuba)

c. Operators.- Pueden variar el Setpoint cuando están trabajando en modo

automático.

d. Guest.- Sólo pueden visualizar el proceso, tiene los mismos privilegios que

cuando no hay ningún usuario identificado (Nobody).

Manual de Usuario 92

Para administrar las cuentas de usuario, con el programa parado, el

administrador tiene que realizar las siguientes acciones: Tools>> DSC

Module>>Security>>Edit User Accounts, así se abre el User Account Manager.

Figura 66. User Account Manager

Por defecto se han creado los siguientes usuarios:

User Group User Name Password Security Level

Group

Guest - -

Operator Operador Ope 5

System operator

Engineer Eng 7

Non Administrator

Administrator Administrador 9 Administrator

Tabla 3. Usuarios del sistema

Para añadir o eliminar usuarios, en User Account Manager, user>> new user

account.

Manual de Usuario 93

Figura 67. New user account

Se rellenan los campos que aparecen en la Figura 67 con los datos del nuevo

usuario, después se selecciona Groups.

Manual de Usuario 94

Figura 68. Group Memberships

Aparece la ventana de la Figura 68, se selecciona el grupo en el que se quiere

incluir el nuevo usuario en Not Member of, Add y después OK.

2 Control Local

El uso de esta aplicación es sumamente intuitivo y sencillo, sin embargo, aquí

se dan unas pautas para su utilización.

Manual de Usuario 95

Figura 69. Interfaz Control Local

A continuación se detallan los distintos elementos que aparecen en la interfaz

del control local.

1. STOP.- Para el programa, sólo puede acceder a él el administrador

2. Login/Logout.- Para identificarse como usuario en el sistema, se

comenta más detalladamente en 3.4.

3. Modo Manual o Automático.- Moviendo el slide a la derecha el

sistema trabaja en automático y hacia la izquierda en manual.

4. Setpoint(%).- Control para fijar el nivel de agua que se quiere alcanzar

cuando está trabajando en automático, de -100% (vacío) a 100% (lleno)

5. Parámetros del controlador.- Controles numéricos para modificar los

parámetros del controlador. Estos parámetros responden a un

regulador PID en la forma paralelo.

6. Manual Control (%).- Control, botón giratorio, para variar el valor del

mando cuando se trabaja en modo manual, de 0% a 100%. Cuando

Manual de Usuario 96

trabaja en modo automático, este control sigue al mando que se está

aplicando.

7. PV(%).- Nivel de agua de la cuba, -100% vacío, 100% lleno.

8. Gráfica que muestra en blanco la referencia (Setpoint), en rojo el

mando(Control) y en verde el nivel de agua (PV), en función del

tiempo.

9. User Group.- Indicador del grupo al que pertenece el usuario que se ha

identificado en el sistema.

Cuando el nivel de agua se encuentra por debajo del -70%, o por encima de

70%, aparecen unos indicadores para alertar el estado de la planta.

Figura 70. Indicadores de alarma cuando el nivel de agua es -93,4%

Dependiendo del nivel de agua, pueden aparecer los siguientes indicadores

luminosos.

Manual de Usuario 97

Nivel de agua por debajo del -70% y por encima del -

90%

Nivel de agua por debajo del -90%

Nivel de agua por encima del 70% y por debajo del 90%

Nivel de agua por encima del 90%

Tabla 2. Indicadores de alarma

3 Supervisión Remota

Esta aplicación permite supervisar el estado de la planta de forma general, y

supervisar cada uno de los tanques con una aplicación más detallada, así como

enviar órdenes a cada una de las cubas. También permite almacenar datos del

histórico y reconocer alarmas.

Manual de Usuario 98

Figura 71. Interfaz principal de la aplicación de supervisión remota

1.- STOP.- Para el programa; sólo puede acceder a él el administrador

2.- Login/Logout.- Para identificarse como usuario en el sistema.

3.- Tank x.- Con un clic del ratón sobre este botón se accede a los

parámetros de control de la cuba x y a la visualización de las medidas de

la misma.

4.- Save Data.- Permite pasar a un Excel los valores de las Tags que se

quiera, de cualquiera de las 2 cubas, en un periodo de tiempo determinado

por el usuario y con periodo de muestreo estipulado también por el

usuario. Por defecto se ha puesto un minuto entre muestra y muestra.

5.- User Group.- Indicador del grupo al que pertenece el usuario que se ha

identificado en el sistema.

6.- Representación de la planta.

7.- Level.- PV(%). Nivel de agua de la cuba, -100% vacío, 100% lleno.

Manual de Usuario 99

8.- Estado del control.- Si el sistema se encuentra en modo automático, se

visualiza Automatic Mode, si por el contrario está en manual aparece

Manual Mode. Si está en modo manual se visualiza el mando que se está

aplicando, si por el contrario está en automático se visualiza el Setpoint.

9.- Alarm List.- Muestra las alarmas que se han producido en el sistema,

las que han sido reconocidas (ack), las que no han sido reconocidas (unack),

las que están activas y las que no lo están.

10.- ACK.- Se usa para reconocer la alarma.

11.- Alarmas.- En el caso de haber alguna alarma aparece el código de la

misma.

12.- Setpoint.- Aparece sólo cuando el sistema se encuentra en modo

automático, permitiendo seleccionar el nivel de agua deseado.

Desde el botón Tank 2 (para el Tank 1 es lo mismo), se accede al panel de la

Figura 33.

Figura 72. Control remoto de la cuba 2

Manual de Usuario 100

Los parámetros que se pueden variar, son los mismos que se podían variar

desde el control local, por eso no se va a entrar en detalle otra vez.

Alarmas

En la parte inferior de la aplicación de supervisión remota, aparece un

indicador para las alarmas.

Figura 73. Indicador con la última alarma que ha tenido lugar

El texto de la Figura 73 muestra la última alarma que ha tenido lugar en el

sistema. A la izquierda hay un Led luminoso que parpadea para advertir la

alarma. Para reconocer la misma hay que hacer clic con el ratón en el botón

ACK. Para visualizar todas las alarmas activas o no activas pero sin reconocer,

hacer clic en List, aparece la ventada mostrada en la Figura 74.

Manual de Usuario 101

Figura 74. Alarm List

En la ventana de la Figura 74, se puede reconocer una alarma determinada,

haciendo clic derecho sobre ella, y eligiendo la opción acknowledge. Si se quieren

reconocer todas las alarmas, seleccionar acknowledge all.

Las alarmas responden al siguiente código de colores.

Color Descripción

Alarma activa no reconocida

Alarma reconocida que aún permanece activa

Alarma extinguida cuya extinción aún no ha sido reconocida por el usuario

Figura 75. Código de colores de las alarmas

Manual de Usuario 102

Histórico

Cuando arranca el programa, automáticamente se comienzan a guardar los

valores que tomas las variables PV, Setpoint, Control, modo automático o manual,

Ti, Td y Kc. Para poder visualizar estos datos hay que hacer clic con el ratón en

Save Data, aparece el panel de la Figura 76.

Figura 76. Panel Save Data

Las variables que se pueden guardar aparecen en una lista desplegable. Las

correspondientes al Tank 1 comienzan por AILECP007, y las del Tank 2 por

AILECP005, que son los números de identificación de los ordenadores

encargados del control de las cubas.

Manual de Usuario 103

Figura 77. Lista desplegable con las variables que se archivan en la base de datos

Se pueden incluir tantas variables como se desee. En trace information, se

selecciona la fecha y hora de inicio y de fin de la consulta.

Figura 78. Set Time and Date

También se selecciona el tiempo entre muestra y muestra. Por defecto el

tiempo se ha establecido en 1 minuto.

Anexos

A Código de LabVIEW

Manual de Usuario

106

Código de LabVIEW

Se proporciona el código en un CD que contiene:

a) Programa para controlar la cuba 1 (a instalar en el ordenador AILECP010)

b) Programa para controlar la cuba 2 (a instalar en el ordenador AILECP005)

c) Programa de supervisión remota (a instalar en el ordenador AILECP007)

Presupuesto 1

Presupuesto

Consideraciones generales

A la hora de detallar los conceptos que se verán incluidos en el presupuesto

final correspondiente al presente proyecto, se han seguido las premisas que se

exponen a continuación:

• No se incluyen los costes correspondientes al equipo informático ni el

software utilizado en el desarrollo del proyecto, por no entenderse que formen

parte integrante del mismo, siendo propiedad del desarrollador y de la

entidad colaboradora previa al inicio del desarrollado del proyecto, y

considerándose la amortización de los mismos incluida en los costes de mano

de obra imputados.

• Los precios de los componentes detallados corresponden al importe pagado

en su fecha de compra, y pueden no coincidir con el importe de compra en

caso de requerirse una reproducción del proyecto, en cuyo caso el presente

presupuesto podrá ser revisado y actualizado.

• Si se incluyen en el presupuesto los costes de los instrumentos de medida,

accesorios y equipos utilizados tanto para el desarrollo como para las pruebas

realizadas para comprobar la correcta funcionalidad de la plataforma, aunque

finalmente no se incluyan como parte constituyente del proyecto.

• El presupuesto final aquí desglosado incluye la totalidad de los componentes

empleados, así como la mano de obra correspondiente a la realizada por este

proyectista.

Presupuesto 2

Equipos y componentes utilizados

Descripción Cantidad

Tarjeta de adquisición de datos PCI-6014 2

Cubas 2

Cable de conexión entre el ordenador y la tarjeta 1

Mano de obra

Descripción Cantidad

Documentación previa 30 horas

Desarrollo de software 200 horas

Test y depuración 50 horas

Redacción de documentación 30 horas

Presupuesto 3

SUMAS PARCIALES

Equipos y componentes utilizados

Descripción Cantidad Precio

unitario

Precio

total

Tarjeta de adquisición de datos PCI-6014 2 600 € 1200 €

Cubas 2 300 € 600 €

Cable de conexión entre el ordenador y la

tarjeta 2 10 € 20 €

Total de equipos y componentes 1.820 €

Mano de obra

Descripción Cantidad Precio unitario Precio total

Total mano de obra 310 horas 30 € 9.300 €

PRESUPUESTO GENERAL

Descripción Importe

Total equipos y componentes 1.820 €

Total mano de obra 9.300 €

TOTAL PRESUPUESTO 11.120 €

TOTAL PRESUPUESTO + 16% IVA 12.899,2 €