La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso: Industria y comunicaciones en Tiempo-Real

Presentaciones similares


Presentación del tema: "Curso: Industria y comunicaciones en Tiempo-Real"— Transcripción de la presentación:

1 Curso: Industria y comunicaciones en Tiempo-Real
Modulo2 – Sistemas en Tiempo-Real Tarea 2: Fundamentos y programación de sistemas en Tiempo-Real. Desarrollado: prof. Manuel Castro, de la Universidad UNED de Madrid. Algunas adiciones fueron hechas por el prof. Anton Petrov - departamento ЕCIТ en PU Plovdiv.

2 Introducción a los sistemas en tiempo-real (RTS).
Temas Principales. Introducción a los sistemas en tiempo-real (RTS). Procesamiento de Interrupciones. Sincronización y comunicación entre procesos. Planificación de los sistemas en tiempo-real: Planificación cíclica Planificación basada en prioridades Programación de sistemas en tiempo-real.

3 Sistemas en Tiempo-Real(1)
Tiempo Real - operación de procesamiento y manejo de datos automatizado, que tiene en cuenta las limitaciones de tiempo de la respuesta del sistema. Sistemas en tiempo-real (RTS) es un sistema que trabaja en tiempo real. RTS, así como sus tiempos, se clasifican por la consecuencias del plazo de tiempo. Duro – Fuera del plazo de tiempo y proboca un fallo total del sistema. Firme – Los poco frecuentes fallos en los plazos de tiempo son tolerables, pero pueden degradar la calidad del servicio del sistema. Despues del plazo de tiempo límite el resultado es cero. Blando – La calidad del resultado se degrada después del plazo de tiempo límite, degradando así la calidad del servicio del sistema. Por lo tanto, el objetivo de un sistema de tiempo real es asegurarse de que se cumplen todos los plazos, pero para los sistemas suaves en tiempo real la meta se convierte en el cumplimiento de un determinado subconjunto de los plazos con el fin de optimizar algunos criterios específicos de la aplicación. Los criterios particulares optimizados depende de la aplicación, pero algunos ejemplos típicos son la maximización del número de plazos cumplidos, lo que minimiza el retraso de las tareas y maximizar el número de tareas de alta prioridad que cumplan sus plazos..

4 Sistemas en Tiempo-Real (2)
Generalmente RTS se define como un sistema que da la respuesta correcta en un plazo determinado de tiempo. Si se excede, entonces esto llevaría a un deterioro del sistema y / o resultados erróneos. El tiempo de respuesta depende del sistema global. Para la gestión de un misil debería ser ms, mientras que en la línea de montaje de automóviles es segundo.. Una estrategia en tiempo real tiene un número de características que pueden ser inherentes o impuesta y que distinguirlos de otros tipos de sistemas (no todos RTS tiene las mismas características). Las principales características son: Interacción con el medio ambiente a través de sensores para recopilar datos sobre el medio ambiente y actuadores para cambiar el estado del sistema controlado. Debe procesar información en un plazo de tiempo limitado, por lo que el sistema de control puede ser predecible .. Los resultados obtenidos con un retraso puede conducir a graves consecuencias, incluso si fueran verdad. Esto es diferente de los sistemas interactivos, en los que puede haber plazos para la conveniencia del usuario, pero su fracaso no es crıtico. No todos los componentes de una estrategia en tiempo real tienen limitaciones de tiempo.

5 Sistemas en Tiempo-Real (3)
RTS a menudo toman medidas contra el ambiente controlado que dependen del flujo de datos de E / S y no sólo a partir de los datos de entrada en el tiempo (sistemas reactivos). Unos ejemplos típicos de estrategia en tiempo real son : Sistemas químicos de control automatizado o reactor nuclear; Sistema de control de abordo de una nave espacial; Sistema automatizado para la investigación en física nuclear; Sistema de procesamiento de flujos de audio y vídeo para su traducción directa en el aire; Juegos interactivos de ordenador etc.

6 Sistemas en tiempo-real en Industria.
Las características típicas de la estrategia en tiempo real en los sistemas industriales es el uso de soluciones de software, hardware y algoritmos especializados: Ordenadores industriales y controladores, PLC, Microcontroladores y más con una arquitectura adecuada; Los sistemas operativos de tiempo real (RTOS); SCADA-packs y entornos de software como LabVIEW; ​​Lenguajes para el tiempo-real con capacidades multitarea como Modula-2, Ada, Java y otros; Herramientas de hardware con características temporales adecuadas (multiplexores, DAC, ADC, etc); DBMS Industrial; Buses industriales, interfaces y protocolos para la construcción de sistemas de computación distribuida (RS-485, RS-422, RS-232, Modbus, Profibus, CAN Bus, bus VME, VXI, PXI, LXI, IndustrialEthernet, IEEE-488 y otros.) Algoritmos especiales. Los métodos de diseño. Existen varios métodos para ayudar al diseño de sistemas de tiempo real, un ejemplo de los cuales es MASCOT, un método antiguo, pero muy exitoso, lo que representa la estructura concurrente del sistema. Otros ejemplos son HOOD, Real-Time UML, AAVD el perfil Ravenscar, y Real-Time Java. (Ver más detalles en: time_computing))

7 Procesamiento de Interrupciones (1)
Una Importante estrategia para la programación de RTS es la gestión de interrupciones. Una interrupción se produce cuando hay un estímulo externo para el cual se requiere que el sistema responda en un plazo determinado. A menudo hay muchos incentivos (interrupciones), por lo que deben ser priorizadas para que la tarea de mayor prioridad debe ser ejecutado dentro de un plazo determinado y de cualquier otro evento. Los procesos interrumpidos también incluyen el almacenamiento de información para que los ordenadores puedan restaurar correctamente la tarea interrumpida, y evitar los bloqueos internos y los ciclos interminables. La interrupción puede ser generada por el software o hardware. El estado del programa interrumpido se guarda y se pasa el control al programa para el procesamiento de la interrupción. Después del procesamiento, el estado del programa se restaura y continúa con el flujo normal de procesamiento.

8 Procesamiento de Interrupciones(2)
El mantenimiento de una interrupción puede a su vez ser interrumpido por otro evento de mayor prioridad. En este caso, los niveles de prioridad están configurados como en la (Fig. 1). Para atender las interrupciones y para cumplir con las limitaciones de tiempo del sistema, muchos de los sistemas en tiempo real, realizan cálculos dinámicos para determinar si pueden cumplir con los objetivos del sistema. Estos cálculos dinámicos se basan en: la frecuencia media de aparición de acontecimientos, el tiempo necesario para procesar los acontecimientos (si pueden ser procesados​​) y los procedimientos que pueden interrumpir o suspender su servicio. Un modelo simple que ilustra el concepto de estímulo en RTS se puede encontrar en [2].

9 Interruptions with priority
En los sistemas informáticos no se utilizan a menudo controladores especiales para el mantenimiento de las interrupciones cuando se establece la prioridad necesaria. Las interrupciones pueden tener diversos niveles. Parámetros principales: la profundidad, la prioridad y la saturación (Figura 1). Fig.1 interrupciones con profundidad 1 y profundidad 3 con prioridades.

10 Sincronización y Comunicación entre procesos(1)
Un sistema de multi-tarea debe tener un mecanismo por el cual las diferentes tareas pueden intercambiar información entre sí y este mecanismo asegura la sincronización. Por estas características, el sistema operativo y los lenguajes de programación de RTS a menudo utilizan semáforos con una cola, los buzones o los sistemas de mensajería. Los semáforos proporcionan sincronización y señalización, pero no contienen la información. Los mensajes son similares a los semáforos, excepto que contienen información relevante. En los buzones no se señalan la información, pero ellos la contienen.

11 Sincronización y Comunicación entre procesos(2)
Los semáforos con una cola es un software primitivo que ayuda a gestionar el tráfico. Proporcionan una manera de gestionar colas diferentes, por ejemplo, colas de tareas esperando por, los recursos, el acceso a una base de datos o de los mecanismos y las colas de los recursos y mecanismos. Los semáforos coordinan (sincronizan) tareas de espera, garantizando al mismo tiempo que las tareas y los recursos no interfieran uno con el otro. En RTS los semáforos son de uso frecuente para la implementación y administración de buzones. En los buzones se almacenan temporalmente las memorias intermedias para el envío de mensajes desde un proceso a otro. Un proceso produce alguna información, lo pone en el buzón de correo y, a continuación indica el proceso de consumo, para detectar la presencia de la información en el buzón de correo con el fin de usarla.

12 Sincronizacion y comunicación entre procesos(3)
La tercera forma de comunicación y sincronización entre procesos es el sistema de mensajería (ver Message Passing Interface). En el sistema de mensajería un proceso envía un mensaje a otro proceso. El último mensaje recibido se activa automáticamente por el sistema de apoyo para el tiempo de ejecución o por el sistema operativo para el procesamiento. Dicho sistema provoca la sobrecarga debida a la transferencia real de la información, pero proporciona una mayor flexibilidad y facilidad de uso. En lugar de sincronización dinámica de tareas (por semáforos), Algunos se enfocan en RTS sobre la sincronización estática de tareas. Esto significa que se analiza el flujo total de proceso y, si es principalmente cíclico con varios casos de sincronización de la sincronización de las tareas puede ser guiado con un ciclo ejecutivo de tiempo real, en el que los algoritmos para el modelo de procesamiento nos dicen el comportamiento cíclico del sistema.

13 Planificación de Sistemas en Tiempo-Real(1)
Dependiendo de cómo implementemos el método, los proceso se clasifican como: Procesos periódicos. Se activan repetidamente a ciertos intervalos de tiempo. Sus características temporales son: (a) Período de activación o tiempo entre dos activaciones sucesivas, (b) el tiempo de ejecución o tiempo máximo de respuesta (tiempo máximo entre la activación adecuada y terminación), (​​c) el tiempo de cálculo (tiempo máximo para el cálculo de cada activación ). La desigualdad siguiente debe ser clara de 0 ≤ c ≤ b ≤ a. Procesos aperiódicos. Se activan en función del caso y tienen requisitos de tiempo crítico. Las características temporales de estos procesos son los siguientes: (a') separación mínima (tiempo mínimo entre dos activaciones consecutivas), (​​b') Plazo de ejecución o tiempo máximo de respuesta (tiempo máximo entre la activación adecuada y terminación), (​​c '), el tiempo de cálculo (tiempo máximo de cálculo para cada activación). La desigualdad siguiente debe ser clara de 0 ≤ c '≤ b' ≤ a '. Si los requisitos de tiempo no son críticos a continuación, se les llama procesos esporádicos.

14 Planificación de Sistemas en Tiempo-Real(2)
Procesos de segunda categoría (secundaria). Ellos no tienen requisitos de tiempo y se ejecutan cuando no hay procesos en ejecución en tiempo real, y no hay procesos esperando en línea. Planificación significa como distribuir los recursos del sistema (incluyendo la CPU) para los diferentes procesos en la demanda. El problema general de encontrar un plan aceptable para un conjunto de procesos es complejo, pero se puede simplificar si tenemos en cuenta sólo la planificación del tiempo de procesamiento y suponemos que otros recursos están disponibles cuando sea necesario por los procesos. La planificación de sistemas de tiempo real ha tenido un avance significativo en los últimos años debido a la estática (off-line) y la planificación dinámica (on-line).

15 А) Planificación Cíclica(1)
Uno de los métodos más utilizados en la planificación estática es la planificación cíclica que permite la ejecución de un conjunto de procesos iterativos con un solo procesador. Por lo tanto, además de un conjunto de procesos y sus requisitos de tiempo, debe establecerse un plan maestro, el cual determina la secuencia de los procesos que se deben realizar en un período determinado de tiempo (ciclo principal) que se repite cíclicamente. El ciclo principal se divide en ciclos secundarios, que describen una serie de procesos que se deben cumplir para un determinado período de tiempo (ciclo secundario) y cada uno de ellos a su vez se subdivide en tramos dentro de los cuales sólo un proceso se ejecuta a partir de la serie de la respectiva segundo ciclo. Cuando se completa un ciclo secundario y el siguiente se inicia, están sincronizado con el reloj del ciclo secundario. Cuando el procesador es libre procesos secundarios importantes se llevan a cabo, que dan cuenta de las actividades que no son críticas.

16 А) Planificación Cíclica(2)
Un planificador ejecuta procesos cíclico bajo el plan de ejecución presentado en las tablas, que se compone de un conjunto de procesos y los requisitos de tiempo antes de iniciar el sistema. Figura 2a muestra un conjunto de procesos {P1, P2, P3, P4} y sus requisitos de tiempo (ai, bi, ci), donde ai es el periodo de activación, bi - el período de ejecución, ci - tiempo para los cálculos y la Figura 2b indica la importancia de estos parámetros. En la Figura 2c hay un plan para implementar el ejemplo en la figura 2a.

17 А) Planificación Cíclica(3)
Una de las condiciones para la planificación de un conjunto de procesos periódicos {P1, P2, ..., Pn} con requisitos de tiempo (ai, bi, ci), es que el uso de procesador u es menor que o igual a 1 : Para desarrollar el plan de ejecución que necesitamos para calcular la longitud del ciclo principal M y la duración de los ciclos secundario mi. La longitud del ciclo principal M se corresponde con el mínimo común múltiplo de los períodos de procesos, M = m * c * m * (ai). Por ejemplo en la figura 2a el resultado es M = 24. Para calcular la longitud de los ciclos secundarios i por conveniencia se consideran como equivalente a un determinado valor de m, que debe cumplir con las siguientes condiciones (si no hay ningún valor de m que las cumple, entonces el conjunto de procesos no permite la planificación cíclica ) (ver siguiente diapositiva):

18 А) Planificación Cíclica(4)

19 Método adiconal para la explicación de los simbolos utilizados.
Principales indicaciones: ∧, (ε)- elemento vacío; {}, ∅ - conjunto vacío; {∧} – conjunto no vacío, que contiene el elemento vacío; {0,1} – multitud de elementos 0, 1; “∩”, “,” – lógica “and”; “∪”, “;” – lógica “or”;  - pertenece a...; ∉ - no pertenece a...;  - cuantificador (∀х “para todo х”); - cuantificador de existencia (∃у “salida de almenos una у”)

20 А) Planificación Cíclica(5)
Para m = 3 obtenemos ncs = 8 y m = 4 ncs = 6. A medida que la complejidad aumenta con el número de los ciclos secundarios, elegimos m = 4, lo que nos da seis ciclos secundarios de cada ciclo principal (si elige m = 3, entonces usted tendrá 8 ciclos secundarios para cada ciclo principal). Además, encontramos que el número de actuaciones de cada proceso en el ciclo principal es ne1 = 4 para el proceso P1, ne2 = 3 para el proceso P2, ne3 = 3 para el proceso P3 y NE4 = 2 para el proceso P4. Para incluir la ejecución Pik del proceso Pi en un ciclo mj secundario, las siguientes condiciones deben cumplirse : 1. El procesos Pim puede ser incluido en los ciclos secundarios que se inician al mismo tiempo o después del tiempo de de la k-th y la activación final antes o al mismo tiempo de la k-th plazo de respuesta. Es decir la ejecución de k-th ,  k Î [1, ..., nei], del proceso PI se puede incluir en el j-th del ciclo secundario j,  j Î [1, ..., ncs], de modo que : ai (k-1) £ m (j-1) £ ai (k-1) + bi - m

21 А) Planificación Cíclica(6)
Cualquier ciclo secundario mj , que lleva a cabo la condición anterior debe estar asociado a una de las fases en la preparación del plan de ejecución de una sucesión s (mj) la realización ny de los procesos {Pfl, ..., Prs}. Para permitir la aplicación del Pik para ser incluido en s (mj), a fin de asegurar las limitaciones de tiempo, el ciclo mj secundario también debe cumplir la condición anterior y la siguiente condición (que debe permanecer el tiempo libre en el ciclo secundario de modo que los procesos se puede completar):

22 Algoritmo Heurístico(1)
A partir del nodo Pi, j (nodo j en el nivel i) elegimos como descendiente del nodo único del proceso Pk. El criterio para añadir el proceso puede ser: a) el tiempo más corto, b) un período más corto, o c) más tiempo para los cálculos. Definición de los ciclos y tramos dentro de los cuales se activa el proceso. Para seleccionar el ciclo secundario, donde se puede incluir una ejecución de un proceso de un solo of_ los siguientes criterios que pueden ser utilizados : a) añadiendo el proceso para el primer ciclo secundario que permite la ejecución de sus requisitos de tiempo, b) añadiendo el proceso en el del ciclo secundario en el que hay menos tiempo libre para el cálculo y este ciclo garantiza sus requisitos de tiempo, o c) añadiendo el proceso en el último ciclo secundario, que permite la ejecución de sus requisitos de tiempo.

23 Algoritmo Heurístico(2)

24 Algoritmo Heurístico(3)

25 Algoritmo Heurístico(4)

26 Algoritmo Heurístico(5)

27 Heuristic algorithm(6)

28 Heuristic algorithm(7)
Figura 4-a) muestra un conjunto de procesos y los requisitos de tiempo. Al reducir el período de P1 y P2 que recibimos a la suma de los procesos de armónicos en la Figura 4- b), donde los valores indicados cumplen las condiciones para la planificación. El principal es igual a la más grande de los períodos de M = 20, y el secundario es igual a la más pequeña de períodos. En este caso se muestra el plan resultante en la Figura 1.3-c) que se puede llegar fácilmente. El método del plan cíclico contiene sólo los procesos periódicos. Si hay procesos aperiódicos, éstos deben ser tratados por las peticiones a los servidores que son procesos periódicos. Un proceso aperiódica caracterizado por (a ', b', c '), donde a' es la distancia mínima, b 'es un Período de ejecución y c' tiempo de cálculo debe ser tratada como un proceso periódico, que se caracteriza por (a, b, c) de modo que se ejecuta de acuerdo a la los siguientes c’  b  b’, c = c’ y a  b’ ‐ b + 1. Así que para el proceso de aperiódico, caracterizado por un a'= 6, b' = 6 and c '= 1 se obtiene como requisitos de tiempo para consultas al servidor (1,1,1), (2,2,1), (3 , 3,1), (4,3,1), (5,2,1) and (6,1,1). La consulta al servidor se activa cada vez que se realiza una actividad que corresponde a un proceso aperiódico y si no se produjo el evento todo se suspende hasta la siguiente activación.

29 Análisis del método de planificación cíclica estática (1)
Los métodos para ciclo de planificación estática basada en la planificación cíclica, se utilizan a menudo en sistemas de tiempo real crítico. Las principales ventajas de los métodos para la planificación estática son que el método es determinista y previsible, no hay peligro de sobrecarga debido a la evolución del contexto y en general es previsible para la planificación estática. sistemas Furthermore, ningún esfuerzo adicional es una condición necesaria para poner en práctica la exclusión mutua y su ejecución es muy simple y la carga adicional para su ejecución es muy pequeña. La planificación se limita a los cambios de activación de los procesos de acuerdo con un plan predeterminado para la aplicación. Esto permite que todos los procesos que compartan en el mismo espacio.

30 Análisis del método de planificación cíclica estática(2)
En cuanto a las desventajas se puede mencionar las siguientes: el diseño de planes es mucho tiempo consumido, y se vuelve más lento con el menor número de períodos de procesos armonizados; no son fáciles de mantener, ya que sólo un cambio en el conjunto de procesos o dentro de límites de tiempo requiere un plan conjunto para hacerse de nuevo, hay grupos de procesos que no permiten una planificación cíclica. Para remediar este inconveniente, el código se puede dividir en procesos separados con el fin de hacer que sea más fácil la planificación.

31 Análisis del método de planificación cíclica estática(2)
En sistemas paralelos los métodos basados ​​en las prioridades de planificación, son ampliamente utilizados. Las prioridad de un proceso indica la urgencia relativa de su ejecución. La planificación basada en prioridades, elige entre la lista para implementar los procesos de una, que es la prioridad más alta (más urgentes). La priorización de los procesos puede ser estática (no cambia con el tiempo) o dinámica (puede cambiar con el tiempo). Furthermore la planificación basada en prioridades pueden ser clasificados como la expulsión (expulsión del proceso actual cuando otro proceso con una prioridad más alta está lista para su ejecución) y la no expulsión (antes de ejecutar un proceso de mayor prioridad de espera para el proceso actual se acabe o para ser bloqueado). los métodos basados ​​en las prioridades de planificación, son fácil de implementar, pero la incertidumbre inherente del sistema de procesos que compiten y métodos convencionales para determinar las prioridades (en función de la importancia y criticidad del proceso o para aumentar la utilización de recursos) no garantizan la implementación del tiempo límite el conjunto de procesos en tiempo real. Por lo tanto, el problema básico de los métodos de planificación basada en prioridades es establecer las prioridades de los procesos de manera que se cumplan los requisitos de tiempo.

32 Programación de sistemas en Tiempo-Real (1)
La mayoría de los sistemas de tiempo real contienen partes que pueden no necesariamente ser ejecutados en tiempo real y otros que debe ser ejecutado en tiempo real. Entre aquellos a ejecutar en tiempo real o de ejecución en tiempo real, se pueden distinguir dos tipos : Tipo 1. El tiempo medio debe estar por debajo de un cierto tiempo máximo. Tipo 2. Los cálculos deben ser completados en un tiempo máximo. La dificultad del aumento de programación con el aumento de las limitaciones de tiempo. Dependiendo de cómo se debe llevar a cabo las distintas acciones del programa, la programación se pueden clasificar en: Programación consecutiva. Este es el tipo clásico de programación en el que diferentes acciones para la ejecución están dispuestas consecutivamente. El comportamiento del programa depende sólo de los efectos de las acciones individuales y su orden, no importa el tiempo que se necesita para llevar a cabo las acciones específicas.

33 Programación de sistemas en Tiempo-Real(2)
Programación multitarea. Se diferencia de la programación consecutiva por el hecho de que diferentes acciones no tienen que ser ejecutadas necesariamente separadas en el tiempo, es posible tener ejecución paralela de algunas tareas. Sin embargo, las acciones consecutivas aún pueden ser útiles. Programación de tiempo real. Se diferencia de los dos anteriores porque además de que no es necesario que sean acciones separadas en el tiempo, su secuencia no está determinada por el sistema de programación, pero en cambio los acontecimientos ocurren en el medio ambiente. Un programa PB se puede dividir en múltiples tareas, pero la comunicación entre las tareas no debe esperar a una señal de sincronización. Por ejemplo, la señal de reloj, lo que indica que se debe ejecutar una acción prioritaria no puede esperar a una señal de sincronización. En suma, RTS el tiempo requerido para realizar una acción es esencial para el proceso de verificación. Esto hace que estos sistemas sean más difíciles de verificar. Una característica común de todos los programas en tiempo real es que deben trabajar de forma continua, de modo que la estructura natural es un ciclo infinito:

34 Programación de sistemas en Tiempo-Real(3)
El programa previo ControlTask debe estar sincronizado con el mundo exterior. La forma más sencilla de sincronizar es verificar si se ha producido algún evento externo. Este método se conoce como sondear y se puede hacer de dos maneras: Si es un evento que no ha sucedido, el sistema continúa con la implementación de otras medidas antes de comprobar de nuevo si este evento ocurrió. El programa sigue repitiendo la comprobación hasta que se produce el evento especificado La ventaja en las encuestas es que se puede considerar que el programa está realizando una sola tarea, lo que facilita la planificación y las desventajas: hay que asegurarse de que todas las tareas se pueden realizar en un plazo determinado. Este método se utiliza generalmente sólo para sistemas pequeños.

35 Programación de sistemas en Tiempo-Real(4)
A continuación se puede ver un programa en tiempo real demostrado que lleva a cabo estas tareas: -La monitorización del teclado para comprobar si se ha producido la entrada. -La ejecución de las acciones de control. -Actualización de la pantalla. En una forma de modo que puedan ser considerados como una sola tarea. Este programa proporciona los siguientes procedimientos: Teclado, control y visualización, que corresponden a las tareas encomendadas, cuando las condiciones apropiadas, Keyflag, Controlflag y Displayflag, se cumplen.

36 Programación de sistemas en Tiempo-Real(5)
Este programa tiene una limitación que es debido a que las funciones si el tiempo de procesamiento de la unidad de cálculo más largo es menor que el tiempo máximo permitido para el evento te. En el peor de los casos, todos los eventos están activos y cada módulo utiliza el tiempo máximo y la siguiente desigualdad deben ser satisfechos tkeymax TControl + + t pantalla <te Si el tiempo total es menos de del te, entonces se puede reducir mediante la comprobación de la Controlflag dos veces por ciclo de la primera verificación después de comprobar Keyflag y la otra verificación después de comprobar Displayflag. Así que ahora el peor de los casos es: tkeymax + TControl <te y tmuestra + TControl <te En los algoritmos de control que se requiere a menudo para determinar la manera de salir del proceso y realizar cálculos para la variable de control durante un período determinado - determinado de antemano. En este método, los intervalos en los que se calcula la variable de control no son fijos, ya que dependen de diferentes acciones.

37 Programación de sistemas en Tiempo-Real(6)
Si se requiere una actividad para ser sincronizado con un momento determinado, por ejemplo de modo que se produce cada cinco segundos, que puede ser utilizado para la medición de un reloj de tiempo real que registra los momentos para llevar a cabo una tarea específica. El siguiente programa proporciona esta de la siguiente manera: En el programa se ha descrito anteriormente, se supone que existe una Digin función (), que lee la señal lógica correspondiente procedente del dispositivo de interfaz, que en este caso es el reloj.

38 Programación de sistemas en Tiempo-Real(7)
Otro método de sincronización es a través de las interrupciones. En este caso, no es necesario llevar a cabo los controles de una señal especifica que el equipo puede realizar cálculos que pueden ser interrumpidos cuando una interrupción se produce durante la ejecución de la acción, por ejemplo, si usted tiene un reloj en el que las interrupciones se producen periódicamente en el procedimiento se lleva a cabo para actualizar la hora. En este caso, la función GetTime proporciona el tiempo a través de la actualización de la interrupción de la variable de programa. El programa comprueba Keyflag y Displayflag y devuelve al módulo de control, que tiene la siguiente forma: El método de una sola tarea con una señal de reloj ofrece una excelente solución para los problemas de control sencillos para tiempo real y se utiliza a menudo. Los sistemas se desarrollaron para muchas familias de microprocesadores utilizando cualquier lenguaje de programación común (C, Pascal, Basic, etc). que permiten el desarrollo de programas de este tipo y después a escribir código en ROM, con el fin de crear un controlador embebido.

39 Checklist Describa con sus propias palabras los momentos más importantes de : Sistemas en Tiempo-Real. Interrupciones en los sistemas de procesamiento en tiempo real; Sincronización y comunicación entre procesos Describir los requisitos más importantes para la planificación cíclica para sistemas de Tiempo-Real. Resolver el ejemplo dado en la definición del archivo de Tarea 1. (Ver archivo de instrucciones)

40 References s/real_time_monitoring_of_a_power_plant.aspx =‐e3XjhL4n9c


Descargar ppt "Curso: Industria y comunicaciones en Tiempo-Real"

Presentaciones similares


Anuncios Google