ES2203549T3 - Aparato de automatizacion y procedimiento de actualizacion. - Google Patents

Aparato de automatizacion y procedimiento de actualizacion.

Info

Publication number
ES2203549T3
ES2203549T3 ES00989773T ES00989773T ES2203549T3 ES 2203549 T3 ES2203549 T3 ES 2203549T3 ES 00989773 T ES00989773 T ES 00989773T ES 00989773 T ES00989773 T ES 00989773T ES 2203549 T3 ES2203549 T3 ES 2203549T3
Authority
ES
Spain
Prior art keywords
task
update
memory
automation
automation device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00989773T
Other languages
English (en)
Inventor
Herbert Barthel
Jurgen Laforsch
Ralph Luber
Josef Ritzer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE19956271A external-priority patent/DE19956271A1/de
Application filed by Siemens AG filed Critical Siemens AG
Application granted granted Critical
Publication of ES2203549T3 publication Critical patent/ES2203549T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24182Redundancy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24186Redundant processors are synchronised
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24187Redundant processors run identical programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Hardware Redundancy (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Safety Devices In Control Systems (AREA)
  • Communication Control (AREA)

Abstract

Aparato de automatización (AG) para el control y/o supervisión de un proceso técnico (TP), - con una memoria (M) para la memorización de al menos un programa de usuario (Ti) con al menos una tarea (T1, T2) así como con datos relacionados con el proceso y con el programa de usuario, - donde en el caso de acoplamiento de un aparato de automatización (AG¿) redundante, se lleva a cabo una transferencia del contenido de la memoria (M) a una memoria (M¿) del aparato de automatización redundante (AG¿), caracterizado - porque a cada tarea (T1, T2) para la transferencia del contenido de una parte (M1, M2) de la memoria (M), a la que accede la tarea (T1, T2) respectiva, está asociada una tarea de actualización (T1A, T2A), y - porque se lleva a cabo una terminación de la tarea de actualización (T1A, T2A) cuando el tiempo de ejecución de la tarea (T1, T2) y de la tarea de actualización (T1A, T2A) excede un límite superior predeterminado o predeterminable del tiempo de ejecución (t1l, t2l).

Description

Aparato de automatización y procedimiento de actualización.
La invención se refiere a un aparato de automatización para el control y/o supervisión de un proceso técnico, con una memoria para la memorización de al menos un programa de usuario con al menos una tarea así como con datos relacionados con el proceso y con el programa de usuario, donde en el caso de acoplamiento de un aparato de automatización redundante, se lleva a cabo una transferencia del contenido de la memoria a una memoria del aparato de automatización redundante. Además, se refiere a un procedimiento para la actualización de un aparato de automatización redundante conectado para comunicación con un aparato de automatización de este tipo.
Un control programable en memoria (SPS) es una realización especial muy difundida de un aparato de automatización adecuado para el funcionamiento individual y, por lo tanto, para el funcionamiento no redundante. También se puede utilizar como aparato de automatización, por así decirlo, un ordenador de procesos o también, por así decirlo, un ordenador personal, que está completado, en comparación con un ordenador personal previsto para un simple empleo en oficina, con una fuente de alimentación especial, una pantalla especial, una memoria tamponada y/o una alimentación de corriente sin interrupción.
En principio, el aparato de automatización comprende, como cualquier "ordenador estándar", al menos un procesador para la ejecución de un programa de usuario depositado en una memoria. La particularidad del aparato de automatización en comparación con un ordenador estándar reside en que el aparato de automatización presenta medios para la conexión a un proceso a controlar y/o a supervisar, especialmente dispositivos de entrada / salida, como por ejemplo interfaces de entrada digital / analógica e interfaces de salida digital / analógica, respectivamente.
Un aparato de automatización, que es adecuado, en oposición al aparato de automatización previsto para el funcionamiento individual, para el funcionamiento redundante con al menos un aparato de automatización redundante -designado a continuación también como aparato de automatización de reserva- se diferencia de aquél al menos por un dispositivo para la conexión de comunicación con el aparato de automatización redundante asociado. Un dispositivo de este tipo es habitualmente un interfaz, por ejemplo un interfaz en serie / paralelo o un interfaz de bus, que posibilita el establecimiento de una conexión de comunicación con el aparato de automatización redundante asociado. Tales aparatos de automatización adecuados para el funcionamiento redundante se conocen, por ejemplo, a partir de los documentos EP 0 497 147, EP 0 636 956 o DE 196 24 302.
Se conoce por el documento EP 0 497 147 un aparato de automatización constituido de forma redundante por dos aparatos parciales. Cada uno de los aparatos parciales presenta una unidad central y una memoria así como un procesador de comunicación, estando conectados los dos procesadores de comunicación entre sí por medio de una línea de comunicación. Los dos aparatos parciales ejecutan programas de usuario idénticos y intercambian datos de sincronización a través de la línea de comunicación para garantizar un procesamiento sincronizado de los programas de usuario idénticos.
Se conoce igualmente a partir del documento EP 0 636 956 un sistema de automatización que presenta dos subsistemas, a saber, un sistema de automatización inicial y un sistema de automatización adicional, En el caso de fallo de uno de los subsistemas, el proceso técnico es conducido a través del subsistema restante, el sistema de automatización inicial. Después de la substitución del subsistema averiado, éste, es decir, el sistema de automatización adicional, debe acoplarse de nuevo al sistema de automatización adicional. A tal fin, tanto el sistema de automatización inicial como también el sistema de automatización adicional presentan un interfaz de comunicación, por medio del cual se pueden conectar los dos subsistemas para la comunicación. A través de esta conexión de comunicación se transfiere el contenido de la memoria del sistema de automatización inicial a la memoria del sistema de automatización adicional. Esta transferencia se lleva a cabo manteniendo el control del proceso técnico a través del sistema de automatización, llevan a cabo la transferencia o bien durante un estado no crítico de tiempo del sistema de automatización inicial o de manera sucesiva en las llamadas divisiones de tiempo.
La transferencia del contenido de la memoria des primer aparato / subsistema a la memoria del segundo aparato / subsistema redundante se designa también como "actualización". Así, por ejemplo, se conoce por el documento 196 24 302 un procedimiento para la actualización (procedimiento de actualización), con el que se transmite el estado actual de los datos del sistema de automatización inicial a un sistema de automatización adicional detenido temporalmente debido a trabajos de mantenimiento.
El procedimiento de actualización conocido está dividido en dos ciclos. En un primer ciclo se transmite el contenido de la memoria del sistema de automatización inicial a través de lecturas sucesivas desde la memoria del sistema de automatización inicial y escritura en la memoria del sistema de automatización adicional. La extensión de los datos leído e inscritos, respectivamente, en cada caso en una etapa está determinada por el periodo de tiempo necesario para este proceso y por la fase de latencia máxima tolerable, con relación al proceso a controlar, del sistema de automatización inicial. Después de un número determinado de tales procesos de escritura y de lectura se lleva a cabo una transferencia de una "existencia de datos básicos" del sistema de automatización inicial al sistema de automatización adicional. Sin embargo, durante este tipo los datos contenidos en la memoria del sistema de automatización inicial están sometidos a una modificación continua en virtud del control ininterrumpido del proceso técnico. Estos contenidos de la memoria modificados en el tiempo intermedio son transferidos en otro ciclo. A tal fin, durante la inscripción de datos nuevos y/o modificados en la memoria del sistema de automatización inicial, se inscriben los mismos datos junto con una información de posición también en una memoria intermedia y en el segundo ciclo se transmite el contenido de la memoria intermedia evaluando la información de posición a la memoria del sistema de automatización adicional.
La invención tiene el cometido de indicar un aparato de automatización adecuado para el funcionamiento redundante, con el que se posibilita una actualización de un aparato de automatización redundante o aparato de automatización de reserva de una manera especialmente eficiente y sin interferencia apreciable del control continuo del proceso técnico así como sin gasto de hardware adicional. Por otro lado, se indica un procedimiento especialmente adecuado para la actualización de un aparato de automatización redundante conectado con un aparato de automatización de este tipo.
Por lo que respecta al aparato de automatización, este cometido se soluciona, según la invención, a través de las características de la reivindicación 1. Las configuraciones ventajosas son objeto de las reivindicaciones dependientes relacionadas con ella.
Por lo que se refiere al procedimiento de actualización, el cometido mencionado se soluciona a través de las características de la reivindicación 4. Los desarrollos convenientes son objeto de las reivindicaciones dependientes relacionadas con ella.
Las ventajas conseguidas con la invención consisten especialmente en que, por una parte, para la actualización no debe interrumpirse el control y/o la supervisión del proceso técnico, y en que, por otra parte, también durante el control y/o supervisión continuados del proceso técnico se mantienen límites superiores del tiempo de reacción, es decir, periodos de tiempo, dentro de los cuales se reacciona a una modificación en el estado del proceso, siendo terminada una tarea de actualización, que requiere demasiado tiempo de ejecución junto con la tarea del programa de usuario asociada a aquélla. Tan pronto como la tarea de actualización ha terminado, se establece de nuevo, con respecto al control y/o supervisión del proceso técnico, la constelación que existía sin la necesidad de la actualización, de manera que se puede reaccionar de nuevo, de acuerdo con las posibilidades del programa de usuario, a modificaciones de estado del proceso técnico.
El programa de usuario del aparato de automatización, depositado en la memoria y ejecutado por un procesador, comprende al menos una llamada tarea, es decir, una unidad de ejecución del programa de usuario, cuya ejecución (secuencia, duración) es determinada por el llamado programador del sistema operativo. Adicionalmente al programa de usuario, en la memoria del aparato de automatización están memorizados también datos relacionados con el proceso y con el programa de usuario, por ejemplo estados del proceso y variables del programa de usuario.
En el caso de acoplamiento del aparato de automatización de reserva, por ejemplo después de la terminación de trabajos de mantenimiento en el aparato de automatización de reserva, está prevista una transferencia del contenido de la memoria del aparato de automatización a la memoria del aparato de automatización de reserva (actualización). En este caso, esta transferencia se lleva a cabo durante el funcionamiento del aparato de automatización, es decir, durante el control ininterrumpido del proceso técnico a través del aparato de automatización.
El procedimiento de actualización está dividido en dos ciclos. En un primer ciclo -de una manera similar al procedimiento de actualización conocido a partir del documento DE 196 24 302- se transmite el contenido de la memoria del aparato de automatización a través de lectura e inscripción sucesivas en la memoria del aparato de automatización de reserva. La extensión de los datos leídos e inscritos, respectivamente, en este caos en una etapa, es determinada por el periodo de tiempo necesario para este proceso y por la fase de latencia del aparato de automatización máxima tolerable con respecto al proceso a controlar. Después de un número determinado de tales procesos de escritura y lectura se lleva a cabo una transferencia de una "existencia de datos básicos" del aparato de automatización al aparato de automatización de reserva. Sin embargo, durante este tiempo, los datos contenidos en la memoria del aparato de automatización están sometidos a una modificación continua en virtud del control ininterrumpido del proceso técnico. Estos contenidos de la memoria modificados en el tiempo intermedio son transmitidos en otro ciclo de actualización.
Por lo demás, la actualización se realiza por medio de tareas de actualización especiales que están asociadas a cada tarea del programa de usuario para la transferencia del contenido de la parte de la memoria, a la que accede la tarea respectiva, pudiendo estar previsto también, en general, que una tarea de actualización esté asociada a varias tareas del programa de usuario. En este caso, la tarea de actualización respectiva es ejecutada a continuación de la ejecución de aquella tarea, a la que está asociada la tarea de actualización. La suma del tiempo de ejecución de la tarea y de la tarea de actualización asociada es necesariamente mayor que el tiempo de ejecución de la tarea propiamente dicha.
Para que se pueda realizar la actualización sin interferencia apreciable del control continuo del proceso técnico, como se conoce, la ejecución de una tarea de actualización puede retrasar en todo caso de una manera marginal el inicio de otras tareas del programa de usuario. Para garantizar esto, se determina la suma de los tiempos de ejecución de la tarea y de la tarea de actualización asociada y se registra como tiempo de ejecución sumado. Si el tiempo de ejecución registrado excede un límite superior predeterminado o predeterminable del tiempo de ejecución, se termina la ejecución de la tarea de actualización, terminando la tarea de actualización.
A continuación se explica en detalle un ejemplo de realización de la invención con la ayuda de los dibujos. En éstos:
La figura 1 muestra de forma esquemática un sistema de automatización con un aparato de automatización y un aparato de automatización redundante conectado para comunicación con él para la conducción de un proceso técnico.
Las figuras 2 a 5 muestran la curva del tiempo de diferentes tareas con diferentes prioridades respectivas de un programa de usuario.
La figura 6 muestra una representación esquemática de la transferencia del contenido de segmentos individuales de una memoria del aparato de automatización a una memoria correspondiente del aparato de automatización redundante, y
La figura 7 muestra una representación esquemática de la disposición de la memoria del aparato de automatización con secciones / segmentos característicos, a los que acceden determinadas tareas.
La figura 1 muestra un sistema de automatización AG, AG' y un proceso técnico TP a controlar y/o a supervisar por éste. El sistema de automatización AG, AG' comprende al menos un aparato de automatización AG y un aparato de automatización redundante o aparato de automatización de reserva AG'.
Tanto el aparato de automatización AG como también el aparato de automatización de reserva AG' están en condiciones de conducir el proceso técnico TP. La diferencia entre el aparato de automatización AG y el aparato de automatización de reserva AG' se puede considerar como simple diferencia verbal, que describe la funcionalidad respectiva del aparato AG, AG'. Así, por ejemplo, el aparato de automatización de reserva AG' de un primer proceso de actualización puede ser el aparato de automatización AG de otro proceso de actualización que se encuentra posteriormente en el tiempo.
Para transmitir instrucciones e instrucciones de control al proceso técnico TP, pero también para recibir señales y valores del proceso desde éste, está prevista una conexión de comunicación B entre los aparatos de automatización AG, AG' y el proceso técnico TP. Esta conexión de comunicación B se representa a modo de ejemplo en la figura 1 como conexión de bus B. La conexión de comunicación B con el proceso TP puede estar constituida también total o parcialmente en forma de un cableado convencional.
De la misma manera sólo por razones de simplificación gráfica, la conexión de comunicación B, que posibilita la conexión del proceso, representa también la conexión de comunicación entre el aparato de automatización AG y el aparato de automatización de reserva AG'. Habitualmente las conexiones de bus B usuales actualmente tienen tal capacidad de potencia que ponen a disposición una anchura de banda suficiente para desarrollar tanto la comunicación interna (aparato de automatización AG, aparato de automatización de reserva AG') como también la comunicación externa (aparato de automatización, aparato de automatización de reserva AG, AG, proceso técnico TP).No obstante, es igualmente posible desarrollar la comunicación interna a través de un bus separado -por ejemplo, por así decirlo, un bus de pared trasera-, para conseguir de esta manera, dado el caso, velocidades de transferencia de datos especialmente altas, de manera que se puede realizar la actualización, en general, de forma acelerada.
Por otro lado, cada aparato de automatización AG, AG' presenta una memoria M, M', que está prevista para la memorización de al menos un programa de usuario con al menos una tarea T1, T2 así como con datos relacionados con el proceso y con el programa de usuario.
A continuación se parte de que en las tareas T1, T2 del programa de usuario se trata de las llamadas tareas cíclicas T1, T2, que son realizadas en cada caso en un retículo de tiempo fijo, por ejemplo cada 300 ms. Una tarea cíclica T1, T2 solamente es llevada a cabo de forma regular cada 300 ms, cuando el tiempo de ejecución de la tarea T1, T2 propiamente dicha no es mayor que 300 ms y en el instante en el que debería iniciarse de nuevo esta tarea cíclica T1, T2, no se realiza ninguna tarea T1, T2.
El cumplimiento de la primera condición se realiza con la programación del programa de usuario, no estando previstas para una tarea T1, T2, que se ejecuta en un retículo de tiempo fijo de 300 ms, por ejemplo, cometidos, cuya ejecución requiera más de 300 ms de tiempo de ejecución.
El cumplimiento de la segunda condición se realiza sólo de forma indirecta en el transcurso de la programación, toda vez que -como ya se ha mencionado más arriba-. El programador asume esencialmente la gestión de la tarea. No obstante, la programación o el programa constituyen con la asignación bien concebida de las prioridades, que son para el programador una medida de la secuencia prioritaria en el caso de ejecución de tareas T1, T2 concurrentes, la base para que sea posible también en realidad una ejecución de la tarea T1, T2 respectiva en el retículo de tiempo pretendido.
A modo de ejemplo se describe aquí el caso en el que se asigna a una tarea de entrada intensiva de tiempo de ejecución una prioridad más alta que a una tarea de alarma cíclica importante y, por lo tanto, no es posible la llamada de la tarea de alarma en su retículo de tiempo. Aunque los instantes de la llamada de la tarea de alarma se consiguen siempre de nuevo, la tarea de alarma no es ejecutada, en virtud de su prioridad más reducida, hasta que ha sido ejecutada la tarea de entrada con prioridad más elevada.
La figura 2 muestra la curva de tiempo del procesamiento de un programa (de usuario) cíclico Ti con dos tareas T1, T2. Las tareas T1, T2 se desarrollan en un retículo de tiempo fijo, siendo ejecutada la tarea T1 cada 100 ms y la tarea T2 cada 225 ms. También el programa cíclico Ti se puede concebir como tarea, por ejemplo como tarea sin retículo de tiempo fijo. El ciclo del programa Ti se indica de forma gráfica a través de "reinicio" del programa Ti en el instante t + 275 ms.
Para asegurar que una tarea T1, T2, que está prevista para la ejecución en un retículo de tiempo fijo, es iniciada en realidad también en cada caso en los instantes de inicio predeterminados a través del retículo de tiempo, se pueden asignar prioridades a las tareas T1, T2, donde una prioridad más elevada de una tarea tiene como consecuencia un procesamiento preferido a través del procesador. La coordinación de las tareas se realiza a través del programador del sistema operativo.
Sin una asignación de prioridades, con respecto a la situación representada en la figura 2, una tarea Ti una vez iniciada sería ejecutada de forma permanente -pero al menos hasta que alcance su fin-. Otras tareas T1, T2 no llegarían a ejecutarse si no fuesen llamadas directamente por la tarea Ti ejecutada de forma permanente. Con una llamada directa de este tipo de una tarea T1, T2 desde otra tarea Ti ejecutada de forma permanente no se puede realizar, sin embargo, o sólo con dificultad un retículo de tiempo fijo para la ejecución de las tareas T1, T2, a no ser que la tarea Ti propiamente dicha disponga de toda la funcionalidad de un programador.
El programador contenido en el sistema operativo simplifica la coordinación durante la ejecución de tareas T1, T2, Ti. A tal fin, se da a conocer al programador cada tarea T1, T2, Ti y se definen para cada tarea T1, T2, Ti parámetros que establecen el tipo, duración y secuencia de su ejecución.
Para la situación representada en la figura 2, se establece para las tareas T1, T2, que se trata de tareas cíclicas T1, T2, debiendo ser llamada la tarea T1 cada 100 ms y la tarea T2 cada 225 ms. Adicionalmente se asigna a la tarea T12 una prioridad más elevada que a la tarea T2. Esto se representa de forma gráfica en la figura 2 a través de la posición sobre la ordenada. La tarea Ti es una tarea cíclica sin retículo de tiempo fijo. Se inicia de nuevo cada vez que alcanza su fin. La tarea Ti tiene la prioridad más baja.
Si se alcanza uno de los instantes en el que debe ejecutarse una de las tareas -por ejemplo t + 100 ms, t + 200 ms, t + 225 ms, t + 300 ms, t + 400 ms, t + 450 ms, ...- el programador interrumpe la ejecución de la tarea Ti y se ocupa de que sea ejecutada la tarea T1, T2 respectiva.
De acuerdo con el ejemplo seleccionado, en el instante t + 900 ms debería ejecutarse al mismo tiempo tanto la tarea T1 -retículo de tiempo 100 ms- como también la tarea T2 -retículo de tiempo 25 ms-. Esto no es posible, porque el procesador no puede ejecutar las instrucciones de la primera tarea T1 al mismo tiempo que las instrucciones de la segunda tarea T2. Puesto que se ha asignado a la tarea T1 una prioridad más elevada que a la tarea T2, se ejecuta en este instante y en instantes comparables en primer lugar la tarea T1 de prioridad más elevada e inmediatamente después la tarea T2. Solamente después de que ha terminado también la tarea T2, se conmuta de nuevo de retorno a la tarea Ti.
A partir de esta constelación se deduce claramente que también para el caso de que esté prevista una tarea T1, T2 para una ejecución en un retículo de tiempo fijo, no se puede asegurar en cada caso de una manera inherente al sistema su ejecución real en el retículo de tiempo previsto. Es tolerable un desplazamiento de los instantes de inicio de tareas T1, T2 individuales en ciertos límites.
La figura 3 ilustra de qué manera, es decir, en qué instantes son ejecutadas las tareas de actualización T1A, T2A. En este caso, se representan de nuevo las tareas T1, T2 según la figura 2. Adicionalmente se representa la tarea de actualización T1A asociada a la tarea T1 y la tarea de actualización T2A asociada a la tarea T2. Para simplificación, las tareas T1, T2, T1A, T2A deben presentar los mismos tiempos de ejecución, respectivamente, en cada instante de llamada representado. No obstante, los tiempos de ejecución de las tareas T1, T2, T1A, T2A pueden diferir también de un instante de llamada a otro.
La tarea de actualización T1A asociada a la tarea T1 tiene una prioridad más alta que la tarea T1 propiamente dicha. De esta manera, se garantiza que la tarea de actualización T1A es ejecutada lo más inmediatamente posible después de la ejecución de la tarea T1.
A partir de la figura 3 se deduce que para el fragmento seleccionado del radio de tiempo se da precisamente una constelación, en la que los tiempos de ejecución de las tareas T1, T2, T1A, T2A no interfieren en la ejecución de las tareas cíclicas T1, T2 en sus instantes de inicio respectivos -cada 100 ms o bien cada 225 ms-. El tiempo necesario para la ejecución de las tareas de actualización T1A, T2A es "a costa" de la tarea Ti. Esto se muestra claramente porque el instante para el reinicio de la tarea Ti está desplazado, en oposición a la figura 2, desde el instante t + 275 ms hasta el instante t + 525 ms. Esta prolongación de ciclos individuales del programa de usuario no está considerada como crítica, puesto que su tiempo de ciclo es constante de todos modos en los casos muy raros y difiere según el tiempo de ejecución que es necesario de todos modos para las tareas individuales T1, T2.
Solamente existe una situación crítica cuando la ejecución de una tarea de actualización T1A pone en duda el inicio de una tarea cíclica T2, que se ejecuta en un retículo de tiempo fijo, en su instante de inicio predeterminado. Una constelación de este tipo se representa en la figura 4.
El tiempo de ejecución de la tarea de actualización T1A en el instante t + 200 ms es en la figura 4 insignificantemente más largo que en la figura 3. De esta manera, la tarea de actualización T1A es ejecutada todavía en el instante t + 225 ms, es decir, en el instante, en el que debería iniciarse propiamente la tarea T2. Puesto que la tarea de actualización T1A tiene una prioridad más alta que la tarea T2, no se interrumpe la tarea de actualización T1A, aunque se alcance el instante de inicio de la tarea T2. La tarea T2 solamente es ejecutada cuando se ha concluido la ejecución de la tarea de actualización T1A. De esta manera ahora existe una constelación en la que la tarea T2 no puede ser ejecutada ya en el retículo de tiempo fijo previsto propiamente en virtud de la ejecución de la tarea de actualización T1A.
Como ya se ha mencionado, puesto que no se puede mantener exactamente un retículo de tiempo fijo, puede entrar una constelación también en ausencia de las tareas de actualización T1A, T2A. Por lo tanto, siempre son tolerables desviaciones insignificantes de los instantes de llamada de las tareas cíclicas T1, T2 y no son indicadas con frecuencia. No se puede determinar de antemano qué desviaciones de los instantes de llamada de las tareas cíclicas T1, t2 individuales son tolerables en el caso individual. En su lugar, en el desarrollo del programa para el control y/o supervisión del proceso técnico TP respectivo se puede determinar la magnitud de las desviaciones máximas tolerables según la secuencia de tiempo necesaria durante la llamada de las tareas individuales T1, T2 y especialmente con respecto a los requerimientos del proceso técnico TP a controlar y/o a supervisar.
Una desviación de un instante de llamada de una tarea cíclica en algunos 100 ms puede ser, en general, tolerable, en el caso de un proceso lento, que es controlado por un programa con pocas tareas en gran medida no críticas de tiempo, en cambio en el caso de un proceso rápido crítico de tiempo de ocasionan ya consecuencias desfavorables. Por lo tanto, se establecen los instantes máximos t1l, t2l, el límite superior para la suma del tiempo de ejecución de las tareas T1, T2 y las tareas de actualización T1A, T2A asociadas.
Desde el punto de vista de la técnica de programación, ésta no es otra tarea que la determinación de los instantes de llamada -del retículo de tiempo- de las tareas cíclicas T1, T2 o de sus prioridades, que deben adaptarse también esencialmente a la situación del proceso técnico TP respectivo y, por lo tanto, tampoco se pueden establecer de antemano. Por lo tanto, el tiempo de ejecución máximo t1l podría fijarse en el valor 50 ms. Este tiempo de ejecución máximo t1l no se alcanza en la constelación según la figura 4. De acuerdo con ello, no se interrumpiría la tarea de actualización T1A. Si no se interrumpe ninguna tarea de actualización T1A, T2A durante un proceso de actualización, se prosigue, en general, también el proceso de actualización.
En la figura 5 se representa una constelación, en la que el tiempo de ejecución de suma t1, es decir, la suma de los tiempos de ejecución de la tarea T1 así como de la tarea de actualización T1A, excedería el tiempo de ejecución máximo t1l establecido, por ejemplo de 50 ms. En esta constelación, se interrumpe la ejecución de la tarea de actualización T1A, terminando la tarea de actualización T1A.
La supervisión de los tiempos de ejecución máximos t1l, t2l se lleva a cabo, por ejemplo, a través de una tarea de supervisión prevista para ello con prioridad correspondientemente alta. Ésta se desarrolla en un retículo de tiempo tan estrecho que es posible una supervisión de los tiempos de ejecución de suma t1, t2 y un reconocimiento de que se han excedido los tiempos de ejecución máximos t1l, t2l.
A través de la terminación de la tarea de actualización T1A se garantiza que no se retrase en una medida inadmisible la ejecución de la tarea cíclica T2. Con la terminación de la tarea cíclica T1A, la tarea T2 "en espera" se convierte en la tarea ejecutable actualmente con la máxima prioridad. Por lo tanto, ésta es prevista por el programador inmediatamente para ejecución. Por lo tanto, también durante la actualización se pueden mantener y asegurar tiempos de reacción determinados, es decir, tiempos en los que se puede reaccionar a determinadas modificaciones en el proceso técnico TP, por ejemplo las modificaciones de un valor de medición que entra en un proceso de regulación.
Si se termina durante la segunda pasada -por lo tanto, durante la sección de la actualización, en la que se lleva a cabo la transferencia del contenido de la memoria por medio de las tareas de actualización T1A, T2A,- una tarea de actualización T1A, T2A en virtud de que se ha excedido el límite superior del tiempo de ejecución t1l, t2l, entonces se interrumpe, en general, la segunda pasada y se inicia de nuevo -dado el caso después de haber transcurrido un "tiempo de relajación" predeterminado o predeterminable.
La actualización solamente se considera, en general, que ha concluido con éxito cuando durante la segunda pasada han sido procesadas todas las tareas de actualización T1A, T2A sin que se haya excedido el límite superior del tiempo de ejecución t1l, t2l, es decir, que se terminan porque alcanzan el final de su programa y en una etapa siguiente se transfiere el contenido de un área especial de la memoria, a la que accede el programa de usuario durante la actualización.
A continuación se realiza la actualización del aparato de automatización de reserva AG', leyendo de forma sucesiva en primer lugar el contenido de la memoria M del aparato de automatización AG y a través de la inscripción en la memoria M' del aparato de automatización de reserva AG' es transmitido a éste. Esta primera pasada del proceso de actualización se representa en la figura 6.
Según la figura 6, se lee de forma sucesiva el contenido de la memoria M y se transmite a la memoria M' del aparato de automatización de reserva AG'. Esto se indica a través del fragmento de la memoria M marcado con líneas de trazos y enmarcado de forma continua. La transmisión se lleva a cabo a través de la conexión de comunicación B, prevista entre el aparato de automatización AG y el aparato de automatización de reserva AG', por ejemplo un bus. Esto se indica en la figura 6 a través de una flecha.
Con esta etapa se transmite una "existencia de datos básicos" al aparato de automatización de reserva AG'. Esta existencia de datos básicos comprende, por ejemplo, el programa de usuario que es ejecutado en el aparato de automatización AG así como la llamada reproducción periférica o reproducción del proceso técnico TP y, además, eventualmente ciertos datos no sometidos a modificación constante (por ejemplo, parámetros de funcionamiento, datos de recetas, etc.) del programa de usuario.
Puesto que durante la actualización -es decir, también durante la transmisión de la "existencia de datos básicos"- se mantiene inalterada la conducción del proceso técnico TP a través del aparato de automatización AG. Tienen lugar modificaciones continuas del contenido de la memoria M. Estas modificaciones en la memoria M están representadas en la figura 6 a través de las regiones cruzadas en la memoria M.
Durante la transferencia de la "existencia de datos básicos" se tienen en cuenta todas las modificaciones que se encuentran "delante" de la sección que es leída y transferida precisamente, puesto que la sección, en la que han aparecido estas modificaciones, es leída y transferida completamente precisamente como todas las secciones anteriores. En la figura 6 se trata de una región, que se encuentra delante de la región precisamente transferida. Las otras tres regiones representadas en la figura 6 no pudieron ser tenidas en cuenta durante la transmisión de la existencia de datos básicos, puesto que solamente se activaron las modificaciones después de que han sido transmitidos los contenidos de las secciones respectivas. Una repetición múltiple de la transferencia de la existencia de datos básicos de la manera descrita no aporta aquí ningún resultado mejorado, puesto que las modificaciones en la memoria M se realizan de forma continua, pero no determinante.
Como pasada de actualización complementaria, que está en condiciones de tener en cuenta las modificaciones del contenido de la memoria a transferir M que se realizan durante la actualización, se inicia ahora una pasada con una tarea de actualización T1A, T2A asociada a cada tarea T1, T2 del programa de usuario.
Como se deduce a partir de la figura 7, una tarea T1, T2 no accede a toda la memoria M, sino solamente a un fragmento M1, M2 de la memoria M del aparato de automatización AG. El fragmento M1, M2, al que accede la tarea T1, T2 respectiva, es leído de manera sucesiva por la tarea de actualización T1A, T2A asociada en cada caso -de una manera comparable a la transferencia de la existencia de datos básicos en la primera pasada de actualización- (como se indica por medio de las regiones enmarcadas de forma diferente en la sección M1, M2 respectiva) y es transmitido a la memoria M' (no representada) del aparato de automatización de reserva AG'. En este caso, se utilizan informaciones de posición adicionales, que indican la posición de una región precisamente leída de un fragmento M1, M2 con respecto a la memoria M y con las que se garantiza que el contenido del área precisamente leída sea escrito también en la memoria M en direcciones correspondientes.
Aunque por medio de la tarea de actualización T1A, T2A se lleva a cabo, en principio, de forma sucesiva la transferencia del contenido de la parte de la memoria M1, M2, a la que accede la tarea T1, T2 respectiva, esta transferencia sucesiva se lleva a cabo dentro de una llamada de la tarea de actualización T1A, T2A. En el código del programa de la tarea de actualización T1A, T2A puede estar previsto también que la transferencia del contenido del fragmento de la memoria M1, M2 se realice totalmente con un proceso de lectura y un proceso de escritura.
Para que la tarea de actualización T1A, T2A esté en condiciones de transferir exclusivamente el contenido de la parte de la memoria M1, M2, a la que accede la tarea T1, T2 respectiva, se conocen dentro de la tarea de actualización T1A, T2A parámetros para la identificación del fragmento respectivo de la memoria M1, M2 -habitualmente como desviación o variable o también como dirección inicial y dirección final. Estos parámetros se pueden ocupar durante la programación con los valores respectivos.
Como una alternativa, también es concebible un procedimiento, en el que para cada tarea T1, T2, sus accesos a la memoria M son registrados en protocolos en una memoria de protocolos T1M, T2M y la tarea de actualización T1A, T2A transfiere aquella parte de la memoria M1, M2, que se puede reconocer como transferible con la ayuda del contenido de la memoria de protocolos T1M, T2M respectiva. Esto evita el requerimiento, dado el caso propenso a errores, de tener que fijar durante la programación los parámetros para el fragmento de la memoria M1, M2 a tener en cuenta y, además, tiene la ventaja de que la tarea de actualización T1A, T2A no tiene que transferir todo el contenido el fragmento de la memoria M1, M2, sino solamente aquella parte que ha sido modificada realmente.
Con la representación esquemática de la memoria de protocolos T1M, T2M en la figura 6 se ilustra que la memoria de protocolos T1M, T2M se encuentra fuera de la memoria M, cuyo contenido debe transferirse al aparato de automatización redundante AG', puesto que no es necesaria una transferencia del contenido de la memoria de protocolos T1M, T2M. La memoria de protocolos T1M, T2M será realizada como parte de la memoria M, de manera que la separación realizada en la figura 6 entre la memoria M y la memoria de protocolos T1M, T2M solamente sirve para aclaración. El área de la memoria M a transferir se indica entonces a través de una dirección inicial y una dirección final o una dirección inicial y un volumen de datos a transmitir a partir de esta dirección inicial. Los contenidos de la memoria no transferibles, como por ejemplo los contenidos de dichas memorias de protocolos T1M, T2M pueden estar entonces fuera del área prevista de esta manera.
Si durante la segunda pasada de actualización no se termina ninguna de las tareas de actualización T1A, T2A en virtud de que se ha excedido el límite superior de tiempo de ejecución t1l, t2l, se considera terminada con éxito la actualización -con la reserva de la transferencia a realizar del contenido del área especial de la memoria, a la que accede el programa de usuario durante la actualización-. El contenido de la memoria M' del aparato de automatización de reserva AG' corresponde al contenido de la memoria M del aparato de automatización AG.
A través de una señal del aparato de automatización AG al aparato de automatización de reserva AG' se puede indicar a éste que la actualización ha terminado con éxito. Cuando en el aparato de automatización de reserva AG' se inicia a continuación la copia del programa de usuario y el aparato de automatización AG' ejecuta, en virtud de la copia del programa de usuario, acciones idénticas que el aparato de automatización AG', se mantiene garantizada en adelante la identidad de los datos. De esta manera, el aparato de automatización de reserva AG' puede asumir inmediatamente la conducción del proceso técnico TP, por ejemplo en el caso de que sea necesaria una substitución del aparato de automatización AG.
La transferencia de los contenidos de los fragmentos respectivos de la memoria M1, M2 por medio de la tarea de actualización se revela conveniente porque una modificación de los contenidos de los fragmentos e la memoria solamente es posible durante el tiempo de ejecución de las tareas T1, T2 respectivas, pero no durante el tiempo de ejecución de las tareas de actualización T1A, T2A. Las tareas de actualización T1A, R2A pueden transferir, por lo tanto, siempre completos los contenidos de los fragmentos respectivos de la memoria M1, M2, de manera que al final de la tarea de actualización T1A, R2A está asegurado que se ha transmitido completamente el contenido del fragmento respectivo de la memoria M1, M2 sin que las modificaciones realizadas en el contenido de este fragmento de la memoria en el tiempo intermedio hagan necesaria una nueva transferencia.
A continuación se describe un caso especial, que se deduce a partir de las explicaciones realizadas anteriormente, especialmente con relación a la figura 3. Según la figura 3, -a partir del instante t + 0 ms- se llama y se realiza completamente dos veces la tarea de actualización T1A, antes de que sea llamada por primera vez la tarea de actualización T2A. Después de que se considera realizada (esencialmente) con éxito la actualización, cuando se han podido realizar completamente todas las tareas de actualización T1A, T2A, debe memorizarse el hecho de la ejecución completa de las tareas de actualización T1A, T2A respectivas. En la constelación según la figura 3 se ha colocado un "indicador" para la tarea de actualización T1A aproximadamente en el instante t + 125ms, que identifica la realización completa de la tarea de actualización T1A. En el instante t + 250 ms se ha colocado un indicador correspondiente para las tareas de actualización T2A. Por lo tanto, puesto que no están presentes otras tareas de actualización T1A, T2A, se considera que ha terminado con éxito la pasada de actualización. La segunda pasada de actualización ha terminado aproximadamente en el instante t + 250 ms. No es necesario un nuevo inicio de las tareas de actualización T1A, T2A, aunque esto se representa de manera correspondiente en las figuras 3, 4 y 5.
No obstante, se produce una constelación que requiere un tratamiento especial cuando antes de la terminación de la segunda pasada de actualización se inicia de nuevo una tarea de actualización T1A, T2A después de una pasada completa realizada con éxito. Una constelación de este tipo se representa en la figura 5. En el instante t + 125 ms se procesa la tarea de actualización T1A y se coloca un indicador correspondiente. En el instante t + 250 ms se termina la nueva tarea de actualización T1A llamada -porque no ha concluido todavía la segunda pasada de actualización-, puesto que se ha excedido el límite superior predeterminado del tiempo de ejecución t1l. En el instante t + 275 ms se coloca el indicador correspondiente para la tarea de actualización procesada en ese momento.
También aquí se habrían colocado ambos indicadores, a saber, para las tareas de actualización T1A desde su primera llamada y para las tareas de actualización T2A para su única llamada, y, por lo tanto, la pasada de actualización debería considerarse concluida con éxito. En cambio, en realidad se terminó la tarea de actualización T1A antes de que ésta pudiera transferir el contenido de todo el fragmento M1 de la memoria M, al que accede la tarea correspondiente. Por lo tanto, eventualmente no han sido transferidas todas las modificaciones contenidas en el fragmento de la memoria M1, de manera que la actualización no se puede considerar concluida en una constelación de este tipo.
No obstante, se puede conseguir fácilmente el tratamiento especial con éxito porque el indicador asociado a la tarea de actualización T1A, T2A respectiva es repuesto con cada nueva llamada a aquella tarea T1, T2, a la que está asociada la tarea de actualización T1A, T2A respectiva. Esto significa para la constelación descrita anteriormente que se coloca el indicador de la tarea de actualización T1A en el instante t + 125 ms y se repone en el instante t + 200 ms. Aunque ahora en el instante t + 275 ms se coloca el indicador de la tarea de actualización T2A, no se considera concluida la actualización, puesto que falta el indicador de la tarea de actualización T1A. En realidad, la actualización solamente se considera concluida en el instante t + 375 ms, es decir, en el instante más temprano, en el que está colocado de nuevo por primera vez el indicador de la tarea de actualización T1A, pero no está repuesto todavía de nuevo el indicador de la tarea de actualización T2A.
Para el caso de que, según la configuración ventajosa de la invención ya descrita anteriormente, se utilice la memoria de protocolos T1M, T2M, después de cada ejecución completa de una tarea de actualización T1A, T2A debe reponerse el contenido de la memoria respectiva de protocolos T1M, T2M o debe marcarse como no válida. Otro aspecto de la invención se ocupa de la situación, en la que una tarea especial, una tarea F prevista para tratamientos especiales de errores o bien de reacciones a errores no se puede llevar a cabo ya en el retículo de tiempo fijo previsto propiamente con baja prioridad debido a la suma de los tiempos de ejecución de las tareas de actualización T1A, T2A, puesto que en virtud de la baja prioridad de la tarea F, se ejecutan "con preferencia" tareas en curso T1, T2 con elevada prioridad y sus tareas de actualización T1A, T2A asociadas.
Para una constelación de este tipo, según este aspecto, está previsto que la tarea de actualización T1A, T2A de una tarea T1, T2 con prioridad más elevada, con preferencia la tarea de actualización T1A de aquella tarea T1 con la máxima prioridad coloque durante corto espacio de tiempo, antes de su ejecución propiamente dicha, la prioridad de la tarea F en un valor que tiene como consecuencia su ejecución inmediata -con un desplazamiento correspondiente de la tarea de actualización T1A-. De esta manera, se garantiza que también durante la actualización se mantenga previsible el comportamiento de reacción de la tarea F especial de baja prioridad, puesto que su llamada no es retrasada más que lo tolerable a través de la realización adicional de las tareas de actualización T1A, T2A.
De esta manera se prepara un aparato de automatización con un programa de usuario orientado a la tarea, cuyo contenido de la memoria se puede transmitir sin interrupción del funcionamiento a un aparato de automatización redundante. Después de una transferencia convencional de una existencia de datos básicos se lleva a cabo la transferencia de los datos modificados en el tiempo intermedio con la ayuda de tareas de actualización asociadas a las tareas individuales, transmitiendo las tareas de actualización solamente aquel fragmento del contenido de la memoria, al que accede la tarea respectiva.
AG, AG' Aparato de automatización
B Comunicación
M, M' Memoria
T1, 2 Tarea
T1A, T2A Tarea de actualización
Ti Programa (de usuario) / tarea

Claims (8)

1. Aparato de automatización (AG) para el control y/o supervisión de un proceso técnico (TP),
-
con una memoria (M) para la memorización de al menos un programa de usuario (Ti) con al menos una tarea (T1, T2) así como con datos relacionados con el proceso y con el programa de usuario,
-
donde en el caso de acoplamiento de un aparato de automatización (AG') redundante, se lleva a cabo una transferencia del contenido de la memoria (M) a una memoria (M') del aparato de automatización redundante (AG'),
caracterizado
-
porque a cada tarea (T1, T2) para la transferencia del contenido de una parte (M1, M2) de la memoria (M), a la que accede la tarea (T1, T2) respectiva, está asociada una tarea de actualización (T1A, T2A), y
-
porque se lleva a cabo una terminación de la tarea de actualización (T1A, T2A) cuando el tiempo de ejecución de la tarea (T1, T2) y de la tarea de actualización (T1A, T2A) excede un límite superior predeterminado o predeterminable del tiempo de ejecución (t1l, t2l).
2. Aparato de automatización según la reivindicación 1, en el que para cada tarea (T1, T2) se lleva a cabo un perfilado de los acceso respectivos a la memoria (M) en una memoria de protocolos (T1M, T2M), donde por medio de la tarea de actualización (T1A, T2A) se lleva a cabo la transferencia de aquella parte (M1, M2) de la memoria (M), que puede ser reconocida como transferible con la ayuda del contenido de la memoria de protocolos (T1M, T2M) respectiva.
3. Aparato de automatización según la reivindicación 1 ó 2, en el que se asigna a la tarea de actualización (T1A, T2A) una prioridad más alta que a aquella tarea (T1, T2), a la que está asociada la tarea de actualización (T1A, T2A) respectiva.
4. Procedimiento para la actualización de un aparato de automatización redundante (AG') conectado para comunicación con un aparato de automatización (AG) durante el control y/o supervisión de un proceso técnico (TP), donde cada aparato de automatización (AG, AG') presenta, respectivamente, una memoria (M, M'), estando memorizados en la memoria (M) del aparato de automatización (AG) al menos un programa de usuario (Ti) con al menos una tarea (T1, T2) así como datos relacionados con el proceso y con el programa de usuario, y siendo realizada en una primera pasada de actualización una transferencia sucesiva del contenido de la memoria (M) del aparato de automatización (AG) a la memoria (M') del aparato de automatización redundante (AG'), caracterizado porque en una segunda pasada de actualización se transfiere, por medio de una tarea de actualización ((T1A, T2A), asociada a la tarea (T1, T2) respectiva, el contenido de la parte (M1, M2) de la memoria (M), a la que accede la tarea (T1, T2), a la memoria (M') del aparato de actualización redundante (AG'), siendo terminada la tarea de actualización (T1A, T2A), cuando el tiempo de ejecución de la tarea (T1, T2) y de la tarea de actualización (T1A, T2A) excede un límite superior predeterminado o predeterminable del tiempo de ejecución (t1l, t2l).
5. Procedimiento según la reivindicación 4, caracterizado porque cada acceso de una tarea (T1, T2) a la memoria (M) está registrado en protocolo y la tarea de actualización (T1A, T2A) transfiere la parte (M1, M2) de la memoria (M) que puede ser reconocida como transferible con la ayuda del protocolo.
6. Procedimiento según la reivindicación 4 ó 5, caracterizado porque se asigna a la tarea de actualización (T1A, T2A) una prioridad más elevada que a la tarea (T1, T2), a la que está asociada la tarea de actualización (T1A, T2A) respectiva.
7. Procedimiento según una de las reivindicaciones 4 a 6, caracterizado porque la segunda pasada de actualización se inicia de nuevo cuando se ha terminado una tarea de actualización (T1A, T2A) en virtud de que se ha excedido el límite superior del tiempo de propagación (t1l, t2l).
8. Procedimiento según la reivindicación 7, caracterizado porque se inicia de nuevo la segunda pasada de actualización después de la expiración de un tiempo de relajación predeterminado o predeterminable.
ES00989773T 1999-11-15 2000-11-14 Aparato de automatizacion y procedimiento de actualizacion. Expired - Lifetime ES2203549T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE19955073 1999-11-15
DE19955073 1999-11-15
DE19956271 1999-11-23
DE19956271A DE19956271A1 (de) 1999-11-15 1999-11-23 Automatisierungsgerät und Aufdat-Verfahren

Publications (1)

Publication Number Publication Date
ES2203549T3 true ES2203549T3 (es) 2004-04-16

Family

ID=26055551

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00989773T Expired - Lifetime ES2203549T3 (es) 1999-11-15 2000-11-14 Aparato de automatizacion y procedimiento de actualizacion.

Country Status (7)

Country Link
US (1) US7168075B1 (es)
EP (1) EP1238318B1 (es)
JP (1) JP3754369B2 (es)
CN (1) CN1193281C (es)
AT (1) ATE245287T1 (es)
ES (1) ES2203549T3 (es)
WO (1) WO2001037058A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070151350A1 (en) * 2003-02-10 2007-07-05 Fisherj-Rosemount Systems, Inc. Measuring fluid volumes in a container using pressure
DE10320826A1 (de) * 2003-05-08 2004-12-02 Siemens Ag Verfahren zur Modernisierung einer technischen Anlage sowie dafür geeignete Antriebsvorrichtung
US7328370B2 (en) * 2003-09-12 2008-02-05 Rockwell Automation Technologies, Inc. Safety controller with simplified interface
US7706895B2 (en) 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
US7921425B2 (en) 2005-03-14 2011-04-05 Cisco Technology, Inc. Techniques for allocating computing resources to applications in an embedded system
US7233830B1 (en) 2005-05-31 2007-06-19 Rockwell Automation Technologies, Inc. Application and service management for industrial control devices
JP4116640B2 (ja) * 2005-10-28 2008-07-09 ファナック株式会社 多系統制御機能を有する数値制御装置
US7568198B2 (en) * 2006-01-10 2009-07-28 National Instruments Corporation Control of tasks in a programmable logic controller
US7565654B2 (en) * 2006-01-10 2009-07-21 National Instruments Corporation Programmatic control of tasks in a programmable logic controller
US8359112B2 (en) 2006-01-13 2013-01-22 Emerson Process Management Power & Water Solutions, Inc. Method for redundant controller synchronization for bump-less failover during normal and program mismatch conditions
EP1860514B1 (de) 2006-05-26 2009-12-23 Siemens Aktiengesellschaft Anordnung mit mindestens zwei über Kommunikationsmittel verbundenen Automatisierungsgeräten
EP1906277A1 (de) * 2006-09-29 2008-04-02 Siemens Aktiengesellschaft Verfahren zum Synchronisieren von zwei Steuereinrichtungen und redundant aufgebaute Automatisierungsvorrichtung
WO2009068055A1 (de) * 2007-11-28 2009-06-04 Siemens Aktiengesellschaft System und verfahren zur zustandssicherung
CN103127965B (zh) * 2013-03-19 2014-12-31 上海博迅实业有限公司 无污染生物安全柜控制系统
CN106062649A (zh) * 2014-03-14 2016-10-26 欧姆龙株式会社 控制装置及控制系统
US10162328B2 (en) * 2014-03-14 2018-12-25 Omron Corporation Controller and control system
EP3120202B1 (de) * 2014-04-22 2018-07-11 Siemens Aktiengesellschaft Update einer automatisierungsanlage im laufenden betrieb
CN113342376B (zh) * 2021-06-23 2022-08-30 支付宝(杭州)信息技术有限公司 一种针对物联网设备的操作系统进行升级的方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3942158A (en) * 1974-05-24 1976-03-02 Allen-Bradley Company Programmable logic controller
JPS5638542A (en) * 1979-09-05 1981-04-13 Hitachi Ltd Controlling method for engine
US4521871A (en) * 1982-04-12 1985-06-04 Allen-Bradley Company Programmable controller with back-up capability
US5168566A (en) * 1983-11-25 1992-12-01 Sharp Kabushiki Kaisha Multi-task control device for central processor task execution control provided as a peripheral device and capable of prioritizing and timesharing the tasks
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4958270A (en) * 1989-01-23 1990-09-18 Honeywell Inc. Method for control data base updating of a redundant processor in a process control system
EP0497147A3 (en) 1991-01-28 1993-05-05 Siemens Aktiengesellschaft Redundant automation system
US5313386A (en) * 1992-06-11 1994-05-17 Allen-Bradley Company, Inc. Programmable controller with backup capability
ES2134883T3 (es) 1993-07-28 1999-10-16 Siemens Ag Procedimiento de carga de datos.
JPH07129418A (ja) * 1993-11-08 1995-05-19 Fanuc Ltd マルチタスク環境でのプログラム制御方式
US5636124A (en) * 1995-03-08 1997-06-03 Allen-Bradley Company, Inc. Multitasking industrial controller
DE19624302A1 (de) 1996-06-18 1998-01-02 Siemens Ag Aufdatverfahren
US5933347A (en) * 1997-06-13 1999-08-03 Allen-Bradley Company Llc Industrial controller with program synchronized updating of back-up controller
US6560628B1 (en) * 1998-04-27 2003-05-06 Sony Corporation Apparatus, method, and recording medium for scheduling execution using time slot data
DE10065418A1 (de) * 2000-12-27 2002-07-18 Siemens Ag Integrationsverfahren für Automatisierungskomponenten
DE10144987A1 (de) * 2001-09-12 2003-07-24 Rexroth Indramat Gmbh Verfahren zur Steuerung und/oder Regelung von industriellen Prozessen
JP2007519060A (ja) * 2003-12-04 2007-07-12 松下電器産業株式会社 タスクスケジューリング装置、タスクスケジューリング方法、タスクスケジューリングプログラム、記録媒体、及び伝送媒体

Also Published As

Publication number Publication date
CN1420999A (zh) 2003-05-28
JP2003529819A (ja) 2003-10-07
ATE245287T1 (de) 2003-08-15
EP1238318A1 (de) 2002-09-11
CN1193281C (zh) 2005-03-16
WO2001037058A1 (de) 2001-05-25
EP1238318B1 (de) 2003-07-16
JP3754369B2 (ja) 2006-03-08
US7168075B1 (en) 2007-01-23

Similar Documents

Publication Publication Date Title
ES2203549T3 (es) Aparato de automatizacion y procedimiento de actualizacion.
EP0204960A2 (en) Multiple port integrated DMA and interrupt controller and arbitrator
JPH0450622B2 (es)
KR970001902B1 (ko) 프로그램 가능한 제어기
JPS6131485B2 (es)
JPS58197553A (ja) プログラム監視装置
JP3548780B2 (ja) プログラマブルコントローラ及びその制御方法
JPS63305445A (ja) 電源切断時のデ−タ書込み方式
JPS6226563A (ja) バス要求制御回路
JPH0498354A (ja) 情報処理装置
ES2203421T3 (es) Procedimiento para el acceso asegurado al menos a una variable en un sistema de procesador controlado en modo de multitarea preemptiva.
JP2639927B2 (ja) データ処理システムにおける制御装置の試験方法
JPS61233854A (ja) 診断制御方式
JPH11212904A (ja) データ転送システム
JPS62281008A (ja) シ−ケンス制御システム
JPS5943768B2 (ja) チヤネル装置の初期起動方式
JPH0462093B2 (es)
JPH08221106A (ja) プログラマブルコントローラ
JPH01175001A (ja) 記憶データの保護方式
JPH03100736A (ja) パトロール診断装置
JPS6048780B2 (ja) マルチタイマ装置
JPS6373443A (ja) スト−ル監視方式
JPH08255083A (ja) ソフトウェア・ダウンロード機能を備えるプロセッサ装置
JPS6116341A (ja) 診断制御装置
JPH02129748A (ja) ユニットの動作設定方法