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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/408—Numerical 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24182—Redundancy
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24186—Redundant processors are synchronised
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24187—Redundant processors run identical programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2038—Error 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.
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)
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)
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 | 松下電器産業株式会社 | タスクスケジューリング装置、タスクスケジューリング方法、タスクスケジューリングプログラム、記録媒体、及び伝送媒体 |
-
2000
- 2000-11-14 US US10/130,117 patent/US7168075B1/en not_active Expired - Fee Related
- 2000-11-14 JP JP2001539086A patent/JP3754369B2/ja not_active Expired - Fee Related
- 2000-11-14 WO PCT/DE2000/004002 patent/WO2001037058A1/de active IP Right Grant
- 2000-11-14 CN CNB008182191A patent/CN1193281C/zh not_active Expired - Fee Related
- 2000-11-14 AT AT00989773T patent/ATE245287T1/de not_active IP Right Cessation
- 2000-11-14 ES ES00989773T patent/ES2203549T3/es not_active Expired - Lifetime
- 2000-11-14 EP EP00989773A patent/EP1238318B1/de not_active Expired - Lifetime
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) | ユニットの動作設定方法 |