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.

INTRODUCCIN 1

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

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

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

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-01/02 del Ministerio de Educacin y Ciencia.

3
3.1

IMPLEMENTACIN DEL TINY


MIDDLEWARE EN EL dsPIC30
PLATAFORMA DE PRUEBAS

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.

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

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.

SERVICIO DE RED

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.

Red RS-232

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.

3.2

Servicio de
Actuacin

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

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.

3.4

SERVICIO DE ACTUACIN

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 Red
Identifica los mensajes CAN
recibidos y los reenva dado el caso al
Servicio de Actuacin a travs de su
interfaz

Red CAN

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.

esquematiza las labores realizadas por el Servicio de


Gestin de Datos.

Servicio de Gestin de Datos


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

Mensajes
CAN

Figura 4: Funcionalidad del Servicio de Actuacin

Figura 3: Tareas del Servicio de Gestin de Datos

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].

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

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

Servicio de
Sensorizacin

el acceso a los datos


- Gestiona la tarea de envo

Servicio de Red

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.

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

ADC

X ms

Identifica los mensajes CAN


recibidos y los reenva dado el caso al
Servicio de Sensorizacin a travs de
su interfaz

Red CAN

Servicio de Red

Mensajes
CAN

Servicio de Gestin de
Datos
Ofrece la interfaz para la
escritura en la pizarra
compartida del Middleware

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.6

SERVICIO DE ADMINISTRACIN Y
MONITORIZACIN

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

Red CAN
xT3

Mensaje
Alarma

Figura 5: Tareas del Servicio de Sensorizacin

como por ejemplo la definicin del valor seguro de


actuacin.

Servicio de Actuacin

Servicio de Red
Enva el mensaje de alarma

Activacin del mecanismo de


monitorizacin
T3
Actuacin peridica
X ms

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.

0x000100

Red CAN
Mensajes
CAN

Programa
principal

Mensajes CAN de
carga de cdigo

Servicio de Red

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

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)

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.

En ejecucin

0x005FFE
0x006000

Recibe los mensajes CAN de la red y pasa


los mensajes al Servicio de Delegacin de
Cdigo correspondientes a la descarga de
cdigo

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.

rea 1

Descargando

0x006FFE
0x007000

rea 2
En ejecucin

0x007FFE

Figura 7: Funcin del Servicio de Delegacin de


Cdigo

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].

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).

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

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.

(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

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.

0.8

0.6
Fin de
descarga

Inicio de
descarga

0.4

Salida P
Conmutacin PID
Referencia

0.2

0.5

1.5

2.5
3
t (segundos)

3.5

4.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 P
Controlador PID

1.4
1.4
1.2
1.2
1

0.8
Voltaje

Voltaje

0.6

0.8

0.6

0.4
0.4
0.2
0.2

Salida - y(t)
Referencia
0

0.5

1.5

2.5
3
t (segundos)

3.5

4.5

Salida - y(t)
Referencia
5

Figura 9: Respuesta del proceso frente a un escaln


unitario con regulador proporcional

0.5

1.5

2.5
3
t (segundos)

3.5

4.5

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

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.

GENERACIN DE ALARMAS

Cambios en el periodo de sensorizacin


1.2
1.1
1
0.9
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

Cambios en el periodo de actuacin


1.2

0.7
0.6
10
ms

0.5

100
ms

10
ms

0.4
0.3

Referencia
Salida - y(t)
0

5
6
t (segundos)

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

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.

0.8

ENVO PERIDICO DE DATOS DE


CONTROL

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.

1.1

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.

Voltaje

0.9

10
ms

0.8

50
ms

10
ms
Referencia
Salida - y(t)

0.7
0

5
6
t (segundos)

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

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.

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).

También podría gustarte