instituto tecnolÓgico y de estudios ... - repositorio.tec.mx

117
II INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY PROGRAMA DE GRADUADOS EN MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN Desarrollo de una interfaz de software para la implementación de estrategias de control continuo TESIS PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO ACADÉMICO DE: MAESTRO EN CIENCIAS CON ESPECIALIDAD EN AUTOMATIZACIÓN POR: Tomás López Lauterio MONTERREY, N.L. Diciembre, 2007

Upload: others

Post on 14-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

II

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

CAMPUS MONTERREY

PROGRAMA DE GRADUADOS EN MECATRÓNICA Y

TECNOLOGÍAS DE INFORMACIÓN

Desarrollo de una interfaz de software para la implementación de

estrategias de control continuo

TESIS

PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO ACADÉMICO DE:

MAESTRO EN CIENCIAS CON ESPECIALIDAD EN AUTOMATIZACIÓN

POR:

Tomás López Lauterio

MONTERREY, N.L. Diciembre, 2007

Page 2: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

III

INSTITUTO TECNOLÓGICO DE ESTUDIOS SUPERIORES DE MONTERREY

DIVISIÓN DE MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN

PROGRAMA DE GRADUADOS EN MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN

Los miembros del comité de tesis recomendamos que la presente tesis del Ingeniero Tomás López Lauterio sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias con Especialidad en Automatización.

Comité de tesis:

______________________________ Dr. Rubén Morales Menéndez

Asesor

______________________________ Dr. Ricardo Ramírez Mendoza

Sinodal

______________________________ M.C. Federico Guedea Elizalde

Sinodal

_________________________________________ Dr. Graciano Dieck Assad

Director del Programa de Graduados en Mecatrónica y Tecnologías de Información Diciembre, 2007

Page 3: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

IV

Desarrollo de una interfaz de software para la implementación de estrategias de control continuo

POR:

Tomás López Lauterio

TESIS

Presentada al Programa de Graduados en Mecatrónica y Tecnologías de Información

Este trabajo es requisito parcial para obtener el grado de Maestro

en Ciencias con Especialidad en Automatización

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

Diciembre, 2007

Page 4: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

V

Page 5: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

VI

Dedicatoria

A mis Padres Tomás y Lourdes, por brindarme su apoyo incondicional siempre, por ser

ejemplo de perseverancia y responsabilidad, por enseñarme la importancia que tiene la

familia en la vida de la persona.

A mi familia, en donde encuentro tranquilidad y refugio.

A mi esposa Verónica, por su cariño y apoyo, por que siempre estas ahí, por ser

inspiración.

A Dios… por otorgarme todo lo anterior.

Page 6: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

VII

Page 7: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

VIII

Reconocimientos

A todas aquellas personas que han sido parte de mi formación profesional y académica,

mi más sincero agradecimiento.

Al Dr. Rubén Morales Menéndez por ser ejemplo de profesionalismo y dedicación.

Gracias por su apoyo durante el desarrollo de este trabajo.

Page 8: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

IX

Page 9: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

X

ÍNDICE GENERAL INDICE DE CUADROS..................................................................................... XIV

INDICE DE FIGURAS....................................................................................... XVI

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

1.1 Motivación de la Investigación ......................................................................................................... 1

1.2 Descripción del problema ................................................................................................................. 2

1.3 Objetivo ............................................................................................................................................ 3

1.4 Trabajos Relacionados ..................................................................................................................... 4

1.5 Contribuciones.................................................................................................................................. 4

1.6 Organización del documento ............................................................................................................ 5

2. MARCO TEÓRICO ...........................................................................................6

2.1 Estado del Arte.................................................................................................................................. 9

2.2 Tecnologías de software disponibles para la comunicación entre sistemas.................................... 13 2.2.1 Evolución de las tecnologías de software para la comunicación entre procesos. .......................... 13 2.2.2 Tecnologías de software usadas en la automatización................................................................. 14 2.2.3 Otras técnicas usadas para el intercambio de datos entre aplicaciones. ........................................ 15

2.3 Software comercial.......................................................................................................................... 15 2.3.1 RSView™ [43].......................................................................................................................... 16 2.3.2 Matlab™ [37]............................................................................................................................ 16 2.3.3 LabWindows/CVI™ [39] .......................................................................................................... 17 2.3.4 LabView™ [38] ........................................................................................................................ 17 2.3.5 SIMATIC WinCC flexible™ [41].............................................................................................. 17 2.3.6 Agilent VEE™ [40]................................................................................................................... 18 2.3.7 Profit Suite 300™ [42] .............................................................................................................. 18

2.4 Comentarios .................................................................................................................................... 19

3. SISTEMA EXPERIMENTAL...........................................................................20

3.1 Instrumentación instalada .............................................................................................................. 22

3.2 Controlador PID ............................................................................................................................. 22

3.3 Proyectos realizados en la estación de monitoreo y control de nivel. ............................................ 23 3.3.1 Control retroalimentado............................................................................................................. 23 3.3.2 Control antealimentado/retroalimentado..................................................................................... 24 3.3.3 Control en cascada..................................................................................................................... 25

Page 10: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

XI

4. METODOLOGÍA.............................................................................................26

4.1 Introducción.................................................................................................................................... 26

4.2 Metodología de diseño para una interfaz humano-máquina.......................................................... 26

4.3 Estructura completa de la interfaz. ................................................................................................ 27

4.3.1 Interfaz de comunicación de la HMI con el controlador ............................................................. 29

4.3.2 Diseño de la comunicación de la HMI con Matlab Simulink....................................................... 30

4.3.3 Metodología para el diseño del intérprete para la ejecución de controladores compilados en ANSI C.................................................................................................................................................. 33

5. RESULTADOS ...............................................................................................36

5.2 Interfaz de Monitoreo y Control..................................................................................................... 36

5.1 Diseño de experimentos .................................................................................................................. 37

5.2 Aplicaciones .................................................................................................................................... 38 5.2.1 Proyecto #1: Controlador difuso en tiempo real......................................................................... 38 5.2.2 Proyecto # 2: Estrategias de control en tiempo real.................................................................... 44 5.2.3 Proyecto # 3: Sintonía de Controladores PID en tiempo real ...................................................... 50 5.2.4 Proyecto # 4: Estrategias de control avanzadas.......................................................................... 53

5.3 Experiencias en el uso de la HMI ................................................................................................... 58

5.4 Comentario ..................................................................................................................................... 59

6. CONCLUSIONES ...........................................................................................61

6.1 Trabajos Futuro.............................................................................................................................. 63

BIBLIOGRAFÍA..................................................................................................65

APÉNDICES.......................................................................................................70

APÉNDICE A. IMPLEMENTACIÓN ..................................................................72

A.1 Pseudo código para la configuración y manejo de un puerto RS232 ............................................ 72

A.2 Descripción del Bloque de Transmisión/Recepción desde Matlab................................................ 73

APÉNDICE B. IMPLEMENTACIÓN DE UN CONTROLADOR PID EN ANSI C.............................................................................................................................74

APÉNDICE C. DESCRIPCIÓN DE LA INTERFAZ............................................76

Page 11: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

XII

C.1 Pestaña de parámetros de comunicaciones................................................................................... 76

C.2 Pestaña de datos y monitoreo........................................................................................................ 77

C.3 Pestaña scripts compilados ........................................................................................................... 78

C.4 Pestaña conexión con Matlab™.................................................................................................... 79

APÉNDICE D. DISEÑO DEL CONTROLADOR DIFUSO .................................80

D.1 Desarrollo....................................................................................................................................... 80 D.1.1 Dinámica del proceso................................................................................................................ 80 D.1.2 Diseño del controlador.............................................................................................................. 80 D.1.2 Defusificación .......................................................................................................................... 83 D.1.3 Definición de rangos................................................................................................................. 83 D.1.4 Normalización .......................................................................................................................... 83 D.1.5 Implementación del controlador en Simulink™......................................................................... 83

APÉNDICE E. IMPLEMENTACIÓN DE ESTRATEGIAS DE CONTROL .........85

E.1 Resultados de identificación y sintonización.................................................................................. 85

E.2 Cálculo de la ganancia de antealimentación .................................................................................. 86

APÉNDICE F. DIVERSAS SINTONÍAS DE PID................................................87

F.1 Modelo del proceso......................................................................................................................... 87

F.1 Sintonía por especificaciones de robustez ...................................................................................... 87

F.2 Regulador lineal cuadrático (LQR)................................................................................................ 89

F.3 Sintonización vía extremum seeking .............................................................................................. 90

APÉNDICE G. ESTRATEGIAS DE CONTROL AVANZADAS .........................92

G.2 Internal Model Control.................................................................................................................. 92

G.3 Predictor de Smith ......................................................................................................................... 92

APÉNDICE F. MANUAL DE INSTALACIÓN ....................................................94

APÉNDICE H. MANUAL DE USO DE LA INTERFAZ ......................................96

H.1 Monitoreo de la estación de control de nivel ................................................................................ 96

H.2 Ejecución de scripts compilados. .................................................................................................. 97

H.3 Conexión con Matlab™ y Simulink™.......................................................................................... 97

Page 12: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

XIII

Page 13: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

XIV

Indice de cuadros Tabla 2.1 Tabla comparativa de trabajos de investigación..............................................12 Tabla 2.2 Tabla de características de RSView™............................................................16 Tabla 2.3 Tabla de características de Matlab™..............................................................16 Tabla 2.4 Tabla de características de LabWindows/CVI ................................................17 Tabla 2.5 Tabla de características de LabView™ ..........................................................17 Tabla 2.6 Tabla de características de Simatic WinCC flexible™....................................17 Tabla 2.7 Tabla de características de Agilent VEE™.....................................................18 Tabla 2.8 Tabla de características de Profit Suite 300™ ................................................18 Tabla 5.1 Proyectos realizados en la interfaz .................................................................37 Tabla 5.2 Pruebas realizadas al controlador difuso.........................................................39 Tabla 5.3 Controlador difuso ante cambios de nivel.......................................................41 Tabla 5.4 Controlador difuso ante perturbaciones en la entrada y salida.........................43 Tabla 5.5 Pruebas realizadas para estrategia en cascada y cascada con antealimentación.......................................................................................................................................45 Tabla 5.6 Estrategia en cascada antealimentado ante cambios en referencia. ..................48 Tabla 5.7 Estrategia cascada antealimentado ante perturbaciones en la entrada y salida. 49 Tabla 5.8 Respuesta del controlador PID con diferentes tipos de sintonía. .....................53 Tabla 5.9 Pruebas realizadas a la estrategia IMC y Predictor de Smith...........................56 Tabla 5.10 Resultados de desempeño IMC ....................................................................57 Tabla 5.11 Resultados de desempeño del Predictor de Smith .........................................58 Tabla D.1 Tabla de reglas del controlador difuso ...........................................................80 Tabla D.2 Reglas de salida de la variable Ganancia .......................................................82

Page 14: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

XV

Page 15: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

XVI

Indice de figuras Figura 2.1 Modelo Educativo del Tecnológico de Monterrey. ..........................................8 Figura 3.1 Estación de monitoreo y control de nivel. .....................................................20 Figura 3.2 Diagrama conceptual de la estación de monitor y control de nivel................21 Figura 3.3 Sistema de control retroalimentado. ..............................................................23 Figura 3.4 Sistema de control antealimentado/retroalimentado. .....................................24 Figura 3.5 Estrategia de control en cascada....................................................................25 Figura 4.1 Diagrama conceptual de la aplicación y sus conexiones. ...............................28 Figura 4.2 Esquema de comunicación entre el UDC 6300 y la HMI...............................29 Figura 4.3 Esquema de la implementación del servidor y cliente TCP/IP.......................31 Figura 4.4 Diagrama de flujo de un ciclo de ejecución de la HMI conectada a Simulink™.......................................................................................................................................32 Figura 4.5 Diagrama de ejecución de un programa compilado en ANSI C. ....................34 Figura 5.1 Pantalla principal de la interfaz. ....................................................................37 Figura 5.2 Lazo de control, y situación del controlador basado en lógica difusa. ............38 Figura 5.3 Diagrama de Bloques del controlador Difuso................................................40 Figura 5.4 Respuesta ante cambio de nivel en el tanque de 30% a 50%..........................41 Figura 5.5 Respuesta ante cambio de nivel en el tanque de 50% a 30%..........................42 Figura 5.6 Respuesta ante una perturbación en el flujo de entrada..................................43 Figura 5.7 Respuesta ante una perturbación el flujo de salida.........................................43 Figura 5.8 Estrategia de control en cascada con antealimentación. .................................45 Figura 5.9 Diagrama de Bloques del controlador cascada con antealimentación.............46 Figura 5.10 Respuesta de la estrategia en cascada para servo control. ............................47 Figura 5.11 Respuesta de la estrategia en cascada con antealimentación para servo control. ..........................................................................................................................48 Figura 5.12 Respuesta de la estrategia cascada ante perturbaciones en la entrada. ..........49 Figura 5.13 Respuesta de la estrategia cascada con antealimentación ante perturbaciones en la salida. ...................................................................................................................50 Figura 5.14 Implementación en Simulink del controlador PID.......................................51 Figura 5.15 Respuesta del PID con sintonización mediante parámetros de robustez. ......52 Figura 5.16 Respuesta del PID como regulador lineal cuadrático. ..................................52 Figura 5.17 Respuesta del PID con sintonización mediante Extremum Seeking. ............53 Figura 5.18 Diagrama de bloques en Simulink de la estrategia IMC. .............................54 Figura 5.19 Diagrama de bloques en Simulink™ del Predictor de Smith. ......................55 Figura 5.20 Respuesta de la estrategia IMC para servo control y control regulatorio. .....56 Figura 5.21 Respuesta del Predictor de Smith para cambios en referencia......................57 Figura A.1 Bloque principal insertado en las simulaciones de Matlab y su correspondencia en el proceso. ......................................................................................73 Figura C.1 Pestaña de parámetros de comunicaciones....................................................76 Figura C.2 Pestaña de datos y monitoreo. ......................................................................77 Figura C.3 Pestaña de ejecución de scripts compilados en ANSI C. ...............................78 Figura C.4 Pestaña de conexión a Matlab. .....................................................................79 Figura D.1 Función de Membresía del Error. .................................................................81 Figura D.2 Función de Membresía del Derivativo del Error...........................................81

Page 16: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

Figura D.3 Función de Membresía de la Manipulación. .................................................82 Figura D.4 Función de membresía de la salida Ganancia. ..............................................82 Figura D.5 Diagrama de Bloques del controlador Difuso. ..............................................84 Figura E.1 Diagrama de bloques de la estrategia en cascada en Simulink.......................85 Figura E.2 Diagrama de Bloques del controlador cascada con antealimentación. ...........86 Figura F.1 Diagrama de bloques para el controlador PID basado en especificaciones de robustez.........................................................................................................................87 Figura F.2 Diagrama de Bloques del controlador PID con parámetros de robustez.........88 Figura F.3 Diagrama de Bloques del controlador PID con sintonización LQR o ES.......90 Figura G.1 Estructura del Predictor de Smith.................................................................92 Figura H.1 Ajuste del tiempo de muestreo en el RTBlock..............................................98 Figura H.2 Configuración de los parámetros del solver en Simulink™ ..........................99

XVII

Page 17: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

XVIII

Page 18: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

1

Capítulo 1

1. Introducción

El crecimiento acelerado de la industria con requerimientos de rápida colocación de

productos en los mercados, aunado a una gran competencia global, demanda una mejor

integración en el diseño y manufactura de productos. La industria moderna debe tener

las herramientas, tecnologías e infraestructura adecuadas que permita la automatización

de sus procesos de diseño y producción de principio a fin, de tal manera que esto se

pueda convertir en una ventaja competitiva.

Corripio [24] menciona que la automatización de procesos:

1. Permite incrementar los niveles de seguridad para los empleados.

2. Protege al medio ambiente.

3. Minimiza el desperdicio.

4. Protege las inversiones en equipos.

5. Mejora la calidad del producto a bajo costo y con el mejor rendimiento.

Las empresas que han implementando sistemas automatizados han logrado minimizar

y maximizar los puntos mencionados, reflejándose en ahorros importantes, que han

permitido a dichas empresas seguir siendo competitivas.

1.1 Motivación de la Investigación

Actualmente los sistemas de control son una combinación de computadoras,

interfaz gráfica, sistemas de adquisición de datos y redes de computadoras que

interactúan con los elementos convencionales de los sistemas de control, sensores y

actuadores. Los estudiantes de licenciatura y postgrado del campo de ingeniería se

enfrentan a esta realidad al momento de su graduación, y muchas de las veces no cuentan

con conocimientos previos o experiencia en dichas áreas.

En la mayoría de los cursos de teoría de control se trata de cubrir una amplia gama

de temas y software de simulación es usado como herramienta para mostrar los aspectos

prácticos de la teoría. Desafortunadamente en muchas de las simulaciones, algunas

situaciones reales como limitaciones físicas de los procesos, saturaciones o tiempos de

Page 19: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

2

muestreo no son modeladas adecuadamente o son ignoradas totalmente, considerando

solamente situaciones ideales.

En algunos cursos se ha tratado de incorporar la experiencia real con sistemas de

control instalados en laboratorios experimentales, pero las complicaciones de tal enfoque

limitan el tiempo dedicado a la parte teórica, además de que es un alto costo para las

instituciones de enseñanza.

En diversos foros se ha mencionado que la enseñanza de la teoría de control es una de

las actividades centrales para lograr mayor impacto tecnológico en el futuro [1]. Dentro

de las recomendaciones más recurrentes se puede encontrar que:

1. Los materiales y temas relacionados a la teoría de control deben ser accesibles a

un mayor número de practicantes [1].

2. Herramientas basadas en software deben ser provistas a los estudiantes [2].

3. Proveer experiencia práctica para generar interés en los alumnos [2].

4. Hacer de los proyectos experimentales una parte integral en la enseñanza del

control automático [2].

Por estas razones las universidades y centros de investigación, han dirigido en los

últimos años recursos a la creación de nuevos esquemas de enseñanza-aprendizaje, con

resultados exitosos.

La automatización de procesos es solo una de las áreas de oportunidad para la

optimización del esquema enseñanza-aprendizaje, pero muchas otras disciplinas podrían

verse beneficiadas por este tipo de enfoques.

1.2 Descripción del problema Existe la necesidad de transferir de una manera rápida y eficiente conocimientos

prácticos y teóricos a los estudiantes de ingeniería, sin embargo en algunos de los

enfoques usados del proceso enseñanza-aprendizaje, se invierte una gran cantidad de

tiempo y esfuerzo por el alumno en la construcción de los sistemas con los que se

pretende experimentar, de tal manera que una gran cantidad de detalles de implantación

adquieren relevancia y su resolución generalmente va más allá de los conceptos

tradicionalmente transmitidos en el curso, limitando el tiempo a dedicar a los conceptos

Page 20: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

3

centrales de la materia. El resultado para el alumno es un aprendizaje superficial y/o

muy teórico.

En el Tecnológico de Monterrey existen avances significativos de esquemas para la

enseñanza y práctica del control automático, un caso de estudio son las estaciones de

monitoreo y control de nivel [3]. Sin embargo, el constante avance tecnológico y la

incorporación de nuevos temas a los planes de estudio han hecho que el esquema actual

sea insuficiente y/o requiera de una actualización acelerada.

1.3 Objetivo

El objetivo principal de este trabajo es diseñar, implementar y validar una interfaz

humano-máquina que sea capaz de:

1. Minimizar el diseño de cualquier interfaz de hardware ó software por parte

del alumno.

2. Proveer una herramienta al alumno que permita el diseño e implementación

de una forma intuitiva y rápida.

3. Mejorar la didáctica en alcance y tiempo.

4. Transparente y transportable.

Desde el punto de vista técnico la interfaz será capaz de conectarse a los elementos

de la estación de monitoreo y control de nivel con capacidad de transmitir y recibir

información. Dicha interfaz contará a su vez con otra interfaz capaz de recibir y mandar

datos a software comercial de simulación como Matlab™. También se podrá monitorear

y cambiar parámetros en el controlador industrial instalado, almacenamiento de datos del

monitoreo y ejecución de tareas de secuencias compiladas en ANSI C.

Matlab™ es un estándar en ingeniería para la mayoría de las instituciones de

investigación y universidades, además de que la mayoría de los estudiantes están

familiarizados con Matlab™. Matlab™ es un programa de manipulación numérica

computacional, que cuenta con su propio lenguaje de programación, permite la fácil

manipulación de matrices, el graficado de funciones y datos, implementación de

algoritmos y la creación de interfaz de usuario La capacidad de interconectar Matlab™

Page 21: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

4

con información del proceso real ofrece grandes oportunidades para la optimización del

proceso enseñanza-aprendizaje

1.4 Trabajos Relacionados

Varios trabajos con el mismo propósito se han desarrollado usando diversas

tecnologías y software. Algunos de ellos son basados en simulaciones y otros

interactúan con procesos reales. Se puede observar que muchos de estos trabajos usan

Matlab™ y Simulink™, algunos de ellos están basados en microcontroladores o

procesadores digitales de señales que se apegan mas a un tiempo real “duro” (Hard-Real-

Time), el término se refiere a los sistemas operativos que se penalizan si el tiempo de

muestreo no se cumple, y otros basados en tiempo real “suave” (Soft-Real-Time), en el

que sistema operativo puede variar el tiempo de muestreo sin penalización alguna. En los

últimos años se ha hecho común el uso de aplicaciones de tiempo real “suave”, ya que

implementar un sistema de tiempo real “duro” generalmente es más costoso, y los

sistemas operativos de tiempo real “suave”, como Windows™ de Microsoft™, se han

hecho más confiables. Esta tendencia también es posible corroborarla en los últimos

trabajos desarrollados en el tema.

Simulink™ es una aplicación que se ejecuta dentro del ambiente de desarrollo de

Matlab™, muy utilizado en la investigación y universidades. Simulink™ es una

herramienta para el modelado, simulación y análisis de sistemas dinámicos, su interfaz de

usuario está completamente basada en el arrastre e interconexión de bloques, así que el

diseño se realiza de una manera completamente grafica.

En el capítulo dos se presenta un estudio detallado de algunos autores que han

desarrollado esquemas de enseñanza-aprendizaje basados en diferentes plataformas y

modelos.

1.5 Contribuciones

El presente trabajo hace más fácil la práctica real de los temas relacionados al

control automático de procesos, permite a los estudiantes aprender en base a la

observación de fenómenos reales de una manera rápida y enfocada, facilita la práctica de

Page 22: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

5

conceptos tradicionalmente compartidos de manera teórica, motiva al estudiante a

profundizar, ahorra una gran cantidad de tiempo ya que soslaya el desarrollo de

programas o circuitos, permite la rápida implementación de diversos esquemas de

control como control difuso, control cascada, control antealimentado, etc.

1.6 Organización del documento

En el capítulo dos se hace un breve análisis de trabajos relacionados a la práctica de

la enseñanza experimental del control automático de procesos, además se presenta

información de software comercial usado en la enseñanza de la automatización e

información acerca de las tecnologías de software para el intercambio de datos.

El capítulo tres describe la estación de monitoreo y control de nivel. El controlador

instalado en la estación de monitoreo y control se describe en este capítulo y algunas de

sus capacidades.

En el capítulo cuatro se describe a detalle el diseño de la interfaz de usuario y de las

tecnologías de software utilizadas. La estrategia de comunicaciones con el controlador es

descrita, así como la transferencia de datos entre Matlab™ y la aplicación principal. Se

presenta una técnica para la ejecución de librerías compiladas en ANSI C por otra

aplicación.

En el capítulo cinco se describe y presenta el resultado de esta investigación, además

de la implementación, desarrollo y resultados experimentales de varios proyectos de

control.

En el capitulo seis se presentan las conclusiones de la investigación, también se

proponen algunos desarrollos y mejoras a la interfaz diseñada.

En los apéndices se presentan detalles técnicos de implementación de la interfaz

diseñada, los detalles de implementación de los proyectos experimentales, y los manuales

para el usuario.

Page 23: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

6

Capítulo 2

2. Marco Teórico

En el Tecnológico de Monterrey los cursos de ingeniería son guiados mediante

tres ordenanzas: 1) La Misión 2015 del Tecnológico de Monterrey, 2) Los criterios del

Consejo para la Acreditación de programas en Ingeniería y Tecnología (Accreditation

Board of Enginnering and Technology, ABET), y 3) Los criterios de la Asociación de

Escuelas y Colegios del Sur (Southern Association of Colleges and Schools SACS).

La Misión 2015 del Tecnológico de Monterrey, hace énfasis en la creación de

conocimiento, innovación, desarrollo tecnológico y la creación de negocios sustentables.

Educación de alta calidad y estudiantes competitivos a nivel internacional son de vital

importancia. Al mismo tiempo la misión advierte su compromiso con el progreso de

México en diversos aspectos tales como el educativo, el mejoramiento político y social,

además del crecimiento económico.

SACS es una organización regional a cargo de certificar la calidad de los

programas académicos en la parte sur de los Estados Unidos de América y Latino

América [54]. Las universidades y colegios acreditados por SACS tienen recursos de alta

calidad para la educación, estándares educativos, programas y servicios. Los comités de

SACS evalúan de acuerdo a cuatro criterios: principios de acreditación, requerimientos

centrales, estándares generales y requerimientos gubernamentales. Esta investigación

se enfoca principalmente a los “estándares generales” que plantea requerimientos en tres

áreas: (1) Misión institucional, dirección y efectividad, (2) Programas y (3) Recursos,

estos estándares aseguran buenas prácticas educativas y establecen un nivel inicial de

realización. Aunque la acreditación por SACS implica muchos más aspectos del sistema

Tecnológico de Monterrey, a través de esta investigación se harán dos contribuciones a

los “estándares generales”, (1) El Tecnológico de Monterrey hace uso de tecnología que

incrementa la efectividad del aprendizaje de los estudiantes, de tal forma que se cumplen

los objetivos académicos, y además se asegura que los estudiantes tienen el acceso y el

entrenamiento adecuado para el uso de tecnologías. (2) La institución provee

Page 24: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

7

instalaciones, servicios y recursos de aprendizaje/información que son apropiados para

mantener la enseñanza, investigación y misión.

ABET es una organización que certifica la calidad de los programas académicos

relacionados a las ciencias computacionales, ingeniería y tecnología [53]. Uno de los

criterios de efectividad de ABET para el periodo comprendido entre los años 2006-2007,

está destinado a asegurar y promover la mejora sistemática en la calidad de la enseñanza

en la ingeniería que satisfaga las necesidades de industrias/universidades en un ambiente

dinámico y competitivo. El Tecnológico de Monterrey es acreditado por ABET desde

1993 y acreditado nuevamente en Octubre del 2007. En esta investigación se cubre el

criterio 3 de ABET, que establece lo que se espera de los estudiantes y de lo que deben

ser capaces al momento de su graduación. En esta investigación se hace énfasis en el

entendimiento de los aspectos prácticos/reales de la ingeniería por parte de los

estudiantes.

Con las ordenanzas descritas se da forma al Modelo Educativo del Tecnológico de

Monterrey [55]. El modelo incluye un conjunto de componentes de aprendizaje en los

cuales la institución cumple sus metas educativas.

En el modelo educativo del Tecnológico de Monterrey los estudiantes comparten

la responsabilidad en la enseñanza-aprendizaje con sus profesores. Los estudiantes son

responsables de la construcción de conocimiento a partir de la experiencia personal, con

la guía de profesores. Durante el proceso los estudiantes aprenden a trabajar de forma

cooperativa en equipos de trabajo, esto permite la retroalimentación y la toma de

decisiones. Al mismo tiempo, los profesores del Tecnológico de Monterrey se basan en

técnicas que enriquecen la educación curricular del estudiante en base a práctica y

profesionalización adquirida a través del trabajo en equipo y participación. La figura 2.1

muestra un esquema del modelo.

Algunas de las técnicas usadas son por el modelo educativo del Tecnológico de

Monterrey: 1) Aprendizaje activo, 2) Aprendizaje cooperativo y 3) El aprendizaje basado

en la resolución de problemas.

En el aprendizaje activo el estudiante es responsable de la construcción del

conocimiento, en este esquema el estudiante es motivado a adquirir y generar el

conocimiento, también es responsable de la forma en cómo la información se estructura.

Page 25: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

8

Figura 2.1 Modelo Educativo del Tecnológico de Monterrey.

En el modelo educativo del Tecnológico de Monterrey el estudiante ocupa un papel preponderante en el proceso de enseñanza-aprendizaje.

En el aprendizaje cooperativo el conocimiento es adquirido por interacción social,

los estudiantes son responsables de monitorear y proveer la retroalimentación adecuada a

los otros estudiantes.

En el aprendizaje basado en la resolución de problemas los estudiantes son

confrontados a desafíos intelectuales y ellos son responsables por la adquisición y la

reestructuración del conocimiento.

Page 26: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

9

El modelo educativo del Tecnológico de Monterrey también incorpora los últimos

adelantos disponibles en tecnologías de información y comunicaciones, lo anterior

establece una plataforma en la cual todos los recursos del curso están disponibles. Esto

permite al estudiante explorar diferentes opciones de aprendizajes, tales como la asesoría

de otros estudiantes, otros profesores, acceso a bases de datos o fuentes de aprendizaje.

El modelo educativo del Tecnológico de Monterrey obliga la adquisición o

creación de herramientas que permitan a los alumnos poner en práctica de manera rápida

y eficiente todos los aspectos del modelo.

En la siguiente sección se resumen los resultados de algunas investigaciones

usando diferentes esquemas de enseñanza-aprendizaje similares al modelo educativo del

Tecnológico de Monterrey (y algunas de sus tecnologías) en el área de control

automático.

2.1 Estado del Arte

Mansour [6] hace uso intensivo de la simulación en computadora mediante la

emulación de escenarios reales donde la automatización es necesaria, como el control de

tráfico, sistemas de calefacción y ventilación, péndulo invertido, etc. También hace uso

de escenarios reales como el de una celda de manufactura y el de redes de distribución de

energía.

Lim et al. [9] presentan una opción en la cual un microcontrolador se encarga de

hacer el muestreo en tiempo real, dicho microcontrolador tiene implementado un

controlador R-S-T. En este caso el estudiante puede hacer una adquisición de datos con

el propósito de hacer una identificación del sistema, enseguida se calculan los valores de

las matrices R-S-T y se define el tiempo de muestreo, una vez listos estos parámetros son

enviados al microcontrolador a través de una conexión RS-232. También es posible

monitorear el sistema mediante una interfaz de usuario en una computadora.

Etxebarria et al. [8] muestran un sistema que expone a los estudiantes a los

detalles de la implementación de sistemas de control. El sistema está basado en el

“toolbox RealTime Workshop™” de Mathworks™, un procesador digital de señales con

un convertidor análogo-digital y un digital-análogo, recibe el “firmware” generado por

Page 27: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

10

Simulink™ y el “RTWorkshop™”. Una vez instalado el “firmware” el sistema funciona

de manera autónoma en tiempo real.

Irawan [27] presenta una página de Internet donde se puede acceder a un sistema

de tanques acoplados. La página de Internet organiza información acerca de

identificación de sistemas, diseño y experimentación de sistemas de control. Ofrece

también las herramientas necesarias para simular sistemas de control de la misma manera

que acceso al sistema de tanques acoplados.

Hough et al. [5] proponen un sitio electrónico, en el cual se provee enseñanza

interactiva para estudiantes de licenciatura. El sitio provee tres formas de enseñanza las

cuales pueden ser tomadas por el estudiante en su tiempo disponible y a su propio ritmo,

el primer módulo se compone de preguntas y respuestas, el segundo abarca temas más

complejos y se explican de forma tutorada, el tercer módulo explica el material de

referencia sobre instrumentación usada en sistemas de control.

Bachnak [10] describe un laboratorio basado en equipo de adquisición de datos de

National Instruments y Matlab. Los sistemas de adquisición de datos son usados con el

“toolbox” de Matlab™ de adquisición de datos para monitorear procesos de nivel flujo y

un sistema de calentamiento de aire.

Saco et al [35] describen un laboratorio que hace uso de las utilerías de

“RTWorkshop™” de Mathworks™, el sistema interactúa con dos tipos de hardware, el

primero es una tarjeta de adquisición de datos de National Instruments™, el segundo es

un procesador digital de señales de Texas Instruments™, ambos estimulan un sistema de

tanques de regulación de nivel. Al estudiante se le provee una librería con bloques para

usarse en Simulink™. Simulink™ genera el código que se usa ya sea en la tarjeta de

adquisición de datos o el procesador digital de señales.

Cooper et al. [7] diseñaron el paquete computacional “Control Station™” donde

se pueden construir y simular sistemas dinámicos, sintonizar controladores, e

implementar estrategias avanzadas de control, etc.

Zhantg et al [31] describen una herramienta llamada Netlab. Netlab es un

laboratorio remoto, el cual interactúa con dispositivos reales como sistemas de corriente

directa, un sistema de péndulo invertido, un sistema de triple tanque, etc. El sistema

puede ejecutar experimentos de control clásico, respuesta a la frecuencia, tanques

Page 28: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

11

acoplados, etc. El sistema es capaz de ejecutar algoritmos compilados en ANSI C, en la

forma de DLLs. Otra de las características importantes es que el software proporciona en

todo momento una retroalimentación visual por medio de una cámara monitoreando los

sistemas en tiempo real.

Burchett [25] describe un experimento para alumnos de licenciatura para la

identificación de sistemas. El experimento está basado en un sistema masa-resorte-

amortiguador construido por la compañía Educational Control Products™ [26]. El

experimento refuerza el entendimiento de la respuesta a la frecuencia además de la

identificación de sistemas.

Viedma et al. [28] presentan un sistema basado en TCP/IP. En este sistema, la

computadora de un usuario conectado, puede estar ejecutando cualquier sistema

operativo, y es capaz de conectarse a un servidor que provee herramientas de análisis y

diseño. El servidor tiene conectada una tarjeta de adquisición de datos tipo LabJack™ y

un analizador de señales, que estimulan y obtienen datos de un filtro implementado con

OPAMS, simulando un sistema de segundo orden.

Davari [29] describe un laboratorio basado en hardware y software de la

compañía Educational Control Products™, hace uso de los sistemas de control de torsión

[30] y de control rectilinial [26], controlados por el software de la compañía ECP

Executive Program™, que permite la implementación de controladores PI, PID, etc., de

la misma manera permite la obtención de gráficas y almacenamiento de datos.

Coito et al [32] presentan una implementación en LabView™, es un sistema

remoto que permite a un usuario conectarse a dos experimentos diferentes, un sistema de

control de nivel y sistema de control de temperatura. El sistema puede ser controlado por

un solo usuario a la vez, pero es posible que otros usuarios puedan observar y adquirir

datos en tiempo real. El sistema cuenta con un controlador PID, pero es posible ejecutar

pequeños programas en Matlab™.

Valera et al [33] describen Matlab™ Web Server que puede usarse para

laboratorios remotos, de la misma manera describen WinCon™ [34], que puede ejecutar

código generado por Simulink™ en tiempo real en una computadora remota. Se

describen un laboratorio virtual usando Matlab™ Web Server que interactúa con un

servomotor construido por Feeback Instruments Limited™, el segundo experimento está

Page 29: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

12

construido usando WinCon™ e interactúa con una mesa vibratoria construida por

Advantech™.

Selmer et al [36] describen un laboratorio que cuenta con un intercambiador de

calor, la adquisición de datos se realiza a través de una unidad del tipo USB. LabView™

es usado para procesar las señales adquiridas y también para transmitirlas en Internet.

Varios usuarios pueden conectarse al mismo tiempo e interactuar en línea con el tutor o

entre ellos mismos. El usuario puede ajustar parámetros de un controlador PID

implementado en la aplicación. Tabla 2.1 Tabla comparativa de trabajos de investigación

Autor Año de publicación

Monitoreo y control en tiempo

real

Uso de Matlab o

Simulink

Conexión remota

SOFT Real-Time, HARD

Real-Time

Mansour [6] 1989 No No Si SOFT Lim et al. [9] 1991 Si No No HARD

Etxebarria et al. [8] 1998 Si Si No HARD Irawan [27] 2001 Si No Si SOFT

Hough et al. [5] 2002 No No Si SOFT Bachnak [10] 2002 Si Si No SOFT Saco et al [35] 2002 Si Si No HARD

Cooper et al. [7] 2003 No No No SOFT Zhantg et al [31] 2004 Si No Si SOFT

Burchett [25] 2005 Si No No SOFT Viedma et al. [28] 2005 Si No Si SOFT

Davari [29] 2005 Si No No SOFT Coito et al [32] 2005 Si Si Si SOFT Valera et al [33] 2005 Si Si Si SOFT Selmer et al [36] 2005 Si No Si SOFT

Esta investigación [56] 2007 Si Si No SOFT

La tabla 2.1 hace un análisis comparativo de las técnicas usadas por los diferentes

autores mencionados.

Esta investigación presenta una alternativa de muy bajo costo para el uso de

Matlab™ y Simulink™ para aplicaciones de monitoreo y control en tiempo real “suave”,

además de que ofrece la capacidad de usar un mayor número de “toolboxes de

Matlab™”, a un nivel de complejidad mínimo.

Page 30: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

13

2.2 Tecnologías de software disponibles para la comunicación entre sistemas.

Debido al gran número de proveedores de software y la necesidad de intercambiar

datos entre aplicaciones, surgió la necesidad de estandarizar las tecnologías para la

interconexión entre procesos de datos. Esto ha hecho posible la aparición de soluciones

computacionales sin precedentes para los diversos campos de la ciencia. Sin embargo, el

vertiginoso ritmo al cual evolucionaron dichas tecnologías en ocasiones genera

confusiones que hacen pensar que existen nuevas y diferentes tecnologías cuando en

realidad son sólo evoluciones.

Dado que la intención es diseñar un sistema que se conecte a un proceso real e

intercambie datos entre diferentes aplicaciones, como Matlab™ y Simulink™, se hace

necesario hacer una investigación sobre técnicas y métodos para el intercambio de datos,

a continuación se hace un ejercicio cronológico de las diferentes tecnologías y su

evolución basadas en las distintas versiones de Microsoft™ Windows™.

2.2.1 Evolución de las tecnologías de software para la comunicación entre procesos.

Uno de los primeros métodos para la comunicación entre aplicaciones/procesos en

Windows fue la tecnología de Intercambio Dinámico de Datos (Dynamic Data Exchange)

mejor conocida como DDE por sus siglas en inglés. Fue lanzada en 1987 en la versión

de Windows™ 2.0 [15]. La tecnología permitía el envió y la recepción en lo que se

puede denominar “conversación” entre las aplicaciones.

La siguiente tecnología lanzada por Microsoft fue OLE™ (Object Linking and

Embedding), que fue introducida en Windows 3.0™ en 1990. La tecnología OLE™ es

una evolución de DDE [12]. La principal diferencia entre DDE y OLE™, es que la

primera sólo permite un intercambio limitado de datos, OLE ya mantiene un vínculo

activo entre las dos aplicaciones, empotrando un documento en el otro.

Posterior al surgimiento de OLE, en 1996 Microsoft™ lanzó al mercado los

componentes ActiveX™. ActiveX™ es una extensión de OLE™ pero con capacidades

de red [14].

Page 31: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

14

En 1993 Microsoft™ lanzó al mercado COM™ (Component Object Model), sin

embargo su uso generalizado fue hasta 1997. Se puede decir que COM™ engloba todas

las tecnologías anteriores, de tal forma que encapsula todas sus características. El

objetivo de COM™ es lograr poner en una forma general cualquier objeto de tal manera

que pueda ser utilizado en cualquier ambiente diferente al que fue creado [13]. El uso de

la tecnología se puede ver cuando es posible abrir el mismo contenido de una página

electrónica en sistemas operativos diversos como Windows™, Linux, Mac™ OS, etc.

2.2.2 Tecnologías de software usadas en la automatización.

En la automatización de procesos existen muchas marcas diferentes de

dispositivos, protocolos y estándares de redes industriales. Como resultado cada

proveedor es responsable de la conectividad con aplicaciones con otros proveedores, la

situación se complica dada la constante evolución y aparición de dispositivos, por lo tanto

constantes actualizaciones y mantenimiento de software es requerido.

Para solucionar este problema en 1996 se conjuntaron varias compañías líderes en

la automatización de procesos, con la finalidad de desarrollar una primera especificación

y plan de trabajo, tales fueron: Fisher-Rosemunt, Rockewell Software, Opto 22,

Intellution, and Intuitive Technology. Dado que un gran número de clientes de dichas

compañías usaban los sistemas operativos de Microsoft™, la compañía líder mundial en

sistemas operativos fue incluida. Como resultado se conformó la OPC™ Foundation

[16].

OPC™ (OLE™ for process control) se basó netamente en los objetos tipo

COM™ [13], que es un conjunto de APIs (Application Program Interface) donde para

mover datos de un proceso a otro no es necesario hacer una implementación de cada una

de las funcionalidades de cada producto, específicamente para realizar dicha tarea sólo se

hace uso de las funciones del conjunto estándar. En la implementación final cada

fabricante, participante del consorcio, empotra en sus aplicaciones la interfaz estándar

para la interconexión entre procesos, de tal manera que todos los fabricantes pueden

compartir datos ya que las estructuras y métodos son comunes a todos ellos.

Page 32: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

15

2.2.3 Otras técnicas usadas para el intercambio de datos entre aplicaciones.

Una técnica muy comúnmente aplicada para el intercambio de datos entre

aplicaciones por su fácil y flexible implementación, es hacer uso de sockets de

Windows™ (Winsock™).

Winsock™ es una especificación técnica que detalla cómo las aplicaciones

ejecutan los servicios de red, particularmente TCP/IP. La especificación define una

interfaz estándar entre un cliente TCP/IP y un servidor TCP/IP. Se considera uno de los

bloques más importantes de los sistemas operativos Windows™. El nombre de “sockets”

se deriva de la aplicación de UNIX Berkeley Sockets, que constituía también un paquete

para la transmisión de datos, pero en este caso no importaba el protocolo de transmisión.

La version 1.1 de Winsock™, fue lanzada en 1993 [17].

En algunas aplicaciones es posible implementar una conexión del tipo

retroalimentada “loopback”, la dirección “loopback” para cualquier computadora se

define como 127.0.0.1 [18], esto de acuerdo a la Internet Engineering Task Force (IETF)

en su memorando RFC3330. De esta manera una aplicación funge como servidor y otra

como cliente y ambas aplicaciones se comunican entre sí, como si estuvieran escribiendo

a un archivo físico de alta velocidad.

2.3 Software comercial

Existe un gran número de software de origen comercial que permiten la

implementación de sistemas integrados de adquisición, procesamiento y análisis de datos.

Cada uno de ellos se diferencia por las tecnologías utilizadas, las herramientas de análisis

usadas y la facilidad para la construcción de las mismas. A continuación se hace un

análisis comparativo:

Page 33: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

16

2.3.1 RSView™ [43] Tabla 2.2 Tabla de características de RSView™

País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos

Estados Unidos, Rockwell Automation

Software para la creación de HMI (Human Machine Interfases)

Permite la creación de interfases de usuario por medio de arrastre de bloques.

Ofrece conectividad para TCP/IP, RS232, drivers de distintos proveedores y OPC

Tiempo Real Herramientas de Análisis Tipo de Programa Costo

Es capaz de crear programas con aceptable funcionalidad en tiempo real.

Ofrece la ejecución de scripts hechos en Visual Basic, así como la ejecución de recetas.

Un programa de RunTime se requiere para su ejecución. Alto

2.3.2 Matlab™ [37] Tabla 2.3 Tabla de características de Matlab™

País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos

Estados Unidos, Mathworks

Lenguaje de alto nivel que contiene una interfaz interactiva que permite la ejecución de programas computacionales

Ofrece una interfase grafica llamada Simulink basada en el arrastre de bloques. Ejecución de tipo batch en el cual se puede programar de acuerdo a un lenguaje desarrollado por Mathworks. Además de soporte para la ejecución de archivos escritos en C/C++.

Ofrece librerías para el control de algunas tarjetas de adquisición datos (entradas-salidas analógicas, entradas-salidas discretas) de proveedores como National Instruments, Advantech, Measurement Computing, tarjetas de sonido y puertos paralelos compatibles con Microsoft Windows. Otra librería también ofrece soporte para la adquisición de datos de instrumentación como osciloscopios y generadores de funciones. Es posible también la adquisición de imágenes con soporte a diversas tarjetas de adquisición de imágenes. También es posible conectarse a servidores OPC, para leer y escribir datos a dispositivos que cumplen con el estándar OPC.

Tiempo Real Herramientas de Análisis Tipo de Programa Costo

Ofrece librerías para la ejecución en tiempo real en Simulink a través del modulo Real Time WorkShop.

Masivo cuenta con librerías de Optimización, Matemática Simbólica, Diferenciación Parcial, Algoritmos Genéticos, Estadística, Redes Neuronales, Ajuste de Curvas, Spline, Sistemas de Control, Identificación de Sistemas, Lógica Difusa, Control Robusto, Control Predictivo, Procesamiento de Señales, Comunicaciones, Diseño de Filtros, Radio Frecuencia, Procesamiento de Imágenes, Bioinformática, SimBiology, Análisis Financiero

Algunas librerías pueden generar código fuente que puede ser usado en microcontroladores y procesadores digitales de señales. También puede generar código fuente para ser compilado en paquetes comerciales como visual C++.

Alto. En su funcionalidad básica el costo puede ser aceptable y existen descuentos para uso académico, desafortunadamente las opciones de adquisición de datos se toman como herramientas de uso industrial y su costo es alto.

Page 34: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

17

2.3.3 LabWindows/CVI™ [39] Tabla 2.4 Tabla de características de LabWindows/CVI™

País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos

Estados Unidos, National Instruments

Lenguaje de desarrollo para la creación de pruebas, mediciones y aplicaciones de control.

Interfase de programación basada en ANSI C, generación de interfases de usuario basada en el principio de arrastre de bloques.

Ofrece librerías para el control de todas su gama de tarjetas de adquisición de datos, así como soporte para los estándares VXI, PXI, VISA, GPIB, OPC, FieldPoint, Visión System

Tiempo Real Herramientas de Análisis Tipo de Programa Costo

Es capaz de crear programas con aceptable funcionalidad en tiempo real.

Limitado, cuenta con algunas librerías de manipulaciones matemáticas, generación de señales, probabilidad y estadística.

Programas auto ejecutables. Muy bajo

2.3.4 LabView™ [38] Tabla 2.5 Tabla de características de LabView™

País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos

Estados Unidos, National Instruments

Lenguaje de desarrollo para la creación de pruebas, mediciones y aplicaciones de control.

Interfase de programación grafica, basada en el arrastre de bloques, generación de interfases de usuario basada también en el principio de arrastre de bloques. Soporte para la ejecución de módulos escritos en C/C++.

Ofrece librerías para el control de todas su gama de tarjetas de adquisición de datos, así como soporte para los estándares VXI, PXI, VISA, OPC, FieldPoint, Visión System

Tiempo Real Herramientas de Análisis Tipo de Programa Costo

Es capaz de crear programas con aceptable funcionalidad en tiempo real, además de módulos para la ejecución de programas totalmente deterministicos.

Limitado, cuenta con algunas librerías de manipulaciones matemáticas, generación de señales, probabilidad y estadística.

Programas auto ejecutables. Bajo

2.3.5 SIMATIC WinCC flexible™ [41] Tabla 2.6 Tabla de características de Simatic WinCC flexible™

País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos

Alemania, Siemens Software para la creación de HMI (Human Machine Interfases)

Permite la creación de interfases de usuario por medio de arrastre de bloques.

Ofrece conectividad para buses como PPI, MPI, PROFIBUS-DP, TCP/IP, RS232, drivers de distintos proveedores y OPC

Tiempo Real Herramientas de Análisis Tipo de Programa Costo

Es capaz de crear programas con aceptable funcionalidad en tiempo real.

Ofrece la ejecución de scripts hechos en Visual Basic, así como la ejecución de recetas.

Un programa de RunTime se requiere para su ejecución. Alto

Page 35: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

18

2.3.6 Agilent VEE™ [40] Tabla 2.7 Tabla de características de Agilent VEE™

País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos

Estados Unidos, Agilent Technologies Ambiente visual de ingeniería

Permite la creación de programas por medio de bloques, es posible también escribir módulos en Visual Basic, C/C++, Visual C# y LabView

Ofrece librerías para el control de todas su gama de tarjetas de adquisición de datos, tarjetas de National Instruments, así como soporte para los estándares VXI, PXI, VISA y GPIB.

Tiempo Real Herramientas de Análisis Tipo de Programa Costo

Es capaz de crear programas con aceptable funcionalidad en tiempo real.

Limitado, cuenta con un modulo de Matlab implementado, pero solo con funciones básicas, computación numérica, graficas, procesamiento de señales, matemáticas de matrices.

Un programa de RunTime se requiere para su ejecución. Bajo

2.3.7 Profit Suite 300™ [42] Tabla 2.8 Tabla de características de Profit Suite 300™

País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos

Estados Unidos, Honeywell

Software para la creación de interfases de usuario, así como la implementación de esquemas de control experto y optimización

Permite la creación de interfases de usuario, esquemas de control y optimización por medio de arrastre de bloques.

Ofrece conectividad para TCP/IP, RS232, drivers de distintos proveedores y OPC

Tiempo Real Herramientas de Análisis Tipo de Programa Costo

Es capaz de crear programas con aceptable funcionalidad en tiempo real.

Herramientas para control multivariable, optimización y sistemas expertos.

Un programa de RunTime se requiere para su ejecución. Alto

En el mercado se pueden encontrar una gran cantidad de software para el

desarrollo de aplicaciones de monitoreo y control. El costo de las herramientas

incrementa en la medida que se facilita el desarrollo, la misma tendencia se puede

observar en la medida que el software incorpora herramientas de análisis.

Page 36: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

2.4 Comentarios

El capítulo presenta una perspectiva general de algunos trabajos relacionados a la

enseñanza del control automático de procesos. También se presenta un panorama general

de las tecnologías de intercambio de datos entre procesos para facilitar el análisis de las

tecnologías usadas actualmente. Por último se hace una comparación de algunos

programas comerciales para computadoras personales que permiten la creación de una

interfaz de usuario, adquirir datos y transmitir-recibir datos entre aplicaciones más

conocidos y usados en la automatización de procesos industriales.

19

Page 37: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

20

Capítulo 3

3. Sistema Experimental

El sistema experimental usado para validar el desarrollo es una estación de

monitoreo y control del nivel en un tanque. Esta estación es un sistema ampliamente

usado, el cual puede representar sistemas con características dinámicas típicas de

procesos industriales [3].

Figura 3.1Estación de monitoreo y control de nivel.

Donde V1 es la válvula manual de alimentación, V2 es la válvula manual de descarga, FV-100 es una válvula de control, FT101 y FT1002 representan los medidores de flujo de entrada y salida, finalmente LT-100 corresponde

al medidor de nivel del tanque.

En este proceso una bomba hace circular agua a través de la tubería, una válvula

controla el flujo de agua de entrada al tanque, es posible simular perturbaciones en los

flujos de entrada y salida a través de válvulas conectadas en la tubería. Existen sensores

para medir el flujo de entrada (FT-101), flujo de salida (FT-102) y nivel del tanque (LT-

100), estos sensores están conectados a un controlador industrial. El controlador

industrial maneja la válvula de alimentación (FV-100). El controlador cuenta con una

Page 38: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

21

interfaz de comunicaciones del tipo RS485 que se conecta por medio de un convertidor

RS485/RS232 al puerto serial de una computadora. La figura 3.1 muestra una fotografía

de la estación de monitoreo y control de nivel.

La figura 3.2 muestra un diagrama conceptual de la estación de monitoreo y

control de nivel. Los elementos que forman parte de la estación se describen a

continuación.

Figura 3.2 Diagrama conceptual de la estación de monitor y control de nivel.

El diagrama describe un sistema de nivel-tanque, dos sensores-transmisores de flujo (FT101, FT102), un sensor-transmisor de nivel (LT-100), y una válvula de control (FV100)

• FT-101 Sensor/transmisor de flujo de entrada

• FT-102 Sensor/transmisor de flujo de salida

• LT-100 Sensor/transmisor de Nivel

• FV-100 Válvula de control

• V1 Válvula manual en entrada

• V2 Válvula manual en salida

Page 39: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

22

3.1 Instrumentación instalada

• Dos Sensores/Trasmisores de flujo de agua (FT-101, FT-102): Constan de placa de orificio para medir flujos, de 0.308 pulgadas para tubería de ½ pulgada y un transmisor diferencial de presión ST 3000, modelo S900.

• Sensor/Transmisor de Nivel (LT-100). Transmisor diferencial de presión ST 3000, modelo S900.

• Válvula de control de Agua (FV-100). Válvula de globo de un asiento de ½ pulgada hecha de bronce, un actuador neumático LIN-E-AIRE W.E Anderson y electroposicionador, PRECISOR de W.E Anderson

• Transductor Corriente-Presión. Modelo STD 5131, entrada 4-20mA, salida 3-15psig

• Llaves estándar de uso industrial (V1 y V2). Llaves estándar de uso industrial de ½ pulgada.

3.2 Controlador PID

El controlador industrial instalado es un Honeywell UDC 6300, el controlador

está basado en un microprocesador en el cual están configuradas estrategias de control.

Dentro de sus características principales se encuentran:

• Tiene una interfaz de usuario con tres indicadores de barra, donde se

despliegan la referencia (Set Point), la variable del proceso (Process

Variable) y el valor de la salida (OUTPUT), además de los indicadores de

barra cuenta con dos indicadores digitales donde se muestran los valores

numéricos de las entradas, salida, referencia ó variable de proceso.

• Cuatro entradas analógicas están disponibles para la conexión de sensores,

las entradas pueden ser configuradas para aceptar rangos de voltaje de 1 a

5 volts, 4 a 20 mA, o 10 a 50 mA

• Salida de corriente de 4 a 20 mA, a una carga de 0 a 100 ohms.

• Puede configurar dos lazos de control independientes o en cascada.

• Comunicación serial, RS422/485 ó Honeywell DMCS

• Operación manual o automática.

• Cuatro diferentes alarmas pueden ser programadas.

• Tres tipos de ecuaciones de control disponible, ON/OFF, proporcional-

integral-derivativo, proporcional-derivativo.

Page 40: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

23

• Técnica de control de selección de ganancias de acuerdo al valor de la

variable de proceso (“Gain Scheduling”).

3.3 Proyectos realizados en la estación de monitoreo y control de nivel. Los estudiantes de los laboratorios de control continuo realizan proyectos de

identificación de parámetros, sintonización de PIDs y diferentes estrategias de control

continuo como retroalimentado, antealimentado/retroalimentado y control en cascada.

3.3.1 Control retroalimentado Para este proyecto el controlador Honeywell UDC 6300 se utiliza como

controlador PID, se monitorea el sensor de nivel (LT-100), y comanda la abertura de la

válvula de control (FV-100). La figura 3.3 muestra el esquema implementado.

Figura 3.3 Sistema de control retroalimentado.

El controlador Honeywell UDC 6300 es usado como controlador PID (LIC-100), V1 y V2 son usadas para inducir perturbaciones al sistema

Page 41: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

24

3.3.2 Control antealimentado/retroalimentado Para implementar el sistema antealimentado/retroalimentado, al esquema de la

sección anterior se le agrega el resultado de la modelación de la perturbación del flujo de

salida (válvula manual V2, FY-100), y por pruebas experimentales el bloque de

adelanto/atraso (lead/lag, FY-101) es configurado en el controlador UDC 6300, el

esquema se muestra en la figura 3.4.

Figura 3.4 Sistema de control antealimentado/retroalimentado.

En el controlador Honeywell UDC 6300 se configuran/modelan los bloques FY-100 y FY101

Page 42: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

25

3.3.3 Control en cascada Para la estrategia en cascada una variable intermedia indica las perturbaciones en

el flujo de entrada (FT-101) inducida por la válvula manual V1, con esta variable

intermedia se configura el controlador esclavo, el controlador de nivel es el controlador

maestro, para configurar la estrategia en cascada. La figura 3.5 muestra la

implementación de la estrategia.

Figura 3.5 Estrategia de control en cascada.

En el controlador Honeywell UDC 6300 se configuran el controlador esclavo (FIC-101) y el maestro (LIC-100)

Page 43: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

26

Capítulo 4

4. Metodología

4.1 Introducción

En los primeros años de la implementación de los sistemas de control de procesos

continuos (basados en el controlador PID), estos eran construidos a partir de elementos

mecánicos o arreglos de amplificadores operacionales. A partir del surgimiento de las

computadoras digitales y su evolución, se ha hecho posible confiar en ellas para la

implementación de control computarizado, ya que su ajuste (sintonización) se realiza de

una manera muy rápida, además de que los costos de implementación se han visto

drásticamente reducidos.

4.2 Metodología de diseño para una interfaz humano-máquina.

Originalmente llamadas interfaz de operador (“OI”, Operator Interface), después

renombradas como interfaz hombre máquina (“MMI”, Man-Machine Interfaces) y

últimamente llamadas interfaz humano máquina (“HMI”, Human Machine Interfaces)

[19], son una parte importante en los sistemas de control y cobran mayor importancia en

los sistemas de control computarizado. Las HMI permiten al usuario visualizar mediante

pantallas con gráficos el comportamiento de las maquinarias, procesos y sistemas que se

deseen monitorear. En un inicio las HMI funcionaban sólo como interfaz remota que

interactuaban con algún controlador análogo; ahora las HMI pueden formar parte de un

complejo sistema de controladores capaces de tomar decisiones en circunstancias

extremas del proceso. El uso de computadoras otorga una gran versatilidad ya que se

puede contar con una gran variedad de opciones en una HMI, como gráficas, históricos

del proceso, algoritmos de control, información para toma de decisiones, etc.

Haley [20], sugiere dos características importantes para la exitosa implementación

de HMIs:

Page 44: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

27

1. Creación, definición de estándares. Considerar en todo momento el medio

ambiente del operador. Usar altos contrastes para datos primarios (variables de

proceso). Datos secundarios o de soporte deben ser más pequeños. Las alarmas

deben ser fácilmente reconocibles usando colores brillantes. Ser consistente en el

uso de símbolos y abreviaciones en todo el proceso de diseño.

2. Obtención, revisión de los datos. Las fuentes de datos deben ser una

combinación de pantallas existentes (pantallas de controladores), procedimientos

y entrevistas con los operadores.

De la misma manera, sugiere los siguientes pasos de diseño:

1. Creación de un borrador. El primer borrador pueden ser una compilación de

pantallas existentes en un dibujo tipo CAD o en una hoja de papel.

2. Validación/Aprobación. Verifique que la información está bien posicionada y

entendible para todos los grupos de usuarios.

4.3 Estructura completa de la interfaz.

El propósito general de la interfaz humano-máquina es conectarse a la estación de

monitoreo y control de nivel (descrita en el capítulo 3). La aplicación principal será

programada usando el software LabWindows/CVI™ de National Instruments™.

LabWindows/CVI™ es un lenguaje de programación basado en ANSI C, ofrece un gran

número de librerías para la rápida creación de programas con interfaz de usuario y

adquisición de datos [39], en los últimos años se ha convertido en un estándar en la

construcción de software de uso industrial.

La comunicación hacia el UDC 6300 se realizará a través de un puerto serial tipo

RS232. La HMI tendrá como características principales un plano principal para el acceso

a las variables del proceso, monitoreo y graficación de las variables. A su vez se

incorporarán dos interfaces o conexiones a la HMI para control externo. La primera

interfaz se encargará de transmitir y recibir datos desde y hacia Matlab™ y Simulink™,

la segunda interfaz ejecutará programas compilados en ANSI C. La figura 4.1 muestra

un diagrama conceptual del diseño de la aplicación y sus conexiones.

Page 45: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

28

TCP/IP

Modem RS232/RS85

RS232

RS485

Direccionesde memoria

Matlab™

Simulink™

Compilador ANSI CDEVC++

Creación DLLs

INTERFAZ DESARROLLADA(HMI)

Ejecución de scripts compilados en ANSI C Conexión con Matlab™

Administración de la comunicacion con el UDC 6300

Graficar, grabar datos, configurar.

4-20 mA

4-20 mA

Figura 4.1 Diagrama conceptual de la aplicación y sus conexiones.

La aplicación principal se conectara y administrara al UDC 6300, a elección del usuario se podrán ejecutar aplicaciones en Simulink™ o scripts compilados en ANSI C.

Page 46: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

29

4.3.1 Interfaz de comunicación de la HMI con el controlador

La comunicación entre la HMI y el controlador se realiza a través de un puerto

serial RS232 en una computadora personal, el controlador Honeywell™ UDC 6300

cuenta con una interfaz RS422/485 que permite la comunicación de hasta quince

controladores conectados a un bus de datos. Para llevar a cabo la comunicación entre la

computadora personal y el UDC 6300 se requiere un convertidor RS232 a RS422/485.

La comunicación entre el UDC 6300 y la computadora es del tipo estímulo-

respuesta, esto es, para cualquier petición de información la HMI tiene que formular la

petición y el UDC 6300 contestará la petición. Para el controlador UDC6300 existen

básicamente dos tipos de acceso a los datos, lectura y escritura. La figura 4.2 muestra el

modelo de comunicaciones entre el UDC y una computadora personal.

Figura 4.2 Esquema de comunicación entre el UDC 6300 y la HMI.

La comunicación con el UDC 6300 siempre es iniciada por la computadora, existen dos tipos de peticiones Lectura y Escritura

La aplicación principal inicializa la comunicación serial a través de uno de los

puertos seriales disponibles en la computadora. Para llevar a cabo esta tarea se hace uso

del conjunto de funciones que ofrece la librería estándar de comunicaciones RS232 de

LabWindows/CVI™.

La función OpenComConfig, configura el puerto de acuerdo a los parámetros

introducidos por el usuario, los parámetros a considerar para esta aplicación son:

BaudRate, Paridad, DataBits y StopBits. Los parámetros anteriores son de suma

Page 47: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

30

importancia ya que dicha configuración debe concordar con los valores que el UDC 6300

tiene configurados, si los valores introducidos por el usuario en la aplicación principal y

los configurados en el UDC 6300 no concuerdan, no será posible comunicar ambos

dispositivos.

Una vez que el sistema operativo otorgo el acceso al puerto serial de una

computadora, es necesario configurar una interrupción en la aplicación. Dicha

interrupción se encargará de informar a la aplicación principal que un evento de

recepción de datos por el puerto serial ha ocurrido, una vez notificada la aplicación

principal se procesaran los datos de acuerdo al tipo recibido, para implementar la

interrupción se hace uso de la función InstallComCallback, que también forma parte de la

librería estándar de comunicaciones seriales de LabWindows/CVI™. La función

InstallComCallback configura una interrupción en el puerto serial al que se tiene acceso,

dentro de los parámetros de configuración se encuentran, el tipo de evento por el que se

ejecutará la interrupción, para el caso de la HMI, cada vez que exista un número

determinado de bytes en la fila de recepción del puerto serial la interrupción se disparará.

Otro parámetro importante de InstallComCallback es la función a llamar cada vez que la

interrupción se presente, para el caso de la HMI la función a llamar es la encargada de

leer la pila de entrada y decodificar el contenido del mensaje recibido del UDC 6300.

La transmisión de datos desde la HMI hacia el UDC 6300 se ejecuta

componiendo el mensaje de petición de acuerdo a la especificación de comunicaciones

del UDC 6300 [44], y mandando la cadena usando la función ComWrt de la librería

estándar de comunicaciones RS232 de LabWindows/CVI™.

En el Apéndice A, primera sección, se incluyen pseudo códigos que implementan

estas tareas.

4.3.2 Diseño de la comunicación de la HMI con Matlab Simulink

Una de las características importantes de la HMI es su capacidad de recibir y

transmitir datos desde y hacia el software Matlab™ y en particular hacia Simulink™.

Existen distintas tecnologías para la intercomunicación de datos entre procesos

ejecutándose al mismo tiempo en una computadora personal, sin embargo, cada

implementación acarrea diversos costos como puede ser la compra de la interfaz de

Page 48: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

31

aplicación (Application Program Interface, “API”), para el caso de las aplicaciones

compatibles con OPC, y algunas veces es difícil justificar la inversión. Por esta razón se

decidió implementar el sistema usando un “socket” de datos. En este caso la HMI

funcionaría como un servidor TCP/IP con la dirección de “loopback” asignada. En

Simulink™ es posible implementar bloques compilados en C++, en dichos bloques

también es posible implementar un cliente TCP/IP [21], que se conectará al servidor

implementado en la interfaz de usuario, Figura 4.3

Figura 4.3 Esquema de la implementación del servidor y cliente TCP/IP.

En la implementación realizada, la HMI crea un servidor TCP, en Matlab se configura un cliente de TCP, y de esta forma se logra la comunicación entre ambas aplicaciones.

Para una correcta transmisión de datos entre la HMI y Simulink™ se hace

necesaria la creación de un protocolo de comunicación en el cual se encapsulan los datos

en una trama de datos estandarizada, tanto para la recepción de datos en Matlab™, como

en la recepción de datos en la HMI.

Una vez que el servidor de TCP/IP en la interfaz es activado, la aplicación

desarrollada en Simulink™ toma control total de la interfaz, tanto del tiempo de

muestreo, la lectura y transmisión de datos hacia Matlab™. Dado que el controlador

tiene un tiempo de respuesta de un tercio de segundo por cada petición, son requeridos un

mínimo de 1.2 segundos para lograr exitosamente la lectura del nivel del tanque, flujo de

agua de entrada al tanque y flujo de salida de agua del tanque, además de la escritura del

valor de abertura de la válvula de control. Dado que la aplicación se ejecutara en un

tiempo definido es importante señalar que solamente funciones discretas pueden ser

usadas en la aplicación. Por otra parte también es importante señalar que para algunas

aplicaciones el tiempo de muestreo definido puede ser restrictivo, pero no es el caso de la

Page 49: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

32

estación de monitoreo y control de nivel. Un ciclo de ejecución se muestra en la figura

4.4

Figura 4.4 Diagrama de flujo de un ciclo de ejecución de la HMI conectada a Simulink™.

El diagrama muestra el flujo completo de la información y cuáles son los momentos de transmisión y recepción.

Page 50: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

33

El tiempo de muestreo es controlado por medio de una librería Real Time (RT

Library) [22], en la cual la simulación es paralizada hasta que se cumple el tiempo de

muestreo deseado, dejando los recursos libres del sistema operativo. Una vez que se

cumple el tiempo, se ejecuta el paso de simulación siguiente, dando como resultado la

impresión de que la tarea se está ejecutando en tiempo real. En el apéndice A, segunda

sección, se muestra el bloque para la comunicación con Matlab™.

4.3.3 Metodología para el diseño del intérprete para la ejecución de controladores compilados en ANSI C

Otra de las características importantes de la HMI es la ejecución de programas

compilados en ANSI C. Dicha característica permite la ejecución de algoritmos

matemáticos, abriendo un sin número de posibilidades a probar otras teorías y/o leyes de

control.

La HMI facilita el diseño y la construcción de controladores digitales, ya que

permite al usuario concentrarse en los métodos y algoritmos de control, dejando de lado

todas aquellas tareas que son necesarias para una correcta ejecución que normalmente

salen del campo del conocimiento de la teoría de control, generalmente ligadas a ciencias

computacionales y comunicaciones.

La HMI provee un intérprete que ejecuta controladores o esquemas discretos

compilados en ANSI C. El usuario sólo necesita un compilador de ANSI C en el que

desarrollará el controlador o método discreto, el usuario se encargará de generar una

librería de enlace dinámico (Dynamic Link Library, “DLL”) y a partir de otras librerías

que permiten el acceso a las variables del proceso, se cargará a la HMI y esta ejecutará el

esquema de control.

Una librería de enlace dinámico (DLL) es un módulo que contiene funciones y

datos que pueden ser usados por alguna otra aplicación o DLL [23]. Existen dos tipos de

librerías dinámicas, las que exportan todas sus funciones al momento de ser compiladas,

y las que se les denomina librerías dinámicas de tiempo de ejecución (run-time dynamics

link library). La HMI hace uso de este tipo de librerías para cargar en tiempo de

ejecución los controladores discretos.

Page 51: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

34

Se carga la librería dinámica

Se obtienen las direcciones de memoria de las variables de proceso, flujo de entrada y salida

Se registran las funciones de Inicio, Ejecución y Terminación

Se ejecuta la función de Inicio

Se ejecuta la función de Ejecución

Se ejecuta la función de Terminación

Finalizar DLL

Finalizar

NO

SI

Figura 4.5 Diagrama de ejecución de un programa compilado en ANSI C. El diagrama de flujo muestra el orden en que las variables son ligadas y las funciones definidas ejecutadas.

El modelo de implementación de controladores compilados en ANSI C, consiste

en registrar tres funciones externas al programa principal que se encargarán de

implementar el esquema de control. Una vez registradas estas funciones también se

comparten las direcciones de memoria de las variables, donde se almacenan los datos del

nivel del tanque, flujo de entrada al tanque y flujo de salida del tanque, así como también

el valor de abertura de la válvula. Una vez registradas las funciones y conocidas las

direcciones de memoria de las variables, es posible leer y escribir dichas locaciones,

Page 52: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

dando la posibilidad que después de los cálculos matemáticos apropiados, derivados éstos

de las lecturas del nivel del tanque, flujo de entrada al tanque y flujo de salida del tanque,

sea posible escribir la variable de abertura de la válvula a partir del resultado de dichos

cálculos.

El esquema de funcionamiento del sistema se muestra en la figura 4.5. El

apéndice B muestra un ejemplo de dicha implementación.

35

Page 53: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

36

Capítulo 5

5. Resultados

5.2 Interfaz de Monitoreo y Control

Para lograr el funcionamiento óptimo de la HMI el UDC 6300 será puesto en

operación manual, 1) Los valores de nivel del tanque serán requeridos por la interfaz

desarrollada al UDC 6300, 2) El UDC6300 enviará los valores de nivel del tanque, flujo

de entrada y flujo de salida, 3) La HMI los enviará a Matlab, 4) Matlab los procesará por

medio de Simulik, 5) En Simulink se calculará la abertura de la válvula de acuerdo al tipo

de controlador o estrategia utilizada y enviada por Matlab a la HMI, 6) Por último la HMI

se encargará de mandar el comando adecuado al controlador UDC 6300, para conseguir

la abertura deseada de la válvula.

El la figura 5.1 se muestra la pantalla principal de la interfaz desarrollada en

LabWindows/CVI de National Instruments [39], el panel principal es del tipo tabulador

(2), el costado izquierdo de la pantalla principal se encuentra fijo (1), en el cual se

despliegan diversos indicadores como la variable del proceso, flujo de entrada, flujo de

salida, referencia, etc. En la misma sección se encuentra una ventana donde las variables

anteriormente mencionadas son graficadas. En el costado derecho de la interfaz se

localizan cuatro pestañas de configuración.

• “Communications Parameters”. Permite el ajuste de parámetros de

comunicación entre el UDC 6300 y la interfaz.

• “UDC Data”. Muestra una bitácora de la comunicación entre el UDC

6300 y la interfaz, permite configurar las variables a monitorear, ajustes de

tiempo de muestreo, etc.

• “Load Controller”. Carga y ejecuta una librería dinámica “dll”, también

provee un botón de paro para el controlador, una perilla para el ajuste de

referencias y una bitácora de comunicaciones entre el “dll” y la interfaz.

Page 54: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

37

• “Server Data”. Habilita la interfaz para el inicio de comunicaciones entre

la interfaz y Matlab, provee un interruptor para iniciar la comunicación e

indicadores del estatus de la conexión.

Figura 5.1 Pantalla principal de la interfaz.

La pantalla principal ofrece al usuario la posibilidad de configurar y ajustar parámetros sin perder de vista el proceso.

En el apéndice C se detallan las diferentes pantallas de las que se compone la interfaz

de usuario creada para esta investigación.

5.1 Diseño de experimentos

Para validar el desempeño de la HMI se realizaron los proyectos de aplicación de

la tabla 5.1. Tabla 5.1 Proyectos realizados en la interfaz

Proyecto Descripción

1 Implementar un controlador basado en lógica difusa en tiempo real 2 Estrategias de control (cascada y cascada antealimentado) 3 Controladores PID con diferentes técnicas de sintonización. 4 Estrategias de control avanzadas (Internal Mode Control [51] y

Predictor de Smith [51]).

Page 55: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

38

5.2 Aplicaciones

5.2.1 Proyecto #1: Controlador difuso en tiempo real

Se usó un controlador basado en lógica difusa para mantener el nivel del tanque

en un valor. El control difuso surge de la necesidad de facilitar la forma de controlar un

proceso a partir de emular el funcionamiento del cerebro humano. El cerebro humano es

capaz de aprender y razonar en ambientes vagos y con incertidumbre, no usa modelos

matemáticos complejos que representan el sistema a controlar. El control difuso es capaz

de operar con no linealidades, incertidumbre en el ambiente, comportamientos temporales

e incertidumbre en mediciones [50].

El objetivo del proyecto es que el usuario introduzca la referencia para el nivel de

agua deseado en el tanque (Set Point) y que el controlador basado en lógica difusa realice

las manipulaciones en la abertura de la válvula para poder llegar al nivel y mantenerse.

También se evaluará el desempeño del controlador ante perturbaciones en el flujo de

entrada, provocadas por la válvula manual V1 y perturbaciones en el flujo de salida,

provocadas por la válvula manual V2. El lazo de control puede observarse en la figura

5.2

Figura 5.2 Lazo de control, y situación del controlador basado en lógica difusa.

La función del controlador UDC 6300 es puesto en modo manual y el control se realiza desde Matlab con un controlador basado en lógica difusa.

Una vez obtenida o definida la dinámica del proceso por el experto, se procedió al

diseño del controlador basado en lógica difusa, el controlador fue implementado en

Page 56: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

39

Simulink con el “toolbox de lógica difusa”. El “toolbox” provee una interfaz de usuario

que permite la creación de sistemas clásicos de inferencia difusa. También provee un

bloque que puede ser insertado en aplicaciones de Simulink™ y ejecutar el sistema de

inferencia, todos los detalles de implementación de este proyecto pueden encontrarse en

el Apéndice D. La implementación final se puede observar en la figura 5.3, a

continuación se documentan los puntos señalados:

1. Escritura de valor de manipulación.

2. Lectura de los valores de nivel, flujo de entrada y salida.

3. Referencia del controlador

4. División del error entre 10 para ajustarlos en un rango de -10 a 10.

5. Normalización del derivativo.

6. Obtención del nivel actual para ser comparado con la referencia.

7. Controlador difuso

8. Obtención del derivativo para deducir la razón del cambio del nivel.

9. Multiplicación de las dos salidas del controlador difuso: Manipulación y

Ganancia.

10. Memoria que almacena el valor anterior de la salida que es relativa a la

manipulación anterior.

11. Manipulación con saturación mínima de 10 y máxima de 90.

5.2.1.1 Resultados de la implementación del controlador difuso en tiempo real

Se realizaron las pruebas de la tabla 5.2 para evaluar el desempeño del sistema de

control. Tabla 5.2 Pruebas realizadas al controlador difuso

Prueba Descripción 1 Cambio de nivel del tanque de 30% a 50 % 2 Cambio del nivel del tanque de 50% a 30% 3 Perturbación en el flujo de agua de entrada del tanque (cerrado y apertura de

la válvula manual V1). 4 Perturbación en el flujo de agua de salida del tanque (cerrado y apertura de la

válvula manual V2).

Page 57: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

40

Figura 5.3 Diagram

a de Bloques del controlador D

ifuso. L

a implem

entación mostrada realiza todas las adecuaciones necesarias para lograr la im

plementación del

controlador difuso.

Page 58: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

41

Desempeño en Servo Control

En las figuras 5.4 y 5.5 se muestran los resultados experimentales utilizando el

controlador difuso para la prueba 1 y 2 respectivamente. En la parte superior de las

gráficas se encuentra graficada la referencia que debe alcanzar el controlador y el valor

real del nivel del tanque. En la parte inferior se presenta el porcentaje de abertura de la

válvula de control del flujo de entrada al tanque.

20 40 60 80 100 120 140 160 18025

30

35

40

45

50

55

Time(=)sec

Per

cent

age(

=)%

20 40 60 80 100 120 140 160 18025

30

35

40

45

Time(=)sec

Per

cent

age(

=)%

Referencia

Nivel delTanque

Abertura dela válvula

Figura 5.4 Respuesta ante cambio de nivel en el tanque de 30% a 50%.

Se puede observar que la referencia deseada fue alcanzada de forma suave, con muy poco sobre impulso, los cambios en la abertura de la válvula también fueron bastante suaves.

Resultados de desempeño Los criterios de evaluación del desempeño del controlador basado en lógica difusa

para cambios en referencia son: porcentaje de sobretiro (Mp) y tiempo de estabilización

(ts). En la tabla 5.3 se muestran los resultados del desempeño del controlador.

Tabla 5.3 Controlador difuso ante cambios de nivel Prueba ts Mp

Prueba 1 50.39 seg 2.5% Prueba 2 30.18 seg 5.0%

Page 59: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

42

20 40 60 80 100 120 140 160 180

30

40

50

Time(=)sec

Per

cent

age(

=)%

20 40 60 80 100 120 140 160 18025

30

35

40

45

Time(=)sec

Per

cent

age(

=)%

Referencia

Nivel del Tanque

Abertura dela válvula

Figura 5.5 Respuesta ante cambio de nivel en el tanque de 50% a 30%.

Al igual que el experimento anterior el acercamiento a la referencia fue suave y con poco sobreimpulso, los cambios en la abertura de la válvula son también bastante suaves.

Desempeño en control regulatorio

En las figura 5.6 y 5.7 se muestran los resultados utilizando el contralor basado en

lógica difusa ante perturbaciones. En la parte superior de las gráficas se encuentra la

referencia deseada y el cambio de nivel al momento que se presenta la perturbación. En la

parte inferior se presenta la perturbación, su efecto en la abertura de la válvula y flujos de

entrada y salida.

Resultados de desempeño Los criterios utilizados para la evaluación del desempeño en control regulatorio

del controlador basado en lógica difusa son desviación máxima (DM) y tiempo de

recuperación (tr). En la tabla 5.4 se muestran los resultados del desempeño del

controlador.

Page 60: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

43

20 40 60 80 100 120 140 160 18025

30

35

40

45

Time(=)sec

Per

cent

age(

=)%

20 40 60 80 100 120 140 160 1800

10

20

30

40

50

Time(=)sec

Per

cent

age(

=)%

Referencia

Nivel del Tanque

Flujo de Salida

Abertura de la válvula

Flujo de Entrada

Figura 5.6 Respuesta ante una perturbación en el flujo de entrada.

Se observa en la grafica como el nivel del tanque se incrementa cuando el flujo de entrada se incrementa, de la misma forma se puede observar como la abertura de la válvula es disminuida.

Tabla 5.4 Controlador difuso ante perturbaciones en la entrada y salida.

Prueba tr DM Prueba 3 110 seg +10.19% Prueba 4 90 seg +2.7%

0 20 40 60 80 100 120 14028

30

32

34

Time(=)sec

Per

cent

age(

=)%

0 20 40 60 80 100 120 1400

10

20

30

40

Time(=)sec

Per

cent

age(

=)%

Nivel del tanque

Referencia

Flujo de Salida

Abertura de la válvula

Flujo de Entrada

Figura 5.7 Respuesta ante una perturbación el flujo de salida.

Se observa en la grafica como el nivel del tanque se incrementa cuando el flujo de salida se disminuye, de la misma forma se puede observar como la abertura se empieza a incrementar.

Page 61: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

44

5.2.2 Proyecto # 2: Estrategias de control en tiempo real

Se usó la estrategia en cascada para controlar la estación de monitoreo y control

de nivel, una vez definida la estrategia en cascada se le colocó un bloque de

antealimentación. En el caso de la estrategia de control en cascada, se trata de localizar

una fuente de perturbaciones en el proceso, se instala un controlador PID, denominado

como “esclavo” y sintonizado para contrarrestar perturbaciones. Sobre el controlador

anterior se instala otro controlador, llamado “maestro”, el cual le define al controlador

“esclavo” la referencia deseada. La estrategia de antealimentación es incorporada cuando

es posible medir el efecto de una perturbación mayor antes de que afecte al proceso. En

una situación ideal, la antealimentación eliminaría el efecto de la perturbación en la salida

del proceso [24]. Cabe señalar que en la mayoría de los controladores PID industriales

solo es posible implementar la ganancia de antealimentación, es decir, no existe el bloque

de adelanto/atraso completo, en algunos sistemas de control distribuido el bloque

completo existe, sin embargo su configuración es bastante compleja, la HMI ofrece una

manera casi natural para la implementación del bloque de adelanto/atraso.

El objetivo del proyecto es implementar una estrategia en cascada y una estrategia

en cascada con antealimentación y observar los efectos de las estrategias ante cambios en

referencia. También se evaluará el desempeño de ambas estrategias ante perturbaciones

en el flujo de entrada, provocadas por la válvula manual V1 y perturbaciones en el flujo

de salida, provocadas por la válvula manual V2. El lazo de control para la estrategia en

cascada puede observarse en la figura 3.5, la estrategia en cascada con antealimentación,

se puede observar en la figura 5.8

Se realizaron identificaciones en base a modelos de primer orden para los dos

lazos de la estrategia en cascada, después se sintonizó al controlador esclavo (FIC-101),

para contrarrestar perturbaciones, y el controlador maestro (LIC-100) fue sintonizado

para servo control. Basados en lo anterior se colocó un bloque de antealimentación, los

detalles de implementación pueden encontrarse en el Apéndice E. Una vez conocidos

todos los parámetros se programó la estrategia de control en Simulink™, haciendo uso

del “toolbox Control Systems”. La estrategia completa en Simulink™ se muestra en la

figura 5.9

Page 62: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

45

Figura 5.8 Estrategia de control en cascada con antealimentación. Los controladores LIC-100 y FIC-101, así como los bloques FY-100 y FY-101 se configuraran en Simulink .

5.2.2.1 Resultados de la implementación de estrategias de control en tiempo real

Se realizaron las pruebas de la tabla 5.5 para evaluar el desempeño de las

estrategias de control. Tabla 5.5 Pruebas realizadas para estrategia en cascada y cascada con antealimentación.

Prueba Descripción 1 Controlador cascada ante cambio en referencia de 50% a 30% 2 Controlador cascada con antealimentación ante cambios en referencia de 40%

a 30%. 3 Controlador cascada con antealimentación ante perturbaciones en el flujo de

agua de entrada (cerrado y apertura de la válvula manual V1). 4 Controlador cascada con antealimentación ante perturbaciones en el flujo de

agua en la salida (cerrado y apertura de la válvula manual V2).

Page 63: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

46

Figura 5.9 Diagram

a de Bloques del controlador cascada con antealim

entación. L

os bloques aquí mostrados fueron im

plementados solam

ente con elementos del “toolbox C

ontrol Systems” .

Page 64: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

47

Estrategia de control en cascada y cascada con antealimentación para servo control

En la figura 5.10 se muestra la respuesta de la estrategia en cascada ante cambios

en referencia. La figura 5.11 muestra el controlador cascada con un bloque de

antealimentación también ante cambios en referencia.

440 460 480 500 520 540 560 580 60020

30

40

50

Tiempo(=)seg

Por

cent

aje(

=)%

440 460 480 500 520 540 560 580 600

0

20

40

60

Tiempo(=)seg

Por

cent

aje(

=)%

Referencia

Nivel del Tanque

Abertura de la válvula

Referencia para el esclavo

Figura 5.10 Respuesta de la estrategia en cascada para servo control.

Se puede corroborar que la estrategia en cascada está funcionando apropiadamente, y el controlador maestro ajusta la referencia al esclavo.

En la parte superior de las gráficas se encuentra la referencia que debe alcanzar el

controlador y el valor real del nivel del tanque. En la parte interior se presenta el

porcentaje de abertura de la válvula del flujo de entrada al tanque.

Resultados de desempeño Los criterios utilizados para la evaluación del desempeño de la estrategia de

control en cascada y cascada con antealimentación para servo control son porcentaje de

sobretiro (Mp) y tiempo de estabilización.(ts). En la tabla 5.6 se muestran los resultados

del desempeño de la estrategia.

Page 65: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

48

450 500 550 600 650 70025

30

35

40

45

Tiempo(=)seg

Por

cent

aje(

=)%

450 500 550 600 650 70020

30

40

50

Tiempo(=)seg

Por

cent

aje(

=)%

Referencia

Nivel del Tanque

Abertura de la válvula

Figura 5.11 Respuesta de la estrategia en cascada con antealimentación para servo control.

El bloque de antealimentación no tuvo ningún impacto ante cambios en referencia como era de esperarse.

Tabla 5.6 Estrategia en cascada antealimentado ante cambios en referencia. Prueba ts Mp Error

Prueba 1 120 seg 12.0% 1.03% Prueba 2 150 seg 5.0% 0.9%

Estrategia de control cascada y cascada con antealimentación para Control Regulatorio

En la figura 5.12 se muestra la respuesta de la estrategia en cascada ante

perturbaciones en el flujo de entrada. La figura 5.13 muestra la misma estrategia pero

con antealimentación ante perturbaciones en el flujo de salida.

En la parte superior de las gráficas se encuentra trazada la referencia deseada y el

cambio de nivel al momento que se presenta la perturbación. En la parte inferior se

presenta la perturbación, su efecto en la manipulación y flujos de entrada y salida.

Page 66: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

49

280 300 320 340 360 380 400 42040

45

50

55

60

65

Tiempo(=)seg

Por

cent

aje(

=)%

280 300 320 340 360 380 400 4200

50

100

Tiempo(=)seg

Por

cent

aje(

=)%

ReferenciaNivel del Tanque

Abertura de la válvula

Flujo de Entrada

Figura 5.12 Respuesta de la estrategia cascada ante perturbaciones en la entrada.

En la figura se puede observar como la estrategia en cascada reacciona ante cambios en el flujo de entrada.

Resultados de desempeño Los criterios utilizados para la evaluación del desempeño en Control Regulatorio

de la estrategia de control en cascada y cascada con antealimentación son desviación

máxima (DM) y tiempo de recuperación (tr). En la tabla 5.7 se muestran los resultados del

desempeño del controlador.

Tabla 5.7 Estrategia cascada antealimentado ante perturbaciones en la entrada y salida. Prueba ts DM

Prueba 3 80 seg -6.0% Prueba 4 240 seg +5.0%

Page 67: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

50

1000 1050 1100 1150 1200 1250 130025

30

35

Tiempo(=)seg

Por

cent

aje(

=)%

1000 1050 1100 1150 1200 1250 13000

10

20

30

40

50

Tiempo(=)seg

Por

cent

aje(

=)%

Nivel del Tanque

Referencia

Flujo de Salida

Abertura de la valvula

Figura 5.13 Respuesta de la estrategia cascada con antealimentación ante perturbaciones en la salida.

En la figura se puede observar la variación en el flujo de salida y como es compensado por el controlador esclavo en la abertura de la válvula.

5.2.3 Proyecto # 3: Sintonía de Controladores PID en tiempo real

Se usó la HMI para implementar un controlador PID, usando diversas técnicas de

sintonización. Actualmente existen métodos de sintonía que se basan en la reducción del

error o en la respuesta a la frecuencia, etc. El desarrollo de nuevas técnicas ha seguido a

través de los años, la razón principal se debe a que los controladores PID son

ampliamente usados por su simplicidad y la robustez para modelar el error. Existen

diversas formas ampliamente usadas y comprobada su utilidad para la sintonización de

controladores PID, tales como Ziegler-Nichols, Cohen-Coon, Internal Model Control,

Error Integral Absoluto, etc. A través de este proyecto además de validar la interfaz HMI

se probaron diferentes estructuras de controladores y varias técnicas de sintonización, la

primera basada en especificaciones de robustez [45], la segunda en un regulador lineal

cuadrático [46] (LQR por sus siglas en inglés) y un tercero en Extremum Seeking [47].

Page 68: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

51

El lazo de control para el proyecto puede observarse en la figura 3.3, en este

proyecto el controlador PID (LIC-100) será implementado en Simulink™, donde los

parámetros de sintonización variarán de acuerdo a los diferentes métodos de

sintonización a probarse, figura 5.14.

El desarrollo completo de las diferentes técnicas de sintonización se puede

consultar en el apéndice F.

Figura 5.14 Implementación en Simulink del controlador PID.

El usuario ajusta los valores de Kp, Ki, Kd, los otros dos bloques implementan los términos integral y derivativo en forma discreta.

5.2.3.1 Resultados en tiempo real

La figura 5.15 muestra los resultados de un PID sintonizado por especificaciones

de robustez [45], la figura 5.16 como regulador lineal cuadrático [46] y la figura 5.17 vía

Extremum Seeking [47]. A todos los controladores se les realizaron las siguientes

pruebas.

1. Desempeño ante cambios de referencia

2. Desempeño ante perturbaciones en el flujo de entrada al tanque.

3. Desempeño ante perturbaciones en el flujo de salida del tanque.

Resultados de desempeño En la tabla 5.8 se muestran los resultados del desempeño del controlador con las

distintas técnicas de sintonización.

Page 69: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

52

0 100 200 300 400 500 600 700 8000

20

40

60

Tiempo(=)seg

Por

cent

aje(

=)%

0 100 200 300 400 500 600 700 800-50

0

50

100

Tiempo(=)seg

Por

cent

aje(

=)%

Referencia

Nivel del Tanque

Perturbación de Flujo de Entrada

Perturbación Flujo de Salida

Flujo de Salida Abertura de la válvula

Flujo de Entrada

Figura 5.15 Respuesta del PID con sintonización mediante parámetros de robustez.

En la figura se puede observar que para cambios en referencia el controlador responde lo suficientemente rápido, el desempeño ante perturbaciones es aceptable considerando que la sintonización fue hecha para servo

control.

0 100 200 300 400 500 600 700 800 900 10000

20

40

60

80

Tiempo(=)seg

Por

cent

aje(

=)%

0 100 200 300 400 500 600 700 800 900 10000

50

100

Tiempo(=)seg

Por

cent

aje(

=)%

Referencia

Nivel del Tanque

Flujo de Salida

Flujo de Entrada

Perturbación Flujo de Salida

Figura 5.16 Respuesta del PID como regulador lineal cuadrático.

En la figura se puede observar una aceptable respuesta para servo control, y la respuesta ante perturbaciones es buena.

Page 70: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

53

0 100 200 300 400 500 600 700 800 900 10000

20

40

60

Tiempo(=)seg

Por

cent

aje(

=)%

0 100 200 300 400 500 600 700 800 9000

50

100

Tiempo(=)seg

Por

cent

aje(

=)%

Referencia

Nivel del Tanque

Flujo de Entrada

Abertura de la válvula

Flujo de Salida

Perturbación Flujo de Entrada

Perturbación Flujo de Salida

Figura 5.17 Respuesta del PID con sintonización mediante Extremum Seeking.

Se pueden observar en la figura respuestas aceptables para cambios en referencia y perturbaciones.

Tabla 5.8 Respuesta del controlador PID con diferentes tipos de sintonía. Método de Sintonía Parámetro de Sintonía LQR ES Robustez

%Mp 5% 0 0 ts 120 seg 160 seg 110 seg

Oscilación de la Válvula

Si No No

5.2.4 Proyecto # 4: Estrategias de control avanzadas Se usaron estrategias de control avanzadas para controlar la estación de

monitoreo y control de nivel. Se implementaron las estrategias de Internal Model Control

(IMC) [52], y Predictor de Smith [51]. Un importante problema que se tiene al utilizar

estructuras de control clásicas (PID), es su pobre desempeño ante procesos con tiempo

muerto o retraso grandes. El problema es comúnmente solucionado con la técnica de

control del Predictor de Smith [51]. La idea principal es obtener un desempeño de la

planta como si no existiera tiempo muerto, a pesar de que físicamente este presente.

Dado que el tiempo muerto es posible modelarlo, es posible predecir el comportamiento

Page 71: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

54

y ejercer control. Los controladores basados en Predictor de Smith [51] se utilizan

principalmente para aplicaciones de servo control minimizando el tiempo de

establecimiento y evitando el sobretiro. Un factor fundamental en el Predictor de Smith

es la necesidad de una identificación y modelación exacta del proceso a controlar.

Otra técnica para minimizar el efecto del tiempo muerto es Internal Model

Control (IMC) [52], basado en los principios del Predictor de Smith, ofrece mejor

desempeño que las técnicas clásicas en servo control y control regulatorio, y es muy

usado donde pueden existir variaciones en los procesos a controlar.

El objetivo del proyecto es implementar la estrategia de Predictor de Smith e

IMC y evaluar su desempeño ante cambios en referencia. También se evaluará el

desempeño ante perturbaciones en el flujo de entrada, provocadas por la válvula manual

V1 y perturbaciones en el flujo de salida, provocadas por la válvula manual V2. El lazo

de control para la estrategia en cascada puede observarse en la figura 3.5.

Se realizaron identificaciones para modelos de primer orden para ambas

estrategias y se ajustaron los parámetros del PID. Los detalles de implementación pueden

encontrarse en el Apéndice G. Una vez conocidos todos los parámetros se programaron

las estrategias en Simulink™, haciendo uso del “toolbox Control Systems”. Las

implementaciones para IMC y Predictor de Smith en Simulink™, se muestran en las

figura 5.18 y 5.19 respectivamente.

Figura 5.18 Diagrama de bloques en Simulink de la estrategia IMC.

Los bloques aquí mostrados fueron implementados solamente con elementos del “toolbox Control Systems”.

Page 72: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

55

Figura 5.19 D

iagrama de bloques en Sim

ulink™ del Predictor de Sm

ith. L

os bloques aquí mostrados fueron im

plementados solam

ente con elementos del “toolbox C

ontrol Systems”.

Page 73: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

56

5.2.4.1 Resultados de la implementación de estrategias avanzadas de control en tiempo real.

Se realizaron las pruebas de la tabla 5.9 para evaluar el desempeño de las

estrategias de control. Tabla 5.9 Pruebas realizadas a la estrategia IMC y Predictor de Smith

Prueba Descripción 1 IMC ante cambios en referencia 2 IMC ante perturbaciones en el flujo de salida (cerrado y apertura de la

válvula manual V2). 3 Predictor de Smith ante cambios en referencia de 50% a 65% 4 Predictor de Smith ante cambios en referencia de 65% a 45%

Estrategia de control IMC en servo control y control regulatorio En la figura 5.20 se muestra la respuesta de la estrategia IMC para servo control y

control regulatorio. En la parte superior de la figura se encuentra el desempeño ante

cambios en referencia, la parte inferior muestra el desempeño ante una perturbación en el

flujo de salida.

0 50 100 150 200 250 30040

50

60

70

Time(=)sec

Per

cent

age(

=)%

200 250 300 350 400 450

30

40

50

60

Time(=)sec

Per

cent

age(

=)%

Referencia

Nivel del Tanque

Referencia

Nivel del Tanque

Figura 5.20 Respuesta de la estrategia IMC para servo control y control regulatorio.

En la parte superior de la grafica se puede observar la respuesta ante cambios en referencia y en la inferior para control regulatorio.

Page 74: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

57

Resultados de desempeño En la tabla 5.10 se muestran los resultados del desempeño de la estrategia IMC.

Tabla 5.10 Resultados de desempeño IMC Prueba ts Mp DM

Prueba 1 24.7 seg 1.07% No aplica Prueba 2 124.8 seg No aplica +23.8%

Estrategia de control Predictor de Smith en servo control En la figura 5.21 se muestra la respuesta de la estrategia Predictor de Smith para

servo control. En la parte superior de la figura se encuentra el desempeño ante cambios

en referencia positivos, la parte inferior muestra el desempeño ante cambios en referencia

negativos.

0 20 40 60 80 100 120 140 160 18045

50

55

60

65

70

Tiempo(=)seg

Por

cent

aje(

=)%

0 20 40 60 80 100 120 140 160

40

50

60

70

Tiempo(=)seg

Per

cent

aje(

=)%

Referencia

Nivel del Tanque

Referencia

Nivel del Tanque

Figura 5.21 Respuesta del Predictor de Smith para cambios en referencia.

En la parte superior se muestra para un cambio positivo en la referencia y en la inferior para un cambio negativo.

Page 75: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

58

Resultados de desempeño En la tabla 5.11 se muestran los resultados del desempeño del Predictor de Smith.

Tabla 5.11 Resultados de desempeño del Predictor de Smith Prueba ts Mp

Prueba 3 19.5 seg 8.67% Prueba 4 41.60 seg 6.40%

5.3 Experiencias en el uso de la HMI

El desempeño mostrado por la HMI y su interfaz con Matlab™ y Simulink™ fue

satisfactorio, los estudiantes pudieron observar que fue posible controlar el nivel en el

tanque usando diferentes esquemas de control. Se pudo observar que los alumnos una

vez familiarizados con la interfaz y la instrumentación a controlar, fueron capaces de

enfocarse únicamente a la implementación de los esquemas de control, dejando a un

segundo término el esfuerzo en los detalles de implementación.

La mayoría de los estudiantes mostró un poco de confusión al empezar el uso de

la HMI por primera vez. La solución a la problemática se vio resuelta con un rediseño a

de la HMI.

Todos los estudiantes se vieron en la necesidad de lidiar con los aspectos

relacionados a un proyecto de la vida real con sus limitaciones físicas, situaciones como

saturación de los actuadores, limitaciones físicas del proceso, tiempos de muestreo, etc,

fueron parte de la cotidianidad. Estos aspectos prácticos que emergieron de manera

natural en la implementación práctica son los que en un curso teórico son difíciles de

identificar pero sobre todo de apreciar por parte del alumno. No cabe duda que la

experiencia vivencial y práctica es de alta relevancia, este proyecto pretendió efectuarla

de una manera efectiva y eficaz.

En encuestas aplicadas a los alumnos expresaron que los conceptos aplicados les

habían quedado claros, además de satisfacción personal por verlos en funcionamiento.

La mayoría expreso que había sido sencilla la implementación en Simulink™ y que

usaría nuevamente la interfaz para proyectos escolares. Todos se sintieron motivados a

seguir profundizando en temas relacionados al control automático de procesos y

Page 76: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

59

estuvieron de acuerdo en que otras materias se verían beneficiadas con herramientas de

enseñanza-aprendizaje de este tipo.

A continuación se detallaran algunas experiencias particulares:

Experiencias del proyecto #1 El uso de memorias durante la ejecución de este proyecto fue vital, una vez

entendido el concepto los estudiantes pudieron fácilmente agregar el porcentaje calculado

por el controlador difuso al valor previo de abertura de la válvula.

Experiencias del proyecto #2

Para este proyecto uno de los mayores retos para los estudiantes fue identificar el

periodo de muestreo adecuado, también fue necesario realizar adecuaciones al bloque de

antealimentación de tal manera de que fuera modelado correctamente en tiempo discreto.

Experiencias del proyecto #3 Al igual que el proyecto dos, el mayor reto fue identificar el tiempo de muestreo

apropiado para la aplicación en Simulink™.

Experiencias del proyecto #4 Al igual que los proyectos anteriores, el mayor reto fue identificar el tiempo de

muestreo apropiado para la aplicación en Simulink™, también algunos problemas al

momento de discretizar funciones de transferencia fueron reportados.

5.4 Comentario

Los resultados de este experimento exponen de sobremanera las ventajas que

ofrece la HMI, los alumnos fueron capaces de implementar el proyecto en el tiempo

asignado a una clase sin carga académica para desarrollo experimental. Las

implementaciones se limitaron al trabajo hecho en Simulink™ (lo cual es un estándar

durante la clase de teórica) sólo arrastrando bloques y conectándolos. Lo anterior

permitió que se dedicara más tiempo a entender los conceptos transmitidos en clase a

profundidad, fueron expuestos a detalles de modelación-implementación que

Page 77: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

generalmente en simulación no son explorados, además todos se mostraron bastante

satisfechos del conocimiento adquirido durante el curso, valorando el conocimiento

teórico adquirido en el curso.

60

Page 78: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

61

Capítulo 6

6. Conclusiones

Es muy común el uso de software de simulación en la enseñanza de la ingeniería

de control con el objetivo de acercar la enseñanza teórica a la práctica. La simulación es

preferida debido a las limitantes de tiempo (el tiempo disponible en un semestre para el

diseño, construcción y validación de interfaces de software y hardware es insuficiente).

Además, cada día la teoría de control atrae usuarios con antecedentes teóricos

diferentes, ya que ingenieros y científicos de otras áreas del conocimiento con

conocimientos básicos en electrónica o ciencias computacionales han encontrado

herramientas valiosas de modelación en los cursos de teoría de control.

Durante la experimentación de esta investigación se pudieron poner en práctica

aspectos fundamentales del modelo educativo del Tecnológico de Monterrey. Los

estudiantes involucrados participaron activamente construyendo conocimiento al

momento de verse obligados a investigar, gestionar y capacitarse para llevar a cabo el

proyecto, al mismo tiempo aprendieron a interactuar en equipos de trabajo donde a cada

miembro se le asigno una responsabilidad y se tomaron decisiones colegiadas. Por otra

parte se proveyó una herramienta que mejora las técnicas de aprendizaje y ayuda a los

estudiantes a poner en práctica conocimientos teóricos de una forma rápida y eficaz.

La interfaz ayuda a los estudiantes a desarrollar y operar sistemas de control

reales. Lo anterior facilita la enseñanza/aprendizaje de ingeniería de control a los

estudiantes (especialmente aquellos con conocimientos básicos de electrónica y

computación). Algunas de las características importantes de la interfaz son:

• Es fácil de usar.

• Las estrategias no convencionales pueden ser fácilmente implementadas,

lo anterior representa una gran oportunidad.

• La comunicación con Matlab™, Simulink™ y scripts de ANSI C, dan

oportunidad a una gran cantidad de aplicaciones potenciales.

Page 79: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

62

Los aportes de esta investigación se pueden sintetizar a continuación:

• Se provee una interfaz entre un controlador industrial UDC 6300 de Honeywell™

y una computadora personal que puede ser utilizada en las estaciones de

monitoreo y control de nivel en un tanque construidas por el Tecnológico de

Monterrey, campus Monterrey.

• Se provee un método para obtener y transmitir datos desde y hacia Matlab™,

Simulink™ y sus “toolboxes” a tiempo real.

• Se provee una técnica para ejecutar código externo compilado en ANSI C dentro

de la HMI. Esto permite el desarrollo de controladores digitales basados en

diferentes teorías.

• Se provee una herramienta computacional para facilitar la didáctica de la

ingeniería de control para alumnos con perfil académico muy básico en sistemas

computacionales (lenguajes de programación, sistemas operativos, etc.), o bien

cuando el interés de la enseñanza es en las estrategias de control y no en los

detalles de la implementación.

• Se provee una herramienta computacional que ofrece rapidez para la

implementación de diversas estrategias.

• Se provee una herramienta computacional que permite usar Simulink™ para que

de una manera transparente se ejecute en forma de simulación y/o control real de

un proceso.

• Se incorpora al modelo educativo del Tecnológico de Monterrey una nueva

herramienta de enseñanza-aprendizaje.

• Se provee una solución alternativa de bajo costo para la comunicación entre

Matlab™, Simulink™ y aplicaciones, para propósitos didácticos y de

investigación, que no pretende reemplazar aplicaciones o estrategias

industriales/comerciales.

Por otra parte algunas limitaciones fueron encontradas:

Page 80: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

63

• El tiempo de muestreo mínimo es alto, debido a limitaciones en el

controlador UDC 6300.

• Es necesario ejecutar las aplicaciones desarrolladas usando un “solver”

discreto para Simulink™.

• El sistema de comunicación solo aplica para el controlador Honeywell UDC

6300.

Es necesario que instituciones académicas apoyen y promuevan la creación de

tecnología para la enseñanza de las diversas ramas de la ingeniería, alumnos formados

bajo esquemas de este tipo la mayoría de las veces encuentran a las ciencias gratificantes

y estimulantes. Por otra parte pueden existir beneficios económicos altamente redituables

por la creación de herramientas para la enseñanza, cabe recordar que mucho del software

utilizado en la educación e investigación actual, fue en su inicio un auxiliar creado para la

enseñanza.

6.1 Trabajos Futuro

Dentro del proceso de mejora continua, a la HMI podría agregársele una interfaz

OPC, esto es, incorporar la interfaz de aplicación (Application Program Interface “API”)

OPC, lo anterior ampliaría la gama de dispositivos a la cual la aplicación se podría

conectar, además de que facilitaría y se harían más confiables las conexiones con

dispositivos. Otro proyecto importante podría ser la remoción del UDC 6300 y realizar la

adquisición/estimulación de sensores/actuadores directamente con tarjetas de adquisición

de datos de National Instruments™, lo anterior eliminaría la limitante del tiempo de

muestreo que impone el controlador UDC 6300 al momento de recibir datos por

comunicaciones RS232.

En lo referente a las aplicaciones a desarrollar en la HMI; en la opinión del autor

de esta investigación las aplicaciones pueden llegar a ser infinitas ya que muy diversos

esquemas de control podrían ser implementados además de los usados en esta

investigación.

Page 81: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

64

Page 82: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

65

Bibliografía [1] Murria, R.; Åström, K.;Boyd, S.; Brocket, R.; Stein,G.; “Future Directions in

Control in an Information-Rich World”, Control Systems Magazine, IEEE, 23(2), Abril 2003 pp:20 - 33

[2] Antsaklis, P.; Basar, T.; DeCarlo, R.; McClamroch, N.H.; Spong, M.; Yurkovich,

S.; “Report on the NSF/CSS Workshop on New Directions in Control Engineering Education”, Control Systems Magazine, IEEE, 19(5), Oct. 1999 pp:53 - 58

[3] Morales-Menéndez, R.; Limón-Robles, J.; Ramírez-Mendoza, R. A. “Educational

Technology at Monterrey Tech” Computers and Advanced Technology for Education 2005.pp: 221-226, Oranjestad, Aruba, Agust 2005.

[5] Hough, M, Word, E.; Yip, S.; Marlin, T.; “A Web Site to Support Active Student

Learning in Process Control”. American Society for Engineering Education. Proceedings of the 2002 American Society for Engineering Education Annual Conference & Exposition

[6] Mansour, M.; Schaufelberger, W.; “Software and Laboratory Experiments Using

Computers in Control Education”, Control Systems Magazine, IEEE, 9(3), Abril 1989 pp:19 - 24

[7] Cooper, D.; Dougherty, D.; Rice, R.; “Building Multivariable Process Control

Intuition Using Control Station”, Chemical Engineering Education, 37, 100 (2003)

[8] Etxebarria, V.; Lizarraga, I.; Alcalde, J.; “An Integrated Environment for Practical

Control Engineering Coursed”. International Journal of Electrical Engineering Education; Jan 1998; 35, 1; ProQuest Education Journals pp:3-13

[9] Lim, K.W.; Ong, C.T.; Sivagnanam, E.; “Development of a Low Cost Control

Workstation”, Industrial Electronics, Control and Instrumentation, 1991. Proceedings. IECON '91., 1991 International Conference on 28 Oct.-1 Nov. 1991 pp:1375 - 1379

[10] Bachnak, R.;Steidley Carl; An Interdisciplinary Laboratory for Computer Science

and Engineering Technology Journal of Computing Sciences in Colleges, Volumen 17 , Issue 5 (Abril 2002), pp: 186 - 192

[12] Ballou , M.;, Vizard, M.; “Microsoft OLE pushes on”. Computerworld.

Framingham: Dec 6, 1993. 27(49); pp: 6 [13] Computerworld.; “COMmon interes”. Computerworld. Framingham: Dec 6,

1993. 27(49); pp. 6

Page 83: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

66

[14] Flynn, J.;Clarke, B.;. Datamation, B.; “ActiveX unmasked” Jan 1997. 43(1); pp:134-140

[15] Guterman, J.; “Taking DDE and OLE to the Network: Windows Cross-

Application Communication Protocols Are Readied for Use on LANs”, InfoWorld. San Mateo: Jul 20, 1992. 14(29); pp:53-55

[16] OPC Foundation; “What is the OPC Foundation?, OPC Foundation, 2007

[Online] http://www.opcfoundation .org [17] Sparling, C.; “Plugging into TCP/IP with Windows Sockets”, Data

Communications. New York: Oct 1993. 22(14); pp:117-120 [18] Internet Engineering Task Force; “RFC333”, Internet Engineering Task Force:

Septiembre 2002, [Online], www.ietf.org [19] Inverso, D.; Sokoll, R.; “Optimum human-machine interface design”, Control

Engineering. Barrington: Sep 1997. 44(12); pp:93-96 [20] Haley, R.; Kuehl, S.; “Four steps to HMI screen design”, Control Engineering.

Barrington: Nov 2005. 52(11); pp: 110 [21] Daga, L.; “RS232+LANBlockSet”, Matlab Central, Marzo 2003, [Online]

www.mathworks.com/matlabcentral, [22] Daga, L.; “Real-Time Blockset 7.1 for Simulink”, Matlab Central, Marzo 2003,

[Online] www.mathworks.com/matlabcentral [23] Microsoft Developer Network.; “Dynamic-Link Libraries”; Microsoft

Corporation, Febrero 2007, [Online] www.msdn.com [24] Corripio, A.; Smith, C.; “Principles and Practice of Automatic Process Control”,

Segunda Edición, Wiley, New York 1997. [25] Burchett, B.T.; Layton, R.A., "An undergraduate system identification

experiment," American Control Conference, 2005. Proceedings of the 2005 , vol., no., pp. 5145-5149, 7(8-10), June 2005

[26] Ecpsystems.; “Manual for Model 210/210a Rectilinear Control System”,

Educational Control Products, Bell Canyon, CA, 1999. [Online] http://www.ecpsystems.com

[27] Irawan, R.; Ooi, M.; Yeung, G.; Weyer, E.; Nesic, D.; Mareels, I., "A virtual

laboratory experience based on a double tank apparatus ," Decision and Control, 2001. Proceedings of the 40th IEEE Conference , 3(3), pp.2815-2820, 2001

Page 84: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

67

[28] Viedma, G.; Dancy, I.J.; Lundberg, K.H., "A Web-based linear-systems iLab" American Control Conference, 2005. Proceedings of the 2005, 7(8-10), pp. 5139-5144, Junio 2005

[29] Davari, A.;Chandrasekara, C.; "Control experimentation for undergraduate

studen," American Control Conference, 2005. Proceedings of the 2005, 7(8-10), pp. 5156-5161, June 2005

[30] Ecpsystems.; “Manual for Model 205 Torsional Control System”, Educational

Control Products, Bell Canyon, CA, 1999. [Online] http://www.ecpsystems.com [31] Zhang, S.; Wu, H.; Lin,Q.; Zhu, S.;"Netlab-based control experiments for control

engineering education" Control, Automation, Robotics and Vision Conference, 2004. ICARCV 2004, 3(6-9), pp:2188-2193 Dic. 2004

[32] Coito, F.; Almeida, P.; Palma, L.B., "SMCRVI - a Labview/Matlab based tool for

remote monitoring and control" Emerging Technologies and Factory Automation, 2005. ETFA 2005. 10th IEEE Conference, 2(6) pp:19-22 Sept. 2005

[33] Valera, A.; Diez, J.L.; Valles, M.; Albertos, P., "Virtual and remote control

laboratory development" Control Systems Magazine, IEEE , 25(1), pp:35-39, Feb. 2005

[34] Quanser Consulting, “WinCon 4.1 User’s Guide: Hard Real-time Performance at

your Fingertips”, 2003 [Online]. Available: http://www.quanser.com [35] Saco, R.; Pires, E.; Godfrid, C., "Real time controlled laboratory plant for control

education" Frontiers in Education, 2002. FIE 2002. 32nd Annual , 1, pp:12-16, 2002

[36] Selmer, A.; Goodson, M.; Kraft, M.; Sen, S.; McNeill, V. F.; Johnston, B.; Colton

C., “Performing process control experiments across the Atlantic” Chemical Engineering Education, Summer 2005, pp:232-237.

[37] MathWorks.; “Mathworks Product Overview”, 2007 [Online], Available:

http://www.mathworks.com/products [38] National Instruments.; “What Is LabVIEW”, 2007 [Online], Available:

http://www.ni.com/labview/ [39] National Instruments.; “What Is LabWindows/CVI”, 2007 [Online], Available:

http://www.ni.com/lwcvi/ [40] Agilent Technologies.; “Agilent VEE Pro 8.0 and Agilent VEE Express 8.0 Data

Sheet”, 2007 [Online], Available: www.home.agilent.com

Page 85: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

68

[41] Siemens.; “Simatic WinCC Flexible April 2007”, 2007 [Online], Available: http://www.automation.siemens.com

[42] Honeywell.; “Profit Suite R300 Release Highlights”, 2007 [Online], Available:

www.honeywell.com/ps [43] Rockwell Automation.; “RSView Producto Profile”, 2005 [Online], Available:

www.rockwellautomation.com [44] Honeywell.; “Honeywell UDC6300 RS422-485 ASCII Communications Option”,

1999[Online], Available:www.honeywell.com/ps [45] Xu, J.; Shao, H.; “Advanced PID tuning for integrating processes with a new

robustness specification”, American Control Conference, 2003. Proceedings of the 2003 , 5(4-6), pp: 3961-3966, June 2003

[46] Argelaguet, R.; Pons, M.; Aguilar, J.; Quevedo, J.; "A New Tuning of PID

Controllers Based on LQR Optimization". IFAC Workshop on Digital Control. Past, present and future of PID control. 2000

[47] Killingsworth, N.J.; Krstic, M., "PID tuning using extremum seeking: online,

model-free performance optimization" Control Systems Magazine, IEEE , 26(1), pp. 70-79, Feb. 2006

[48] Jacob, E. F.;Chidambaram, M.; “Design of controllers for unstable first order

plus time delay Systems”. Comput. Chem. Eng. 1996, 20, 579-584. [49] Park, J.H.; Sung, S.W.;Lee, I.B.; “An enhanced PID control strategy for unstable

process”, Automatica, 1998, 34, 751-756. [50] Driankov, R.; “An Introduction to Fuzzy Control”. Ed: Springer-Verlag, 1992. [51] Abe N.; Yamanaka K.; “Smith Predictor Control and Internal Model Control, A

Tutorial”. SICE Annual Conference in Fukui, Fukui University, Japan, 2003.

[52] Ming, T.; “Internal Model Control” Introduction to Robust Control. University of Newcastle, Chemical and Process Engineering, 2007 [Online], Available: http://lorien.ncl.ac.uk/ming/robust/imc.pdf

[53] ABET.; “Criteria for accrediting engineering programs effective for evaluations during the 2006-2007 accreditation cycle”, Technical Report. Accreditation Board of Engineering and Technology, 2005.

[54] Commission on Colleges Southern Association of Colleges and Schools. “Principles of accreditation: Foundations for quality enhancement”. Technical Report, Accreditation Board of Engineering and Technology, 2004.

[55] Martin, M.; “El modelo educativo del Tecnológico de Monterrey”. México, Tecnológico de Monterrey, 2002

Page 86: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

[56] López, T,; Morales-Menendez R.; “A Human Machine Interface for the Teaching Continuos Control Systems”, A aparecer en Modeling, Identification and Control, Innsbruck Austria, Febrero, 2008

69

Page 87: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

70

Apéndices

APÉNDICE A. IMPLEMENTACIÓN ..................................................................72

A.1 Pseudo código para la configuración y manejo de un puerto RS232 ............................................ 72

A.2 Descripción del Bloque de Transmisión/Recepción desde Matlab................................................ 73

APÉNDICE B. IMPLEMENTACIÓN DE UN CONTROLADOR PID EN ANSI C.............................................................................................................................74

APÉNDICE C. DESCRIPCIÓN DE LA INTERFAZ............................................76

C.1 Pestaña de parámetros de comunicaciones................................................................................... 76

C.2 Pestaña de datos y monitoreo........................................................................................................ 77

C.3 Pestaña scripts compilados ........................................................................................................... 78

C.4 Pestaña conexión con Matlab™.................................................................................................... 79

APÉNDICE D. DISEÑO DEL CONTROLADOR DIFUSO .................................80

D.1 Desarrollo....................................................................................................................................... 80 D.1.1 Dinámica del proceso................................................................................................................ 80 D.1.2 Diseño del controlador.............................................................................................................. 80 D.1.2 Defusificación .......................................................................................................................... 83 D.1.3 Definición de rangos................................................................................................................. 83 D.1.4 Normalización .......................................................................................................................... 83 D.1.5 Implementación del controlador en Simulink™......................................................................... 83

APÉNDICE E. IMPLEMENTACIÓN DE ESTRATEGIAS DE CONTROL .........85

E.1 Resultados de identificación y sintonización.................................................................................. 85

E.2 Cálculo de la ganancia de antealimentación .................................................................................. 86

APÉNDICE F. DIVERSAS SINTONÍAS DE PID................................................87

F.1 Modelo del proceso......................................................................................................................... 87

F.1 Sintonía por especificaciones de robustez ...................................................................................... 87

F.2 Regulador lineal cuadrático (LQR)................................................................................................ 89

F.3 Sintonización vía extremum seeking .............................................................................................. 90

APÉNDICE G. ESTRATEGIAS DE CONTROL AVANZADAS .........................92

Page 88: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

G.2 Internal Model Control.................................................................................................................. 92

G.3 Predictor de Smith......................................................................................................................... 92

APÉNDICE F. MANUAL DE INSTALACIÓN ....................................................94

APÉNDICE H. MANUAL DE USO DE LA INTERFAZ ......................................96

H.1 Monitoreo de la estación de control de nivel ................................................................................ 96

H.2 Ejecución de scripts compilados. .................................................................................................. 97

H.3 Conexión con Matlab™ y Simulink™.......................................................................................... 97

71

Page 89: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

72

Apéndice A. Implementación

A.1 Pseudo código para la configuración y manejo de un puerto RS232

A continuación se muestran las principales funciones utilizadas y los parámetros

utilizados.

Configuración del puerto RS232 OpenComConfig (NumeroDePuerto, “COM 1", Baudrate, Parity, Databits, Stopbits, TamañoFilaEntrada, TamañoFilaSalida) Donde:

• NumeroDePuerto es el valor numérico del puerto al que se desea acceder.

• Baudrate es la velocidad de operación en la línea de comunicación serial.

• Parity es el valor del bit con el que cada transmisión empezará.

• Databits es el tamaño en bits de cada transmisión.

• Stopbits es el valor con el que se finaliza cada transmisión.

• TamañoFilaEntrada es el valor de la fila de entrada.

• TamañoFilaSalida es el valor de la fila de salida.

Configuración de la interrupción de recepción. InstallComCallback (NumeroDePuerto, TipoDeEvento, NumeroDeBytes, NombreDeLaFuncion); Donde:

• NumeroDePuerto es el valor numérico del puerto en el que se desea instalar la

interrupción.

• TipoDeEvento define el evento por el cual la interrupción se disparará.

• NumeroDeBytes define la cantidad de bytes en la cual la interrupción se

disparará.

• NombreDeLaFuncion define el nombre de la función que se ejecutara una vez que

la interrupción ocurra.

Page 90: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

73

Transmisión de datos desde la HMI al UDC 6300

• ComWrt (NumeroDePuerto, Mensaje, NumeroDeBytes)

Donde:

• NumeroDePuerto es el valor numérico del puerto al que se desea escribir.

• Mensajes es el tipo de petición que se le está haciendo al UDC 6300.

• NumeroDeBytes es la cantidad de bytes que componen el mensaje a enviar.

A.2 Descripción del Bloque de Transmisión/Recepción desde Matlab

La figura A.1 muestra el bloque de transmisión y recepción en las adquisiciones de datos

en tiempo real hechas en Matlab.

Figura A.1 Bloque principal insertado en las simulaciones de Matlab y su correspondencia en el proceso.

1. Bloque se ajuste del tiempo de muestreo, default 5 Segundos, rango de 1ms a 10

minutos.

2. Escritura hacia la válvula de control del flujo de alimentación, default 0, rango de

0% a 100%.

3. Lectura del nivel del agua en el tanque, default 0, rango de 0 a 100%.

4. Lectura del flujo de agua de entrada al tanque, default 0, rango de 0 a 100%.

5. Lectura del flujo de agua de salida del tanque, default 0, rango de 0 a 100%.

Page 91: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

74

Apéndice B. Implementación de un controlador PID en ANSI C. A continuación se muestra un controlador digital PID implementado en ANSI C

en el lenguaje de programación DEV-C.

#include "controlador.h" #include <windows.h> #include <stdio.h> #include <stdlib.h> #include "comandos.h" struct MODELVAR *INPUT_1 = NULL; struct MODELVAR *INPUT_2 = NULL; struct MODELVAR *INPUT_3 = NULL; struct MODELVAR *SETPOINT = NULL; double e[10]; double u[10]; double y[10]; double proceso_actual; double manipulacion_actual; double setpoint_actual; double SAMPLE_TIME = 1000; double Kc = .001; double Ti = 10.0; double Td = 0.11; DLLIMPORT void RegisterCommandsProcedure (CONTROLLERCOMMANDSPROC ProcedureCommands, struct DATA_NODE *ModelVarsNodePtr, unsigned char *StopScriptFlagPtr) {

RegisterScriptCommandsProcedure (ProcedureCommands, ModelVarsNodePtr, StopScriptFlagPtr);

RegisterVar (&INPUT_1, "INPUT_1"); RegisterVar (&INPUT_2, "INPUT_2"); RegisterVar (&INPUT_3, "INPUT_3"); RegisterVar (&SETPOINT, "SETPOINT"); } DLLIMPORT void InicializarControl (void) { DisplayText("INICIALIZANDO"); } DLLIMPORT void EjecutarControl (void) { while(1) { SAMPLE_TIME = 1000; (1) setpoint_actual = Read(SETPOINT,1); (2) proceso_actual = Read(INPUT_1,1); (3) y[0] = proceso_actual; e[0] = setpoint_actual - y[0];

Page 92: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

75

u[0]= u[1] + Kc*( e[0]-e[1] + (4)

(SAMPLE_TIME/Ti)*(e[0]+e[1])/2 + (Td*(e[0]-2*e[1]+e[2])/SAMPLE_TIME));

if (u[0]>100) u[0]=99; (5) if (u[0]<0) u[0]=1; manipulacion_actual = u[0]; WriteValve(manipulacion_actual, 1); (6) e[9]=e[8]; e[8]=e[7]; e[7]=e[6]; e[6]=e[5]; e[5]=e[4]; (7) e[4]=e[3]; e[3]=e[2]; e[2]=e[1]; e[1]=e[0]; u[9]=u[8]; u[8]=u[7]; u[7]=u[6]; u[6]=u[5]; u[5]=e[4]; u[4]=u[3]; u[3]=u[2]; u[2]=u[1]; u[1]=u[0]; y[9]=y[8]; y[8]=y[7]; y[7]=y[6]; y[6]=y[5]; y[5]=y[4]; y[4]=y[3]; y[3]=y[2]; y[2]=y[1]; y[1]=y[0]; Sleep(SAMPLE_TIME); (8) } } DLLIMPORT void TerminarControl (void) { DisplayText("TERMINANDO"); }

Un ciclo infinito es declarado de tal manera que la ejecución sea infinita a menos

que el usuario la detenga, en (1) se define el tiempo de muestreo deseado, (2) y (3)

realizan la lectura del estado de las variables INPUT_1 y SETPOINT, aquí mismo se

almacenan en variables locales. En (4) se hace el cálculo del valor de manipulación a

partir de los datos obtenidos, en (5) se incluyen dos líneas que saturan la manipulación,

en (6) se escribe el valor de la manipulación deseada y se manda hacia la interfaz que se

encarga de hacer la escritura al controlador UDC 6300 en la estación de monitoreo y

control de nivel, en (7) se hacen los corrimientos de los arreglos que corresponden a la

ecuación de diferencias, por último en (8) se detiene la ejecución de acuerdo al tiempo de

muestreo deseado.

Page 93: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

76

Apéndice C. Descripción de la interfaz

C.1 Pestaña de parámetros de comunicaciones

Figura C.1 Pestaña de parámetros de comunicaciones.

En esta pestaña se ajustan los parámetros de comunicaciones entre el UDC 6300 y la interfaz, es necesario tener perfecta concordancia para una comunicación exitosa.

1. Botón de Conexión. Una vez seleccionados los parámetros de comunicación

estos botones sirven para activar y desactivar la conexión al UDC6300. 2. Selector de Puerto. Este selector sirve para definir el puerto serial a utilizar en la

conexión, por default el puerto serial a usar es el COM 1. 3. Selector de Número de Bits. Parámetro necesario para definir el tamaño de la

trama de datos usada en la comunicación, por default la trama usada es 7 bits. 4. Selector de Velocidad. Parámetro necesario para definir la velocidad de

transmisión usada en la comunicación, por default la usada es 19200. 5. Selector de Paridad. Parámetro necesario para definir el tipo de paridad usada

en la comunicación con el UDC6300, por default la usada es EVEN. 6. Selector de Bits de Relleno. Parámetro necesario para definir el tipo de relleno

de bits usados en cada trama, por default 1 es usado. 7. Barra de Estado del Mensaje. En esta parte se reporta si el envío del mensaje

fue exitoso o invalido, por default es exitoso.

Page 94: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

77

8. Barra de Estado del UDC. En esta parte se reporta el estado del controlador. 9. Barra de Estado del Modo de Operación. Aquí se reporta el modo de

operación del controlador, automático, manual o monitoreo, por default manual. 10. Visualizador Grafico. Este elemento muestra el comportamiento de las señales a

monitorear. 11. Estado de Conexión. Aquí se muestra el estado de conexión del sistema, por

default es desconectado. 12. Pestañas de Acceso. La interfaz cuenta con una serie de pestañas que permiten

el acceso a las diferentes opciones disponibles. 13. Botón de Salida. Botón para salir de la aplicación.

C.2 Pestaña de datos y monitoreo

Figura C.2 Pestaña de datos y monitoreo. En esta pestaña se seleccionan las variables a monitorear y se ajusta el tiempo de muestreo, también una

bitácora de comunicaciones es proveída para la detección de errores de comunicación.

1. Indicadores Tipo Barra. Indicadores gráficos donde se muestran los parámetros monitoreados.

2. Referencia e Indicadores Numéricos. Muestran el nombre de la señal graficada y su valor numérico, por default 0.

3. Visualizador Grafico. Este elemento muestra el comportamiento de las señales monitoreadas, por default el valor mostrado es 0.

Page 95: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

78

4. Barra de Señal de Manipulación. Este elemento comanda la abertura deseada de la válvula, por default se envía 0.

5. Bitácora de Comunicaciones. En esta ventana se muestra el estado de la comunicación entre el UDC y la interfaz.

6. Selector de Señales a monitorear. En esta ventana se seleccionan las señales que se desea monitorear, por default 0.

7. Selección de Tiempo de Muestreo. En esta ventana se define el tiempo de muestreo con el que se realizarán las peticiones al controlador, por default el tiempo de muestreo es 1 segundo.

8. Habilitador de Monitoreo. Una vez seleccionadas las señales a monitorear este botón habilita la tarea, por default deshabilitado.

9. Selector de Señales a almacenar. De ser necesario aquí se seleccionan las señales que serán almacenadas en un archivo, por default deshabilitado.

10. Botón de Salvar Archivo. Este botón permite la definición de un nombre para el archivo donde se almacenarán los datos.

11. Habilitar Tarea de Almacenar. Este botón habilita la tarea de almacenar los datos en archivo.

C.3 Pestaña scripts compilados

Figura C.3 Pestaña de ejecución de scripts compilados en ANSI C. En esta pestaña se cargan y ejecutan los scripts compilados en ANSI C, al momento de cargar el controlador

empieza su ejecución hasta que el botón de para es presionado o la aplicación terminada.

Page 96: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

79

1. Botón para cargar scripts. Con este botón es posible seleccionar el archivo tipo dll en el cual está implementado el controlados.

2. Botón para detener ejecución. Presionando este botón se detiene la ejecución del archivo dll.

3. Bitácora de Ejecución. En esta ventana se despliega información relacionada a la ejecución del script compilado.

4. Perilla de Setpoint. Con este control es posible introducir al script un valor numérico, comúnmente usado como referencia.

C.4 Pestaña conexión con Matlab™

Figura C.4 Pestaña de conexión a Matlab. En esta pestaña dos indicadores muestran el estatus de conexión con Matlab, además se provee un interruptor

para iniciar comunicaciones, así como una bitácora de conexión.

1. Bitácora de Recepción de datos. En esta ventana se muestran los valores recibidos de abertura de la válvula y el estatus de la conexión.

2. Habilitación de Conexión. Este control habilita el servidor implementado en la interfaz.

3. Indicadores de Estado. Los indicadores muestra el estado del servidor y si el cliente de Matlab está activo.

Page 97: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

80

Apéndice D. Diseño del Controlador Difuso

D.1 Desarrollo

D.1.1 Dinámica del proceso

La dinámica del proceso descrita por el experto es la siguiente:

“Cuando el nivel del tanque actual se encuentre muy por debajo del nivel deseado,

la válvula tendrá que abrirse mucho para dejar entrar mucha agua. Conforme vaya

subiendo el nivel y se vaya acercando al valor deseado, esa abertura de válvula

tendrá que ir disminuyendo hasta llegar a una manipulación actual y mantenerla

cuando el valor deseado haya sido alcanzado.

En el caso contrario, cuando el nivel actual se encuentre por arriba del nivel

deseado, la válvula tendrá que cerrarse mucho al principio pero cada vez

abriéndose poco a poco hasta llegar al nivel deseado y mantener la manipulación”.

D.1.2 Diseño del controlador Como entradas al controlador se tomaron el error actual y su razón de cambio. El

error se calculó restando el valor actual del nivel del valor de referencia (referencia). El

derivativo del error, permite saber si el nivel en el tanque crece o decrece y en su

proporción. De esta manera, con las dos entradas, se puede saber que tanto se desvía el

nivel actual del nivel deseado y si se aproxima o se aleja.

La salida del controlador es la manipulación de la válvula de alimentación del

sistema. Al tomar en cuenta diferentes condiciones y reglas, se toma una decisión sobre

como manipular la válvula.

La tabla de reglas se define en la tabla D.1.

Tabla D.1 Tabla de reglas del controlador difuso CONDICIONES ACCIONES

1 Error Grande y Positivo Abrir Mucho 2 Error Positivo y Derivativo No Positivo Abrir Poco 3 Error Positivo y Derivativo Positivo No Manipular 4 Error Pequeño y Derivativo Negativo Abrir Poco 5 Error Pequeño y Derivativo Pequeño No Manipular 6 Error Pequeño y Derivativo Positivo Cerrar Poco 7 Error Negativo y Derivativo Negativo No Manipular

Page 98: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

81

8 Error Negativo y Derivativo No Negativo Cerrar Poco 9 Error Grande y Negativo Cerrar Mucho

Posteriormente se calcularon los rangos para determinar la magnitud de cada una

de las acciones y poder programar las funciones de membresía. Estas se muestran a

continuación.

El error puede caer en un valor como máximo de -10 a 10. Indicando este la

diferencia entre el nivel deseado y el nivel actual. Para programar la función de

membresía se dividió entre 10 para poder hacer ajustes más finos en los rangos.

Figura D.1 Función de Membresía del Error.

Esta función de membresía permitirá hacer ajustes en la abertura de la válvula dependiendo del nivel en el tanque.

El termino derivativo o razón de cambio se normalizó y se puso en un rango de -1

a 1. Los valores pequeños, obtenidos del derivativo, son considerados como todos

aquellos que están muy cerca de cero.

Figura D.2 Función de Membresía del Derivativo del Error.

Esta función de membresía ayudara a tomar decisiones del hecho de conocer la tendencia del error.

La manipulación de salida tiene 5 posibilidades, las cuales se muestran en la

Tabla D.1. El rango incluye valores de -1 a 1. Equivalentes a incrementos relativos a la

manipulación actual existente en la válvula.

Page 99: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

82

Figura D.3 Función de Membresía de la Manipulación.

Una vez que se conoce el error en el tanque y su tendencia esta función de membresía nos ayuda a decidir que porcentaje se abre la válvula.

Adicionalmente, para poder tener un ajuste más fino, se definió una segunda

función de membresía de salida que controla la ganancia a la salida de la manipulación.

De esta manera, entre más pequeño sea el error, la ganancia disminuye, haciendo los

incrementos más pequeños logrando un mejor control.

Como entradas se utilizó la magnitud del Error. Se agrego otro rango llamado CP

(Casi Pequeño) debido a que se necesitaba que la ganancia disminuyera antes que el

rango definido como P (Pequeño).

Para esto se agregaron las reglas de la Tabla D.2 y la función de membresía de la figura D.4.

Tabla D.2 Reglas de salida de la variable Ganancia 10 Error Grande y Positivo Ganancia Grande 11 Error Grande y Negativo Ganancia Grande 12 Error Positivo Ganancia Mediana 13 Error Negativo Ganancia Mediana 14 Error Casi Pequeño Ganancia Pequeña

La función de membresía de la ganancia se programó con tres rangos: Ganancia

Grande (8), Mediana (5) y Pequeña (2). De esta manera, dependiendo del tamaño del

error, la manipulación se multiplica por una ganancia diferente.

Figura D.4 Función de membresía de la salida Ganancia.

Esta función de membresía provee al controlador la posibilidad de escoger una ganancia de acuerdo a la magnitud del error.

Page 100: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

83

D.1.2 Defusificación

El proceso de defusificación es convertir los conjuntos difusos de valores

obtenidos a partir de las operaciones de lógica difusa en un valor conciso que pueda

usarse para manipular la planta en cuestión. Los procesos de defusificación calculan un

valor en base a las áreas de las funciones de membresía de las salidas.

Para este caso se utilizó el método de centro de gravedad que consiste en

determinar el centro del área bajo las funciones de membresía combinadas.

D.1.3 Definición de rangos Los rangos para las funciones de membresía fueron definidos en base a

experimentación con la estación de monitoreo y control de nivel. Para lograr que la

manipulación de la válvula fuera “frenándose” se definió como rangos de error pequeño

lo que se considero que fuera necesario para que el nivel no tuviera un sobretiro, es decir,

que el controlador se diera cuenta, con suficiente anticipación, que el nivel se acercaba a

la referencia deseada. En cuanto a los rangos de la abertura de la válvula, también se

hicieron por medio de la experimentación, manipulándolos para que cuando el nivel se

aproximara a la referencia, la válvula se cerrara o abriera lo suficiente como para que no

hubiera sobretiros.

D.1.4 Normalización La normalización se hizo para hacer que el derivativo del nivel, cayera siempre

dentro de un rango de -1 a 1. Se hicieron pruebas extremas de cambio de nivel para

observar la razón de cambio máxima a la que el tanque se comportaba. De esta manera,

dividiendo entre este valor máximo, los valores de las derivadas menores siempre

cayeran dentro del rango y se distribuyeran entre todos los valores dentro del rango.

D.1.5 Implementación del controlador en Simulink™.

El controlador toma los valores de la lectura del nivel del tanque con la finalidad

de determinar su tamaño y su razón de cambio. Con estos datos se obtienen las dos

Page 101: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

84

entradas para las funciones de membresía y establecer una salida adecuada según las

reglas de la Tabla D.1. Esta salida es multiplicada por una ganancia que disminuye o

aumenta según el tamaño del error. La manipulación de salida se le suma a la

manipulación anterior para obtener una nueva salida aumentada o disminuida.

La implementación y descripción en Matlab se puede observar en la figura D.5.

Figura D.5 Diagrama de Bloques del controlador Difuso.

Una vez entendida la dinámica del proceso solo hizo falta arrastrar los bloques, al ambiente de trabajo de Simulink.

1. Escritura de valor de manipulación.

2. Lectura de los valores de nivel, flujo de entrada y salida.

3. Referencia del controlador

4. División del error entre 10 para ajustarlos en un rango de -10 a 10.

5. Normalización del derivativo.

6. Obtención del nivel actual para ser comparado con la referencia.

7. Controlador difuso

8. Obtención del derivativo para deducir la razón del cambio del nivel.

9. Multiplicación de las dos salidas del controlador difuso: Manipulación y

Ganancia.

10. Memoria que almacena el valor anterior de la salida que es relativa a la

manipulación anterior.

11. Manipulación con saturación mínima de 10 y máxima de 90.

Page 102: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

85

Apéndice E. Implementación de estrategias de control

E.1 Resultados de identificación y sintonización Se realizó la identificación del lazo esclavo y se obtuvieron los siguientes

parámetros.

15.4452.3)(

26.25

+=

sesGp

)1(

El controlador “esclavo” se sintonizó por el método de ganancia última y se

obtuvieron los siguientes valores, Kc = 0.6 y Ti = 0.1

Para el controlador “maestro” la identificación del lazo arrojó el siguiente modelo

11237.3)(

5

+=

sesGp

)2(

Los parámetros de sintonización del controlador “maestro” con criterio ITAE para

servo control son los siguientes: Kc = 2.97 y Ti = 70.39

La implementación y descripción de la cascada en Matlab Simulink se puede

observar en la figura E.1.

Figura E.1 Diagrama de bloques de la estrategia en cascada en Simulink.

Una vez conocidos los diferentes parámetros, su implementación consistió en el arrastre de bloques.

1. Controlador PID maestro

2. Controlador PID esclavo

3.

Page 103: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

86

E.2 Cálculo de la ganancia de antealimentación

Para la estrategia en cascada con antealimentación fue necesario calcular la

ganancia de antealimentación, para calcularla se realizó un experimento en el cual el

proceso funcionó sin ningún lazo de control. Se realizó el siguiente experimento: 1) Se

aplicó una entrada escalón en la válvula de paso, 2) Una vez estabilizado, se aplicó una

perturbación en el flujo de salida del tanque.

Con el experimento anterior se calculó la ganancia de ambos procesos y se estimó

la ganancia de antealimentación Kf f =DU/DD = 0.5714

Las ganancias de adelanto y atraso no fueron usadas en el experimento. La

implementación y descripción de la cascada en Matlab Simulink se puede observar en la

figura E.2

Figura E.2 Diagrama de Bloques del controlador cascada con antealimentación.

Una vez conocido el parámetro de antealimentación basta con arrastrar y conectar los bloques.

4. Controlador PID maestro

5. Bloque acondicionador de señal antealimentada.

6. Controlador PID esclavo

7. Bloque de antealimentación

8. Tiempo de muestreo

Page 104: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

87

Apéndice F. Diversas sintonías de PID

F.1 Modelo del proceso

El modelo del proceso obtenido de la identificación es el siguiente:

157.3497.1)(

21.5

+=

sesGp (3)

F.1 Sintonía por especificaciones de robustez

El método de sintonización de un PID basado en especificaciones de robustez

[45], esta diseñado para mantener la simplicidad de aplicación de un controlador PID

añadiéndole los parámetros necesarios para diseñar un controlador más robusto. Para

diseñar controladores de procesos estables y/ó procesos inestables, primero es necesario

obtener un modelo de la planta. Los modelos de las plantas obtenidos comúnmente son

imprecisos y los parámetros se encuentran variando a través del tiempo por condiciones

de trabajo o algún otro factor intrínseco o extrínseco. La robustez es una característica

que es muy importante para ser considerada cuando se analizan y diseñan sistemas de

control.

El método usado para el diseño de este controlador está basado en el diseño

basado en especificaciones de robustez descrito por Jianghua Xu [45]. El esquema de

control esencialmente es un lazo cerrado para retroalimentación en la estructura de un

PID, que adopta una estrategia con un lazo interno de retroalimentación propuesto por

Jacob y Chidambaram [48] y desarrollado por Park [49]. La estructura de lazo cerrado

con el que trabaja el controlador diseñado es la siguiente:

Figura F.1 Diagrama de bloques para el controlador PID basado en especificaciones de robustez

Aplicando la técnica a un proceso de primer orden:

Page 105: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

88

1)(

+=

TsKesG

sL

p

)4(

La ecuación en lazo cerrado podría aproximarse de la siguiente forma:

1)(5.0)()( 22

'1 −+−+

=≅−

ttt

sL

p KKsLKKTSLKKKesGsG

)5(

De la cual se deducen los siguientes parámetros necesarios para el diseño del

control propuesto:

( )TLTKL

K p −=5.0

)6(

⎟⎟⎠

⎞⎜⎜⎝

⎛−= 15.0

LT

KLK i

)7(

( )KLK

K d25.0

= )8( ⎟⎟⎠

⎞⎜⎜⎝

⎛=

LT

KK t

1

)9(

Basado en el método propuesto por Jianghua y Huihe [45], con el modelo de la

planta definido en la ecuación (4) de este apéndice, y teniendo como única condición para

la aplicación del método la desigualdad de T/L > 1; lo cual se cumple en el proceso. Los

valores para el diseño del PID y la ganancia de lazo interno quedan de la siguiente forma

Kp = 1.03 ; Ki = 0.07; Kd = 1.70; Kt = 1.30.

La implementación y descripción en Matlab se puede observar en la figura F.1

1 2

Figura F.2 Diagrama de Bloques del controlador PID con parámetros de robustez.

Se puede observar la similitud que existe entre el esquema conceptual y la aplicación desarrollada en Simulink

Page 106: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

89

1. Controlador PID

2. Ganancia Kt

F.2 Regulador lineal cuadrático (LQR) La sintonía vía un Regulador Lineal Cuadrático [46] (LQR, por sus siglas en inglés),

minimiza el error integral cuadrático ISE del proceso controlado para un cambio brusco

en la referencia. La diferencia con otras técnicas de sintonía reside en el hecho de que la

solución puede ser obtenida inmediatamente si el retraso se modela a un primer orden por

aproximación de Padé. Generalmente esta aproximación es aceptable cuando la constante

de tiempo es mucho más grande que el tiempo muerto y los resultados pueden ser

extrapolados al proceso real [46].

Las características que debe tener el sistema para implementar esta técnica son: el

proceso debe ser un Primer Orden con Tiempo Muerto (FOPDT) y la estructura del

controlador debe ser ideal, el cual está expresado matemáticamente por la ecuación:

⎟⎟⎠

⎞⎜⎜⎝

⎛++= S

SKG d

ic τ

τ11

)10(

La ganancia proporcional kp, la constante integral iτ y la constante derivativa dτ , se obtienen de la siguiente manera:

TT

Kk p 2

21 += τ

)11( 2T

i += ττ

)12( T

Td +=

τττ

2 )13(

De acuerdo al modelo del proceso definido en la ecuación (4) de este apéndice, se obtiene los valores para kp = 3.6622, iτ = 37.17 y dτ = 2.4225. La implementación y descripción en Matlab se puede observar en la figura F.2

Page 107: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

90

Figura F.3 Diagrama de Bloques del controlador PID con sintonización LQR o ES.

La implementación en Simulink es bastante sencilla, basta arrastrar los bloques del “toolbox control systems” y ajustar los parámetros de sintonización.

F.3 Sintonización vía extremum seeking

La sintonía de un controlador vía Extremum Seeking [47] (ES) no requiere que el

lazo este abierto ya que usa la sintonía iterativa retroalimentada (Iterative Feedback

Tuning, IFT, por sus siglas en inglés). IFT optimiza de forma iterativa los parámetros del

controlador con una función de costo derivada de la señal de salida del lazo cerrado del

sistema. Este método esta basado en el desempeño del lazo cerrado del sistema durante

un cambio escalón.

Esta técnica optimiza la respuesta al escalón del sistema a lazo cerrado,

consistente de un controlador PID y una planta desconocida. ES minimiza el costo de la

función, la cual cuantifica el desempeño del controlador PID. Es un método basado en un

modelo desconocido que de forma iterativa modifica los argumentos de la función de

costo (para este caso los parámetros del controlador) de tal manera que la salida alcanza

un valor local máximo o mínimo.

El esquema de implementación que debe de seguir el método de ES consiste en

una planta desconocida de Primer Orden Con Tiempo Muerto, un PID ideal, el cual se

Page 108: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

expresa matemáticamente en la ecuación 10. Y un seguidor, el cual se expresa

matemáticamente de la siguiente manera:

⎟⎠⎞

⎜⎝⎛

+=

11)(

sKsC r

)14(

La ganancia proporcional kp, la constante integral iτ y la constante derivativa dτ ,

se obtienen de la siguiente manera:

( )( )( )LTK

LTkfp

p ++

=2

2

)15(

2LTi +=τ

)16( ( )

( )LTTL

d +=

)17(

Donde K es la ganancia del sistema, T es la constante de tiempo del sistema, L es

el tiempo de retraso y Tf es el parámetro de diseño que afecta la compensación entre la

robustez y el desempeño. Los valores obtenidos son los siguientes kp = 1.3280, iτ =

37.17 y dτ = 2.4225. La implementación y descripción en Matlab se puede observar en

la figura F.3

91

Page 109: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

92

Apéndice G. Estrategias de control avanzadas

G.2 Internal Model Control El modelo del proceso obtenido de la identificación es el siguiente:

119.8127.3)(

55.2

+=

sesGp (18)

De acuerdo a Ming [52] las constantes del controlador PID con estrategia IMC se

calculan con las siguientes ecuaciones.

)( θλτ+

=K

Kc (19) ττ =i (20)

2θτ =D (21) ( )θλ

λθτ+

=2f (22)

Donde λ es una constante de ajuste, definida como 15 para este caso en particular.

Obteniendo los siguientes valores de kp = 1.4147, iτ = 0.0226 y dτ = 0.2004. La

implementación y descripción en Matlab™ se puede observar en la figura 5.19.

G.3 Predictor de Smith Se propone la siguiente estructura propuesta por Abe [51]:

Figura G.1 Estructura del Predictor de Smith

Donde Gc corresponde a un controlador PID, Gp(s) es el modelo del proceso y G(s) es el modelo del proceso sin tiempo muerto.

El modelo del proceso obtenido de la identificación es el siguiente:

132.5148.3)(

65.1

+=

sesGp (23)

Page 110: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

A partir de la ecuación (23), se obtiene la función de transferencia pulso

21

1

975.0102322.006383.0)( −

−+

= zz

zzHGp (24)

La implementación y descripción en Simulink™ se puede observar en la figura

5.20.

93

Page 111: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

94

Apéndice F. Manual de instalación

1. Situarse en el folder donde los archivos de instalación se encuentran almacenados.

2. Presionar dos veces sobre el icono con el nombre de “setup.exe”

3. Aparecerá la ventana de que la instalación del software ha empezado, seguir

instrucciones.

Page 112: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

4. Seleccionar el folder donde desea sea instalado el software, como se muestra a

continuación.

5. Siga las instrucciones hasta finalizar la instalación.

95

Page 113: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

96

Apéndice H. Manual de uso de la interfaz

H.1 Monitoreo de la estación de control de nivel Esta opción permite al usuario monitorear las variables de proceso, referencia,

salida de control, valor de las entradas en el controlador UDC 6300. Para una conexión

exitosa con el controlador UDC 6300 se debe asegurar que los siguientes parámetros

estén configurados en el controlador UDC 6300.

• 422 ASCII

• Address 1

• Address 2

• Default Framming

• None XMT Delay

• Eng Unit Units

• 255 SHED Time

• To Manual SHED Mode

• To CSP SHED SP

• 1,00 CSP Ratio

• 0,0 CSP Bias

• Disable TEST COM

1. Una vez configurados los parámetros en el controlador UDC 6300, ajustar los

parámetros en la HMI en la pestaña “Communications Parameters”, y presionar el

botón de “CONNECT”, figura C.2

2. Una vez conectado activar la pestaña “UDC Data”, seleccionar las variables a

monitorear en la ventana “Monitor”, ajusté el tiempo de muestreo deseado en

“Request Interval”, y habilitar con el interruptor “Enable”, ver figura C.2.

3. Al momento de habilitar la comunicación con el interruptor de “Enable”, se

empezará a observar el flujo de mensajes de comunicación con el controlador

UDC 6300 en la ventana “Communications Log”, de la misma manera se

habilitaran los indicadores de nivel y la gráfica de datos, ver figura C.2.

Page 114: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

97

4. De ser necesario, es posible almacenar los valores obtenidos por la HMI, para

hacerlo solamente es necesario seleccionar en la ventana “Log List” las variables

a almacenar y habilitar la captura con el interruptor “Enable Capture”, una vez

terminada la captura se pueden grabar a archivos “*.csv” presionando el botón

“Save Logs”, ver figura C.2

H.2 Ejecución de scripts compilados.

1. Para hacer uso de esta característica, las otras opciones de la HMI deben estar

deshabilitadas, y la interfaz conectada al controlador UDC 6300.

2. Cargar el archivo “*.dll” presionando el botón “Load Controller”, al momento se

empezará la ejecución del controlador, ver figura C.3

3. En la ventana “Session Log” aparecerán los valores de las variables de la interfaz

usadas por el script, ver figura C.3.

4. Una perilla permite el ajuste de la referencia desde la interfaz.

5. El controlador se ejecutará hasta que el usuario presione el botón “Stop

Controller”, ver figura C.3.

H.3 Conexión con Matlab™ y Simulink™.

1. Para hacer uso de esta característica, las otras opciones de la HMI deben estar

deshabilitadas, y la interfaz conectada al controlador UDC 6300.

2. Asegurarse que los siguientes archivos estén presentes en el folder donde se

encuentra el modelo de Simulink™

• LANRead.dll

• LANSetup.dll

• LANWrite.dll

• RTBlock.dll

• STR 2Str.dll

• STR 2WS.dll

• winmm.lib

• RT.lib

Page 115: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

98

• RT.mdl

3. Habilitar la conexión con Matlab™ habilitando el interruptor “Enable Server

Data”, en la pestaña “Server Data”, ver figura C.4

4. El indicador “ONLINE” se encenderá, ver figura C.4

5. En Simulink™, es necesario ajustar el tiempo de muestreo y “solver” a utilizarse.

6. Para ajustar el tiempo de muestreo, en el bloque insertado del proceso presionar

dos veces “RTBlock”, ver figura A.1. La ventana de la figura H.1 aparecerá en la

pantalla. Ajustar el tiempo de muestreo “Timestep” en milisegundos.

Figura H.1 Ajuste del tiempo de muestreo en el RTBlock.

Page 116: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

99

7. Para continuar con el ajuste del tiempo de muestreo en el menú de Simulink™,

buscar “Simulation Configuration Parameters”.

8. La ventana mostrada en H.2 aparecerá, ajuste los parámetros de “Solver options”,

“Type Fixed-step”, “Solver discrete (no continuos states)”, “Periodic

sample time constraint Unconstrained”, “Tasking mode for periodic sample

times Auto”. El parámetro “Fixed-step size” debe ser ajustado de acuerdo al

tiempo de muestreo deseado y configurado en el paso 6 de esta sección, pero a

diferencia de la definición anterior que fue en milisegundos en este campo debe

ser en segundos.

Figura H.2 Configuración de los parámetros del solver en Simulink™

9. Terminar configuración, y determinar el tiempo máximo que durara la simulación.

10. Al momento de activar la aplicación en Simulink™, si la conexión fue exitosa, el

indicador “MATLAB ON”, cambiara de color, y aparecerá el flujo de datos en la

ventatana “Incoming Matlab Req”.

Page 117: INSTITUTO TECNOLÓGICO Y DE ESTUDIOS ... - repositorio.tec.mx

100

Publications

Accepted paper to appear at

The 27th IASTED International Conference on Modelling, Identification, and Control

~MIC 2008~

Innsbruck, Austria February 11 – 13, 2008