Desarrollo de una herramienta en Matlab sobre un kernel multitareas para simulación de un sistema de control
Enviado por Pablo Turmero
Marco General (1/5) Un sistema de tiempo real es un sistema de procesamiento de información el cual tiene que responder a estímulos de entrada generados externamente en un período de tiempo finito y específico Estricto cumplimiento de tiempos, o plazos de respuesta Las tareas son la unidad de cómputo a ser planificada y ejecutada Plazo de respuesta definido por su aplicación Un STR maneja variables de procesos externos (E/S) Concurrencia. El sistema debe resolver distintos problemas a la vez (||) Un STR responde de manera predecible a estímulos externos impredecibles
Marco General (2/5) SISTEMAS DE CONTROL Combinación sus componentes actúan conjuntamente para alcanzar un objetivo particular. Objetivo es el control manual o automático de cierta cantidad o variable física. Entrada: Estímulo, excitación o mandato aplicado para producir una respuesta específica del sistema. Salida: Respuesta real del sistema. Puede coincidir o no con la respuesta del sistema, implícita en la entrada correspondiente Tipo de control: Lazo abierto: Control independiente de la salida y de las variables del sistema (por ejemplo una tostadora). Lazo cerrado: Control dependiente de la salida y/o de las variables del sistema (por ejemplo un sistema de aire acondicionado).
Marco General (3/5) Los recientes sistemas de control son subsistemas de un sistema complejo, donde el componente básico de control es un microprocesador que usa un kernel de tiempo real o un sistema operativo en timepo real.
Marco General (4/5) Las técnicas de tiempo real aún no estan bien definidas en los sistemas de control, ya que los microprocesadores tienen que compartir recursos y no se puede garantizar el tiempo de ejecución de cada tarea.
Marco General (5/5) El diseño de un sistema de control en tiempo real es esencialmente un problema de co-diseño, debido a que las decisiones hechas en tiempo real afectan al diseño de control y viceversa. Esta combinación de co-diseño crea la posibilidad de desarrollar sistemas más integrados, flexibles y dinámicos. La integración de estos dos enfoques requiere de nuevas herramientas para su análisis, diseño e implementación
Antecedentes (1/2) Los sistemas de control en tiempo real son tradicionalmente diseñados en base a dos enfoques de la ingeniería. La teoría de control desarrolla modelos para plantas que va a ser controladas por medio del diseño de una ley de control y su prueba en una simulación. La teoría de sistemas en tiempo real desarrolla un algoritmo de control para implementar, y configurar el sistema en tiempo real, por medio de la asignación de prioridades, fin de plazo (deadlines), periodos, etc.
Antecedentes (2/2) SCTR de autos SCTR de plantas eléctricas SCTR aéreos SCTR para plantas nucleares
Definición del problema (1/2) En la mayor parte de los casos el control es ejecutado periódicamente, enfocándose solamente en el dominio del problema sin preocuparse de cómo la planificación afecta al lazo de control. la latencia de entrada y salida el periodo retardo del tiempo de computo
Se requiere de nuevas herramientas para su análisis, diseño, simulación e implementación. Poco soporte para el manejo de interrupciones. Ambiente grafico del modelo de control y limitado para el manejo de tiempos de ejecución Manejo de sobrecarga de las tareas, donde se cuestiona ¿Qué pasa si el control de tareas no termina a su fin de plazo? Peor caso del tiempo de ejecución. Definición del problema (2/2)
Trabajo Relacionado (1/2) [Liu and Layland, 1973], suponen que la E/S es representada periódicamente por las funciones del hardware, introduciendo retrasos en todos los lazos cerrados del control sobre la computadora. STRESS [Audsley et al., 1994] y DRTSS [Storch and Liu, 1996], herramientas para la simulación de la planificación en tiempo real [Seto et al., 1996], donde la tasa de muestreo de un conjunto de controladores que comparten el mismo CPU, es calculada usando las métricas de control estándar.
[Eker, 1999], prototipo de una herramienta desarrollada en Matlab, la cual tenia poco soporte para el manejo de interrupciones. [Palopoli et al., 2000], RTSIM simulador de planificación en tiempo real, desarrollado en C++. [Roberto Saco, Eduardo Pires, Carlos Godfrid, 2002], laboratorio de control en tiempo real. [A. Cervin, 2003], donde la teoría de control y la teoría de sistemas en tiempo real se conjuntan para crear las herramientas TrueTime y Jitterbug. [Raimund Kirner, Roland Lang, 2004], WCET simulación del peorcaso, Matlab/Simulink. Trabajo Relacionado (2/2)
Propuesta (1/2) La propuesta de esta tesis es el desarrollo de una herramienta visual en Matlab sobre un kernel multitareas para simular sistemas de control en tiempo real. Esta herramienta tiene como objetivo auxiliar el desarrollo de co-diseños de sistemas de control y planificación en tiempo real.
Propuesta (2/2) La parte fundamental del desarrollo de la tesis se enfoca en aprovechar las ventajas de Matlab/Simulink para simular sistemas de control fuera del ambiente de Matlab, que permitan un análisis más flexible del comportamiento del algoritmo de control y su interacción entre la planificación y el control de tareas. Funciones de C/C++ Funciones de Matlab Diagramas de bloques de Simulink
Objetivo General Generar una herramienta de software para simular un sistema de control en tiempo real desarrollada en Matlab/Simulink sobre un kernel multitareas.
Objetivos Específicos Desarrollar una conexión entre el código de Matlab/Simulink y el kernel de tiempo real. Simular un sistema de control en tiempo real aplicando técnicas de planificación de tareas sobre un kernel de tiempo real Ejecutar pruebas de desempeño en varios procesos sobre el kernel de tiempo real, simulando problemas relacionados con la integracion de tiempos en un sistema de control.
Metodología (1/3) La metodología a seguir para el desarrollo de este trabajo de tesis: Recopilación bibliografíca de los artículos relacionados y revisión del estado del arte. Realizar un estudio de las características de simulación de procesos de control y tiempo real en Simulink. Identificar herramientas para convertir programas de MATLAB en componentes que puedan ser usados fuera del ambiente de MATLAB. Desarrollar un prototipo experimental con un sistema de control de lazo cerrado sobre el kernel de tiempo real sin algoritmos de planificación y recopilación de datos
Metodología (2/3) Realizar pruebas del prototipo con un sistema de control en tiempo real, utilizando los algoritmos de planificación conocidos y recopilación de datos. Generación de la versión de prueba sobre Simulink de la herramienta de simulación y generación de reportes. Pruebas de la herramienta de simulación.
Metodología (3/3) Simular y analizar el peor caso del tiempo de ejecución para el sistema de control en tiempo real y pruebas finales. Escritura de la tesis. Generar reportes de los resultados obtenidos para publicaciones.
Calendario Calendario (2004-2005) Periodo (Sep –Feb)
Calendario Calendario (2005) Periodo (Mar – Sep)
Resultados Esperados Del presente trabajo de tesis lo que se pretende obtener: Generar una herramienta para simular un sistema de control de lazo cerrado sobre un kernel de tiempo real. Esta herramienta se podrá ejecutar sobre una máquina virtual de Tiempo Real (kernel para DOS) con un enfoque de programación de concurrencia, tratando el problema de exclusión mutua, con solución mediante semáforos. También generar reportes para publicar en por lo menos en un foro nacional y la revista: Journal of Real Time Systems.
Referencias [1] Johan Eker: “A Matllab Toolbox for Real-Time and Control Systems Co-Desing”. 6ht International Conference on Real-Time Computing Systems and Applications, Hong Kong, P.R. China, December 1999 [2] Karl-Erik Årzen, A. Cervin: “An Introduction to Control and Scheduling Co-Desing” 39th IEEE Conference on Descision and Control, Sydney, Australia, December 2000 [3] R. Kirner, R. Lang, P. Puschner, C. Temple.: “Integrating WCET Analysis into a Matlab/Simulink Simulation Model”. 16th IFAC Workshop on Distributed Computer Systems, Sydney, Australia, November 2000. [4] Anton Cervin, Dan Henriksson, Bo Lincoln.: “Jitterbug and True Time: Analysis Tools for Real-Time Control Systems ”.2nd Workshop on Real-Time Tools, Copenhagen, Denmark, August, 2002
Referencias [5] Roberto Saco, Eduardo Pires, Carlos Godfrid.:”Real Time Controlled Laboratory Plant for Control ”. 32nd ASEE/IEEE Frontiers in Educantion Conference, Boston, MA, November 2002. [6] Dan Henriksson, Karl-Erik Årzen. : “On Dynamic Real-Time Scheduling of Model Predictive Controllers”. 41st IEEE Conference on Decision and Control, Las Vegas, Nevada, December 2002. [7] Anton Cervin, Dan Henriksson, Bo Lincoln.: “Analysis and Simulation of Controller Timing ”. IEEE Control Systems Magazine 2003. [8] Tesis: Antón Cervin, “Integrated Control and Real-Time Scheduling”. Department of Automatic Contorl Lund Institute of Technology, Lund, April 2003
Referencias [9] Raimund Kirner, Roland Lang: “WCET Analysis for system Modeled in Matlab/Simulink”. Vienna University of Technology, Austria 2004 [10] Tesis: Oscar Miranda Gómez: “Kernel de tiempo real para el control de procesos”. Maestría en Ciencias – CINVESTAV – Departamento de Ingeniería Eléctrica – Sección de Computación. Marzo 2004.