Está en la página 1de 8

IMPLEMENTACIN DE UN MIDDLEWARE DE CONTROL PARA SISTEMAS CON RECURSOS LIMITADOS

Vicente Nicolau, Javier O. Coronel, Juan Francisco Blanes, Jos Sim vnicolau@ai2.upv.es, jacopa@ai2.upv.es, pblanes@disca.upv.es, jsimo@disca.upv.es

Resumen
En el presente artculo se propone una implementacin de un ncleo de control para sistemas de recursos limitados (Tiny Middleware) que ofrece una interfaz de programacin de controladores a los ingenieros de control, abstrayendo los recursos hardware del sistema para centrarse en los conceptos de control. Palabras Clave: Ncleo de control, Sistemas empotrados, Sistemas de tiempo real, Sistemas distribuidos, Control de procesos.

elegido. La seccin 4 muestra los resultados obtenidos con las pruebas realizadas. Por ltimo, en la seccin 5 se presentan las conclusiones y se plantean futuras lneas de trabajo.

KERNEL DE CONTROL

INTRODUCCIN 1

En [3] se propone como unidad bsica para la especificacin del ncleo de control el componente software. Un conjunto determinado de componentes conformarn los servicios del middleware. Estos servicios interaccionan entre ellos mediante las interfaces ofrecidas, dotando de funcionalidad al middleware. Por tanto, este middleware (el kernel de control) estar diseado para ser una capa software ubicada entre el nivel del sistema operativo y el nivel de aplicacin de control. En el mercado existe una gran variedad de sistemas empotrados con distintas capacidades y prestaciones. Es por este motivo que en [3] y [9] se ha propuesto dos modelos de ncleo de control: el Full Middleware, para sistemas de altas prestaciones, y el Tiny Middleware, para sistemas de bajas prestaciones.
Tiny Middleware
Servicio de Delegacin de Cdigo Servicio de Sensorizacin Servicio de Administracin y Monitorizacin

Los sistemas empotrados de tiempo real complejos incorporan sistemas operativos que ofrecen interfaces y servicios para el acceso al hardware del sistema y otras funcionalidades, as como tambin mecanismos de tolerancia a fallos. Anlogamente a un sistema operativo, en [3] y [9] se plantea un kernel o ncleo de control que proporcione una interfaz entre el sistema operativo y las actividades de control a modo de middleware. Algunos de los objetivos de este middleware es la de proveer transparencia en el diseo y desarrollo de aplicaciones de control, permitir la delegacin de nuevos controladores, proporcionar mecanismos para que dicha delegacin se produzca sin necesidad de detener el control del proceso, gestionar fallos que puedan producirse en el control y generar alarmas, dotar de mecanismos de tolerancia a fallos, ofrecer la posibilidad de realizar las tareas de sensorizacin, control o actuacin en otros nodos de la red distribuida y definir una accin de control segura en caso de fallo del controlador [AA]. En este artculo se propone la implementacin de una versin reducida del middleware para nodos de bajas prestaciones, como es el microcontrolador Microchip dsPIC30F4011. En la siguiente seccin se introduce la arquitectura del ncleo de control propuesto. En el punto 3 se detalla la implementacin prctica del middleware en el microcontrolador

Servicio de Gestin de Datos

Servicio de Actuacin

Servicio de Red

Figura 1: Servicios del Tiny Middleware La diferencia entre ambos modelos de kernel de control radica en el nmero de servicios que ofrece cada uno, que en el caso del modelo reducido son: Servicio de Red, de Gestin de Datos, de Actuacin, de Sensorizacin, de Delegacin de Cdigo y de Administracin y Monitorizacin (figura 1). Se remite a [3] y [9] para ampliar la informacin acerca de esta definicin de ncleo de control.
1

Este trabajo se desarrolla en el marco del proyecto Kertrol DPI2005-09327-C02-02 del Ministerio de Educacin y Ciencia.

3
3.1

IMPLEMENTACIN DEL TINY MIDDLEWARE EN EL dsPIC30


PLATAFORMA DE PRUEBAS

3.2

SERVICIO DE RED

La implementacin del Tiny Middleware ha sido realizada en un microcontrolador de 16 bits de la familia del dsPIC30 del fabricante Microchip, ms concretamente el modelo dsPIC30F4011. Las caractersticas ms reseables de este nodo de bajas prestaciones son las siguientes: - Arquitectura de 16 bits. - Juego de instrucciones de 24 bits. - Tamao de la memoria de programa: 48 KB o 16 K instrucciones. - Tamao de la memoria de datos: 2048 bytes. - Tamao de la EEPROM: 1024 bytes. - 5 temporizadores de 16 bits. - Mdulo de PWM de 6 canales. - 9 canales de conversin A/D de 10 bits. - 2 mdulos UART. - 1 mdulo SPI. - 1 mdulo I2C. - 1 mdulo CAN. - 30 pines de entrada / salida. La plataforma donde ha sido configurado el microcontrolador es la placa de evaluacin dsPICDEM 2 del mismo fabricante, que permite utilizar todas las capacidades del dsPIC30F4011. Los diferentes servicios ofrecidos por el Tiny Middleware han sido implementados como si de tareas se tratasen. Ahora bien, puesto que el dsPIC30F4011 se trata de un nodo de recursos limitados, ste no posee ningn ncleo de sistema operativo, por lo que cuando se habla del concepto de tarea no se refiere a que existe un hilo de ejecucin que es planificado y reactivado cada cierto tiempo. La capacidad de trabajo del dsPIC30F4011 se vera muy mermada tanto en cmputo como en espacio en memoria en caso de incluir un sistema operativo por muy sencillo que ste fuera. Es por ello que en todos los casos la estructura de tareas ha sido resuelta mediante manejadores de distintas interrupciones, tanto de temporizadores como de recepcin de mensajes por red o finalizacin de la adquisicin A/D. La planificacin de dichas actividades es realizada en base a la asignacin de prioridades a cada interrupcin dentro del sistema y gracias a que la arquitectura del dsPIC30 permite la anidacin de interrupciones [2]. Los valores de prioridad en la familia de los dsPIC30 van del 1 al 7, siendo el mayor valor el ms prioritario. Un valor igual a 0 deshabilita la interrupcin. A continuacin se detalla la implementacin de cada uno de los diferentes servicios del Tiny Middleware.

El Servicio de Red es el componente que gestiona todas las comunicaciones del Tiny Middleware con los restantes nodos en la red. Distribuye los mensajes recibidos, en funcin de los identificadores, a los distintos servicios del ncleo de control a travs de las interfaces que ofrecen. ste a su vez ofrece una interfaz al resto de servicios del Middleware que permite el envo de mensajes a las redes de comunicaciones. Adems no solo gestiona el hardware de comunicaciones, sino que tambin implementa los mecanismos necesarios para el envo de mensajes, como por ejemplo la creacin de buffers software de mensajes. Dos tipos de comunicaciones con el exterior han sido implementadas: Controller Area Network (CAN) y la comunicacin serie RS-232, utilizando el mdulo de la UART para este caso. A travs de la red CAN est previsto que se reciban los mensajes de nodos de mayores prestaciones que gestionan el nodo ligero y administran el control realizado por ste. El supervisor puede delegar un nuevo cdigo de controlador, cambiar el periodo de sensorizacin, cambiar el periodo de actuacin, programar un envo peridico de las variables de control, modificar el valor de referencia o cambiar el modo de funcionamiento del nodo de recursos limitados.
Servicio de Delegacin de Cdigo

Red CAN

Servicio de Actuacin

Red RS-232

Servicio de Red
- Identifica los mensajes CAN y los reenva a los distintos servicios - Actualiza el valor de referencia

Servicio de Administracin Monitorizacin Servicio de Sensorizacin Servicio de Gestin de Datos

Figura 2: Funcionalidad del Servicio de Red Por otro lado el mdulo de la UART est destinado esencialmente a la recepcin del valor de referencia que debe seguir el sistema controlado. As se ofrece la posibilidad de cambiar la referencia conectando directamente el nodo ligero a un dispositivo a travs de RS-232. Por tanto la referencia puede ser establecida tanto por serie como por CAN. En la figura 2 se observa de forma esquemtica cules son las tareas del Servicio de Red. Para la implementacin de las funciones de red slo se han utilizado los manejadores de interrupcin de CAN y de UART2, asignando una prioridad de 4 y de 2 respectivamente.

3.3

SERVICIO DE GESTIN DE DATOS

esquematiza las labores realizadas por el Servicio de Gestin de Datos. 3.4 SERVICIO DE ACTUACIN

El servicio de Gestin de Datos pretende ofrecer una interfaz de acceso a los datos de control que los servicios del Tiny Middleware necesitan para llevar a cabo sus tareas. De esta forma, para obtener o modificar una variable de control (una referencia, una accin de control o una variable de sensorizacin) se utilizan distintas funciones ofrecidas por este servicio. Esas funciones leen o escriben en la memoria de datos del microcontrolador siguiendo un modelo de pizarra compartida de datos. Dentro del espacio de direccionamiento del microcontrolador [6] se ha reservado un rea de memoria para alojar de manera fija la interfaz del Servicio de Gestin de Datos a modo de API esttica. Esto es necesario para que las direcciones en memoria de las funciones de dicha interfaz sean siempre las mismas y as poder ser invocadas desde cualquier cdigo de controlador. Esta invariabilidad va a permitir poder descargar distintos controladores. De lo contraro un nuevo controlador descargado podra utilizar saltos a memoria donde no estuviese alojada la interfaz, con el consiguiente malfuncionamiento y comportamiento imprevisible del sistema de control. Por otro lado el Servicio de Gestin de Datos permite la inicializacin, configuracin y detencin de una tarea que enva los datos de control del Middleware por la red CAN [4] para que los nodos de altas prestaciones supervisen el control del proceso. En este sentido, el servicio ofrece otra interfaz para ser invocada por el Servicio de Red cuando lleguen mensajes destinados a dicho propsito.

El Servicio de Actuacin es el componente del Tiny Middleware que se encarga de enviar las seales de control al proceso controlado. Para ello se crea una tarea (OAT Output Action Thread) [5] que toma los datos de actuacin de la pizarra compartida de datos del ncleo de control y realiza las operaciones necesarias para entregar la seal o seales de control. La tarea de actuacin est implementada mediante el manejador de interrupcin de otro temporizador del microcontrolador, que se activa peridicamente. Este periodo de actuacin es establecido por el nodo supervisor (Full Middleware). Para ello se ha definido conjunto de mensajes CAN que permiten modificar dicho periodo de actuacin. La figura 4 muestra un esquema del funcionamiento de este servicio.
Servicio de Actuacin
Actuacin peridica Tratamiento de sus mensajes CAN

T3
X ms

Servicio de Gestin de Datos


Ofrece la interfaz para la lectura de la pizarra compartida del Middleware

Red CAN

Servicio de Red
Identifica los mensajes CAN recibidos y los reenva dado el caso al Servicio de Actuacin a travs de su interfaz

Mensajes CAN

Figura 4: Funcionalidad del Servicio de Actuacin Puesto que la actuacin es la tarea ms importante de todo sistema de control, para asegurar que siempre se va a actuar se ha establecido como mxima (valor 7) la prioridad de la interrupcin del temporizador de actuacin. De esta forma, cuando el registro contador del timer desborde, independientemente de qu se est ejecutando, el microcontrolador va a pasar a ejecutar el manejador del temporizador de actuacin, por lo que se leer de la pizarra de datos compartidos el valor a entregar y se efectuar la actuacin inmediatamente, sin ser interrumpido por ninguna otra actividad. Esto es posible gracias a que la arquitectura del dsPIC30 permite interrupciones anidadas [2]. A este servicio no le importa qu valor de actuacin est escrito en la pizarra de datos, puede ser un valor seguro o bien el ltimo valor calculado por el controlador. Le es indiferente si el controlador ha tenido el tiempo suficiente o no para calcular la nueva accin de control. Es por ello que se define una accin de control segura, la cual ser enviada al proceso cuando el controlador no haya podido calcular la nueva accin de control dentro del plazo correspondiente. Esta accin segura puede ser llevar

Servicio de Actuacin Servicio de Administracin Monitorizacin

Servicio de Gestin de Datos


T4
X ms

- Ofrece la interfaz para


el acceso a los datos - Gestiona la tarea de envo

Servicio de Sensorizacin

Servicio de Red

Figura 3: Tareas del Servicio de Gestin de Datos La tarea de envo de datos de control es implementada mediante el manejador de interrupcin de un temporizador del microcontrolador, al que se le asigna un valor de prioridad de 4 dentro del sistema. Para la inicializacin, configuracin, detencin y envo de datos de control propiamente dicho se ha implementado el correspondiente protocolo de mensajes CAN [4] para que el nodo supervisor realice dichas acciones. Los datos pueden ser enviados separada o conjuntamente. La figura 3

al proceso a un determinado nivel, enviar la accin de control anterior, entregar una accin de control nula, la desconexin del proceso o realizar una parada de emergencia. En esta implementacin la accin segura est definida como la accin enviada en el ciclo de actuacin anterior.

como por ejemplo la definicin del valor seguro de actuacin. El periodo de monitorizacin est en funcin del periodo de actuacin. Esto es, que el periodo de monitorizacin es mltiplo del de actuacin, siendo en la implementacin actual 100 veces el periodo de actuacin. Para la supervisin del control efectuado por el sistema se ha implementado un mecanismo que permite determinar si el controlador ha perdido el plazo en alguno de estos periodos. Con este fin el Servicio de Administracin y Monitorizacin tiene definida una interfaz para que los restantes servicios del ncleo de control permitan hacer uso de dicho mecanismo. Por otro lado se define un parmetro que indica la calidad del control en trminos de cumplimiento de plazos. Si para un periodo de monitorizacin dado la tarea de control ha perdido el plazo ms de un nmero determinado de veces, se considera que el control no es correcto, generndose un mensaje CAN de alarma. El nodo supervisor que detectase este tipo de alarma debera obrar en consecuencia. El mecanismo de monitorizacin implementado esta diseado para que supervise el control nicamente cuando el sistema est ocioso. De esta forma no interferir en las restantes tareas del Middleware, tales como sensorizacin, control y actuacin, entre otras. Si la evaluacin de la calidad de control es satisfactoria, entonces no se realiza ninguna accin, tan solo se espera al siguiente ciclo de monitorizacin. En cambio, si se detecta que la tarea de control ha perdido ms plazos de los permitidos, adems de generar una alarma, se reinicia el mecanismo de monitorizacin para comprobar si este error es temporal o se sigue produciendo a lo largo del tiempo. La figura 6 muestra un esquema de funcionamiento de este servicio.
Servicio de Administracin y Monitorizacin
Evala la calidad del control

3.5

SERVICIO DE SENSORIZACIN

El Servicio de Sensorizacin tiene la funcin de obtener los datos de los sensores asociados al proceso a controlar, actualizando sus correspondientes valores en la pizarra compartida de datos del Tiny Middleware. Las variables de sensorizacin son adquiridas peridicamente y actualizadas en la pizarra de datos merced a un manejador de interrupcin de otro temporizador del sistema, que hace la funcin de hilo adquisidor (DAT Data Acquisition Thread) [5]. Este periodo de sensorizacin es configurable por el nodo supervisor (Full Middleware) mediante el envo de mensajes CAN. Para ello se ha definido el correspondiente conjunto de mensajes a intercambiar. La prioridad establecida para el temporizador de sensorizacin tiene el valor 6, que es justo un valor por debajo de la mxima prioridad (establecida para la tarea de actuacin). Ello significa que esta tarea slo ser interrumpida por la tarea de actuacin, situacin bastante improbable que se d debido al desfase temporal existente entre ambas tareas. La figura 5 esquematiza las tareas realizadas por el Servicio de Sensorizacin.
Servicio Sensorizacin
Sensorizacin peridica Tratamiento de sus mensajes CAN

T2
X ms

ADC

Servicio de Red
Identifica los mensajes CAN recibidos y los reenva dado el caso al Servicio de Sensorizacin a travs de su interfaz

Servicio de Gestin de Datos


Ofrece la interfaz para la escritura en la pizarra compartida del Middleware

Mensajes CAN

Figura 5: Tareas del Servicio de Sensorizacin

Red CAN

Red CAN
Mensaje Alarma
xT3

3.6

SERVICIO DE ADMINISTRACIN Y MONITORIZACIN

Servicio de Actuacin

Servicio de Red
Enva el mensaje de alarma

Activacin del mecanismo de monitorizacin T3 Actuacin peridica X ms

El Servicio de Administracin y Monitorizacin es el encargado por una parte de monitorizar el control efectuado por el nodo de bajas prestaciones, y por otro lado tendr encomendadas tareas de administracin del Middleware en un futuro, tales

Figura 6: Funcin del Servicio de Administracin y Monitorizacin

3.7

SERVICIO CDIGO

DE

DELEGACIN

DE

El Servicio de Delegacin de Cdigo es el componente del Tiny Middleware que va a permitir descargar fragmentos de cdigo en el nodo de recursos limitados, ms concretamente delegar nuevos controladores de forma que se pueda cambiar el comportamiento del proceso de manera online; dicho de otro modo, no habr necesidad de desconectar el nodo ligero y ni de dejar de controlar el proceso para delegar el nuevo controlador. La delegacin de cdigo es efectuada por el Full Middleware de un nodo de altas prestaciones a travs del bus de campo CAN [4]. Es por ello que para poder efectuar la descarga de cdigo se ha diseado un protocolo de mensajes que permite el entendimiento entre los componentes Tiny y Full Middleware. Cuando se realiza la descarga de cdigo lo que se est llevando a cabo es la escritura de instrucciones mquina directamente en la memoria de programa del microcontrolador, por lo que se debe ser muy cuidadoso de no interferir con el cdigo que actualmente se est ejecutando y que controla el proceso en ese instante. Por esta razn se han reservado dos reas de memoria en el espacio de direccionamiento del dsPIC30F4011 [6], de ahora en adelante denominadas rea 1 y rea 2. En un momento determinado, el microcontrolador estar ejecutando un controlador ubicado en una de las dos reas. Si el supervisor desea delegar un nuevo controlador, entonces debe iniciar una nueva sesin de descarga de cdigo, sin importarle en qu rea de memoria va a ser ubicado el nuevo controlador, ya que esto es gestionado internamente por el Middleware. Ahora bien, es el nodo supervisor quien indica cundo la descarga de cdigo ha finalizado y por tanto cundo se debe conmutar al rea de memoria del nuevo controlador.

As, mientras se est ejecutado, por ejemplo, el cdigo alojado en el rea 2 de memoria, se puede ir descargando cdigo en el rea 1. Cuando se haya terminado de descargar el cdigo, ya se puede pasar a ejecutar el nuevo controlador para cambiar el comportamiento del proceso. Este esquema de funcionamiento es mostrado en la figura 7.

PRUEBAS Y RESULTADOS

Antes de mostrar los resultados obtenidos con las pruebas realizadas, se va a comentar cul ha sido el proceso que se ha controlado. 4.1 SISTEMA SUPERVISOR, PROCESO CONTROLADO Y OBTENCIN DE LOS CONTROLADORES

La implementacin aqu presentada del Tiny Middleware ha sido probada en el control de una red doble RC, cuyo esquema elctrico se muestra en la figura 8.

Figura 8: Circuito elctrico del proceso controlado Se puede obtener el modelo terico del proceso en funcin de los valores empricos de las resistencias y los condensadores utilizados, obteniendo la funcin de transferencia (1), que es a su vez utilizada para el clculo de los controladores.

G(s) =

20,3759 s + 3,497s + 21,73


2

(1)

Red CAN
Mensajes CAN

0x000100

Programa principal

Tal y como se observa, el proceso posee una entrada y una salida, por lo que la implementacin del Tiny Middleware se particulariza en la actuacin sobre una variable y en la sensorizacin de un nico valor. Las acciones de control son enviadas a travs del mdulo PWM (Pulse Width Modulation) del microcontrolador, es decir, modula una seal analgica mediante un tren de pulsos binarios de ancho variable. Se utiliza este mdulo PWM porque el dsPIC30F4011 no posee ningn sistema de conversin digital a analgico. De hecho ninguno de los microcontroladores de esta familia lo posee. Es por esto que es necesario utilizar una etapa filtrado para poder aplicar una seal analgica sobre la entrada del proceso [7].

Mensajes CAN de carga de cdigo

En ejecucin

0x005FFE 0x006000
rea 1 Descargando

Servicio de Red
Recibe los mensajes CAN de la red y pasa los mensajes al Servicio de Delegacin de Cdigo correspondientes a la descarga de cdigo

Servicio de Delegacin de Cdigo


Procesa los mensajes CAN de carga de cdigo, escribiendo en el rea correspondiente de memoria y cambiando la seccin de cdigo a ejecutar

0x006FFE 0x007000

rea 2
En ejecucin

0x007FFE

Figura 7: Funcin del Servicio de Delegacin de Cdigo

Aunque este filtro introduce un nuevo polo en el sistema, ste es despreciado para la obtencin del controlador porque es del orden de 100 veces ms rpido que los polos del proceso controlado. Por otro lado, el Servicio de Sensorizacin adquiere la informacin sensorial a travs del convertidor analgico-digital del microcontrolador. Se han implementado tres controladores discretos a 10 milisegundos de tiempo de muestreo (P, PD y PID) para realizar las distintas pruebas. Estos controladores han sido diseados mediante herramientas de Matlab en el plano continuo, utilizando posteriormente las equivalencias existentes entre los parmetros del controlador PID continuo y discreto, obteniendo los parmetros q0, q1 y q2 (3). El algoritmo de control discreto para el caso del PID es (2). (2) uk = uk 1 + q0 ek + q1ek 1 + q2 ek 2 K 2K d K q0 = K p + d ; q1 = K p + K i T ; q 2 = d (3) T T T El sistema de altas prestaciones que supervisa el nodo ligero ha sido implementado con una aplicacin de alto nivel ejecutndose en ordenador personal. Dicha aplicacin permite la delegacin de nuevos controladores, gestionar alarmas, realizar cambios en los periodos de sensorizacin y actuacin y gestionar el envo a la red de datos de control. Adems hace tambin taras de monitorizacin de la red CAN. 4.2 DELEGACIN DE CDIGO

Como era previsible, existe un error de posicin en la salida del sistema. En un momento determinado, el nodo supervisor observa que este controlador no es adecuado y decide delegar un nuevo controlador, en este caso un PID. Mediante la aplicacin implementada, que hace el papel de nodo de altas prestaciones, establece una sesin de descarga con el middleware. La figura 10 muestra la conmutacin del controlador P al PID, indicando el comienzo y el fin del proceso de descarga.
Descarga y conmutacin de controladores 1.4

1.2

Voltaje

0.8

0.6 Inicio de descarga Fin de descarga

0.4

0.2

Salida P Conmutacin PID Referencia 0 0.5 1 1.5 2 2.5 3 t (segundos) 3.5 4 4.5 5

Figura 10: Instantes de inicio y fin de la delegacin del nuevo controlador y respuesta del sistema Como era de esperar, al aadir el trmino integral y derivativo en el nuevo controlador, el error de posicin es corregido de manera sobreamortiguada. Es importante destacar que no se producen anormalidades en el control durante la delegacin de cdigo tal y como se observa en la figura 10. Esto es importante desde el punto de vista del proceso, puesto que la descarga del nuevo controlador debe ser transparente para l sin que se afecte el control del mismo.
Controlador PID 1.4

En las pruebas de delegacin de cdigo se ha programado el middleware con un controlador de tipo proporcional. La figura 9 muestra la respuesta del sistema frente a un escaln unitario.
Controlador P 1.4

1.2 1.2 1 1 0.8 Voltaje Salida - y(t) Referencia 0 0 0.5 1 1.5 2 2.5 3 t (segundos) 3.5 4 4.5 5 0.8

Voltaje

0.6

0.6

0.4 0.4 0.2 0.2 Salida - y(t) Referencia 0 0 0.5 1 1.5 2 2.5 3 t (segundos) 3.5 4 4.5 5

Figura 9: Respuesta del proceso frente a un escaln unitario con regulador proporcional

Figura 11: Respuesta del proceso frente a un escaln unitario con regulador PID

La figura 11 se muestra la nueva salida del sistema frente al mismo escaln unitario aplicado de la figura 9, despus de realizar la conmutacin al controlador PID. 4.3 GENERACIN DE ALARMAS

La grfica de la figura 12 muestra la respuesta del sistema cuando se realiza una variacin en el periodo de actuacin, indicando el perodo en que se est actuando en cada instante.
Cambios en el periodo de sensorizacin 1.2

Voltaje

El Servicio de Administracin y Monitorizacin es el encargado de supervisar internamente el control realizado sobre el proceso. Para ello se define un nivel de calidad de control y un mecanismo de deteccin de prdida de dicha calidad. La calidad est definida como el nmero de veces que la tarea de control pierde el plazo en un determinado tiempo. Cuando se da esta circunstancia se genera una alarma en forma de mensaje CAN para informar a todos los nodos de la red que este nodo no est controlando adecuadamente el proceso. Para probar esta funcionalidad se ha programado la tarea de control para que pierda el plazo de forma voluntaria en los periodos de control que deseados. Se observa que cuando no se cumple el nivel de calidad establecido se genera el mensaje de alarma. Despus de generar solamente un mensaje de alarma, el mecanismo de supervisin de la calidad del control es reiniciado de forma que si el fallo en el control es temporal no se volver a generar ms alarmas. En cambio se generarn ms alarmas si el problema persiste en el tiempo. 4.4 CAMBIOS EN EL PERIODO ACTUACIN O SENSORIZACIN DE

1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 10 ms 100 ms 10 ms Referencia Salida - y(t) 0 1 2 3 4 5 6 t (segundos) 7 8 9 10

Figura 13: Respuesta del sistema ante un cambio en el periodo de sensorizacin Anlogamente, la figura 13 presenta cmo responde el sistema ante variaciones en el periodo de sensorizacin, mostrando dicho periodo en cada momento. Como era de esperar, en los cambios de perodo el sistema se desestabiliza debido a que el controlador actual no est diseado para trabajar a las nuevas frecuencias. Si de desea controlar el sistema a los nuevos periodos de actuacin o sensorizacin se debe delegar un nuevo controlador. 4.5 ENVO PERIDICO DE DATOS DE CONTROL

Independientemente del periodo de control que se establezca, el nodo de altas prestaciones puede variar el periodo de las tareas de actuacin y de sensorizacin de forma autnoma. De esta forma se pueden tener periodos distintos para cada una de las tareas de sensorizacin, control y actuacin.
Cambios en el periodo de actuacin 1.2

El nodo supervisor puede indicar que el Tiny Middleware enve a la red las variables de control a una frecuencia determinada. Se entiende como variables de control las variables de sensorizacin, actuacin y referencia. El envo de stas es totalmente independiente, pudiendo enviarse slo una de las tres, bien de dos en dos o bien las tres a la vez en cada periodo de envo. La respuesta del Tiny Middleware ante una peticin de envo de variables de control es la esperada, permitiendo variar el periodo de envo as como qu variables han de enviarse.

1.1

1 Voltaje 0.9

0.8

10 ms

50 ms

10 ms Referencia Salida - y(t)

0.7 0 1 2 3 4 5 6 t (segundos) 7 8

10

Figura 12: Respuesta del sistema ante un cambio en el periodo de actuacin

Se aade esta funcionalidad al ncleo de control para que los restantes nodos de altas prestaciones de la red puedan supervisar el control realizado por los nodos ligeros, as como tambin para poder realizar en prximos desarrollos un control distribuido del proceso en vez de local.

CONCLUSIONES FUTURO

TRABAJO

Referencias [1] Albertos, P., Crespo, A. y Sim, J. (2006) Control Kernel: A Key Concept in Embedded Control Systems. 4th IFAC Symposium on Mechatronic Systems. Heidelberg (Germany). [2] Angulo, J.M., Etxebarra, A., Angulo, I. y Trueba, I. (2006) dsPIC: Diseo prctico de aplicaciones, McGraw Hill, Madrid (Espaa). [3] Coronel, J. O. (2008) Arquitectura de Control para el Desarrollo de Aplicaciones Bajo Restricciones de Tiempo Real. Reporte interno DISCA 2008-STR-35. Universidad Politcnica de Valencia. [4] Coronel, J.O., Blanes, J.F., Prez, P., Benet, G. y Sim, J.E. (2006) SCoCAN: Un protocolo de comunicaciones de tiempo real para sistemas empotrados distribuidos. Aplicacin al control de robots. Revista Iberoamericana de Automtica e Informtica Industrial (RIAI), 3(2):7178. [5] Crespo, A., Albertos, P., Balbastre, P., Valls, M., Lluesma, M. y Sim, J. (2006) Schedulability Issues in Complex Embedded Control Systems. IEEE International Conference on Control Applications. Munich (Germany). [6] Microchip Technology Inc (2005) dsPIC30 F4011/4012 Data Sheet. Arizona (EEUU). [7] Microchip Technology Inc (1997) Using PWM to Generate Analog Output. Application Note AN538. Arizona (EEUU). [8] Nicolau, V., Albero, M., Blanes, J.F. y Sim, J. (2007) Biped Robot Monitoring Using a CAN WiFi Bridge. 7th IFAC International Conference on Fieldbuses & Networks in Industrial &Embedded Systems. Toulouse (France). [9] Simarro, R., Coronel, J.O., Sim, J. y Blanes, J.F. (2008) Hierarchical and Distributed Embedded Control Kernel. 17th IFAC World Congress. Seoul (Korea).

El artculo presentado propone una implementacin del ncleo de control denominado Tiny Middleware sobre el nodo de recursos limitados dsPIC30F4011 de Microchip demostrando la viabilidad de esta implementacin. Con el kernel de control Tiny Middleware el modelo de programacin del controlador cambia, siendo ms sencillo para el ingeniero de control implementar controladores puesto que se abstrae todo el hardware del sistema, ofreciendo una serie de interfaces para el acceso a los datos de control. De esta forma el ingeniero de control se centra en aspectos relativos al control y no en singularidades referentes a la programacin de microcontroladores. Actualmente est en desarrollo nuevas prestaciones del ncleo de control, tales como la implementacin de modos de funcionamiento en las que las tareas de sensorizacin, control y actuacin estn distribuidas por la red. De esta forma estas tareas no estaran centralizadas en un kernel de control local, sino distribuido. Otras caractersticas interesantes a ser consideradas son que el nodo supervisor pueda configurar tanto el periodo de monitorizacin del control como sus parmetros de calidad. Asimismo el Servicio de Administracin y Monitorizacin debera gestionar cual es la accin de control segura a entregar el proceso, as como permitir al nodo supervisor definir cul ser dicha accin segura. Tambin se podran implementar a nivel del Servicio de Red buffers software para la recepcin de mensajes CAN y envo y recepcin de caracteres por RS-232, si bien habra que vigilar el nivel de utilizacin de la memoria de datos del microcontrolador, puesto que est bastante limitada. Por otro lado se podra adaptar el trabajo realizado en [8] para dotar de comunicacin inalmbrica a los diferentes nodos de la red distribuida, con todas las ventajas que supone la comunicacin inalmbrica. Esto permitira, por ejemplo, dotar de una mayor flexibilidad a los nodos de control en cuanto a topologas de interconexin en red. De esta forma es posible conectar dentro del mismo sistema de control nodos con restricciones temporales de comunicacin mediante el bus CAN, con nodos de monitorizacin mediante conexiones inalmbricas.

También podría gustarte