Controlador de procesos doblemente redundante.

Controlador (109) de procesos doblemente redundante que comprende:

un primer procesador

(102a);

una primera memoria (122a);

una primera instancia de un sistema operativo multitarea en tiempo real (RTOS);

una primera instancia de una aplicación de control de procesos almacenada en la primera memoria;

un segundo procesador (102b);

una segunda memoria (122b);

una segunda instancia del sistema operativo multitarea en tiempo real; y

una segunda instancia de la aplicación de control de procesos almacenada en la segunda memoria (122b), en el que, cuando es ejecutada por el primer procesador (102a) en un contexto proporcionado por la primera instancia del sistema operativo multitarea en tiempo real, la primera instancia de la aplicación de control de procesos:

escribe en la segunda memoria (122b) una primera información de sincronización usando una función de sincronización proporcionada por la primera instancia del sistema operativo multitarea en tiempo real,

lee de la primera memoria (122a) una segunda información de sincronización,

realiza una función de resincronización cuando la segunda información de sincronización no coincide con la primera información de sincronización después del transcurso de un intervalo predeterminado de tiempo de espera, y

llama a la función de sincronización proporcionada por la primera instancia del sistema operativo multitarea en tiempo real antes de invocar una función de eventos establecidos proporcionada por la primera instancia del sistema operativo multitarea en tiempo real, y

en el que, cuando es ejecutada por el segundo procesador (102b), la segunda instancia de la aplicación de control de procesos:

escribe en la primera memoria (122a) la segunda información de sincronización usando la función de sincronización proporcionada por la segunda instancia del sistema operativo multitarea en tiempo real, lee de la segunda memoria (122b) la primera información de sincronización, y

realiza la función de resincronización cuando la primera información de sincronización no coincide con la segunda información de sincronización después del transcurso de un intervalo predeterminado de tiempo de espera,

caracterizado porque la primera información de sincronización comprende uno de varios valores de estado que proporciona una indicación de qué instrucción de la aplicación de control de procesos ha ejecutado recientemente el primer procesador (102a), y

la segunda información de sincronización comprende uno de varios valores de estado que proporciona una indicación de qué instrucción de la aplicación de control de procesos ha ejecutado recientemente el segundo procesador (102b).

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E12155519.

Solicitante: INVENSYS SYSTEMS, INC.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: Intellectual Property Department Building 51 Bristol Park 33 Commercial Street Foxboro, MA 02035 ESTADOS UNIDOS DE AMERICA.

Inventor/es: GALE,ALAN A, KLING,ANDREW L, TIMPERLEY,MARK E, BASS,LAWRENCE T, LAVALLEE,JOHN J, CRANSHAW,GEORGE W, FOSKETT,ALAN M.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Detección de errores; Corrección de errores; Monitorización... > G06F11/16 (Detección o corrección de errores en un dato por redundancia en el hardware)
  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Detección de errores; Corrección de errores; Monitorización... > G06F11/20 (utilizando un enmascaramiento activo del defecto, p. ej. desconectando los elementos debilitados o insertando los elementos de recambio)
  • SECCION G — FISICA > CONTROL; REGULACION > SISTEMAS DE CONTROL O DE REGULACION EN GENERAL; ELEMENTOS... > Disposiciones de seguridad (G05B 7/00 tiene prioridad;... > G05B9/03 (con un bucle de canal múltiple, es decir, sistemas de control redundantes)
  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Detección de errores; Corrección de errores; Monitorización... > G06F11/10 (añadiendo cifras binarias o símbolos especiales a los datos expresados según un código, p. ej. control de paridad, exclusión de los 9 o de los 11)

PDF original: ES-2523129_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Controlador de procesos doblemente redundante Antecedentes

Los sistemas de control de procesos pueden ser ¡mplementados para que controlen automáticamente procesos industriales en función de una lógica y/o de reglas predefinidas. Los procesos industriales pueden ser realizados por motores, válvulas, calentadores, bombas y similares, a los que se puede denominar dispositivos de proceso o dispositivos en servicio, en plantas industriales, refinerías, plantas de procesamiento de alimentos y otras plantas. Los sistemas de control de procesos pueden monitorizar parámetros y/o propiedades de procesos en curso recibiendo salidas de sensores acoplados a los procesos, por ejemplo sensores de temperatura, sensores de presión, sensores de movimiento, sensores de peso, sensores de densidad, sensores de caudal y otros sensores. Dispositivos automatizados de control, por ejemplo controladores, pueden regular y controlar los dispositivos de proceso en función de los parámetros y las propiedades detectados en función de una lógica predefinida y/o de entradas de instrucciones procedentes, por ejemplo, de una interfaz hombre-máquina.

Las metodologías actuales para su uso en la redundancia de sistemas de control incluyen comúnmente triple redundancia modular (TMR) con votación en todas las interfaces y/o diversos procedimientos de cambio en caliente en los que un módulo activo controla todos los procesos y un módulo en espera está listo para tomar el releve en caso de cualquier fallo. Normalmente, los enfoques de TMR permiten que los tres tramos del controlador participen de un cambio votado a las estaciones extremas, teniendo todos los miembros un voto igual y una votación de 2 de 3 para resolver ligeras diferencias de sincronización. La TMR puede verificar votos en todos los puntos finales del sistema. Esto puede conllevar triplicar algunos componentes de soporte físico en el controlador, aumentando el coste y una votación individualizada en los puntos finales, lo que aumenta la complejidad de los puntos finales. Los procedimientos de cambio en caliente dependen de que el dispositivo activo realice una autodiagnosis de un fallo y se apague para permitir que el módulo en espera sea promovido al papel activo. Tales procedimientos de cambio en caliente pueden conllevar que se apliquen valores erróneos al proceso hasta que los diagnósticos detecten un módulo activo defectuoso, que el módulo activo defectuoso se apague y que el módulo en espera sea promovido al estado activo.

Otros sistemas actuales pueden utilizar un enfoque activo dual que no requiere la votación de los puntos finales. Por ejemplo, dos módulos de control pueden ejecutar la misma secuencia de operaciones y producir las mismas configuraciones y/o las mismas instrucciones de un proceso. Las configuraciones y/o las instrucciones producidas por los dos módulos de control pueden ser verificadas por soporte físico de comunicaciones para que estén de acuerdo antes de remitirlas a otros dispositivos, por ejemplo a dispositivos de procesos controlados. En una realización, este enfoque puede conllevar un soporte físico dedicado para la sincronización del estado, la sincronización de relojes y la comparación del contenido de los mensajes.

Los sistemas actuales, así como los descritos en el presente documento, pueden ser ¡mplementados en un procesador que forme parte de un ordenador. Como apreciará un experto en la técnica, los ordenadores y los sistemas de ordenadores pueden darse de formas, tamaños e instrumentos diferentes. A la vez, puede decirse que los ordenadores y/o los sistemas de ordenadores comprenden algunos elementos comunes y que tienen algunos elementos opcionales comunes. Por ejemplo, un sistema de ordenador puede comprender un procesador (al que se puede denominar unidad central de procesador o CPU) que está en comunicación con dispositivos de memoria que incluyen un almacenamiento secundario, memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), dispositivos de entrada/salida (E/S) y dispositivos de conectividad de red. El procesador puede ser implementado como uno o más chips de CPU.

Se entiende que programando y/o cargando instrucciones ejecutables en el sistema de ordenadores, cambian al menos una de la CPU, la RAM y la ROM, transformando el sistema de ordenadores en parte en una máquina o un aparato particular que tiene la funcionalidad novedosa enseñada por la presente divulgación. Es fundamental para las técnicas de ingeniería eléctrica y de ingeniería de soporte lógica que la funcionalidad que pueda ser implementada por la carga de soporte lógico ejecutable en un ordenador pueda convertirse en una implementación de soporte físico mediante reglas de diseño bien conocidas. Las decisiones de si implementar un concepto en soporte lógico o en soporte físico normalmente dependen de consideraciones de estabilidad del diseño y del número de unidades que hayan de producirse, no en ninguna cuestión implicada en traducir del dominio del soporte lógico al dominio del soporte físico. En general, puede preferirse que un diseño que esté aún sujeto a un cambio frecuente se implemente en soporte lógico, porque volver a poner en circulación una implementación de soporte físico es más caro que volver a poner en circulación un diseño de soporte lógico. En general, puede preferirse que un diseño que sea estable que se produzca en gran volumen se implemente en soporte físico, por ejemplo en un circuito integrado para aplicaciones específicas (ASIC), porque para grandes tiradas de producción la implementación de soporte físico puede ser menos cara que la implementación de soporte lógico. A menudo, un diseño puede ser desarrollado y probado en forma de soporte lógico y después ser transformado, mediante reglas de diseño bien conocidas, en una implementación equivalente de soporte físico en un circuito integrado para aplicaciones específicas que cablea físicamente las instrucciones del soporte lógico. De la misma manera que una máquina controlada por un nuevo

ASIC es una máquina o aparato particular, también un ordenador que haya sido programado y/o cargado con instrucciones ejecutables puede ser visto como una máquina o aparato particular.

El almacenamiento secundario comprende normalmente una o más unidades de disco o unidades de cinta y se usa para el almacenamiento no volátil de datos y como un dispositivo de almacenamiento de datos de desbordamiento si la RAM no es lo suficientemente grande para contener todos los datos de trabajo. El almacenamiento secundario puede usarse para almacenar programas que se cargan en la RAM cuando tales programas son seleccionados para su ejecución. La ROM se usa para almacenar Instrucciones y quizás datos que se leen durante la ejecución de programas. La ROM es un dispositivo de memoria no volátil que normalmente tiene una pequeña capacidad de memoria con respecto a la mayor capacidad de memoria del almacenamiento secundario. La RAM se usa para almacenar datos volátiles y quizás para almacenar Instrucciones. El acceso tanto a la ROM como a la RAM es normalmente más rápido que al almacenamiento secundario. En algunos contextos, el almacenamiento secundario, la RAM y/o la ROM pueden ser denominados medios de almacenamiento legibles por ordenador y/o medios no transitorios legibles por ordenador.

Los dispositivos de E/S pueden incluir impresoras, monitores de vídeo, pantallas de cristal líquido (LCD), pantallas táctiles, teclados, teclados numéricos, conmutadores, selectores, ratones, ratones de bola de mando, dispositivos de reconocimiento de voz, lectores de tarjetas, lectores de cinta de papel u otros dispositivos de entrada bien

conocidos.

Los dispositivos de conectividad de red pueden adoptar la forma de módems, baterías de módems, tarjetas Ethernet, tarjetas de interfaz... [Seguir leyendo]

 


Reivindicaciones:

1. Controlador (109) de procesos doblemente redundante que comprende:

un primer procesador (102a); una primera memoria (122a);

una primera instancia de un sistema operativo multitarea en tiempo real (RTOS);

una primera instancia de una aplicación de control de procesos almacenada en la primera memoria;

un segundo procesador (102b);

una segunda memoria (122b);

una segunda instancia del sistema operativo multitarea en tiempo real; y

una segunda instancia de la aplicación de control de procesos almacenada en la segunda memoria (122b), en el que, cuando es ejecutada por el primer procesador (102a) en un contexto proporcionado por la primera instancia del sistema operativo multitarea en tiempo real, la primera instancia de la aplicación de control de procesos:

escribe en la segunda memoria (122b) una primera información de sincronización usando una función de sincronización proporcionada por la primera instancia del sistema operativo multitarea en tiempo real,

lee de la primera memoria (122a) una segunda información de sincronización,

realiza una función de resincronización cuando la segunda información de sincronización no coincide con la primera información de sincronización después del transcurso de un intervalo predeterminado de tiempo de espera, y

llama a la función de sincronización proporcionada por la primera instancia del sistema operativo multitarea en tiempo real antes de invocar una función de eventos establecidos proporcionada por la primera instancia del sistema operativo multitarea en tiempo real, y

en el que, cuando es ejecutada por el segundo procesador (102b), la segunda instancia de la aplicación de control de procesos:

escribe en la primera memoria (122a) la segunda información de sincronización usando la función de sincronización proporcionada por la segunda instancia del sistema operativo multitarea en tiempo real, lee de la segunda memoria (122b) la primera información de sincronización, y

realiza la función de resincronización cuando la primera información de sincronización no coincide con la segunda información de sincronización después del transcurso de un intervalo predeterminado de tiempo de espera,

caracterizado porque la primera información de sincronización comprende uno de varios valores de estado que proporciona una indicación de qué instrucción de la aplicación de control de procesos ha ejecutado recientemente el primer procesador (102a), y

la segunda información de sincronización comprende uno de varios valores de estado que proporciona una indicación de qué instrucción de la aplicación de control de procesos ha ejecutado recientemente el segundo procesador (102b).

2. Controlador (109) de procesos doblemente redundante según la reivindicación 1, en el que la primera información de sincronización se escribe en la segunda memoria (122b) mediante una transmisión por Ethernet desde el primer procesador (102a) al segundo procesador (102b) y en el que la segunda información de sincronización se escribe en la primera memoria (122a) mediante una transmisión por Ethernet desde el segundo procesador al primer procesador.

3. Controlador (109) de procesos doblemente redundante según cualquiera de las reivindicaciones precedentes, en el que la aplicación de control de procesos comprende un secuenciador de estados, en el que la primera instancia de la aplicación de control de procesos ejecuta un primer secuenciador de estados que rastrea el estado de ejecución de la primera instancia de la aplicación de control de procesos, y en el que la segunda instancia de la aplicación de control de procesos ejecuta un segundo secuenciador de estados que rastrea el estado de ejecución de la segunda instancia de la aplicación de control de procesos.

4. Controlador (109) de procesos doblemente redundante según la reivindicación 3, en el que la primera instancia del secuenciador de estados determina la primera información de sincronización y en el que la segunda instancia del secuenciador de estados determina la segunda información de sincronización.

5. Controlador (109) de procesos doblemente redundante según cualquiera de las reivindicaciones precedentes, en el que la función de sincronización proporcionada por la primera instancia del sistema operativo multitarea en tiempo real promueve la sincronización en un ciclo de reloj generado por la primera instancia del sistema operativo multitarea en tiempo real.

6. Controlador (109) de procesos doblemente redundante según la reivindicación 5,

en el que, cuando es ejecutada por el primer procesador (102a) en un contexto proporcionado por la primera instancia del sistema operativo multitarea en tiempo real, la primera instancia de la aplicación de control de procesos escribe una primera información de sincronización que indica a la segunda memoria (122b) una sincronización de ciclo de reloj usando una función de sincronización proporcionada por la primera instancia del sistema operativo multitarea en tiempo real, y

en el que, cuando es ejecutada por el segundo procesador (102b), la segunda instancia de la aplicación de control de procesos ajusta el reloj en función de la primera información de sincronización almacenada en la segunda memoria.

7. Controlador (109) de procesos doblemente redundante según cualquiera de las reivindicaciones precedentes que, además, comprende un controlador (128a) de comunicaciones de control de enlace de datos de alto nivel (HDLC) acoplado al primer procesador (102a), en el que, además, la primera instancia del sistema operativo multitarea en tiempo real:

forma un primer mensaje que comprende una primera carga útil de datos y una primera comprobación de redundancia cíclica (CRC) y

transmite el primer mensaje al controlador de comunicaciones de control de enlace de datos de alto nivel, y

en el que el controlador (128a) de comunicaciones de control de enlace de datos de alto nivel está configurado para:

recibir el primer mensaje,

transmitir el primer mensaje a un dispositivo en servicio, recibir el primer mensaje transmitido,

calcular una segunda comprobación de redundancia cíclica en función de la recepción del primer mensaje transmitido, y

transmitir un mensaje de error al primer procesador (102a) cuando la segunda comprobación de redundancia cíclica es diferente de la primera comprobación de redundancia cíclica.

8. Controlador (109) de procesos doblemente redundante según cualquiera de las reivindicaciones precedentes en el que, cuando es ejecutada por el primer procesador (102a) en un contexto proporcionado por la primera instancia del sistema operativo multitarea en tiempo real, la primera instancia de la aplicación de control de

procesos:

escribe en la segunda memoria (122b) una segunda información de sincronización usando la función de sincronización proporcionada por el sistema operativo multitarea en tiempo real, lee de la primera memoria (122a) una tercera información de sincronización, y

realiza una función de resincronización cuando la tercera información de sincronización no coincide con la segunda información de sincronización después del transcurso de un intervalo predeterminado de tiempo de espera.

9. Controlador (109) de procesos doblemente redundante según la reivindicación 8, en el que se intercambian la segunda información de sincronización y la tercera información de sincronización para sincronizar el estado entre las instancias primera y segunda de la aplicación de control de procesos.

10. Controlador (109) de procesos doblemente redundante según la reivindicación 9, en el que la aplicación de control de procesos comprende un secuenciador de estados, en el que la primera instancia de la aplicación de control de procesos ejecuta un primer secuenciador de estados que rastrea el estado de ejecución de la primera instancia de la aplicación de control de procesos, y en el que la segunda instancia de la aplicación de control de procesos ejecuta un segundo secuenciador de estados que rastrea el estado de ejecución de la segunda instancia de la aplicación de control de procesos.

11. Controlador (109) de procesos doblemente redundante según cualquiera de las reivindicaciones precedentes, en el que la primera información de sincronización se escribe en la segunda memoria (122b) mediante una transmisión por Ethernet desde el primer procesador (102a) al segundo procesador (102b).