Brevet FR2606908A1 — publié le 19880520

Procédé pour surveiller le fonctionnement et corriger les erreurs de calculateurs appartenant à un système à multiples calculateurs et système a multiples cal- culateurs mettant en oeuvre ce procédé ". L'invention concerne un procédé pour surveiller le fonctionnement et corriger les er- reurs de calculateurs appartenant à un système a multi- ples calculateurs en particulier des installations de securité de véhicules à moteurs par exemple de systemes anti-blocage, de sacs à gaz et de tendeurs de ceinture, les calculateurs étant reliés par des lignes de trans- mission de données et de commande et étant synchronisés. Les systèmes à multiples calcula- teurs sont nécessaires pour traiter rapidement en temps court des quantités importantes de donnees comme par exemple pour la surveillance, la commande et la régula- tion de procédé ou encore pour l'appel de données pro- venant de fichiers importants. Dans ce cas, on réunit plusieurs calculateurs pour exécuter un même travail en effectuant un échange de donnees entre les calcula- teurs. Une plage d'application de tels systèmes à multiples calculateurs est utilisée pour la commande des systèmes de sécurité de véhicules à moteur comme par exemple des systèmes anti-blocage ou des sys- tèmes de retenue passifs comme par exemple des coussins à gaz gonflables qui, lors du choc du véhicule sur un obstacle, se mettent en oeuvre automatiquement ou en- core des ceintures de sécurité qui sont tendues au mo- ment du choc. (tendeurs de ceinture). Il est nécessaire de traiter des quantités importantes de données par exemple dans le cas de systèmes de retenue passifs du fait qu'en cas de choc du véhicule sur un obstacle, les valeurs de la décélération se présentent sous la forme d'une courbe ayant des maxima et des minima (courbe de collision) et le point de déclenchement des systèmes de retenu doit se faire à un instant exact déterminé au préalable par des essais. Une autre nécessité de traitement de données dans le temps le plus court résulte des in- tervalles de temps courts entre la collision du véhicule sur l'obstacle et le risque de blessures des occupants du véhicule. Dans cet intervalle court, il est néces- saire de détecter le tracé de la courbe de décélération sans qu'il n's ait de trous. La protection certaine contre tout déclenchement intempestif présente la même importance et s'oppose à l'exigence d'une mise en oeuvre efficace des systèmes de retenue. Pour'des systèmes de retenue à coussins à gaz gonflables, leur déclenchement acciden- tel à grande vitesse peut entraîner la disparition de la visibilité ou encore effrayer le conducteur et se tra- duire par des conséquences très graves. Des influences extérieures comme par exemple des parasites d'émission provenant d'émet- teurs, des variations de la tension du réseau, les coupures de réseau ou les impulsions de commutation qui se développent par un réseau peuvent déranger le dérou- lement du programme dans un ou plusieurs calculateurs du système à calculateurs multiples. Lorsque ces cal- culateurs appartiennent à un système de sécurité, la conséquence de cet incident peut être d'une part la défaillance du système de sécurité au cas o cela est nécessaire et d'autre part provoquer un déclenchement intempestif. Même dans le cas de systèmes à plusieurs calculateurs dans des domaines d'application ne concer- nant pas la sécurité comme par exemple des machines- outils, ces incidents peuvent avoir pour conséquence des dommages importants. Pour éviter les conséquences de tels incidents, il est nécessaire de surveiller le fonc- tionnement des calculateurs appartenant à un système à multiples calculateurs et de prendre des contre-mesures en cas de reconnaissance d'incidents. Etant donné la complexité extrême et la vitesse de calcul de tels sys- tèmes à multiples calculateurs, il peut toutefois être trop tard d'entreprendre une action de correction une fois qu'un incident est apparu à l'extérieur. La présente invention a ainsi pour but de créer un procédé de surveillance du fonctionne- ment et de correction des erreurs de calculateurs appar- tenant à des systèmes à multiples calculateurs permet- tant de déceler suffisamment tôt les incidents et d'évi- ter les conséquences de ces incidents et de corriger les erreurs qui se sont établies de façon que la suite du fonctionnement du calculateur ne soit influencée qu'aussi peu que possible. A cet effet, l'invention concerne un procédé du type ci-dessus, caractérisé en ce que cha- cun des calculateurs participants génère des informa- tions intermédiaires à des intervalles prédéterminés, informations qui sont transmises aux autres calcula- teurs et sont reçues par ceux-ci, les informations in- termédiaires étant comparées à des grandeurs de consi- gne propres aux calculateurs et en ce qu'en cas de 4. dérive, on supprime un cycle de calcul suivant et au moins l'un des cycles de calcul précédents est repris par au moins le calculateur en dérive. Par l'exploitation des informations intermédiaires relatives au déroulement du programme ou aux résultats des calculs, on peut déceler des incidents dès la fin du cycle de calcul de surveillance et ainsi dans la plupart des cas beaucoup plus tôt qu'après le déroulement complet du programme. Ces considérations reposent sur le fait que les incidents peuvent apparaL- tre statistiquement avec la même probabilité au cours du premier, du dernier ou de chaque cycle de calcul in- termédiaire et la surveillance des différents cycles de calcul jusqu'au dernier cycle de calcul permet de déce- ler des incidents suffisamment tôt. Les moyens consistant à effectuer de manière réciproque la surveillance des calculateurs reposent sur la considération selon laquelle des in- fluences extérieures ne peuvent parasiter de la même ma- nière des calculateurs qui sont au moins séparés dans l'espace ou ne peuvent entrainer des influences parasites qui masquent la détection réciproque des parasites. Ce risque peut s'exclure du fait que les informations inter- médiaires et les grandeurs de consigne qui ont été com- parées ont été obtenues de manière différente. La reconnaissance précoce des para- sites crée en même temps des conditions permettant d'évi- ter les conséquences d'un dérangement et une correction aussi rapide que possible des erreurs. Aussi longtemps que les erreurs se présentent dans le cycle d'un program- me antérieur précédent le dernier cycle de calcul sur- veillé, on peut éviter les conséquences fâcheuses des incidents par des ordres de commande appropriés. Mais même dans le cas d'incidents se présentant dans le der- nier cycle de programme comme résultat de celui-ci par exemple un ordre de réglage avec des conséquences fâ- cheuses, il est possible d'éviter cela par des ordres de commande si les ordres de commande ne sont exécutés qu'à un instant ultérieur. On évite les conséquences d'un incident en supprimant le cycle de calcul suivant. Pour corriger l'erreur, indépen- damment de son type et de son importance, on remet à l'état initial au moins le calculateur qui dérive. Par- tant de la considération selon laquelle le calculateur qui dérive fonctionnera de nouveau correctement après la disparition de l'incident, cela constitue la possibilité la plus rapide d'obtenir des résultats corrects par une simple répétition des opérations de calcul. Si l'incident est reconnu de manière précoce et si la remise à l'état initial se fait également de manière précoce, on peut encore tenir compte des données qui se sont présentées avant le dérangement du programme, de sorte qu'il n'y a aucune interruption. Par contre même pour des inci- dents qui ne se présentent qu'a un moment ultérieur dans le déroulement du programme, on pcursuit le trai- tement des données jusqu'à l'incident le plus tot pos- sible pour ainsi enjamber les intervalles formés. Sui- vant le nombre de cycles de calcul déjà parcourus par un programme avant que ne se produise l'incident, il faut que le calculateur en dérive reprenne un ou plu- sieurs cycles de calcul. Selon un mode de réalisation prati- que, après un nombre prédéterminé de cycles de calcul, on transmet les informations intermédiaires au cours d'un premier intervalle de temps et on les reçoit et au cours d'un second intervalle de temps, consécutif, on les introduit et les compare aux grandeurs de consi- gne propres. L'expression cycles de calcul si- gnifie dans le cas présent des pas de programme au cours desquels on a modifié les informations intermédiaires pour avoir en retour l'exécution correcte de ces pas de programme. Pour l'exécution d'un cycle de calcul, on peut ainsi avoir besoin d'une ou plusieurs impulsions de cadence. Comme l'intervalle de temps nécessaire pour échanger et comparer les informations intermédiaires doit être retranché du temps de calcul, le nombre choisi de cycles de calcul prédéterminés constitue une situa- tion optimale entre une vitesse de calcul plus élevée et une surveillance avec aussi peu d'intervalles que possible. De manière préférentielle, les informations intermédiaires sont comparées en tant que telles et/ou suivant leur arrivée chronologique avec les valeurs de consigne. Ce moyen donne deux possibilités - de contrôle indépendantes et améliore ainsi la détec- tion des incidents. Dans ce cas, on peut par exemple envisager une situation dans laquelle des décalages de temps déjà produits entre les déroulements de programme du calculateur aboutiraient par dérangement de la syn- chronisation à des incidents au niveau des informations intermédiaires seulement au cours des cycles de calcul suivants. Un tel cas d'incidents peut se corriger plus tôt grâce à une caractéristique de l'invention. Cela augmente la disponibilité du systeme a calculateurs multiples pour le traitement des données. Pour la commande du calculateur en vue de corriger des erreurs, on peut envisager plu- sieurs variantes. C'est ainsi qu'en cas de déviation, on peut remettre à l'état initial tous les calculateurs participants. Cela constituerait le procédé le plus simple, car il ne distingue pas les calculateurs en dérive et les calculateurs qui détectent la dérive. Comme variante, dans le cas de dérive, on peut ne remettre à l'état initial que le ou les calculateurs en dérive alors que tous les autres calculateurs sont initialisés ou encore en cas de dérive, on peut n'initialiser que les calculateurs qui consta- tent les dérives alors que tous les autres calculateurs sont remis à l'état initial. Pour cela, on part du fait que seuls les calculateurs en dérive ont été dérangés et ceux des calculateurs qui ont détecté les dérives n'ont pas été en dérangement, ce qui permet de ne pas faire répéter ces derniers les cycles de calcul qu'ils ont exécutés correctement jusqu'à ce moment. En initialisant, on met les calculateurs en position d'attente sur un cycle de calcul présélectionné. Cela peut être soit le début du programme, ce qui est équivalent à une remise à l'état initial ou encore l'un des cycles de calcul précédents. Le ou les calculateurs initialisés attendent alors que le ou les calculateurs en dérive aient de nouveau pro- gressé dans le déroulement du programme jusqu'à ce que tous les calculateurs puissent poursuivre leur programme. Selon un mode de réalisation prati- que, les calculateurs participants sont remis à l'état initial ou initialisés directement par les calculateurs qui détectent les dérives. Cette étape de procédé garantit la correction la plus rapide possible du calculateur et assure ainsi la plus grande disponibilité du système à calculateurs multiples. En outre cela permet une réa- lisation avantageuse, car l'exécution se fait sans moyen de communication à l'aide d'ordres de programme supplé- mentaires. En variante, on peut transmettre les informations intermédiaires en série et/ou en paral- lèle. Les variantes prévues pour cela ont des effets différents sur les moyens de commutation et la rapidité de la transmission des informations in- termédiaires. La transmission en série offre la possi- bilité d'utiliser des lignes de données existantes. Toutefois cela se fait au détriment du temps disponible pour les cycles de calcul proprement dits. La transmis- sion en parallèle est coûteuse et du fait du grand nom- bre de lignes et de contacts par enfichage, elle est le cas échéant sujette à des pannes. Toutefois, cette solution réduit le temps nécessaire à la transmission et au contr6le dans la mesure ou cela n'influence pra- tiquement pas la vitesse de calcul. La combinaison de ces deux caractéristiques nécessite des moyens d'ensem- ble importants mais augmente la détection des incidents} car la transmission et l'optention des informations in- termédiaires se font de deux manières. En variante, les informations in- termédiaires peuvent se former à partir des résultats intermédiaires d'opérations de calcul et/ou des informa- tions d'état du programme de calcul. Les informations d'état en tant qu'informations intermédiaires constituent un critère fiable pour constater les incidents, car en général les influences extérieures se traduisent par des inci- dents de déroulement du programme qui se répercutent dans les informations d'état. Lorsqu'on utilise comme critères d'incidents les résultats intermédiaires d'opérations de calcul, on peut reconnaître à c6té des défauts d'état également d'éventuels défauts de données. Mais cela nécessite le cas échéant un traitement en paral- lèle des données, ce qui peut être très coûteux. Une autre possibilité consiste à vérifier le caractère plausible des résultats intermédiaires des opérations de calcul, ce qui ne demande que des moyens réduits. La combinaison des deux critères offre également une meilleure reconnaissance des inci- dents pour des moyens augmentés d'autant. De manière préférentielle, les informations intermédiaires s'obtiennent à partir du quotient d'une adresse finale divisée par l'adresse initiale du programme de calcul. Cette façon de procéder donne une possibilité simple mais très sûre vis-àvis de toute erreur pour former des informations intermédiaires. Comme le nombre de possibilités de variantes est toute- fois très important, la probabilité d'incidents non décelés à cause de résultats intermédiaires non déter- minants est faible. En variante ou de manière complé- mentaire, les informations intermédiaires peuvent éga- lement être formées à partir de variations statistiques et/ou dynamiques de potentiel. Pour former les informations inter- médiaires uniquement à partir de variations de potentiel, il existe une possibilité simple mais pas très sûre pour reconnaitre de manière certaine les incidents. En combi- naison avec les moyens ci-dessus, elle peut toutefois participer à une meilleure reconnaissance des incidents. L'invention concerne en outre un système à calculateurs multiples comprenant au moins deux calculateurs synchronisés et reliés par des lignes de transmission de données et/ou de commandes, notamment pour des installations de sécurité de véhicules à moteur comme par exemple des systèmes anti-blocage, des poches à gaz ou des tendeurs de ceinture. Pour cela, l'invention se propose de créer un système à calculateurs multiples, détectant très tôt les incidents et permettant d'éviter les con- séquences des incidents et de corriger les erreurs ainsi engendrées de façon que la poursuite du fonctionnement des calculateurs soit dérangée de manière aussi réduite que possible. A cet effet, l'invention concerne un système à calculateurs multiples du type ci-dessus, caractérisé en ce que chacun des calculateurs du sys- tème est réalisé sous la forme d'un générateur pour gé- nérer des signaux d'informations intermédiaires, comme générateur de valeurs de consigne, comme comparateur pour la comparaison des informations intermédiaires d'autres calculateurs avec des valeurs de consigne pro- pres et comme générateur de signaux de commande couplé au comparateur pour sa commande propre et la commande des autres calculateurs. La réalisation des calculateurs comme des générateurs formant les signaux d'informa- tions intermédiaires permet de créer les conditions de vérification du fonctionnement de chaque calculateur par les autres calculateurs en des intervalles de- temps plus courts que cela ne serait le cas par l'émission des résultats finaux. Les intervalles entre lesquels on forme les signaux d'informations intermédiaires dépen- dent de la fréquence des comparaisons necessaires pour éviter avec certitude les conséquences gênantes des incidents et pour assurer une correction certaine des erreurs, pour les comparaisons entre les informations intermédiaires et les grandeurs de consigne. De manière avantageuse, on prévoit dans ce cas un optimum entre la vitesse de calcul la plus élevée possible et une fréquence de comparaison aussi grande que possible. On a plusieurs possibilités pour former les signaux d'informations intermédiaires. D'une part, on peut extraire les résultats intermédiaires des opérations de calcul. Par ailleurs, on peut faire des calculs de contrôle avec des grandeurs connues et traiter i1 ces résultats comme des signaux d'informations intermé- diaires. Il est en outre possible de re- cueillir des informations d'état relatives à chaque étape de programme en cours de traitement dans un pro- gramme de calcul. Les informations d'état peuvent s'uti- liser soit directement, soit de manière combinée. C'est ainsi que par une opération de calcul, on peut transfor- mer par exemple plusieurs informations distinctes en une information d'état combinée. La préparation des informations intermédiaires pour la transmission vers les autres cal- culateurs dépend du type de transmission en série ou en parallèle ou d'une combinaison de ces deux types. Un autre mode de réalisation des calculateurs comme générateurs de valeurs de consigne offre la possibilité de traiter les informations inter- médiaires, propres et de les rendre disponibles comme grandeurs de consigne sous la forme de signaux de réfé- rence pour les signaux d'informations intermédiaires, reçus. Dans le cas, les grandeurs de consigne peuvent s'obtenir de la même manière que les signaux d'infor- mations intermédiaires ou encore de manière différente. Il peut être avantageux pour la détection des incidents d'obtenir ces signaux de manière différente, car il est exclu que les influences extérieures se répercutent par des variations de signaux de même type et qui se com- penseraient réciproquement lors de la comparaison des informations intermédiaires et des grandeurs de consi- gne. En réalisant le calculateur comme comparateur, on peut utiliser les signaux résultant de la comparaison des informations intermédiaires et des grandeurs de consigne en même temps pour commander le même calculateur ainsi que les autres calculateurs d'un système à calculateurs multiples. De cette manière, immédiatement après la détection d'un incident, des mesures peuvent être prises pour éviter les consequen- ces gênantes et corriger les erreurs. Au cours d'une correction rapide des erreurs, on peut poursuivre les autres traitements de données jusqu'à l'instant le plus tôt possible pour enjamber les intervalles. Un généra- teur de signal de commande couplé au comparateur permet ainsi la commande appropriée. Les fonctions décrites peuvent être réalisées par des blocs fonctionnels câblés du calcula- teur. Il est toutefois avantageux sur le plan de l'en- combrement et des moyens mis en oeuvre de réaliser ces fonctions sous la forme d'un programme de calcul qui peut alors être exécuté par les installations existantes déjà pour le traitement des données. Selon un développement de l'inven- tion, chaque calculateur comporte une méioire dans la- * quelle sont inscrits des signaux d'informations intermé- diaires provenant des autres calculateurs pour être com- parés aux valeurs de consigne, propres, mises en mémoire. Cette réalisation permet la trans- mission en série des signaux d'informations intermédiai- res et garantit que dans le cas de plus de deux calcula- teurs, toutes les informations intermédiaires provenant des calculateurs soient disponibles pour être comparées aux grandeurs de consigne. De plus, la formation des grandeurs intermédiaires peut se faire avec un décalage dans le temps par rapport à la formation des signaux d'informations intermédiaires. Cela augmente la probabi- lité que lors d'un incident, une seule des opérations ne soit influencée. De manière préférentielle, le géné- rateur de valeurs de consigne comporte un générateur de repères de temps. En formant des repères de temps, on crée une possibilité de vérification supplémentaire. Celle-ci permet de surveiller les informations intermé- diaires non seulement en tant que telles mais également quant à leur arrivée chronologique. Selon une réalisation pratique, les entrées de commande de chaque générateur de signal de commande sont reliées aux entrées de remise à l'état initial et/ou d'initialisation des autres calculateurs. Cela permet de commander les cal- culateurs en dérive et les calculateurs qui ne sont pas en dérive, de manière différentielle pour effectuer une correction des erreurs. Ainsi, les calculateurs qui ne sont pas en dérive peuvent être mis sur un autre état de programme que le début du programme. Cela permet d'éviter la répétition de cycles de calcul exécutés correctement. Ce moyen peut augmenter la sécurité de fonctionnement du système à calculateurs multiples en évitant la répercution des incidents se produisant au cours du calcul ultérieur sur de tels calculateurs. Selon une variante de réalisation, on a des circuits de combinaison logiques qui réunis- sent les sorties des signaux de synchronisation des au- tres calculateurs sur une ligne de commande respective. Selon une autre variante de réali- sation, les calculateurs sont reliés par des lignes de commande bidirectionnelles. Enfin selon une troisième variante de réalisation, les lignes de commande et de données sont des lignes communes. Ces caractéristiques permettent de réduire les lignes nécessaires entre les différents cal- culateurs, on réduit l'encombrement et les risques d'in- cidents. La présente invention sera décrite de manière plus détaillée à l'aide des dessins annexes 1.4 dans lesquels: - la figure 1 est un schéma-bloc d'un système à calcula- teurs multiples comprenant trois calculateurs. - la figure 2 est une variante de réalisation de l'in- vvention. - la figure 3 montre le chronogramme de cycles de calcul de la transmission de signaux d'informations intermédiai- res ainsi que de la comparaison des signaux d'informa- tions intermédiaires et des grandeurs de consigne dans le cas d'un système à calculateurs multiples composé de deux calculateurs. Les calculateurs A, B, C d'un sys- tème à calculateurs multiples représenté à la figure 1 sont reliés entre eux par des lignes de données 10, 12, 14 et par des lignes de commande 16, 18, 20. Les rectan- gles représentent de manière schématique les groupes de fonctions servant à la surveillance et la correction dans les différents blocs reliés entre eux. En pratique, ces blocs peuvent être des groupes de composants discrêts ou encore être réalisés par des calculateurs sous la for- me d'un programme de calcul. Les blocs fonctionnels sont les mêmes dans les trois calculateurs A, B, C. Dans le détail, les calculateurs A, B, C comportent chacun un générateur 22 pour former des signaux d'informations intermédiaires, un générateur de valeurs de consigne 24 qui comporte en outre un géné- rateur de repères de temps 32, un comparateur 26 pour comparer les informations intermédiaires des autres cal- culateurs A, B, C aux grandeurs de consigne, propres, un générateur de signal de commande 28 pour la commande propre et la commande des autres calculateurs A, B, C, une mémoire 30 ainsi qu'un dispositif de calcul 50 pour le traitement proprement dit des données. Chaque générateur 22 est relié au dispositif de calcul correspondant 50 des calculateurs A, B, C pour obtenir les informations intermédiaires à partir des données par l'intermédiaire du déroulement du programme. Une sortie de chaque générateur est reliée à l'une des lignes de données 10, 12, 14 aboutissant aux autres calculateurs A, B, C et ces lignes arrivent aux entrées des mémoires 30. Les signaux d'informations intermé- diaires transmis et reçus peuvent être inscrits de ma- nière provisoire dans la mémoire 30 pour être lus ulté- rieurement en vue d'une comparaison avec les grandeurs de consigne dans le comparateur 26. De cette manière, une sortie de chaque mémoire 30 est reliée à l'une des entrées du comparateur 26 correspondant. L'autre entrée de chaque comparateur 26 est reliée à une sortie du géné- rateur de valeurs de consigne 24 correspondant. Le générateur de valeurs de consi- gne 24 peut fournir au comparateur 26 à la fois des grandeurs de consigne fixes ou variables en fonction des pas du programme. Pour réaliser cette dernière pos- sibilité, une entrée du générateur de valeurs de consi- gne 24 est reliée à une sortie du dispositif de calcul pour recevoir les données en fonction du déroulement du programme. Le générateur de repères de temps 32 existant en plus du générateur de valeurs de consigne 24 génère des repères de temps, ce qui permet de véri- fier les informations intermédiaires non pas en tant que telles mais également suivant leur arrivée chronologi- que. Les mémoires 30 sont conçues à cet effet de façon à inscrire également les informations du temps de la réception des signaux d'informations intermédiaires. Une sortie du comparateur 26 est reliée à une entrée du générateur de signal de commande 28 de façon qu'en cas de différence entre les informations intermédiaires et les repères de temps, on puisse générer dessignaux de t6 commande différentiés. Ces signaux de commande arrivent aux sorties 34 et 36 à savoir un signal de remise à l'état initial à la sortie 34 et un signal d'initialisa- tion à la sortie 36. Alors que le signal de remise à l'état initial peut arriver aux entrées de remise à l'état initial 38 des autres calculateurs par l'inter- médiaire des lignes de commande 16, 18, 20, le signal d'initialisation peut être fourni par une ligne interne à l'entrée d'initialisation 40 du dispositif de calcul respectif. Pour réduire les lignes de comman- de, on a des circuits de combinaison logiques 42 entre les sorties de commande 34 et les entrées de remise à l'état initial 38; ces circuits de combinaison assurent le couplage des signaux de commande des calculateurs sur chaque fois une ligne de commande 44. La figure 2 montre un autre moyen de réduire les lignes de commande en réalisant les li- gnes de commande comme lignes de commande bidirection- nelles 46. L'échange des données des informations inter- médiaires se fait dans cet exemple de réalisation par des lignes de données bidirectionnelles 48. Pendant le fonctionnement des cal- culateurs A, B, C, à partir des données du déroulement du programme dans les calculateurs 50, on forme à des intervalles prédétermines des informations intermédiai- res dans le générateur 22 et on les transmet aux autres calculateurs A, B, C par les lignes de données 10, 12, 14. Dans l'exemple de réalisation, il s'agit d'informa- tions d'état qui sont les quotients des adresses finales divisées par les adresses initiales du programme de cal- cul. Les informations d'état fournies par le calculateur A sont ainsi appliquées aux calcula- teurs B et C; les informations du calculateur B sont fournies aux calculateurs A et C et celles du calcula- teur C sont fournies aux calculateurs A et B. Dans ce cas, les informations d'état sont reçues et sont mises en mémoire en tant que telles et en fonction de leur arrivée chronologique. En même temps que la transmis- sion des informations d'état ou en décalage par rapport à celle-ci, on génère des grandeurs de consigne dé pre- férence également des informations d'état par les géné- rateurs de valeurs de consigne 24 pour le calculateur propre. Les grandeurs de consigne propres et les infor- mations d'état étrangères sont alors comparées dans le comparateur 26 de chaque calculateur A, B, C. Si le résultat de la comparaison est une coincidence entre les grandeurs de consigne propres et les informations d'état étrangères, le géné- rateur de signal de commande 28 n'est pas excité et les calculateurs poursuivent leur programme avec les cycles de calcul suivants. Dans le cas normal, cette opération se répète après tout nombre prédéterminé de cycles de calcul surveillés. Si l'un des calculateurs par exem- ple le calculateur A est dérangé par des influences ex- térieures comme par exemple une impulsion de commuta- tion, cela se traduit par le fait qu'il saute un pas de programme et l'information d'état suivante transmise par lui sera différente de la valeur de consigne. Cette dérive aboutit à ce que le comparateur 26 excite le géné- rateur de signal de commande 28 de l'un des deux calcu- lateurs B, C, s'initialise de lui-même et remet à l'état initial les deux autres calculateurs. Si l'on suppose que la dérive a été constatée d'abord par le comparateur 26 du calculateur B, alors les calculateurs A et C sont remis a l'état initial et le calculateur B est initiali- sé. 1.8 Les calculateurs A et B reprennent alors leur programme de calcul à partir du début; dans le cas du calculateur B, le fonctionnement dépend de l'état de programme auquel il a été initialisé. Il peut s'agir dans ce cas d'un début de programme mais égale- ment d'un -autre état de programme auquel il est déjà arrivé pendant le parcours précédent du programme de recherche. Il s'agit par exemple de l'état de programme après le premier cycle de calcul; à ce moment, le cal- culateur B attend que les calculateurs A et C aient par- couru ce cycle de calcul, puis dans la mesure o entre temps il n'y a eu de nouvels incidents, il continue les autres cycles de calcul en commun avec les calculateurs A et C. Pour décrire le déroulement chronologique des opérations dans le cas toutefois limité d'un système à calculateurs multiples ne comprenant que deux calcula- teurs, on a comme point de départ la figure 3 dans la- quelle on a représenté de manière graphique les cycles de calcul, la transmission des signaux-d'informations intermédiaires ainsi que la comparaison entre les infor- mations intermédiaires et les grandeurs de consigne. Comme par hypothèse, les deux cal- culateurs A et B sont synchronisés, les segments de temps qui se correspondent sont représentés l'un au- dessus de l'autre. Pour pouvoir décrire les opérations se produisant sur plusieurs cycles de calcul, on a sub- divisé les axes de temps en chaque fois six fenêtres de temps a, b, c, d, e, f. Dans chaque fenêtre de temps, on a le ou les cycles de calcul à surveiller. Ces cy- cles occupent le plus grand intervalle de temps 52. Les nombres ordinaux n des différents cycles de calcul par- courus sont indiqués par les chiffres liés à n. Un état de programme est désigné par un chiffre seul qui repré- sente l'adresse de programme. En plus des cycles de cal- cul mentionnés, on a également représenté les interval- les de temps 54 pour la transmission des informations intermédiaires et leur réception ainsi que les interval- les de temps 56 pour la comparaison des informations intermédiaires aux grandeurs de consigne. Chaque cycle de calcul est d'abord suivi par la transmission des signaux d'informations intermédiaires, puis la comparaison des informations intermédiaires et les grandeurs de consigne. A la suite de cela, il y a un nouveau cycle de calcul. Les flèches entre les schémas indiquent la direction de transmis- sion des signaux d'informations intermédiaires. On suppose que les deux calcula- teurs A et B commencent le programme. Après avoir par- couru le cycle de calcul n = 1 dans la fenêtre de temps a, on échange les informations intermédiaires et la comparaison doit constater la coincidence avec les gran- deurs de consigne. Dans la fenêtre b, on parcourt le cycle de calcul n = 2. Le calculateur A subit un inci- dent et des informations intermédiaires, erronées sont transmises au calculateur B. Dans l'intervalle de temps 56 de la fenêtre de temps b, le calculateur B constate la dérive et remet à l'état initial le calculateur A; il se remet lui-même à l'état de programme postérieur au premier cycle de calcul. Le calculateur B reste dans cet état de programme nO 1 alors que le calculateur A parcourt de nouveau le premier cycle de calcul n = 1. Au cours de cet intervalle de temps 52 dans la fenêtre de temps c, le calculateur A subit un nouveau dérange- ment. Dans ce cas, l'information intermédiaire est cer- tes toujours exacte mais elle est transmise avec retard comme l'explicite l'intervalle de temps 56 dans la fenê- tre de temps c. Dans l'intervalle de temps 56 de la fenêtre de temps c, le calculateur B constate cette dérive et remet une nouvelle fois le calculateur A à 0O l'état initial. I1 s'initialise lui-même sur l'état de programme NO 1 après le premier cycle de calcul. Dans l'intervalle d, le cycle de calcul du calculateur A est exécuté sans incident. Après un contr8le réciproque des informations intermé- diaires et après avoir constante la coïncidence de celles-ci aux grandeurs de consigne, les deux calcu- lateurs passent sur les cycles de calcul suivants n = 2 et n = 3 comme cela a été indiqué dans les fenêtres de temps e et f. R E V E N D I C A T I O N S ) Procédé pour surveiller le fonctionnement et corriger les erreurs de calculateurs appartenant à un système à calculateurs multiples, no- tamment pour des installations de sécurité de véhicules à moteur comme par exemple des systèmes anti-blocage, des poches à gaz ou des tendeurs de ceinture, installa- tion selon laquelle les calculateurs sont reliés par des lignes de transmission de données et de commande et sont synchronisés, procédé caractérisé en ce que cha- cun des calculateurs participants A,D,C génère des informa- tions intermédiaires à des intervalles prédéterminés, informations qui sont transmises aux autres calculateurs et sont reçues par ceux-ci, les informations intermé- diaires étant comparées à des grandeurs de consigne pro- pres aux calculateurs et en ce qu'en casde dérive, on supprime un cycle de calcul suivant et au moins l'un des cycles de calcul précédents est repris par au moins le calculateur en dérive. 2 ) Procédé selon la revendication 1, caractérisé en ce qu'après un nombre prédéterminé de cycles de calcul constituant les plus petites unités de pas de programme, les informations intermédiaires sont modifiées, informations intermédiaires qui sont transmises dans un premier intervalle de temps et sont reçues, et dans un second intervalle de temps consécu- tif, elles sont lues et comparées aux grandeurs de con- signe propres. 3 ) Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que les informations intermédiaires sont comparées en tant que telles et/ou suivant leur arrivée chronologique avec les grandeurs de consigne. 4 ) Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'en cas 2.2 de dérive, tous les calculateurs participants sont remis à l'état initial et les cycles de calcul précédents sont repris. ) Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'en cas de dérive seulement le ou les calculateurs en dérive sont remis à l'état initial alors que les autres calcu- lateurs sont initialisés. 6 ) Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'en cas de dérive, seul est initialisé le calculateur qui cons- tate les dérives alors que les autres calculateurs sont remis à l'état initial. 7 ) Procédé selon l'une quelconque des revendications 4 à 6, caractérisé en ce que les cal- culateurs participants sont remis à l'état initial ou sont initialisés directement par le calculateur qui constate les dérives. ) Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que les in- formations intermédiaires sont transmises en série et/ou en parallèle. 9 ) Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que les in- formations intermédiaires sont formées à partir des ré- sultats intermédiaires des opérations de calcul et/ou les informations d'état du programme de calcul. ) Procédé selon la revendication 9, caractérisé en ce que les informations intermédiaires sont formées par le quotient d'une adresse finale divi- sée par une adresse initiale du programme de calcul. 11 ) Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que les in- formations intermédiaires sont formées en variante ou de manière complémentaire à partir des variations sta- tistiques et/ou dynamiques du potentiel. 12 ) Système à calculateurs multi- ples composé d'au moins trois calculateurs (A, B, C) syn- chronisés et reliés entre eux par des lignes de trans- mission de données (10, 12, 14) et/ou de commande (16, (18, 20), notamment pour des installations de sécurité de véhicules à moteur par exemple des systèmes anti- blocage, des poches à gaz ou des tendeurs de ceinture, système caractérisé en ce que chacun des calculateurs (A, B, C) du système est réalisé sous la forme d'un générateur (22) pour générer des signaux d'informations intermédiaires comme générateur de valeurs de consigne (24) , comme comparateur (26) pour la comparaison des informations intermédiaires d'autres calculateurs (A, B, C) avec des valeurs de consigne propres et comme générateur de signaux de commande (28)couplé au compa- rateur pour sa commande propre et la commande des au- tres calculateurs (A, B, C). 13 ) Système à calculateurs multi- pies selon la revendication 12, caractérisé en ce que chaque calculateur (A, B, C) comporte une mémoire (30), chaque mémoire recevant les signaux d'informations in- formations intermédiaires provenant des autres calcula- teurs (A, B, C) pour les comparer aux grandeurs de con- signe propres mises en mémoire. 14 ) Système à calculateurs multi- ples selon l'une quelconque des revendications 12 ou 13, caractérisé en ce que le générateur de valeurs de consi- gne (24) comprend un générateur de repère de temps (32). 15 ) Système à calculateurs multi- ples selon l'une quelconque des revendications 12 à 14, caractérisé en ce que les sorties de commande (34, 36) de chaque générateur de signal de commande (28) sont re- liées aux entrées de remise à l'état initial (38) et/ou d'initialisation (40) des autres calculateurs (A, B, C). 16 ) Système à calculateurs multi- ples selon l'une quelconque des revendications 12 à 15, caractérisé en ce qu'il comporte des circuits de combi- naison logiques (42) pour réunir les sorties de comman- de (34) des autres calculateurs (A, B, C) sur une ligne de commande (44) respective. 17 ) Système à calculateurs multi- ples selon l'une quelconque des revendications 12'à 15, caractérisé en ce que les calculateurs (A, B, C) sont reliés par des lignes de commande bidirectionnelles (46). 18 ) Système à calculateurs multi- ples selon l'une quelconque des revendications 12 à 15, caractérisé en ce que les calculateurs (A, B, C) sont reliés par des lignes communes pour les signaux de com- mande et/ou de communication de données.