FR 2679354 A1 19930122 FR 9109169 A 19910719 APPAREIL DE DIAGNOSTIC DE DEFAUT POUR VEHICULE AUTOMOBILE La présente invention concerne les appareils de diagnostic des défauts apparaissant sur des véhicules automobiles, ces défauts modifiant un ou plusieurs signaux électriques, soit qu'ils soient constitués par la défaillance d'un capteur, soit qu'ils modifient un paramètre détecté par un capteur installé à bord du véhicule. La complexité sans cesse croissante des systèmes installés à bord des véhicules automobiles et l'utilisation de l'électronique pour remplir des fonctions en nombre toujours accru rend long et difficile le diagnostic des défauts et de l'origine des pannes par des processus traditionnels et conduit souvent à des réparations ou des remplacements de pièces qui ne sont pas les plus appropriées. On a déjà proposé de nombreux dispositifs de diagnostic destinés à faciliter la recherche de l'origine des pannes ou défauts de fonctionnement. On peut notamment citer des appareils d'atelier ou embarquables qu'on peut raccorder au faisceau électrique du véhicule, souvent par un connecteur prévu à cet effet sur le véhicule des différents systèmes. L'appareil permet alors de vérifier le fonctionnement. Il comporte souvent des modules de mémoire permettant d'adapter le calculateur de l'appareil à la nature du véhicule à vérifier et, dans certains cas, au système à vérifier, choisi par le mécanicien à partir des symptômes indiqués par le client. On peut notamment citer, à titre d'exemples, l'appareil de diagnostic embarquable IDEM 5 de la demanderesse, et les dispositifs décrits dans les documents FR-A-2 641 085 (Actia) et 2 617 597 (Automobiles Peugeot et autre) auxquels on pourra se reporter. Ces appareils ne sont mis en place sur le véhicule qu'au moment où l'on entame le processus de recherche d'origine d'une panne ou d'un défaut de fonctionnement signalé par le conducteur du véhicule. La présente invention part de la constatation que la détection de l'origine d'un défaut, et notamment d'un défaut fugitif, peut être notablement facilitée si on dispose non seulement des données de fonctionnement lors de l'examen du véhicule, mais aussi de données représentatives du fonctionnement antérieur. Elle part aussi de la constatation qu'il est possible de prévoir, à bord du véhicule, un module, qui reste de prix acceptable, prévu pour recevoir, à intervalles réguliers ou en cas de dysfonctionnement, des signaux en provenance des différents calculateurs prévus sur le véhicule et qui mémorise les informations correspondantes, sous forme brute ou, mieux, après un pré-traitement sommaire. A partir de ces constatations, l'invention vise à fournir un appareil de diagnostic raccordable temporairement sur un tel module soit en atelier, soit pendant un parcours d'essai du véhicule, permettant une identification rapide et fiable de l'origine des défauts et, dans un mode avantageux de réalisation, donnant des indications sur les réparations appropriées à effectuer. Dans ce but, l'invention propose notamment un appareil raccordable temporairement à un module embarqué de mémorisation et de prétraitement de signaux provenant des capteurs de différents systèmes du véhicule, ayant un microprocesseur, une interface d'utilisateur à clavier d'entrée de données d'interrogation et écran de visualisation, une interface de liaison du microprocesseur avec le module, une mémoire vive de travail et une mémoire de masse, ayant une capacité de plusieurs dizaines de Moctets au moins, dans laquelle sont chargés un logiciel système expert de diagnostic, un logiciel de communication avec ledit module constitué d'une bibliothèque de fonctions de communication activables à la demande par le logiciel de diagnostic, et un logiciel de gestion de base de données mémorisant les causes de pannes en fonction des symptômes et interrogeable par le logiciel de diagnostic. La mémoire de masse comporte de plus, dans un mode avantageux de réalisation, un logiciel de génération d'arbres de réparation, reprenant sous forme informatique les méthodes de réparation préconisées par les systèmes experts traditionnels des constructeurs automobiles et permettant, pour chaque véhicule et pour chaque défaut, d'une part de dérouler l'arbre correspondant à la panne déterminée par le système expert et d'autre part, au cours des opérations de réparation, de vérifier que l'élimination attendue de certains défauts est effective. L'invention sera mieux comprise à la lecture de la description qui suit d'un mode particulier de réalisation, donné à titre d'exemple non limitatif. La description se réfère aux dessins qui l'accompagnent, dans lesquels - la figure 1 est un schéma de principe d'un appareil suivant l'invention et de ses liaisons, en particulier avec un module embarqué - la figure 2 est un synoptique de principe montrant un mode possible de génération de diagnostic ; et - la figure 3 est un organigramme montrant un mode particulier de mise en oeuvre de la méthodologie de la figure 2. Avant de décrire la constitution d'un appareil selon l'invention, on rappellera brièvement une constitution possible du module embarqué 10 auquel il se raccorde. Le module 10 montré schématiquement en figure 1 peut être regardé comme comprenant un microcontrôleur 12 relié à une mémoire programme 14 et à une mémoire sauvegardée de données de diagnostic 16, ayant l'une ou l'autre une capacité d'une dizaine de Koctets. Les entrées du microcontrôleur 12 sont reliées, par des interfaces de communication non représentées, à des capteurs qui peuvent être de nature logique et fournir un signal binaire (par exemple état ouvert ou fermé, haute impédence ou basse impédence, sortie inférieure ou supérieure à un seuil, etc.) ou analogique (valeur d'une résistance, d'une capacité, etc.). La figure 1 montre simplement, à titre indicatif, un capteur logique 18 et un capteur analogique 20. Beaucoup de véhicules comportent maintenant des calculateurs affectés chacun à une fonction, par exemple l'injection d'essence, l'allumage, la commande du freinage pour éviter le blocage des roues, la commande active de la suspension. Le module 10 peut être prévu pour recevoir des informations en provenance de ces calculateurs, soit périodiquement, soit sur demande du module. Pour cela le microcontrôleur peut être muni d'un bloc de transmission asynchrone série normalisé de type UART 24 et d'une interface 26. L'une des lignes de sortie de l'interface 26 est alors dédiée à la liaison avec l'appareil selon l'invention. On supposera dans ce qui suit que le module 10 est prévu pour effectuer par l'intermédiaire de l'interface 26, une surveillance à cadence élevée des calculateurs dont le fonctionnement correct est vital pour l'utilisation ou la sécurité du véhicule (par exemple par scrutation toutes les 100 ms) une surveillance à périodicité importante, dépassant la minute, des calculateurs pilotant des processus à évolution lente ou de confort. On supposera encore, dans ce qui suit, que le microcontrôleur 12 est prévu pour affecter, à chaque défaut décelé, un code, par exemple sur deux octets, ayant un groupe de bits de poids fort indiquant l'origine du défaut, identifié par le système d'où provient le signal (contrôle des paramètres du moteur, injection, freinage, suspension, etc.) et des bits restants qui indiquent, suivant un catalogue prédéterminé, la nature de la défaillance constatée. Par exemple les quatre bits de poids fort 0010 peuvent indiquer que la défaillance constatée concerne le freinage. On voit ainsi que le module 10, après une période de fonctionnement, contient des données représentatives des diverses défaillances constatées, pour une période de temps qui peut être de plusieurs jours ou davantage. En particulier, la mémoire du module 10 peut comporter une indication des défauts constatés, l'indication s'ils sont permanents ou fugitifs et, dans le second cas, des indications sur des paramètres d'environnement lors de l'apparition et de la disparition du défaut. L'appareil montré schématiquement en figure 1 comprend un microprocesseur 28 associé à une mémoire vive de travail 30, par exemple de deux Moctets, et à une mémoire de masse 32 ayant une mémoire d'environ 100 Moctets. Cette mémoire peut être constituée par une unité de disque dur ou par une unité à disque optique. La carte portant le microprocesseur 28 est reliée à une interface d'utilisateur ayant un clavier d'entrée de données et un écran 36 graphique permettant d'afficher soit des indications alphanumériques, soit des graphiques illustratifs. Enfin, le microprocesseur comporte une liaison susceptible d'être reliée à l'interface 26 du module 10, à travers une interface 37 qu'implique la mise en oeuvre de l'invention. L'interface 37 comporte - un micro-contrôleur qui gère la liaison (RS 232) avec le microprocesseur 28, - une UART pour gérer la ligne spécialisée avec l'interface 26 du module 10. Une seconde liaison spécialisée 38 vers l'extérieur, par exemple par l'intermédiaire du réseau commuté ou du réseau Transpac, peut être prévue pour assurer la mise à jour des données contenues dans les mémoires. L'appareil est avantageusement conçu de façon à pouvoir fonctionner suivant plusieurs modes mode configuration, permettant d'effectuer le diagnostic du module 10 et, si nécessaire, d'adapter la configuration du module 10 par téléchargement ; le mode configuration permet également d'obtenir la configuration du véhicule en systèmes électroniques. mode diagnostic, dont il sera essentiellement question plus loin, qui regroupe la lecture des défauts mémorisés dans le module 10 et de leur contexte, la lecture de l'historique du véhicule équipé (mémorisé dans le module 10), éventuellement l'effacement des défauts mémorisés dans le module 10 ; en module diagnostic, on fait également le traitement de toutes ces données. le mode réglage, optionnel, qui peut permettre le réglage de paramètres spécifiques des systèmes du véhicule par l'intermédiaire du module 10, par exemple l'avance à l'allumage ou la richesse du mélange pour tenir compte d'affectations spéciales, ou encore le recalibrage de fonctions adaptatives après réparation éventuellement, un mode transparent donnant à l'appareil 22 un accès direct aux calculateurs par l'intermédiaire du module 10, auquel on donne alors une configuration transparente, ce mode de fonctionnement étant particulièrement utile lors de la mise en oeuvre des arbres de dépannage et lors d'essais routiers portant sur le diagnostic d'un défaut précis. La mémoire de masse 32 contient plusieurs logiciels, en plus du logiciel de communication qui peut avoir n'importe quelle constitution connue. Le logiciel de diagnostic, du type système expert, utilise avantageusement un générateur de systèmes experts d'ordre 0+, qui dédie l'utilisation du générateur à toutes les phases d'ordre logique du premier ordre, c'est-à-dire à tous les avènements qui à un moment ou à un autre peuvent être évalués comme étant soit dans un état "vrai", soit dans un état "faux". Le générateur est alors adapté au suivi des évènements et à leur synchronisation. Le générateur interprète les évènements et les actions à réaliser. La méthodologie peut alors être celle schématisée en figure 2 dans le cas où le système expert non seulement aide au diagnostic des défauts, mais aussi constitue une aide à la réparation. Le système expert comporte une base de faits 40 et une base de règles de décomposition 42, l'une et l'autre contenues en mémoire 32. Un moteur d'inférence 44 permet, à partir d'une liste de hiérarchisation des causes 46 prédéterminée, d'extraire la cause prioritaire 48. Une vérification est alors effectuée par le système sur cette cause 50. Un moteur d'inférence 52 permet d'effectuer une série de tests à partir d'une base 54 de règles de validation de la cause. Si la cause est validée, le processus se poursuit. Dans le cas contraire, il y a retour à l'extraction, pour vérification à partir de la cause identifiée comme d'ordre hiérarchique immédiatement inférieur. A l'issue d'une ou plusieurs boucles, une cause est validée en 56. L'organisation des éléments logiciels peut être la suivante La base de faits (figure 2) reçoit l'ensemble des symptômes dès qu'ils sont valides - codes défauts, - symptômes client, - données constructeur. Les bases de règles sont organisées en "paquets" de façon à activer le moteur d'inférence sur le paquet déterminé en fonction de l'arrivée des éléments dans la base de faits. Les paquets de règles peuvent s'activer mutuellement en conservant leur environnement avant de changer d'orientation. De cette façon, le diagnostic peut s'orienter sur une cause, puis sur une autre et revenir ensuite à la première. Le processus peut se parcourir avec un nombre de profondeurs variable. Le moteur d'inférence ne fait que développer son algorithme de raisonnement sur les paquets de règles actifs. Le chainage avant sera surtout utilisé lors des phases de déduction - décomposition des symptômes en causes, - hiérarchisation, - extraction de la cause prioritaire. La base de règles de décomposition associera à un symptôme des causes ayant un poids de validité. La hiérarchisation sera faite par des règles qui exprimeront la logique de classement. Le chaînage arrière sera essentiellement utilisé dans les phases de validation et de réparation. Le raisonnement chainage arrière correspond tout à fait au parcours interactif d'arbres de diagnostic puis de réparation (interactivité constante avec l'utilisateur : question/réponse, graphiques - avec le véhicule : demande de mesures analogiques automatisées et demande de données calculateur en mode transparent). Cette utilisation du générateur de systèmes experts sera renouvelée dans la partie diagnostic où les causes ne sont pas dans la trame. L'opération de validation de cause termine le diagnostic dans le cas où l'on cherche uniquement une identification de la cause des défauts. Dans le cas d'une aide au diagnostic, un nouveau cycle d'inférence 58 intervient, à partir d'une base 60 de règles de réparation, pour fournir une indication sur la réparation à effectuer. Si un nouveau diagnostic indique la persistance d'un défaut, il y a retour jusqu'à l'opération 48. La mémoire 32 contient avantageusement un logiciel de présentation des défauts et de leur contexte, facilitant le diagnostic par affichage en 36 de chaque défaut, sous une forme directement intelligible. De plus, le défaut ou le contexte peut être présenté sous forme symbolique, par exemple sous forme d'une courbe ou d'un cadran indiquant, autour d'une indication de vitesse, la zone représentée par l'écart type. Il est également avantageux de réaliser le logiciel de façon qu'il puisse donner des codes représentatifs de défauts que l'on peut considérer comme "induits" et "inducteurs", "majeurs" et "mineurs". Pour aller plus avant, il est souhaitable de donner un certain nombre de définitions qui entrent en jeu dans le diagnostic Système : ensemble d'organes, de liaisons et de fonctions de calcul intervenant pour gérer une application particulière, par exemple l'injection. Fonction système : fonction de calcul faisant intervenir des paramètres d'entrée et des paramètres de sortie, par exemple la régulation de richesse. Fonction de base : fonction élémentaire faisant intervenir un organe, sur son élément de liaison et l'entrée/sortie du calculateur affecté à la fonction système où intervient la fonction de base (par exemple la fonction température). Organe : capteur ou actuateur, tel que potentiomètre, thermistance, injecteur, électrovanne. Symptôme : indication de nature quantative ou qualitative révélant l'existence d'un défaut. Défaut inducteur : défaut d'organe ou de logiciel à l'origine des symptômes. Défaut induit : défaut pour conséquence du défaut inducteur. Cause : organe à l'origine du défaut. Mode : état anormal de la "cause" à l'origine du défaut. L'exemple suivant illustre la relation entre ces différents éléments Symptôme : trou à la reprise Cause : capteur de pression Mode : bloqué état bas Symptôme 1 : agrément de conduite Symptôme 2 : consommation Symptôme 3 : calage/arrêt du moteur Symptôme 4 : à-coups Ces indications sont contenues dans la base de règles de décomposition, permettant de relier les symptômes aux causes et d'effectuer une hiérarchisation des causes selon des poids affectés à chaque cause. Le poids d'une cause sera défini en fonction des critères suivants - Majeur/Mineur, - Induit/Inducteur, - données constructeurs. Dans le cas illustré sur la figure 2, une première phase d'évaluation permet d'extraire une fonction prioritaire par rapport aux symptômes détectés. Puis une seconde phase d'évaluation détermine que cette priorité est justi- fiée en présence du contexte mémorisé dans le module 10. On arrive ainsi à identifier la fonction de base qui est en cause. Enfin, dans le cas illustré, l'arbre de dépannage est activé. La situation est notablement différente suivant la nature et le nombre des défauts. 1 / Le cas le plus simple est celui d'un défaut permanent unique dans la trame de diagnostic prévue. S'il s'agit d'un défaut sur une fonction de base, l'arbre de dépannage peut être direct et plus facilement parcouru si les bases contiennent des indications sur la probabilité relative des différentes pannes, fournies par le constructeur du véhicule. Si le défaut porte sur une fonction système, l'étude du contexte permet de déterminer la fonction de base qui est défectueuse. 2 / Dans le cas de défauts multiples permanents, deux cas peuvent se présenter. Les défauts ne sont pas liés, auquel cas ils vont être hiérarchisés en fonction de données constructeur automobile, ex. : "Majeur/Mineur" et l'un et l'autre identifiés de la façon décrite ci-dessus. S'ils sont liés, la corrélation entre les deux aura pu être décelée et identifiée préalablement par le module 10. 3 / Un problème supplémentaire est celui des défauts fugitifs. Dans ce cas, le contexte mémorisé par le module 10 présente toute son importance : la mémoire 32 peut en effet contenir des données permettant d'affecter une probabilité particulière et de tenir compte des corrélations possibles. Un indice de crédibilité est associé à chaque paramètre du contexte, afin de pouvoir corréler le défaut à un paramètre. Les paramètres corrélés perturbés ne s'interprètent pas tous de la même façon Pour certains paramètres, qu'on peut qualifier de "témoins corrélés subissants", l'évolution du paramètre n'est qu'une conséquence du défaut existant. La comparaison de la valeur moyenne d'un tel paramètre à l'apparition du défaut et à la disparition du défaut permettra de voir l'influence du défaut. D'autres paramètres, qu'on peut qualifier de "directeurs", sont corrélés à des conditions permettant au défaut de s'exprimer. Ils conduiront à comparer l'écarttype à l'apparition du défaut et l'écart-type à la disparition du défaut. Par exemple un régime moteur heurté provoque un mouvement moteur qui à son tour peut provoquer un pincement de câble ; des vibrations peuvent être cause de faux contacts. Un tel paramètre dirige vers une cause probable que le défaut seul n'aurait pas pu soupçonner ; on examine les conséquences des valeurs prises par le paramètre pour le défaut en question. Si le paramètre, après vérification, a orienté vers la cause réelle, alors on peut le qualifier de "paramètre révélateur". Par exemple le défaut électrique sur une fonction système peut n'apparaître qu'alors que l'essuie-glace est en fonctionnement. Cela suggère que le défaut n'apparaît que lors de précipitations et la base de données peut alors indiquer une probabilité de problème d'isolement électrique. Cette méthodologie est transposable au cas de défauts fugitifs multiples. Reste le cas où le défaut n'est pas enregistré dans la trame de diagnostic de la base de données avec une affectation certaine. Dans ce cas, il y aura successivement acquisition des symptômes, décomposition en cause possible, extraction de la cause la plus probable, validation de la cause et éventuellement mise en oeuvre de l'arbre de dépannage approprié. Le travail du générateur de systèmes experts est similaire, mais avec d'autres bases de règles de validation. La séparation entre causes dans la trame de diagnostic et causes hors trame est schématisée dans le cas illustré sur la figure 3. REVENDICATIONS 1. Appareil (22) raccordable temporairement à un module embarqué (10) de mémorisation et de prétraitement de signaux provenant des calculateurs (18,20) de différents systèmes du véhicule, caractérisé en ce qu'il comprend un microprocesseur (28), une interface d'utilisateur à clavier d'entrée de données d'interrogation et écran de visualisation (36), une interface de liaison du microprocesseur avec le module, une mémoire vive de travail (30) et une mémoire de masse (32), ayant une capacité de plusieurs dizaines de Moctets au moins, dans laquelle sont chargés un logiciel système expert de diagnostic, un logiciel de communication avec ledit module constitué d'une bibliothèque de fonctions de communication activables à la demande par le logiciel de diagnostic, et un logiciel de gestion de base de données mémorisant les causes de pannes en fonction des symptômes et interrogeable par le logiciel de diagnostic. 2. Appareil selon la revendication 1, caractérisé en ce que le logiciel de diagnostic comporte un générateur de systèmes experts d'ordre 0+. 3. Appareil selon la revendication 1 ou 2, caractérisé en ce que le système expert comporte une base de faits (40) et une base de règles de décomposition (42), l'une et l'autre contenues en mémoire (32) et un moteur d'inférence (44) permettant, de hiérarchiser les causes et d'extraire la cause prioritaire. 4. Appareil selon la revendication 3, caractérisé en ce que la base de règles est organisée en paquets de façon à activer le moteur d'inférence sur le paquet déterminé en fonction de l'arrivée d'éléments dans la base de faits, lesdits paquets de règles peuvent s'activer mutuellement en conservant leur environnement avant de changer d'orientation. 5. Appareil selon la revendication 3 ou 4, caractérisé en ce que le système expert comporte également un moteur d'inférence (52) permettant d'effectuer une série de tests à partir d'une base (54) de règles de validation de la cause. 6. Appareil selon la revendication 5, caractérisé en ce que le moteur d'inférence est prévu pour effectuer un chainage avant lors des phases de déduction, telles que décomposition des symptômes en causes, hiérarchisation et extraction de la cause prioritaire et un chainage arrière dans les phases de validation, par parcours interactif d'arbres de diagnostic.