Logo Studenta

DocsTec-5773

¡Este material tiene más páginas!

Vista previa del material en texto

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
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 
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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
V 
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. 
 
 
 
 
 
 
VII 
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. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
IX 
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 
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 
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 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
XIII 
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 estrategiaIMC 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 
 
XV 
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 
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 
 
 
 
 
 
 
 
 
XVIII 
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 
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 
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™ 
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 
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 proyectosexperimentales, y los manuales 
para el usuario. 
 
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 
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. 
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. 
 
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 
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 parasimular 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 
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á 
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. 
 
 
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ólopermite 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]. 
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. 
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: 
 
 
 
 
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.
 
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 ProgramaCosto
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
 
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. 
 
 
 
 
 
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 
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 
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 
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 variabledel 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. 
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 
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 
 
 
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) 
 
 
 
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: 
 
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. 
 
 
28 
 
TCP/IP
Modem RS232/RS85
RS232
RS485
Direcciones
de memoria
Matlab™
Simulink™
Compilador ANSI C
DEVC++ 
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. 
 
 
 
 
 
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ónla 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 
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 
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 
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. 
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. 
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

Continuar navegando