PDF de programación - Desarrollo de una interfaz de programación en Matlab para la simulación de tareas de control sobre un kernel de tiempo real

Imágen de pdf Desarrollo de una interfaz de programación en Matlab para la simulación de tareas de control sobre un kernel de tiempo real

Desarrollo de una interfaz de programación en Matlab para la simulación de tareas de control sobre un kernel de tiempo realgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 10 de Diciembre del 2017)
650 visualizaciones desde el 10 de Diciembre del 2017
1,8 MB
138 paginas
Creado hace 13a (02/06/2006)
Centro de Investigaci´on y de Estudios

Avanzados

del Instituto Polit´ecnico Nacional

Departamento de Ingenier´ıa El´ectrica

Secci´on de Computaci´on

Desarrollo de una interfaz de programaci´on en Matlab para la
simulaci´on de tareas de control sobre un kernel de tiempo real

Tesis que presenta

Roberto Manuel Linares Zamora

para obtener el Grado de

Maestro en Ciencias en la Especialidad

de Ingenier´ıa El´ectrica

Directores de la Tesis
Dr. Pedro Mej´ıa ´Alvarez
Dr. Albero Soria L´opez

M´exico, D.F.

Junio 2006

II

Dedicatorias...

A mis padres
Qu´e puedo decirles sino mil gracias por ser los mejores
ejemplos que he podido tener. Les doy gracias por todos sus
cuidados y porque siempre creyeron en mi. Son las mejores
personas que conozco y les dedico este trabajo porque es algo
que sin ustedes no hubiera podido ser. No puedo
expresar aqu´ı mismo todo lo que siento por ustedes, as´ı
que solamente digo gracias por todo su apoyo y amor.
Este trabajo es suyo.

A mis hermanos Marisela e Isaac
Les dedico este trabajo porque su ´exito me ha servido
como inspiraci´on y me ha alentado a seguir super´andome
d´ıa a d´ıa. Y aunque se que est´an lejos, s´e que siempre
se preocupan por mi y est´an conmigo. Los quiero mucho.

A mi Chiquininita
A ti peque, gracias por todo tu apoyo, tu confianza y por
creer en mi. Por ser el aliento que me da ´animo para
seguir siempre adelante y por tus consejos. Gracias por
ayudarme a hacerle caso a mis sentimientos. Eres y siempre
ser´as parte muy importante de mi vida... je t’aime beaucoup

iii

IV

Agradecimientos

Agradecimiento especial para mis asesores Dr. Pedro Mej´ıa ´Alvarez y Dr. Alberto
Soria L´opez, por darme la oportunidad de participar en su proyecto, por su preocu-
paci´on, por su entusiasmo y por quienes sin su ayuda no podr´ıa haber terminado este
trabajo. Al Dr. Rub´en A. Garrido y al Dr. Adriano de Luca por sus consejos en la
escritura de este documento.

A los doctores y el personal administrativo de la Secci´on de Computaci´on del De-
partamento de Ingenier´ıa El´ectrica por sus excelentes clases. En especial al Dr. Pedro
Mej´ıa por su ense˜nanzas en sistemas de tiempo real, as´ı como a Sofia Reza, al Dr.
Buenabad, Dr. Sergio V´ıctor Chapa, Dr. Adriano de Luca, Dr. Francisco Rodr´ıguez
Henr´ıquez y Dr. Arturo D´ıaz por sus consejos en clase.

A CONACyT por el apoyo econ´omico que me brind´o durante el transcurso de la
maestr´ıa. A servicios escolares y a la biblioteca de Ingenier´ıa El´ectrica por los servi-
cios y ayuda que me brindaron cuando lo necesit´e.

A mis padres, por la educaci´on que inculcaron en mi. Gracias por todo su cari˜no,
por el apoyo incondicional que me dieron en todo momento y por ense˜narme a tener
fortaleza para seguir adelante, sobreponi´endome siempre a las adversidades que la
vida presenta. Gracias por guiarme por el camino de la educaci´on. A mis hermanos
y sobrinas, que siempre me brindan ´animo y apoyo desde lejos.

A mis amigos Efr´en, Dennis, Mario, Paco, Pablo y Samuel. Gracias a todos ustedes

v

VI

por su amistad, ya que un verdadero amigo es alguien que te conoce tal como eres,
comprende d´onde has estado, te acompa˜na en tus logros y tus fracasos, celebra tus
alegr´ıas, comparte tu dolor y jam´as te juzga por tus errores. Todo eso han sido han
sido ustedes para mi, por lo que no me queda m´as que decirles gracias por todo.

Resumen

La mayor´ıa de los sistemas de control son desarrollados en un microprocesador
usando un kernel de tiempo real o un sistema operativo de tiempo real. En la mayor
parte de los casos el algoritmo de control es ejecutado peri´odicamente, enfoc´andose
solamente en el dominio del problema sin preocuparse de c´omo la planificaci´on afecta
al sistema de control o como la ejecuci´on concurrente de los procesos de c´omputo afec-
ta el comportamiento y la estabilidad del sistema de control. Actualmente, existen
aplicaciones que auxilian en el dise˜no de sistemas de control como Matlab/Simulink,
LabVIEW, Wincon, etc. Estas aplicaciones presentan una serie de herramientas (fun-
ciones, bloques y modelos) desarrolladas para la simulaci´on del sistema de control. Sin
embargo, son pocas las herramientas que ayudan al dise˜no de sistemas de control que
contemplen restricciones de tiempo, y que adem´as garanticen la ejecuci´on concurrente
de los algoritmos de control , o bien, que interact´uen con otros ambientes de software
externos, que permitan aplicar pol´ıticas de planificaci´on y utilizar una interfaz gr´afica
para la visualizaci´on de los procesos.

Este trabajo tesis, presenta el desarrollo de una interfaz de programaci´on en
Matlab para la ejecuci´on de tareas de control sobre un kernel de tiempo real. El
sistema se compone de tres etapas: Una etapa de generaci´on de c´odigo (m´odulo ge-
nerador de tareas), otra etapa de manejo de c´odigo (interfaz de programaci´on) y una
´ultima etapa de ejecuci´on (micro-kernel de aplicaci´on). En la primera etapa del sis-
tema, se implementa un m´odulo generador de tareas, que construye c´odigo a partir
de un diagrama de Simulink. Este m´odulo utiliza la opci´on ERT de la herramienta
RTW (Real Time WorkShop) de Matlab/Simulink para la generaci´on de c´odigo. En la
segunda etapa, se desarrolla la interfaz de programaci´on, donde se realiza la conexi´on
funcional entre Matlab/Simulink y el micro-kernel. La interfaz es un programa escri-
to en lenguaje C que contiene las dependencias y funciones que necesitan los c´odigos
generados por la herramienta RTW de los modelos Simulink. Esta interfaz ejecuta

vii

VIII

el c´odigo dentro del micro-kernel. En la tercera etapa, se utiliza un micro-kernel de
tiempo real, donde el c´odigo generado por el m´odulo se ejecuta como un proceso den-
tro del micro-kernel, comport´andose como una tarea de tiempo real. El micro-kernel
puede manejar m´as de un proceso o tarea y su funci´on principal es la de permitir la
creaci´on y ejecuci´on concurrente de varios procesos. El micro-kernel que se utiliza se
ejecuta sobre el sistema operativo MS-DOS.

Este sistema puede ser utilizado para el dise˜no e implementaci´on de sistemas de
control con caracter´ısticas de tiempo real, integrando as´ı la funcionalidad de la he-
rramienta Matlab/Simulink/Embedded Real Time Worshop con otra aplicaci´on fuera
del ambiente de Matlab(microkernel de tiempo real).

Las pruebas del c´odigo se realizaron en un micro-kernel de tiempo real y los mo-
delos Simulink utilizados, se generaron con el fin de construir modelos sencillos con
los bloques m´as utilizados de Simulink y obtener la descripci´on en c´odigo de los blo-
ques empleados. El modelo de tareas de control se ejecuta dentro del micro-kernel
sin recursos compartidos, teniendo la posibilidad de ejecutar varios procesos de forma
concurrente. El m´etodo de planificaci´on utilizado en la aplicaci´on es uno de prioridad
fija, en particular se emplea la pol´ıtica de RR (Round Robin).

Abstract

Most control systems are implemented on a microprocessor with a real time kernel
or a real time operating system. In most cases the control algorithm is executed perio-
dically focusing on the control problem and no attention is paid to how the planning
affects the control loop or how the concurrent execution of the computation process
affects the behavior and stability of the control system. Currently, a number of ap-
plications for control algorithms development are available such as Matlab/Simulink,
LabVIEW, Wincon, etc., that help with the design of control systems. These applica-
tions offer a series of tools (functions, blocks, and models) developed for the simulation
of control processes. However, there are few tools that help in the design of control
systems which take into account time restrictions in addition to guaranteeing the con-
current execution of the control algorithms, or more specifically, that interact with
other external software environments which allow the application of planning policies
and the use of a graphical interface for visualization of the processes.

In this work, we present the development of a Matlab programming interface for
the execution of control tasks on a real time kernel. The system is composed of th-
ree stages; a code generation stage (code generation module), a code handling stage
(programming interface), and an execution stage (micro-kernel application). A task
generator module implemented in the first stage of the system constructs code from
a Simulink diagram. This module utilizes the ERT option of the Matlab/Simulink
RTW tool for code generation. The programming interface, where the functional con-
nection between Matlab/Simulink and the microkernel takes place, is developed in
the second stage. The interface is a C program that contains the dependencies and
functions need by the code generated by the RTW tool from the Simulink models.
This interface executes the code within the micro-kernel. In the third stage, a real
time microkernel is used, where the code generated by the module is executed as a
process within the microkernel, behaving like a real time task. The micro-kernel can

ix

X

handle more than one process or task; its principal function is to allow the concurrent
creation and execution of several processes. The micro-kernel used is executed over a
DOS operating system.

This system can be used for the design and implementation of control systems with
real time characteristics, therefore integrating the functionality of the MATLAB/ Si-
mulink/ Real Time Worshop tool with other applications outside the MATLAB en-
vironment (real time micro-kernel).

The code tests took place within the real time microkernel and the Simulink mo-
dels used, they were generated with the purpose of constructing simple models with
the most used blocks of Simulink to obtain the code description of the blocks used.
The task control model is executed within the micro-kernel without shared resources,
having the possibility of concurrently running several processes. The planning method
  • Links de descarga
http://lwp-l.com/pdf7817

Comentarios de: Desarrollo de una interfaz de programación en Matlab para la simulación de tareas de control sobre un kernel de tiempo real (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad