FR 2787210 A1 20000616 FR 9815530 A 19981209 Procédé d'étalonnage d'un système électronique de contrôle-commande d'organe. La présente invention se rapporte à un procédé qui permet d'étalonner un logiciel de commande d'organe, tel qu'un moteur thermique. Les logiciels de contrôle-commande d'organe permettent, par leur exécution sur un micro-ordinateur, de contrôler des organes mécaniques à l'aide de capteurs et d'actionneurs. Des applications typiques sont le logiciel de contrôle-commande de l'injection ou le logiciel pilotant les changements de vitesses d'une boîte automatique. Ces logiciels de contrôle-commande s'exécutent sur un calculateur, c'est-à-dire un micro-ordinateur embarqué à bord d'un véhicule, d'un appareil de communication, ou tout autre matériel à composants électroniques, et muni de périphériques lui permettant de communiquer avec des capteurs et des actionneurs. Les logiciels de contrôle comprennent de nombreuses cartographies et autres paramètres permettant d'une part à un même logiciel de servir à contrôler plusieurs organes d'une même famille (plusieurs moteurs par exemple), d'autre part d'adapter un logiciel à un organe que l'on n'appréhende pas parfaitement, enfin de prendre en compte des caractéristiques d'efficacité de l'ordinateur ou du calculateur sur lequel le logiciel va être exécuté. Le choix de ces paramètres s'appelle l'étalonnage ou encore la mise au point. Quand on choisit un ensemble de paramètres d'une loi de contrôle-commande implémentée sur un calculateur, on dit qu'on l'étalonne. On utilise aujourd'hui une technique pour étalonner un contrôleur d'organe: l'étalonnage est effectué directement sur banc ou dans le contexte d'utilisation de l'organe à étalonner, avec un ordinateur/calculateur pratiquement identique à celui qui sera mis en série. Dans ce cas, un mécanisme de mémoire partagée permet l'accès aux étalonnages qui se trouvent en mémoire du calculateur. Ceci permet de mettre au point le logiciel dans son contexte d'utilisation. Des méthodes de bouclage du calculateur avec un environnement simulé peuvent aussi être pratiquées, avec un accès partagé en mémoire aux étalonnages entre le calculateur et l'outil permettant de régler les étalonnages. Chacune de ces méthodes présente des inconvénients. La première pose des problèmes de coûts et de durée car elle implique l'existence de prototypes. La seconde est difficile à réaliser car elle oblige à travailler en temps-réel. Ceci interdit souvent de travailler avec des simulateurs d'organe et d'environnement assez précis et fidèles à la réalité. Elle reste coûteuse et longue. La présente invention a pour objet un procédé qui vise un étalonnage automatique entièrement simulé o, par rapport à une situation réelle, seule l'exécution du logiciel du calculateur est mise en oeuvre par une émulation de micro-contrôleur, les parties matérielles et l'environnement de l'organe à étalonner étant entièrement simulés. Le procédé, selon l'invention, est prévu pour calibrer des paramètres d'un système de commande d'un organe pourvu d'actionneurs et de capteurs. On fournit un scénario de mise au point comprenant des valeurs pour chacun des paramètres. On exécute le scénario par un logiciel de commande, un simulateur de l'ordinateur de contrôle, un simulateur de l'organe à contrôler, et un simulateur de l'environnement de l'organe. Avantageusement, on met en oeuvre un analyseur de résultats pour déterminer les scénarios satisfaisant à des critères de bon fonctionnement de l'organe à contrôler. Avantageusement, on conserve dans un fichier les scénarios satisfaisants, les autres scénarios n'étant pas conservés. Dans un mode de réalisation de l'invention, les scénarios sont générés automatiquement en parcourant des espaces cartographiés avec des intervalles prédéterminés. Dans un autre mode de réalisation de l'invention, les scénarios sont générés aléatoirement. Dans un autre mode de réalisation de l'invention, les scénarios sont générés en fonction de scénarios testés au préalable. Dans un autre mode de réalisation de l'invention, les scénarios sont générés en fonction d'un modèle de l'organe à contrôler. On peut en attendre des économies substantielles de temps de développement et de coût et une meilleure optimisation. En effet, de nombreux tests peuvent être effectués en parallèle. D'autre part, les moyens à mettre en oeuvre sont beaucoup moins importants qu'avec l'étalonnage sur banc avec un véritable organe ou même que l'étalonnage d'un calculateur sur un modèle d'organe. Le facteur limitant est maintenant la qualité des modèles d'organe et d'environnement. L'invention est un système auquel on donne en entrée des "scénarios de mise au point". Ces scénarios sont joués par exécution du logiciel de commande interagissant avec un simulateur de l'ordinateur de contrôle, un simulateur de l'organe à contrôler et un simulateur de l'environnement. Un analyseur de résultats permet de déterminer les étalonnages qui satisfont les critères de bon fonctionnement de l'organe mécanique à contrôler. Chaque scénario de mise au point est stocké dans un fichier appelé fichier de tests système. Ces tests système peuvent être joués les uns à la suite des autres. Les tests système réussis laissent une trace contenant un étalonnage. Les tests qui échouent ne laissent pas de trace. Les scénarios de test peuvent être générés automatiquement en parcourant entièrement des espaces cartographiés avec une granularité fixée à l'avance. Par exemple, pour une cartographie dont chaque champ est sur 8 bits, ce qui représente 256 valeurs, on peut choisir une granularité 8 et balayer les valeurs O, 7, 15,... Ils peuvent aussi être écrits à la main. Ils peuvent enfin être définis à partir de méthodes euristiques exploitant ou pas les résultats obtenus auparavant, utilisant ou pas un modèle de l'organe à contrôler. Ils peuvent aussi être générés aléatoirement. Une horloge permet la synchronisation du simulateur du calculateur, du simulateur de l'organe à contrôler et du simulateur de l'environnement. Les calculs du contrôleur sont effectués suivant une ou plusieurs périodes d'échantillonnage. La synchronisation peut être réalisée sur chaque échantillonnage, qu'il s'agisse de capture de données, ou de livraison de données aux actionneurs. Elle peut être faite plus précisément encore, à chaque cycle d'horloge du calculateur. Pour fixer les idées, un cycle d'horloge du calculateur, pour un processeur à 20 MHz correspond à 50 nanosecondes. Un ensemble d'exigences exprimées sous forme de propriétés des étalonnages, doit permettre de juger de la pertinence des étalonnages. En sortie, les étalonnages qui satisfont aux exigences sont stockés dans un fichier. La présente invention effectue des tests pour déterminer des étalonnages d'un logiciel de contrôle d'organe. La présente invention sera mieux comprise à l'étude de la description détaillée d'un mode de réalisation pris à titre d'exemple nullement limitatif et illustré par les dessins annexés, sur lesquels: la figure 1 est un synoptique des différents composants intervenant dans le contrôle d'organes mécaniques; la figure 2 est une version simplifiée de la figure 1; la figure 3 décrit les différents composants utilisés par le procédé conforme à l'invention; et la figure 4 est un synoptique montrant la synchronisation entre les différents composants. Sur la figure 1, sont représentés les différents composants utilisés par le procédé d'étalonnage. /Le système d'exploitatin Le contrôleur, comprenant à la fois des circuits électroniques et des parties logicielles, effectue trois types d'actions: des acquisitions, des calculs et des commandes. Le système d'exploitation est le gestionnaire du contrôleur. Il définit l'ordre d'exécution et la fréquence des acquisitions, des commandes et des calculs. 2 / Le logiciel d'application Le logiciel d'application est composé des algorithmes de contrôle, aussi appelés "lois de commande" ou encore "lois de régulation" ou encore "stratégies". Ces lois reposent en général sur les principes du q=-- tD in, traitement du signal et/ou de l'automatique. 3/ Le logiciel de base Le logiciel de base regroupe les fonctions génériques intervenant dans les lois de commande. Un exemple classique est l'interpolation. 4 / Le logiciel de commande de périphériques Le logiciel de commande de périphériques est dédié à la gestion des périphériques du micro-contrôleur. / Périphériques du micro-contrôleur La caractéristique des microcontrôleurs, par rapport aux microprocesseurs des ordinateurs de type PC, est d'être munie de périphériques internes qui permettent de traiter de nombreux types de signaux d'entrée/sortie. 6 / Circuits "Asics" et mémoire externe Il s'agit de circuits intégrés dédiés à certaines tâches, par exemple la commande de l'allumage dans le cas d'un contrôle de moteur, et des mémoires externes. 7 / Composants de puissance Le passage de la micro-électronique à la commande de capteurs et d'actionneurs qui mettent en jeu des tensions beaucoup plus importantes, se fait par l'intermédiaire de composants de puissance. 8 / Capteurs et actionneurs Il s'agit des composants électriques et électroniques, directement au contact de l'organe mécanique contrôlé, qui permettent l'acquisition de grandeurs physiques, une pression par exemple, et la modification de grandeurs physiques intervenant dans le fonctionnement de l'organe, par exemple l'activation des injecteurs commande la quantité d'essence injectée dans les cylindres, dans le cas d'un moteur à combustion interne. 9 / L'organe à contrôler Il s'agit d'un organe mécanique tel qu'un moteur à réaction ou un moteur à combustion interne. 10 / L'environnement de l'organe à contrôler Si un conducteur roule à vitesse constante sur une route plate, en ligne droite, les paramètres de l'environnement du moteur sont constants. Plus généralement, un organe mécanique fonctionne toujours dans un certain contexte de fonctionnement. L'organe mécanique a lui aussi ses entrées et ses sorties et une consigne à suivre. Ce contexte de fonctionnement est appelé "environnement de l'organe" et dépend de nombreux paramètres tels que la façon dont le véhicule est conduit, le profil du trajet, etc. Dans le cadre de la figure 2, on procède à quelques simplifications par rapport aux composants généraux intervenant dans le contrôle d'un organe. Dans notre procédé d'étalonnage, nous prendrons en compte quatre composants distincts regroupant des entités illustrées sur la figure 1. Le contrôleur regroupe le système d'exploitation, le logiciel d'application et le logiciel de base ainsi que les circuits spécifiques asics et les mémoires externes. On traite donc au même endroit tout ce qui correspond au traitement des algorithmes ou au traitement de type calcul, ainsi que la gestion des mémoires. Le simulateur du contrôleur doit donc intégrer les modèles des composants externes comme les circuits spécifiques asics. Le niveau Interface/Présentation entre l'organe et le contrôleur regroupe le logiciel de commande des périphériques, les périphériques du micro-contrôleur, les composants de puissance et les capteurs et actionneurs. On traite au même endroit tout ce qui a à voir avec l'interface entre l'organe mécanique et le contrôleur. On utilise le terme "présentation" car il s'agit de la manière dont les signaux d'entrées et sorties du calculateur sont présentés au logiciel d'application. Un signal est émis par l'organe et se retrouve après de nombreuses transformations sous la forme d'une donnée en mémoire. Cette transformation consiste essentiellement en l'altération du signal, son échantillonnage et son dimensionnement. S1.. - I Le modèle de l'organe à contrôler modélise la partie 9 de la figure 1, à savoir l'organe lui-même. L'organe à contrôler est considéré comme un système recevant des signaux du contrôleur et de l'environnement et renvoyant d'autres signaux. Enfin, le modèle de l'environnement de l'organe est identique à la partie 10 de la figure 1. Chacune de ces quatre parties principales échange des signaux. Pour que l'ensemble fonctionne, il faut que tous ces signaux soient définis dans un unique formalisme, en choisissant des types de données et des périodes de rafraîchissement communs aux différentes interfaces. Chacun des quatre composants de la figure 2 est simulé à la figure 3, o ils correspondent aux éléments portant les références 17, 18, 19 et 20. Sur la figure 3, on voit que le fichier de scénarios de test système 1 1 sert au stockage des scénarios de test système. Les scénarios sont lus les uns à la suite des autres pour leur exécution. Chaque scénario est exécuté après que l'exécution du précédent est terminée. Un scénario de test système 12 comprend la caractérisation d'un étalonnage C à mettre au point. On sait, par ailleurs, que cet étalonnage se trouve physiquement à l'adresse A dans la mémoire du calculateur. Pour un étalonnage (C, A) donné, le scénario de test système comprend aussi la description du contexte de la mise au point, c'est-à-dire les parties 13, 14 et 15. Il comprend enfin un appel d'une routine d'écriture pour donner à l'étalonnage C la ou les valeurs que l'on veut tester. Il peut comprendre enfin des critères d'évaluation spécifiques à l'étalonnage C qui permettront de déterminer une valeur de C qui répondra aux exigences. Le contexte de fonctionnement de l'environnement de l'organe contrôlé 13 est l'ensemble de paramètres caractérisant le fonctionnement dynamique et statique de l'organe à contrôler. Ces paramètres sont déterminés en phase de conception de l'organe par des essais. Le contexte de fonctionnement de l'organe contrôlé 14 est l'ensemble de paramètres statiques et dynamiques caractérisant l'environnement de l'organe. Les paramètres de fonctionnement du calculateur 15 sont émulés au début de la simulation. Cet ensemble de paramètres peut être vide si l'on commence un essai d'étalonnage avec une remise à zéro du calculateur. L'horloge de synchronisation des pas de simulation 16 permet de synchroniser le calculateur émulé et son environnement simulé, voir figure 4. Le simulateur de l'environnement de l'organe 17 peut être un ensemble de valeurs fixes correspondant à un régime stationnaire de l'organe contrôlé. On peut avoir également des environnements "inexistants" correspondant à un scénario o le contrôle de l'organe est dit en boucle ouverte. Le simulateur de l'organe contrôlé 18 travaille en boucle fermée avec le calculateur. Le simulateur de micro-contrôleur 19 est un émulateur/simulateur de calculateur de contrôle commande. Les caractéristiques d'exécution du logiciel à étalonner 20 sont stockées dans une zone de mémoire pointant sur les étalonnages à mettre au point. On utilise comme structure de donnée typique une table de hachage pour modéliser la mémoire du contrôleur. L'analyse des résultats 21 est effectuée en sortie d'un scénario de test à partir des critères de tests et de jeux de données produits lors de la simulation en boucle fermée entre le calculateur, l'organe contrôlé et l'environnement de l'organe. Le fichier de stockage des résultats positifs et des preuves d'agrément 22 est chargé à partir d'une routine qui lorsque l'analyse d'un étalonnage est positive, stocke le résultat dans un fichier. Pour chaque étalonnage jugé correct, on retiendra le nom, l'adresse et la valeur. Le système de calcul formel 23 correspond à des critères d'analyse qui dépendent du contrôle moteur. Enfin, un écran de visualisation des résultats 24 de type PC est prévu. Sur la figure 4, est expliqué le rôle du gestionnaire de synchronisation qui est de synchroniser les quatre principaux composants du dispositif d'étalonnage. Sur le contrôleur, le gestionnaire de synchronisation assure la rmise à jour du modèle de la mémoire après chaque cycle et l'exécution des commandes du micro-contrôleur du programme embarqué en cours d'exécution, qu'il s'agisse du logiciel d'application ou du logiciel de base. L'exécution est effectuée en fonction du nombre de cycles que l'exécution de chaque commande nécessite. Sur l'interface contrôleur/organe, le gestionnaire de synchronisation assure la commande des interruptions et l'exécution des routines, la commande de l'exécution des modèles des capteurs et actionneurs et la commande de l'exécution des modèles des circuits intégrés dédiés asics. Enfin, le gestionnaire de synchronisation assure la commande de l'exécution du modèle de l'organe et la commande de l'exécution du modèle de l'environnement de l'organe. Grâce à l'invention, on dispose d'un procédé d'étalonnage économique, rapide et précis, permettant d'effectuer des tests en parallèle et ne nécessitant que la mise en oeuvre de peu de moyens. REVENDICATIONS 1. Procédé pour calibrer des paramètres d'un système de commande d'un organe pourvu d'actionneurs et de capteurs, dans lequel on fournit un scénario de mise au point comprenant des valeurs pour chacun des paramètres, on exécute le scénario par un logiciel de commande, un simulateur de l'ordinateur de contrôle, un simulateur de l'organe à contrôler, et un simulateur de l'environnement de l'organe. 2. Procédé selon la revendication 1, dans lequel on met en oeuvre un analyseur de résultats pour déterminer les scénarios satisfaisant à des critères de bon fonctionnement de l'organe à contrôler. 3. Procédé selon la revendication 2, dans lequel on conserve dans un fichier les scénarios satisfaisants, les autres scénarios n'étant pas conservés. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel les scénarios sont générés automatiquement en parcourant les espaces cartographiés avec des intervalles prédéterminés. 5. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel les scénarios sont générés aléatoirement. 6. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel les scénarios sont générés en fonction de scénarios testés au préalable. 7. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel les scénarios sont générés en fonction d'un modèle de l'organe à contrôler.