Académique Documents
Professionnel Documents
Culture Documents
(STR)
Introduccin
1
Sistemas en Tiempo Real
Objetivos:
Conocer los conceptos ms importantes relacionados con los sistemas
en tiempo real (STR).
Conocer la problemtica del desarrollo de los sistemas de tiempo real
Examinar sus caractersticas ms importantes y verificar en los
campos de aplicacin.
Conocer los mtodos y herramientas que se utilizan para disear,
analizar y realizar STR.
Saber desarrollar aplicaciones con lenguajes apropiados.
Conocer la problemtica del sistema operativo y su influencia
Requisitos:
Programacin en lenguaje de alto nivel (C, Ada)
Sistemas Operativos.
Arquitectura de computadoras.
2
Contenido
Introduccin
Que es un Sistema de Tiempo Real.
Restriccion Temporal
Estructura de un STR
Predecibilidad.
Tipo de tareas.
Planificacin de Sistemas de Tiempo Real
Sistemas Empotrados
Aplicaciones de Sistemas de Tiempo Real
etc
3
Ejemplo: Mars Pathfinder
5
Ejemplo: Mars Pathfinder, Interaccin
entre tareas
6
Ejemplo: Jerarqua de Control de Vuelo
7
Ejemplo: Control de Trafico Areo
8
Ejemplo: Inyeccin de combustible
9
Que es un Sistema de Tiempo real ?
Un sistema de tiempo real es un sistema de
procesamiento de informacin el cual tiene que
responder (en un perodo finito y especfico) a
estmulos de entrada generados externamente.
10
Que es un Sistema de Tiempo real ?
Las respuestas correctas dependen no solo de los resultados lgicos
sino tambin del momento (tiempo) en que son entregadas (restriccin
de tiempo).
Las fallas para responder a tiempo son tan malas como una mala
respuesta.
11
Restriccin Temporal
Si queremos controlar la
velocidad de un motor
sometido a una carga variable
utilizando un control PID. El
control PID es una funcin a
la que se le pasan unos
parmetros (velocidad actual
del motor) y retorna el valor
de la seal de control que hay
que aplicar al motor (la
tensin con la que hay que
alimentar el motor)
12
Restriccin Temporal
13
Restriccin Temporal
En resumen podemos considerar la funcin PID como un
programa que se ha de ejecutar de forma peridica (Ti);
desde que la ponemos en ejecucin hasta que acaba, ha de
estar acotado por un tiempo mximo (Di) que viene
impuesto por la teora de diseo del PID, y que en funcin
de la velocidad del procesador que tengamos, el tiempo de
ejecucin del propio cdigo PID emplea una cantidad de
tiempo (Ci).
14
Restriccin Temporal
Si el sistema est compuesto por una sola tarea,
entonces no hay problema de tiempo real. En caso de
que el procesador no es lo suficientemente rpido
entonces simplemente se cambia de procesador.
15
Restriccin Temporal
Se debe de usar un sistema operativo de tiempo real para
garantizar que su tarea crtica se ejecute de manera precisa
en el horario establecido. El sistema operativo de Windows
esta diseado para ofrecer o compartir tiempo del
procesador a tareas que corren en el fondo (background).
Como en este caso el usuario tiene poco control sobre cmo
el procesador comparte su tiempo, Windows no es
considerado un sistema operativo de tiempo real. De esta
manera, tareas no crticas (como un protector de pantalla o
software de proteccin de virus) pueden interferir con un
proceso de tiempo crtico en LabVIEW por ejemplo, como
una aplicacin de adquisicin de datos o un lazo de
control.
16
Estructura de un STR tpico
17
Necesidad de concurrencia en
sistemas de tiempo real
Lo habitual es que un sistema de tiempo real tenga que
realizar varias actividades de forma concurrente
Por ejemplo: tareas en el controlador de un coche:
Medir la velocidad cada 200 ms
Controlar la inyeccin cada 40 ms
Control del ABS cada 80 ms
Para el programador resulta ms sencillo trabajar sobre
cada una de las tareas de forma independiente
El sistema operativo o el lenguaje de programacin proporcionar el
soporte para que las tareas se ejecuten de forma concurrente
18
Requisitos funcionales
Adquisicin de datos
a. Medida de variables
- Cada variable pertenece a la etapa de control de un susbsistema
- La imagen de una variable en el STR tiene un intervalo de
validez
- Las medidas pueden estar dirigidas por tiempo o por sucesos
b. Acondicionamiento de seales
- Los datos brutos se filtran y convierten a unidades de ingeniera
- Luego se analizan para obtener datos validados
c. Supervisin
- Cuando algn dato tiene valores incorrectos se generan alarmas
es importante identificar el suceso original de una serie de
alarmas encadenadas
19
Requisitos funcionales
Control digital
El sistema de tiempo real puede actuar sobre el sistema
controlado para conseguir que tenga un comportamiento
determinado.
- La accion de control es funcin de la desviacin entre los
valores de referencia y los valores medidos de las variables
- El diseo de los algoritmos de control es un problema
importante
El comportamiento es muy regular (muestreo peridico)
20
Requisitos funcionales
Interaccin con personas
a. La interfaz de operador es muy importante
- Una mala interfaz puede causar accidentes
b. Aspectos tpicos:
- Presentacin de datos
- Presentacin de alarmas
- Presentacin de tendencias
- Registro de datos
- Generacin de informes
21
Esquema de un Sistema de Tiempo
Real General
Termo
- ADC
Transductor
sensor
de presion
Comunicaciones
Switch T ADC
22
Esquema de un Sistema de Tiempo
Real General
Termo
- CAD
Transductor
sensor
de presion
Comunicaciones
Switch T ADC
23
Caractersticas de un Sistema de
Tiempo Real
1. Gran tamao y complejidad
Algunos STR tienen millones de lneas de cdigo.
La variedad de funciones aumenta la complejidad incluso en
sistemas relativamente pequeos.
2. Simultaneidad de acciones (concurrencia)
Los dispositivos fsicos controlados funcionan al mismo
tiempo.
Los componentes de software que los controlan actan
concurrentemente
3. Interaccin con Dispositivos de entrada y salida especiales
Los manejadores de dispositivos forman parte del software
de aplicacin.
24
Caractersticas de un Sistema de
Tiempo Real
4. Seguridad y fiabilidad
En sistemas crticos: fallos con consecuencias graves
- Prdida de vidas humanas
- Prdidas econmicas
- Daos medioambientales
5. Determinismo temporal
Acciones en intervalos de tiempo determinados
Es fundamental que el comportamiento temporal de los
STR sea determinista
- Tareas deben ser asignadas y terminadas antes de su plazo.
- La ejecucin correcta no solo considera la lgica sino tambin el
tiempo en que se producen los resultados
25
Las aplicaciones que se ejecutan determinsticamente muchas
veces realizan una tarea crtica en iteraciones y estas iteraciones
consumen siempre la misma cantidad de tiempo del procesador.
De esta manera las aplicaciones determinsticas son apreciadas
no tanto por su velocidad, sino por su confiabilidad a responder
con consistencia a entradas y generar salidas con muy poco
"parpadeo" o jitter. (Jitter es el trmino que se usa para
identificar el promedio de las diferencias en tiempo que le toma
a un ciclo ejecutarse).
26
Predecibilidad
27
Tipo de Tareas
28
Tipo de Tareas
Tareas Peridicas
Reiniciacin peridica de
tareas, cada instancia debe
completar antes de su plazo.
Por ejemplo, un sensor de
temperatura debe estar
midiendo 10 veces por
segundo.
T es el perodo de la tarea
D es el plazo de respuesta,
relativo al comienzo del
perodo
29
Tipo de Tareas
Tareas Aperidicas
Se activan una sola vez,
ejemplos: Dispara un misil y
verifica el blanco. Una falla de
energa en el sistema debe
provocar una interrupcin la
cual debe ser procesada por el
sistema
T es el tiempo mnimo entre
activaciones o separacin de la
tarea
D es el plazo de respuesta,
relativo al comienzo del
perodo
30
Ventajas de desarrollo de aplicaciones
Multitarea frente a Monotarea:
Proteccin de memoria: si en un proceso se accede fuera
de su memoria asignada, no modifica datos en otro
proceso.
Si el algoritmo de un proceso no es correcto, no afecta a la
ejecucin de los dems procesos salvo sincronizaciones.
Se pueden ejecutar varios procesos en computadores
diferentes conectados mediante algn tipo de canal de
comunicacin.
Los procesos pueden lanzarse y detenerse
individualmente, facilitando escalabilidad de aplicaciones.
Implican una divisin de tareas adecuada para
coordinacin de trabajos entre varios programadores.
Simplifican el cdigo de las aplicaciones cuando stas
tienen que atender a varios dispositivos y tareas diferentes.
31
Diseo de un Sistema de tiempo real
El diseo de un sistema de tiempo real pasa por varias fases.
Primero se identifican las tareas a realizar y las restricciones
temporales que deben cumplir;
Luego se escriben los programas que ejecutarn las tareas;
Despus se mide el tiempo de cmputo de cada tarea y se realiza
un anlisis de planificabilidad. El anlisis de planificabilidad
consiste en aplicar unas pruebas al conjunto de tareas de tal
forma que si stas pasan el test entonces se puede garantizar que
ninguna tarea perder su plazo de ejecucin. Si no pasan el test
entonces se tiene que volver al principio y empezar de nuevo,
utilizando otro procesador ms potente o utilizando otros
algoritmos para implementar las tareas.
Resumiendo: Las tareas se modelan con tres nmeros: P, D y C.
El objetivo del sistema es garantizar que todas las tareas (en
todas sus activaciones) cumplan sus plazos de ejecucin. La
forma de conseguirlo es teniendo un sistema predecible.
32
Planificacin : Tecnologa que permite
dar garantas de ejecucin al STR
Problema
Un conjunto de procesos requieren el acceso a un recurso
compartido: Procesador, medio de comunicacin,
dispositivos.
Si no existe contencin suficiente:
Todos los procesos comparten adecuadamente el recurso
Si existe algn grado de contencin en el sistema:
-Diseo: quien obtiene que prioridades, y cuando ?
-Cmo se asigna el acceso a los recursos compartidos ?
-Problemas de concurrencia
33
Planificacin vs. Planificabilidad
34
Proceso de Planificacin
Aplicacin
Aplicacin
Crtica
Crtica
Tarea
Planificador
35
Caracterizacin de la Aplicacin
r(t)
Sensor de
temperatura
Termo y(t)
Computadora
u(t)
Calefactor
36
Caracterizacin de la Aplicacin
1. Restricciones de Funcionamiento.
Componentes: tanque, sensores, actuadores, interfaces A/D y
computadora.
En el sistema (planta), dada una u(t), se produce una y(t).
El sistema recibe una seal de referencia r(t), el cual indica la
temperatura deseada.
El objetivo del sistema de control es que y(t), sea lo mas parecida a r(t).
Para lograr el objetivo, es preciso aplicar a la planta la seal u(t)
y(t) muestra el valor real de la temperatura del termo.
37
Caracterizacin de la Aplicacin
2. Restricciones de Tiempos:
Tiempos de cmputo.
Periodos de muestreo.
Tiempos de acceso a los dispositivos (sensores actuadores)
Plazos de Respuesta.
Anlisis de Planificacin.
Planificar el sistema con un Sistema Operativo.
Rj < Dj
38
Resumen de los requisitos Temporales
Tarea T C P U
1 16 4 1 0.250
2 40 5 2 0.125
3 80 32 3 0.400
0.775
39
Tipos de Planificacin
Planificacin Esttica
Estimacin a-priori de las restricciones temporales de todas las tareas
del sistema
Opera sobre un conjunto de tareas no necesariamente estticas
Asignacin esttica de prioridades:
-Tabla esttica.
-Asignacin de prioridades estticas.
Planificacin Dinmica
Los parmetros de las tareas (C,T,D) no son conocidas a priori
Las tareas pueden arribar en forma dinmica. De la misma forma las
prioridades de las tareas se asigna durante la ejecucin.
No puede dar garanta de cumplimiento de plazos a priori
40
Aplicaciones de los Sistema de
Tiempo Real
Dominio Industrial
Controlador de la planta
Robot para tratamiento de material peligroso
Uso militar
Sistema de reconocimiento de blancos automtico
Sistema de guiado de misiles y navegacin
Sistemas altamente crticos
Plantas nucleares
Sistemas de avinica
Sistemas de Telecomunicaciones
Sistemas Multimedia
Sistemas de Telefonia Mobil
41
Sistemas Empotrados (Embebidos)
Los recursos estn limitados: procesador, memoria, pantalla, etc.
Realizan una tarea muy especfica. Ejemplos: control de frenos
ABS y climatizador en vehculos.
Forman parte de un sistema mayor.
Los programas se almacenan en unidades de estado slido
(memorias ROM, FLASH) para soportar condiciones
ambientales especiales
42
Sistemas Empotrados (Embebidos)
Los dispositivos de entrada/salida son especiales para cada sistema:
sensores (temperatura, desplazamiento, presin, etc.) y actuadores
(electromecnicos, hidrulicos, neumticos, etc.).
La programacin del manejo de perifricos ha de hacerse en muchos
casos a bajo nivel.
Normalmente no interactan directamente con operarios ni usuarios, y
si lo hacen, se utilizan elementos de panel especficos. Ejemplo: horno
microondas, camaras de video
Hay que reaccionar a tiempo ante cambios del sistema controlado
43
Ejemplos de aplicacin: computadores
industriales
45
Ejemplos de aplicacin:
46
Consideraciones de Diseo de un STR
47
Para tener Tiempo Real este debe estar contemplado
tanto en el Hardware y en el Software
(SO + Aplicaciones)
Requisitos de Hardware
Interfaces eficientes de E/S
Sistema de interrupciones
Calculo de nmeros reales
Relojes en tiempo real
Proteccin de memoria
48
Para tener Tiempo Real este debes estar contemplado
tanto en el Hardware y en el Software
(SO + APlicaciones)
49
Para tener Tiempo Real este debes estar contemplado
tanto en el Hardware y en el Software
(SO + APlicaciones)
50
Lenguajes de Programacion de
Sistemas de Tiempo Real
ADA
Modula-2
Java-RT
Ocamm.
C
C++
51
Caracteristicas de los lenguaje sen
tiempo real
Concurrencia
Control de tiempo
Planificacin de la ejecucin de tareas
Comunicacin con dispositivos hardware
Control de errores y situaciones excepcionales
52
SO's: Hard Real-Time vs. Soft Real-Time
Commercial
Wind River Lynx
Integrated Systems TRON
QNX Microware
Hard Real Time Symbian Microtec
real time Lucent Venturcom
deterministic
time critical
failure can be catastrophic
RTOS
Soft Real Time General Purpose OS
less real time
less deterministic
not as time critical
Commercial
failure can be overcome Microsoft (CE)
Sun Microsystems (Java)
Geoworks
54
Control de drenaje de una mina
56
1. Requisitos funcionales
Bomba
se pone en marcha cuando el nivel de agua est alto
se para cuando el nivel est bajo
no puede funcionar si la concentracin de metano es muy alta
el operador puede arrancar y parar manualmente la bomba
si no circula a gua con la bomba en marcha, se activa una alarma
Parmetros ambientales
se mide la concentracin de metano y monxido de carbono
se detecta si la ventilacin funciona
si algn valor es crtico, se activa una alarma
Operador
el operador puede dar rdenes al sistema, y recibe las alarmas
Registro
se almacenan secuencialmente todos los sucesos significativos
57
2. Requisitos temporales:
Perodos y plazos de los sensores
58
2. Requisitos temporales:
Plazo de desactivacin de la bomba
59
2. Requisitos temporales:
Informacin al operador
60
Resumen de los requisitos temporales
61