FR 2159150 A1 19730615 FR 7242564 A 19721130 72 42564 i 2159150 La présente invention a pour objet un agencement de contrôj.- de temps réel pour dispositJ f de simulation destiné à permettre la mise au point d« la programmation prévue pour un système qui fonctionne en temps réel et qui est ^éré en partage de charge par deux calculateurs à programme enregistré, lorsque le 5 dispositif de simulation comporte un troisième calculateur iclié aux deux calculateurs du système réel de manière à simuler leui périphérie dans le système réel en échangeant avec eux les données normalement échangées entre eux et leur périphérie. De manière connue,de tels dispositifs de simulation s'avèrent particulièrement 10 intéressants lorsque l'on veut assurer simultanément les mises au point du matériel et de la programmation d'un système complexe, tel que par exemple un système électronique à commande par programme enregistré. Ces dispositifs de simulation permettent notamment la mise au point des enchaînements des programmes unitaires qui composent le programme enregistré du système. Ils permettent la 15 mise en évidence,d'une part,des conflits entre programmes unitaires et,d'autre part,de certaines fautes dues 1 des configurations rares d'événements, fautes qui sont difficilement reproductibles autrement. Un procédé connu de simulation emploie un seul calculateur plus poissât que ceux du système à programmer; on fournit à ce calculateur les programmes écrits 20 peur le système et un programme de simulation, le déroulement de tous ces programmes permet la mise au point désirée. Toutefois, un tel procédé ne permet pas toujours de dérouler les programmes dans les conditions réelles de temps; en particulier, il est délicat de simuler l'entrelacement des instructions d'entrée et de sortie correspondant à un système dé demandes et de réponses. 25 Un second procédé de simulation consiste à utiliser un calculateur supplé mentaire de simulation relié aux deux calculateurs du système de manière à simuler leur environnement et à permettre un échange d'informations, identique à celui existant entre ces deux calculateurs et leur périphérie. Ce procédé présente l'avantage de permettre un déroulement des programmas qui est proche du 30 déroulement réel et il est particulièrement adapté à la au point des systèmes fonctionnant en temps réel. Par contre,1'emploi de trois calculateurs impose des Pour des raisons de commodité d'examen et de mise jn conservant les notions de temps et de durée réels. 11 est aono nécessaire de fourni? au système cette notion de temps 72 42564 s 2159150 réel et la possibilité d'interrompre l'écoulement de ce temps réel, ce qui entraîne nécessairement des possibilités d'arrêts différenciés des trois calculateurs . La présente invention propose donc un agencement de contrôle de temps réel 5 pour dispositif de simulation destiné à permettre, à l'aide de trois calculateurs, la mise au point de la programmation d'un système qui fonctionne en temps réel et qui est géré en partage de charge par un groupe, dit opérationnel, de deux calculateurs opérationnels à programme enregistré. Selon une caractéristique de l'invention,1'agencement de contrôle de temps, 10 qui est situé dans une interface insérée entre les trois calculateurs, comporte une horloge destinée à synchroniser les bases de temps des trois calculateurs et les différents compteurs de l'agencement. Cet agencement comporte aussi un compteur de temps réel, assurant le comptage du temps réel de fonctionnement du groupe opérationnel sur des programmes 15 d'exploitation du système réel et,d'autre part,le découpage en tranches égales de ce temps par envoi d'un sigial caractéristique à la fin de chaque tranche. L'agencement comporte encore un compteur de décalage retardant la remise en fonctionnement d'un des deux compteurs opérationnels par rapport à celle de l'autre d'un temps égal à celui qui s'est écoulé entre l'arrêt de ce calcula-20 teur et celui préalable dudit autre, lorsque ces deux arrêts ont succédé à une période de fonctionnement simultané de ces calculateurs. L'agencement comporte encore un compteur de temporisation par calculateur opérationnel retardant la remise en fonctionnement du calculateur auquel il est associé par rapport à celle de l'autre, d'un temps égal au temps, de réponse d'un 25 périphérique choisi du système réel, suite à un arrêt du groupe opérationnel occasionné par l'envoi d'un ordre d'entrée ou de sortie de données lancé par le calculateur qui va être retardé, à destination de ce périphérique choisi, ici simulé. D'autres caractéristiques de l'invention ressortiront de la description 30 détaillée ci-dessous. Bien entendu la description et le dessin ne sont donnés qu'à titre indicatif et nullement limitatif de l'invention. La figure 1a présente un schéma simplifié d'un système fonctionnant en temps réel et géré en partage de charge par deux calculateurs à programmes enregistré. 35 La figure 1b présente un schéma simplifié d'un dispositif de simulation destiné à assurer la mise au point de la programmation du système de la figure la. Les figures 2a et 2b sont des diagrammes de temps relatif à la succession des événements dans le système réel et dans le dispositif de simulation selon l1invention. *♦0 La figure 3 présente le dispositif de simulation et plus particulièrement 72 42564 3 2159150 de l'agencement de contrôle de temps de ce dispositif. Le schéma de principe présenté figure 1a permet de définir les principaux éléments d'un système de commande à programme enregistré pour un ensemble fonctionnant en temps réel, 5 Le système de commande comporte classiquement deux calculateurs opérationnels 1A et 1B et un équipement de liaison 2 qui permet le transfert des informations nécessaires au fonctionnement des calculateurs en partage de charge. Les calculateurs 1 sont réunis par un équipement d'interface 3 aux périphériques U qui permettent la transmission des ordres et la réception des données 10 relatifs à l'ensemble commandé. Chaque calculateur 1 comporte, de plus, un équipement périphérique 5 individuel et classique qui permet l'introduction manuelle et la sortie de données. Les périphériques U comprennent par exemple des explorateurs et des distributeurs alors que les périphériques 5 comprennent les téléimprimeurs, 15 les dispositifs à bande magnétique ou perforée et les tambours. Le schéma de principe présenté figure 1b permet de définir le dispositif de simulation destiné à la mise au point de la programmation d'un système tel que défini à la figure 1. On retrouve les calculateurs opérationnels 1A et 1B et leur équipement de 20 liaison 2 ; par contre les périphériques U et 5 sont remplacés par un calculateur, dit de simulation,6, relié aux calculateurs 1A et 1B par une interface de simulation T de manière à simuler les liaisons des périphériques U et 5 à ces même3 calculateurs. -- Le calculateur 6 possède un équipement périphérique individuel et classique 5C 25 permettant d'une part l'introduction de données dans le dispositif constitué selon les indications données ci-dessus et d'autre part la sortie des résultats. L'interface de simulation 7 assure donc les échanges d'informations entre les calculateurs opérationnels et le calculateur de simulation, ce qui implique qu'elle comporte un agencement de contrôle de temps 11 pour assurer la synchroni-30 sation de ces échanges et un agencement de mémorisation 13 permettant de garder temporairement les informations échangées. De manière connue la mise au point d'une programmation en simulation permet de déconsposer phase par phase une succession d'opérations qui s'effectuent nécessairement de manière continue dans la réalité. Cette décomposition permet 35 de contrôler pour chaque phase la conformité des états prévus par le programmeur avec les états obtenus. Ces états obtenus sont les conséquences d'événements préalables ; or dans un système fonctionnant en temps réel, l'ordre de succession des événements ne peut pas être connu parfaitement à l'avance dans la mesure ou certains événements sont aléatoires et s'entremêlent avec d'autres événements 72 42564 k 2159150 qui sont des conséquences prévisibles d'événements précédents. Ainsi, dans un système, l'instant de démarrage d'un processus aléatoire comportant plusieurs opérations connues ne peut être normalement prévu, il peut seulement être détecté, alors que les opérations suivantes connues succèdent nécessairement à l'opéra- 5 tion initiale. La simulation d'un système tel que défini ci-dessus élimine normalement les événements extérieurs aléatoires, puisque ces événements extérieurs sont simulés par le calculateur de simulation dans le cadre de la programmation de simulation supposée connue et que l'instant d'introduction d'un événement donné 10 est choisi, tout en pouvant être quelconque. De ce fait, l'ordre de succession des événements peut être considéré comme connu, ce qui permet d'interrompre le fonctionnement du système pour une durée quelconque à partir du moment où le fonctionnement reprend au stade ou il avait été arrêté dans l'ordre de succession des événements. 15 En effet,si un événement El survenu à un instant A (figure 2a) est suivi, d'une part,par un événement E2,indépendant,survenu à un instant B séparé de A par un laps de temps t1,et d'autre part par un événement dépendant E3 survenant nécessairement après un laps de temps t2 > tl, soit ici à l'instant C, et si le système est arrêté à un instant D (figure 2b) séparé de A par un laps de temps 20 t3 ^-tl, le fonctionnement est inchangé dans la mesure où l'événement E2 a lieu à un instant F, au bout d'un laps de temps égal à tl - t3 après le redémarrage R du système et où l'événement E3 à lieu à un instant G, au bout d'un laps de temps égal à t2 - t3 après le redémarrage R,cruelle que soit la durée tU de l'arrêt du système. ' 25 Le temps écoulé entre l'événement E1 et l'événement E3 qui est égal à la somme des temps t2 + tU ne présente plus d'importance pour le système simulé étant donné que son temps réel de fonctionnement entre El et E3 reste toujours t2 comme dans le cas du système réel correspondant. Pour tenir compte de cette possibilité d'arrêt,1'agencement de contrôle de 30 temps réel selon l'invention comporte un compteur de temps réel 9 (figure 3) qui permet de faire la somme des périodes de fonctionnement du groupe des calculateurs opérationnels 1 sur des programmes d'exploitation du système réel. L'agencement de contrôle selon l'invention comporte aussi une horloge 8 pour piloter les baises de temps des calculateurs opérationnels la et 1b et le compteur 35 9 ; les calculateurs ont des moyens pour inhiber le compteur de temps réel 9 dans un certain nombre de cas déterminés qui seront définis plus loin ainsi que les moyens. En raison du but même du dispositif de simulation d'environnement et vu les considérations précédemment faites sur les possibilités d'interruption du U0 système en simulation, l'arrêt d'un calculateur opérationnel entraîne les arrêts 72 42564 . 5 2159150 du coinpteur de temps réel 9 et du second calculateur opérationnel, ce qui permet de bien connaître l'état du système à cet instant. Il n'est possible d'arrêter un calculateur que dans un certain nombre d'états donnés dont le plus récurrent est la fin de séquence; par suite l'arrêt 5 d'un calculateur opérationnel 1 est séparé de 1'arrêt de l'autre par un intervalle de temps variable. Pour conserver une notion correcte du temps réel, il est nécessaire de prendre en compte ce temps d'avance pris par un calculateur par rapport à l'autre. Ceci s'effectue à l'aide d'un compteur de décalage 10 piloté par l'horloge 8. Par principe le premier des deux calculateurs 1 qui .10 s'arrête, inhibe le compteur 9 et démarre le compteur 10 qui est stoppé au bout d'un temps "t" par l'arrêt du second calculateur 1. Au redémarrage le compteur 10 et le calculateur 1 arrêté au premier sont remis en marche simultanément, au bout du temps "t" le second calculateur 1 est autorisé à redémarrer. Pratiquement,1es calculateurs opérationnels s'arrêtent aussi à l'occasion 15 d'opérations d'entrée ou de sortie de données à destination de leur périphérie et donc du calculateur de simulation 6 dans le cadre du dispositif de simulation d'environnement, cet arrêt étant appelé ici"mise en suspens". Pour assurer un synchronisme parfait des échanges entre calculateurs du système, la base de temps du calculateur de simulation 6 est aussi pilotée par 20 l'horloge 8. Pour éviter les fautes de transmission des données entre les calculateurs opérationnels 1 et le calculateur de simulation 6, il n'y a jamais travail effectif simultané des calculateurs 1 et du calculateur 6. En période de travail des calculateurs 1, le calculateur 6 est inactif; 25 il tourne par exemple sur une boucle interne. En période de fonctionnement du calculateur 6,les calculateurs 1 sont préférablement arrêtés et les alternances de travail des calculateurs 1,d'une part, et du calculateur 6, d'autre part,sont contrôlées par l'agencement de contrôle de temps réel selon l'invention. Le calculateur de simulation 6 n'a normalement pas la notion du temps réel 30 tel que défini précédemment; or c'est lui qui assure les fonctions d'entrée et de sortie des informations fournies ou reçues par les programmeurs par 1'intermédiaire de périphériques classiques symbolisés ici par un téléimprimeur 12. Il est donc nécessaire que le calculateur 6 soit à même de dater les informations qu'il fournit. En ce but le compteur de temps réel 9 envoie cycliquement un ordre 35 d'arrêt aux calculateurs 1 entraînant une mise au travail du calculateur de simulation 6 pour un temps fonction du travail à effectuer, cet arrêt cyclique lui donnant la notion du temps réel. A chacun des arrêts cycliques déclenchés par le compteur 9, le calculateur 6 prend connaissance de la cause d'interruption du temps réel, qui est, dans ce cas, l'écoulement d'une unité de temps, et il peut 1 72 42564 6 2159150 deux calculateurs à l'instant de leurs arrêts respectifs, ces informations étant némorisées dans 1 ' agencement de mémorisation 13 qui garde notamment en méstoire les différentes causes d'interruption du temps réel. L'agencement de mémorisation 13 comporte notamraent un registre 13A permettant 5 de mettre temporairement en mémoire les informations de commande que le calculateur opérationnel 1A et l'agencement de contrôle li échangent ; un registre 13B joue le même rôle vis-à-vis du calculateur 1B et un registre 13C vis-à-vis du calculateur de simulation 6. Deux registres 13AC et 13BC assurent respectivement la mémorisation temporaire des informations qu'échangent chacun des deux calculait) teurs opérationnels 1 avec le calculateur 6, ces informations étant identiques à celles qu'échangent les calculateurs 1 avec leur périphérie dans le système réel. L'équipement de liaison 2 de la figure 1 n'a pas été reporté ici car il peut indifféremment être simulé ou non par le dispositif. L'agencement de mémorisation 13 est relié aux calculateurs 1 par des liaisons 15 communes couramment appelées "bus", identiques à celles qui relient les calculateurs 1 à leurs périphériques dans le système réel. Le calculateur 6 utilise aussi une liaison cpmmune de ce type pour sa jonction avec l'agencement de némorisation 13- L'agencement de contrôle de temps réel 11 est relié aux trois calculateurs par les organes des registres 13A, 13B, 13C et par les liaisons 20 directes d'une manière non précisée ici. En effet, il doit être compris que l'agencement de mémorisation 13 peut être constitué suivant le besoin par des moyens de mémorisation appropriés aux différents types de liaisons utilisées, ceux-ci étant constitués par exemple par des bascules, dans le cas d'informations impulsionnelles, ou par des amplifi-25 cateurs dans le cas d'informations de type continu. Classiquement, dans un système réel, un calculateur opérationnel est en suspens après avoir envoyé un ordre d'entrée ou de sortie d'informations à destination d'un périphérique, de manière à attendre la réponse de ce périphérique, ce qui demande un certain délai. 30 Dans le dispositif de simulation choisi,lorsque l'un des calculateurs 1 envoie un ordre d'entrée-sortie, il se met en suspens et arrête l'autre de manière à ce que le calculateur 6 puisse prendre en compte les données qui sont asbociées à cet ordre afin d'établir les éléments de réponse qu'aurait donné le périphérique simulé. 35 Lorsque les éléments de réponse sont prêts, il est nécessaire de retarder leur envoi d'un temps égal au temps de réponse du périphérique concerné dans le système réel, après le redémarrage du temps réel. En ce but,1'agencement de contrôle de temps comporte un compteur de temporisation par calculateur opérationnel tel 1UA pour 1A et lUB pour 1B. ^0 Un compteur 1U est sélectionné par la mise en suspens du calculateur 1 72 42564 T 2159150 auquel il est associé; il est piloté par l'horloge 8 et il peut être chargé par le calculateur de simulation 6 à une valeur qui correspond au temps de réponse d'un périphérique simulé. Le redémarrage du compteur du temps réel 9 par le calculateur 6 entraîne le décomptage du compteur lit concerné qui maintient en 5 suspens le calculateur 1 associé à ce compteur jusqu'à réception du signal de reconnaissance que produit lU à la fin du décomptage. En raison de l'utilisation de deux calculateurs opérationnels et de l'existence de plusieurs possibilités d'arrêt d'un calculateur, l'agencement de contrôle de temps comporte une logique associée aux compteurs pour permettre de 10 faire face aux différentes éventualités qui sont succinctement décrites ci-dessous en relation avec la figure 3 de manière à définir les différents composants de la logique en relation avec les causes qui nécessitent leur emploi. Une première éventualité d'arrêt qui découle directement de l'emploi du compteur de temps reel 9 est l'arrêt des calculateurs 1 sur ordre du compteur. 15 Cet arrêt sur ordre est commandéyen particulier, par l'écoulement d'une unité du temps réel choisi et dans l'exemple présenté figure 3, il se traduit par l'envoi d'un signal d'arrêt MILIN de type binaire par le compteur 9, lorsque ce compteur, alimenté par l'horloge 8, a mesuré une unité de temps, par exemple une milliseconde. 20 Ce signal d'arrêt MILIN est d'une part mémorisé dans le registre de mémoire 13C à l'intention du calculateur de simulation et il assure d'autre part l'envoi d'un ordre d'arrêt en fin de séquence SBS de type binaire a chacun des calculateurs par 1'intermédiaire 'd'un circuit logique 15 d'arrêt du groupe opérationnel. Les circuits présentés figure 3 ne seront pas décrits de manière approfondie 25 car ils sont réalisés classiquement à l'aide d'organes logiques, de technique intégrée classique, combinés d'une manière aisément concevable par l'homme de l'art. Les deux ordres d'arrêt ASBS et BSBS à destination des calculateurs 1A et 1B sont transmis à ces calculateurs via l'agencement de némorisation 13 et les liaisons concernées. Le premier calculateur opérationnel 1 qui s'arrête 30 envoie une information d'arrêt de type binaire CPUH à destination de l'agencement de contrôle de temps T- Si l'on suppose que c'est le calculateur 1A qui s'arrête le premier, c'est l'information d'arrêt ACPUH qui est reçue en premier et elle est transmise à une entrée d'un circuit logique 16 de collation^relié aux liaisons sortantes des calculateurs 1 via les registres 13A et 13B,respectivement 35 associés aux calculateurs 1A et 1B. L'information ACPUH active d'une part une sortie du circuit 16 qui fournit un signal binaire impulsionnel AH d'arrêt du compteur de temps réel et d'autre part une seconde sortie du circuit 16 qui fournit un signal binaire stable AEDC de demarrage du compteur de décalage 10, ce signal étant obtenUjP&r exemplej 1*0 en sortie d'une bascule bistable activée par ACPUH. Le sipial AH est spécifique 72 42564 8 2159150 au calculateur 1A, comme BH l'est à 1B et tous deux peuvent être appliqués via un circuit de type logique OU 17 d'une part à l'entrée d'inhibition du compteur 9 et d'autre part à l'entrée d'un monostable 21 d'interruption du calculateur de simulation 6 qui envoie un ordre d'interruption SINTO. 5 Le signal AFDC est appliqué à l'entrée de mise en route du compteur 10, via un circuit NAND 18, ce qui entraîne la mise en route d'un comptage de temps au rythme de l'horloge 8. L'arrêt du second calculateur opérationnel, soit ici 1B, entraîne identiquement l'envoi d'une information binaire BCPUH par 1E, via le registre 13B ; cette 10 information produit un sigyial binaire stable BF.DC qui est appliqué à la seconde entrée du circuit NAHD 18 dont les deux entrées sont simultanément activées, ce qui entraîne l'arrêt du compteur 10 qui a donc mesuré un temps égal à l'intervalle de temps séparant l'arrêt des deux calculateurs opérationnels 1. A réception de l'interruption SINTO, le calculateur 6 abandonne la boucle 15 interne qu'il parcourait et va prendre connaissance de la cause qui a produit cette interruption; en ce but il lit le registre 13C qui le relie aux organes de l'agencement de contrôle de temps. L'information binaire MILIN^ caractéristique de l'écoulement d'une unité de tençs réel qui est contenue dans 13C, indique la cause de l'interruption dans 20 l'exemple choisi. A la suite de cette lecture -et éventuellement d'autres travaux tels que la lecture des registres 13AC et 13BC dans lesquels sont mémorisés les informations issues des calculateurs opérationnels à destination de leur périphérie-, le calculateur 6 envoie un ordre de redemarrage se traduisant par deux signaux 25 ' CIRQ et DEM de remise en marche et d'adressage de l'interface 7. Ces deux informations sont appliquées à un circuit 19 de synchronisation des remises en marche qui fournit trois signaux binaires T0, T1, TN décalés dans le temps de manière à assurer le démarrage synchrone des différents compteurs et du groupe opérationnel en tenant compte des positions géographiques de ces éléments 30 dans le dispositif de simulation et des logiques de commande qui interviennent dans les remises en marche de chacun d'entre eux. Le si^ial TN appliqué à l'entrée de mise en marche du compteur 9 assure le comptage du temps réel par ce compteur, le signal T0 appliqué à l'entrée de commande de décomptage du compteur 10 assure la mise en route du décomptage 35 à partir de la valeur atteinte au moment de l'arrêt du calculateur 1B. Le signal Tl est appliqué à l'entrée d'un circuit 20 de réactivation çui conserve en mémoire l'ordre de succession des arrêts des calculateurs 1 sous la commande de l'agencement de contrôle de temps, arrêts qui lui sont indiqués par les signaux AH et BH. Le circuit 20 envoie un ordre de démarrage ST à réception >»0 de T1 et à destination du premier calculateur opérationnel arrêté, soit ici 72 42564 9 2159150 l'ordre AST à destination du calculateur 1A, qui reprend alors son exploitation normale. A la fin du décomptage du compteur 10, ce dernier produit un signal de Tin TZ qu'il envoie au circuit 20. Le circuit 20 produit alors un ordre binaire de 5 démarrage ST à destination du calculateur 1 encore arrêté,soit ici l'ordre B5T à destination du calculateur 1B qui reprend son exploitation. Une seconde éventualité d'arrêt se produit lorsqu'un calculateur 1 envoie un ordre d'entrée-sortie à destination d'un périphérique, c'est-à-dire à destination du calculateur 6 dans le dispositif de simulation d'environnement. 10 Dans ce cas le calculateur concerné, par exemple 1A, envoie simultanément un ordre -qui comprend par exemple l'adresse du périphérique concerné, éventuellement des données à destination de ce périphérique et des bits de contrôle- et une information binaire IRQ d'accompagnement qui valide les données binaires qui constituent l'ordre. L'ordre est transmis au registre 13AC dans l'exemple 15 choisi et 1'informationAIRQ au registre 13C à destination de l'agencement de contrôle de temps de manière à signaler la mise en suspens du calculateur 1A. L'information AIRQ active d'une part une sortie du circuit 16 qui fournit un signal binaire impulsionnel AR spécifique au calculateur 1A et la sortie du circuit 16 qui fournit le signal binaire stable ARDC. 20 Le signal AR est appliqué au compteur 9 et aux circuits 15 et 21 via le cir cuit OU 17', il commande donc l'arrêt du comptage de temps réel, l'envoi du signal d'arrêt BSBS au calculateur 1B en exploitation et l'envoi de l'interruption SIRTO au calculateur 6. Le signal ARDC appliqué à l'entrée du compteur 10 via le circuit NAND 18 25 entraîne la mise en route du comptage de ce compteur 10 au rythme de l'horloge 8. De même que précédemment le calculateur 1B s'arrête en fin de séquence et envoie une information BCPUH, via 13B. Cette information produit le signal BRDC qui s'ajoute à ARDC à l'entrée du circuit NAND l8^ce qui entraîne l'arrêt du compteur 10 qui a mesuré un intervalle de temps égal au temps séparant la mise 30 en suspens du premier calculateur 1A de l'arrêt en fin de séquence du calculateur 1B. , Le calculateur de simulation 6 vient lire les informations contenues dans le registre 13AC après avoir pris connaissance de la nature de l'interruption sigialée ici par AIN dans le registre 13C où cette information, d'un type 35 identique à MILIN, est mémorisée après avoir été introduite d'une manière clas3ique1 non figurée pour des raisons de simplification de l'exposé. Dans un exemple de réalisation,si l'opération d'entrée-sertie en cours correspond à une opération d'envoi d'informations à destination d'un périphérique, le calculateur 6 prend connaissance des données contenues dans le registre 13AC U0 et doit envoyer une information de réponse IARQ au calculateur opérationnel qui 72 42564 10 2159150 a envoyé ces données de manière à faire connaître qu'il les a bien reçues. Si l'opération d'entrée-sortie en cours correspond à une opération Je dOBi^iide d'informations à un périphérique, le calculateur 6 prend connaissance des données de la demande dans le registre 13AC ou 13BC concerné et doit envoyer les 5 informations de réponse et l'information IAPQ pour valider ces données. Dans chaque cas ,1e signal IARQ et les signaux qu'il accompagne éventuellement, sont envoyés après un certain temps qui correspond au temps de réponse du périphérique. Le calculateur 6 envoie les ordres CIRQ et DEM au circuit 19 pour assurer le redémarrage; ce circuit 19 produit alors successivement les 10 signaux TO, T1, TN dans l'exemple choisi. Lo signal TO comr.inde 1s cc~pt-ire du tomps réel par le 9 et le signal TO corr-ande ls décomptage du compteur 10 et les signaux Tl et/appliqués à deux entrées d'un circuit 22 de réactivation qui mémorise l'ordre de succession des mises en suspens des calculateurs 1 , qui sont indiquées par AR et BR. Le circuit 22 ayant préalablement reçu AR dans 15 l'exemple choisi, fournit un signal ADC de mise en décomptage du compteur lUA à réception de Tl. En fin de décomptage le compteur lUA envoie une information binaire de reconnaissance AIARQ au calculateur 1 A.-Cette information valide les informations contenues dans le registre 13AC et commande la remise en exploitation du calcula-20 teur 1A jusqu'alors en suspens. Dans un exemple de réalisation,les informations contenues dans les registres 13AC ou 13BC correspondent,d'une part à des données relatives au code de condition du périphérique simulé, c'est-à-dire à son état dans le cas de réponse à un ordre envoyant des données au périphérique simulé, et d'autre part à des données relatives au code de condition du périphérique 25 simulé et aux informations qu'il fournit, dans le cas de réponse à une demande d'informations du calculateur. De même que précédemment .pendant ce temps, le compteur 10 décompte et à son retour à zéro il envoie un sigjial TZ au circuit 20 qui produit l'ordre BST à destination de 1B. Il doit être compris que dans ce cas l'ordre de démarrage 30 des calculateurs 1 ne dépend que des valeurs de départ des décomptages des compteurs 10 et lUA, qui sont bien entendu indépendantes. Une troisième éventualité d'arrêt se produit lorsque les deux calculateurs 1 se mettent en suspens quasi-simultanément pour envoyer chacun un ordre d'entrés-sortie. 35 Le calculateur 1, par exemple 1A, qui se met en suspens en premier, produit une information AIRQ à destination du circuit 1ô,ce qui entraîne la production des signaux AR et ARDC. Le signal AR arrête le compteur 9« commande les envois d'un ordre BSBS et d'une interruption SINT0. L'ordre BSBS reste sans effet sur le calculateur 1B qui s'est mis lui-même en suspens pour l'envoi d'un ordre *•0 d'entrée-sortie et a produit l'information BIRQ. Le circuit 16 produit les 72 42564 2159150 signaux BR et BRDC et ce dernier arrête le comptage du compteur 10. Le calculateur 6 va lire la cause d'interruption dans le registre 13C qui contient dans ce cas les informations AIN et BIN ainsi que leur ordre d'arrivée signalé par leur indice 1 ou 2. Après avoir pris connaissance des informations 5 contenues dans 13AC pour le calculateur 1A, le calculateur 6 prépare la réponse, en fournit les élément éventuels au registre 13AC et charge le compteur 1UA de temporisation à la valeur correspondant au temps de réponse du périphérique simulé au cours de cette phase, cette charge s'effectuant par l'intermédiaire de l'information IFD validée par ATIF. 10 Le calculateur 6 prépare ensuite la réponse destinée au calculateur 1B, en fournit les éléments éventuels au registre 13BC et charge le compteur lUB à la valeur de temporisation voulue par l'intermédiaire d'une information IFD différente de la première et validée par BTÏF. Le calculateur 6 envoie au circuit 19 les ordres CIRQ et DEM, ce circuit 15 produit successivement les signaux TO, T1, TN qui commandent les compteurs 9 et 10 et sont appliqués au circuit 22. Ce circuit 22 a mémorisé l'ordre des mises en suspens successives des calculateurs 1A et 1B qui lui ont été signalées successivement par AR et BR, il fournit donc un signal DC de mise en décomptage du compteur 1U associé au 20 premier calculateur en suspens soit le sigial ADC au compteur lUA dans l'exemple choisi. Le signal ADC assure la mise en route du décomptage de 1UA depuis la valeur préalablement fixée par le calculateur 6 et transmise sous la forme de IFD. Pendant ce temps le compteur de décalage 10 poursuit son décomptage et la fin du décomptage est traduite par le signal TZ. Ce signal TZ est appliqué au 25 circuit 20 sur lequel il est sans effet et au circuit 22. A réception du signal TZ le circuit 22 produit vin second signal DC de mise en décomptage du compteur 1U associé au second calculateur en suspens soit le signal BDC au compteur ihB dans l'exemple choisi. En fin de décomptage chaque compteur 1U envoie une information IARQ au 30 calculateur auquel il est associé selon le processus décrit en relation avec le cas précédent. Une quatrième éventualité d'arrêt se produit lorsque l'un des calculateurs 1 se met en suspens alors que l'autre calculateur est en attente d'un signal de reconnaissance IARQ, c'est-à-dire pendant le décomptage d'un des compteurs 1 î*. 35 Le calculateur 1, par exemple TA, qui se met en suspens, alors que l'autre est lui-même en suspens en attente d'un signal de reconnaissance -soit ici BIARQ-, produit une information AIRQ traduisant sa mise en suspens vis-à-vis du circuit 16. L'information AR produite par 1o, arrête le compteur de temps réel 9 et commande l'envoi de l'interruption SINT0 au calculateur 6. I4O L'information AR appliquée au circuit 22 supprime l'information BDC qui 72 42564 '2 2159150 autorisait le décomptage du compteur 1l»B. De même que précédemment le calculateur 6 vient prendre connaissance de la cause d'interruption,soit ici AIN dans le registre 13C,puis des informations contenues dans 13AC, il prépare ensuite la réponse destinée à 1A et charge le registre 13AC et le compteur 1-*A. 5 Le circuit 19 produit les signaux TO, Tl, TN à réception des ordres CIRQ et DEM. Le sigial TN démarre le copipteur de temps réel 9.1e signal TO reste sans effet sur le compteur 10 au repos. Le signal Tl commande l'envoi par le circuit 22 du sigyial de décomptage DC au compteur 1^ associé au calculateur 1 qui a produit la dernière information de mise en suspens,soit l'envoi du signal 10 ADC au calculateur 1A dans l'exemple choisi. Le signal TN commande l'envoi par le circuit 22 du signal de décomptage DC au compteur 1U qui a été interrompu Boit BDC au compteur 1^B dans l'exemple choisi. Le laps de teirps compris entre ces deux décomptages, c'est-à-dire entre Tl et TN est prévu pour tenir compte du décalage entre la mise en suspens du 15 calculateur 1 déjà remis en exploitation, c'est-à-dire 1A dans l'exemple choisi, et l'arrêt du décomptage du compteur lUB suite à cette mise en suspens. De même que précédemment,les deux calculateurs 1 sont redémarrés par les compteurs 11» selon un processus analogue à celui décrit précédemment. Selon une variante du dispositif selon l'invention, l'agencement de 20 contrôle de temps comporte au moins un compteur 2k de commande d'arrêt en fin de séquence, permettant de provoquer un arrêt en fin de séquence du groupe opérationnel,un laps de temps quelconque choisi après un instant déterminé. Le compteur 2k est piloté'par l'horloge 8 et il commande le circuit 15 de la même manière que le compteur de temps réel en fin de tranche. 25 Le compteur 2U est sélectionné par une information CTIF produite par le calculateur 6 par exemple à l'occasion d'un arrêt provoqué par le compteur 9 en fin de tranche; il est positionné par l'intermédiaire de l'information IFD validée par CTIF. Le compteur 2k est démarré par le même signal que le compteur 9 et envoie en fin de décomptage un sigsal d'arrêt MICIN au circuit 15 pour 30 commander l'arrêt en fin de séquence des calculateurs 1 et au registre 13C pour signaler la cause d'interruption au calculateur 6. Ce compteur 2k permet d'obtenir une analyse plus fine des phases en autorisant l'arrêt à un instant égal à une fraction de tranche et, par exemple, à un multiple de la micro-seconde. Il doit être compris, de plus,que la variante de réalisation peut comporter plusieurs 35 compteurs 2b identiques de manière à pouvoir programmer plusieurs arrêts successifs à l'intérieur d'une mince tranche. Bien que les principes de la présente invention aient été décrits ci-dessus en relation avec un exemple particulier de réalisation, on comprendra clairement que ladite description est faite seulement à titre d'exemple et ne limite pas la portée de l'invention. 72 42564 ^ 2159150 REVENDICATIONS 1. Agencement de contrôle de temps réel pour dispositif de simulation destiné à permettre la mise au point de la programmation prévu;-pour un système qui fonctionne en temps réel et qui est géré en partage de charge par un groupe 5 de deux calculateurs opérationnels à programme enregistré lorsque le dispositif de simulation comporte un troisième calculateur, dit de simulation, relié aux deux calculateurs opérationnels de manière à simuler leur périphérie dans un système réel, en échangeant avec eux les données normalement échangées entre eux et leur périphérie dans ce système réel, ledit agencement étant situé dans une 10 interface insérée entre les trois calculateurs et étant caractérisé en ce qu'il comporte essentiellement : - une horloge destinée à synchroniser les bases de temps des trois calculateurs et les différents compteurs de l'agencement de contrôle de temps réel considéré ; - un compteur de temps réel, assurant d'une part le comptage du temps réel de 15 fonctionnement du groupe opérationnel sur des programmes d'exploitation du système réel et d'autre part le découpage en tranches égales de ce temps réel de fonctionnement par envoi d'un signal caractéristique à la fin de chaque tranche ; - un compteur de décalage retardant la remise en fonctionnement d'un des deux calculateurs opérationnels, par rapport à celle de l'autre, d'un temps égal à 20 celui qui s'est écoulé entre l'arrêt de ce calculateur et l'arrêt préalable dudit autre, lorsque ces deux arrêts ont succédé à une période de fonctionnement simultané de ces deux calculateurs ; - un compteur de temporisation par calculateur opérationnel, retardant la remise en fonctionnement du calculateur opérationnel auquel il est associé par rapport 25 à celle de l'autre, d'un temps égal au temps de réponse d'un périphérique choisi du système réel, suite à un arrêt du groupe opérationnel occasionné par l'envoi d'un ordre d'entrée ou de sortie de données lancé par le calculateur qui va être retardé, à destination de ce périphérique choisi, ici simulé. 2. Agencement de contrôle de temps réel selon la revendication 1 , pour 30 dispositif de simulation d'un système réel dans lequel un calculateur opérationnel se met en suspens lorsqu'il envoie un ordre d'entrée ou de sortie de données à destination de sa périphérie, ce dispositif de simulation faisant travailler alternativement le groupe des calculateurs opérationnels -dit groupe opérationnel-et le calculateur de simulation, ledit agencement étant caractérisé en ce qu'il 35 comporte : - des moyens d'arrêt du groupe opérationnel activés ,d'une part par un signal caractéristique tel que celui émis en fin de tranche par le compteur de temps réel de manière à envoyer un ordre d'arrêt en fin de séquence aux deux calculateurs opérationnels et,d'autre part par l'ordre d'entrée ou de sortie de données ii0 produit par un calculateur opérationnel , de manière à envoyer un ordre d'arrêt 72 42564 ,k '2159150 en fin de séquence à l'autre calculateur opérationnel ; - des moyens d'interruption du calculateur de simulation activés,d'une part por 1 ' information d'arrêt produite par le premier calculateur opérationr.ol qui s'arrête en fin de séquence, suite à l'envoi d'un ordre d'arrêt en fin de séquence aux 5 deux calculateurs opérationnels,et d'autre part par l'ordre d'entrée ou de sortie de données produit par un calculateur opérationnel, de manière à envoyer une interruption au calculateur de simulation en vue de le mettre au travail ; - des moyens de réactivation du groupe opérationnel, du compteur de temps réol et éventuellement,des autres compteurs de l'agencement, ces moyens étant activés par 10 une information de démarrage produite par le calculateur de simulation à la fin d'un travail provoqué par une interruption reçue des moyens d'interruption. 3. Agencement de contrôle de temps selon la revendication 2, caractérisé en ce qu'il comporte des moyens d'arrêt du compteur de temps réel activés,d'une part par l'information d'arrêt produite par le premier calculateur qui s'arrête 15 en fin de séquence, suite à l'envoi d'un ordre d'arrêt en fin de séquence aux deux calculateurs opérationnels et,d'autre part par l'ordre d'entrée ou de sortie de données produit par un calculateur opérationnel, de manière à maintenir ce compteur de temps réel à la position qu'il occupe à l'instant de son arrêt. 1». Agencement de contrôle de temps selon la revendication 3, caractérisé 20 en ce qu'il comporte : - des moyens de mise en route du compteur de décalage, activés de la même façon que les moyens d'arrêt du compteur de temps réel ; ou de mise en suspens - des moyens d'arrêt du compteur de décalage, activés par l'information d'arrêt/ du calculateur opérationnel encore en fonctionnement après la mise en route de ce 25 compteur de décalage, de manière à arrêter le comptage après -on laps de temps correspondant au décalage entre les deux calculateurs opérationnels. 5- Agencement de contrôle de temps selon la revendication U, caractérisé en ce qu'il comporte : - des moyens pour sélectionner un compteur de temporisation, activés par une 30 information fournie par le calculateur de simulation suite à une interruption occasionnée par l'envoi d'un ordre d'entrée ou de sortie de données par le calculateur opérationnel associé à ce compteur de temporisation ; - des moyens pour positionner un compteur de temporisation sélectionné à une valeur déterminée correspondant au temps de réponse d'un périphérique quelconque 35 du système réel, activés par un groupe de données fournies par le calculateur de simulation, ces données étant variables en fonction de la valeur déterminée choisie. 6 Agencement de contrôle de temps réel selon la revendication 2, caractérisé en ce que les moyens de redémarrage comportent un circuit de synchronisation, 1»0 activé par l'information de démarrage, fournissant des sigiaux de sortie décalés 72 42564 15 2159150 dans le temps de manière à assurer l'échelonnement correct des démarrages des calculateurs opérationnels, après arrêt ou mise en suspens, et de ce fait des différents compteurs en tenant conçite d'une part des positions géographiques de ces éléments et d'autre part des circuits constituant les moyens qui intervien-5 nent dans ces redémarrages. T. Agencement de contrôle de temps réel selon la revendication 6, caractérisé en ce que les moyens de réactivation comportent : - un premier circuit de réactivation mémorisant,jusqu'à l'envoi d'un ordre de démarrage à un calculateur opérationnel, l'information d'arrêt en fin de séquence 10 produite par ce calculateur, de manière à envoyer un tel ordre de démarrage à ce calculateur,d'une part à réception du signal de fin de comptage du compteur de décalage si ce calculateur a produit la dernière information d'arrêt encore mémorisée.d'autre part à réception d'un signal-issu du circuit de synchronisation, si ce calculateur a produit la première de deux informations d'arrêt simultanément 15 mémorisées, le signal issu du circuit de synchronisation étant antérieur au signal du compteur de décalage ou au plus simultané ; - un second circuit _de réactivation mémorisant,jusqu'à l'envoi d'un ordre de remise en exploitation à un calculateur opérationnel, l'information d'accompagnement signalant la mise en suspens de ce calculateur, de manière à envoyer un 20 tel ordre de remise en exploitation à ce calculateur à réception du signal de fin de comptage du compteur de temporisation associé, si ce calculateur a produit une information d'accompagnement encore mémorisée. 8. Agencement de contrôle de temps selon la revendication 7> caractérisé en ce que le second circuit de réactivation est relié à deux sorties du circuit 25 de synchronisation et à la sortie du compteur de décalage de manière à activer ur 9- Agencement de contrôle de temps selon la revendication 2, caractérisé en ce qu'il comporte au moir.s un compteur de commande d'arrêt en fin de séquence 35 produisant, à un instant réel quelconque choisi, un arrêt en fin de séquence du groupe opérationnel par envoi d'un signal caractéristique aux moyens d'arrêt du groupe opérationnel.