Brevet FR2849236A1 — publié le 20040625

Procédé de diagnostic d'un ensemble de systèmes électroniques La présente invention est relative à un procédé de 5 diagnostic d'un ensemble de systèmes électroniques comportant des composants (Ani; cni; UC En; B), produisant et consommant des données, au moins une desdites données (xi) étant susceptible de prendre une valeur particulière (xip) prédéterminée, consécutivement à l'apparition d'un défaut 10 de fonctionnement de l'un au moins des composants (Ani; Cni; UC En; B) dudit ensemble. On connaît des ensembles de systèmes électroniques de ce type, conçus notamment pour équiper des véhicules automobiles Un tel véhicule comprend couramment plusieurs 15 systèmes assurant chacun l'exécution d'une prestation telle que la commande du moteur propulsant le véhicule, la gestion de la climatisation de l'habitacle, la gestion des liaisons du véhicule au sol (freinage, suspension), la gestion de communications téléphoniques, etc, On a schématisé à la figure 1 du dessin annexé les composants matériels de l'ensemble de ces systèmes Ces composants comprennent essentiellement des unités de commande électroniques ou "calculateurs" UC Em, chaque calculateur étant éventuellement connecté à des capteurs 25 Cni et à des actionneurs Arj, tous les calculateurs étant connectés à au moins un même bus B pour y émettre ou recevoir des informations par exemple multiplexées, en provenance ou à destination des autres calculateurs connectés au bus B. Ce multiplexage est obtenu notamment, comme cela est bien connu pour le bus CAN par exemple, en introduisant les informations en cause dans des messages matérialisés par des trames de signaux numériques. A titre d'exemple illustratif, le système 52 de "commande du moteur" comprend le calculateur UCE 2, plusieurs capteurs C 2 i sensibles à des grandeurs telles que le régime du moteur, à combustion interne par exemple, la pression au collecteur d'admission de ce moteur, la 5 pression de l'air extérieur, la température de l'eau de refroidissement du moteur, celle de l'air, l'état de charge de la batterie, etc, et plusieurs actionneurs A 2 j Le calculateur UCE 2 est dment programmé pour exécuter plusieurs fonctions de commande du moteur telles que: la 10 régulation de ralenti, la régulation de la richesse du mélange air/carburant, le réglage de l'avance à l'allumage de ce mélange et la re-circulation des gaz d'échappement. Pour ce faire le calculateur UCE 2 exploite des informations venues des capteurs C 2 i précités et élabore des signaux de 15 commande des actionneurs A 2 j constitués par une vanne de commande d'air additionnel et une bobine d'allumage de bougie pour la fonction "régulation de ralenti", un injecteur de carburant pour la fonction "régulateur de richesse", la même bobine d'allumage pour la fonction 20 "avance de l'allumage" et une vanne pour la fonction "recirculation de gaz d'échappement". Les autres "prestations" évoquées ci-dessus, "climatisation de l'habitacle", "liaison avec le sol", etc sont exécutées par des systèmes d'architecture 25 analogue à celle présentée ci-dessus pour la commande du moteur. Tous ces systèmes mis en communication par un même bus B constituent un réseau multiplexé On conçoit alors que plusieurs fonctions relevant de systèmes différents peuvent 30 exploiter des informations issues de mêmes capteurs, par exemple, ce qui évite de coteuses redondances dans la structure de l'ensemble des systèmes L'utilisation d'un réseau multiplexé permet aussi de réduire de manière très importante la longueur des lignes électriques 35 interconnectant les différents éléments de l'ensemble Un tel ensemble multiplexé permet aussi la mise en place de fonctions non classiques et éventuellement complexes, faisant intervenir parfois plusieurs systèmes et dites pour cette raison "transversales" A titre d'exemple illustratif 5 et non limitatif, la perception de l'information "sac d'air (ou "airbag") déclenché", significative de ce que le véhicule a subi un choc, peut être traitée alors de manière à commander l'émission d'un appel au secours par un dispositif de téléphonie mobile embarqué dans le véhicule. 10 On connaît de la demande de brevet français N FR 01 15819, la notion de valeur particulière et son utilisation dans un procédé de diagnostic de défauts de fonctionnement d'un ensemble de systèmes électroniques. Cependant, ce procédé ne permet pas de sélectionner un 15 type de panne pour le diagnostic Par exemple, on ne sait pas rechercher uniquement des pannes provenant de la connectique par exemple, ou rechercher les pannes les plus probables en premier, cette probabilité reposant sur une connaissance des techniques de conception mises en oeuvre. Pour remédier à ces inconvénients la présente invention vise un procédé de diagnostic de défaut de fonctionnement d'un ensemble de systèmes électroniques comportant des composants (Ani; Cni; UC En; B), produisant et consommant des données, au moins une desdites données (xi) 25 étant susceptible de prendre une valeur particulière (xip) prédéterminée, consécutivement à l'apparition d'un défaut de fonctionnement de l'un au moins des composants (Ani; Cni; UC En; B) dudit ensemble, ce procédé étant caractérisé en ce que: a) durant la phase de conception, on classe les valeurs particulières suivant au moins une des catégories listées cidessous: les valeurs crées consécutivement à l'indisponibilité d'une donnée émise par une fonction, 35 les valeurs particulières crées consécutivement à la détection d'un défaut d'un capteur ou d'un actionneur, les valeurs particulières crées consécutivement à un défaut de connectique, au niveau d'un connecteur ou d'un fil, les valeurs particulières crées consécutivement à un défaut d'un calculateur, les valeurs particulières crées consécutivement à un défaut d'exécution d'un programme sur un 10 microcontrôleur et les valeurs particulières crées consécutivement à un défaut au niveau d'un réseau de communication; b) au lancement d'une phase de diagnostic, on exclut certaines classes de valeur particulière correspondant à 15 des défauts des composants connus comme étant les plus fiables; c) on sélectionne les données (xi) qui présentent une valeur particulière (xip) ; d) pour chaque donnée (xi) ainsi sélectionnée, on 20 recherche le groupe (Xoi) des données susceptibles d'être à l'origine de la valeur particulière (xip) prise par la donnée (xi) ; e) on établit la liste (X-) des données contenues dans l'intersection desdits groupes (Xoi) de données; f) on analyse ladite liste (X-) pour identifier le ou les composants de l'ensemble dont un défaut de fonctionnement est à l'origine des valeurs particulières (xip) prises par lesdites données (xi) ; g) on exclut de ladite liste (X-) les défauts dont les conséquences n'ont pas été observées; h) si aucun défaut ne subsiste à l'étape g), on repart à l'étape b) en prenant en compte des classes de défaut qui avaient été écartées 35 auparavant; i 1) sinon, on vérifie que l'un des défauts identifiés en phase g) est bien la cause du problème qui a amené à lancer ladite phase de diagnostic et si tel n'est pas le cas, on reprend l'étape h). Grâce à ce procédé, on peut rechercher des pannes suivant leur type. Selon des caractéristiques particulières, on détermine automatiquement une probabilité pour chaque donnée de prendre une valeur particulière en fonction de la catégorie 10 à laquelle elle appartient et que l'on modifie l'étape b) en prenant d'abord en compte l'étape ?. Grâce à ces dispositions, on peut orienter une recherche de panne en prenant d'abord en compte les pannes les plus probables. D'autres buts, caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre et à l'examen du dessin annexé dans lequel: la figure 1 est un schéma d'un ensemble de systèmes électroniques qu'on se propose de doter de moyens de diagnostic de défauts de fonctionnement suivant la présente invention, cet ensemble étant décrit dans le préambule de la présente description et la figure 2 est un synoptique décrivant l'application de l'invention dans un procédé de diagnostic de panne d'un système électronique. Les valeurs particulières des données produites par les composants d'un ensemble de systèmes peuvent être mises 30 en catégories, notamment durant la phase de conception, en fonction des types de défauts qu'elles traduisent. On peut distinguer les valeurs particulières fonctionnelles qui sont liées aux capteurs, actionneurs et fonctions et les valeurs particulières opérationnelles qui 35 proviennent d'un mode de réalisation particulier des fonctions par les calculateurs, les bus de données, les liaisons filaires et les connecteurs. Parmi les valeurs particulières fonctionnelles, pour un flot de données d'entrée d'une fonction, on distingue 5 différentes catégories de valeurs particulières, notamment celles déterminant une valeur invalide d'une donnée, et celles déterminant une valeur hors du domaine de définition de la donnée fixé par le concepteur. Parmi les valeurs particulières fonctionnelles, on 10 distingue aussi les valeurs particulières créées consécutivement au défaut d'un capteur ou d'un actionneur, la détection du défaut se faisant typiquement par une fonction qui pilote le capteur ou l'actionneur. Parmi les valeurs particulières opérationnelles, c'est 15 à dire provenant d'une mise en oeuvre particulière des fonctions par les calculateurs, les bus de communication entre les calculateurs et un câblage, on distingue notamment: les valeurs particulières diagnostiquant un défaut sur une liaison filaire, notamment les courts-circuits à la masse et circuits ouverts; les valeurs particulières relatives à la détection d'un défaut de communication sur un bus multiplexé, provenant notamment d'une trame de 25 données absente; les valeurs particulières relatives à l'absence d'un calculateur sur un réseau, on peut alors distinguer les valeurs particulières produites au sein du calculateur isolé et les 30 valeurs particulières produites par des calculateurs observant le calculateur isolé Cette catégorie de valeurs particulières est produite par exemple lorsque des trames de données dudit réseau sont absentes, c'est à dire qu'elles sont attendues 35 et non reçues; les valeurs particulières relatives à un défaut d'exécution sur un calculateur, qu'il s'agisse par exemple d'une corruption de mémoire, c'est à dire d'une inversion accidentelle d'au 5 moins un bit en mémoire, détectée par un CRC (Cyclic Redundancy Check) ou test de redondance cyclique d'une re- initialisation dudit calculateur suite à la détection d'une anomalie par un programme embarqué sur ledit calculateur; les valeurs particulières relatives à un défaut d'alimentation; et les valeurs particulières caractérisant une combinaison de défauts. On connaît de la demande de brevet français N FR 01 15 15819, déposée par la demanderesse, un procédé de diagnostic de défauts de fonctionnement d'un ensemble de systèmes électroniques produisant et consommant des données, au moins une desdites données (xi) étant susceptible de prendre une valeur particulière (xip) 20 prédéterminée, consécutivement à l'apparition d'un défaut de fonctionnement de l'un au moins des composants dudit ensemble, ce procédé comprenant les étapes suivantes: a) au lancement d'une phase de diagnostic, on sélectionne les données (xi) qui présentent une valeur 25 particulière (xip), b) pour chaque donnée (xi) ainsi sélectionnée, on recherche le groupe (Xci) des données susceptibles d'être à l'origine de la valeur particulière (xip) prise par la donnée (xi), c) on établit la liste (X-) des données appartenant à l'intersection desdits groupes (Xoi) de données, et d) on analyse ladite liste (X-) pour identifier le ou les composants de l'ensemble dont un défaut de fonctionnement est à l'origine des valeurs particulières 35 (xip) prises par lesdites données (x ). En mettant en oeuvre la présente invention, le procédé récapitulé cidessus est perfectionné pour prendre en compte les catégories de valeurs particulières de la présente invention Un mode de réalisation particulier de 5 ce procédé perfectionné est détaillé en regard de la figure 2 Il contient les étapes suivantes: une étape d'initialisation 210 de type connu, une étape a) 215 au lancement d'une phase de diagnostic, au cours de laquelle on sélectionne les données (xi) qui 10 présentent une valeur particulière (x p) ; au cours d'une étape b) 220 on exclut de cette liste les données faisant partie de catégories jugées plus sre par l'homme du métier, par exemple on ne retient dans un premier temps que les valeurs particulières relatives à des 15 défauts de connectique, ou, si les recherches n'ont rien donné à ce point, on rajoute des valeurs particulières de catégories précédemment exclues; au cours d'une étape c) 225, on sélectionne chaque donnée (xi) qui présente une valeur particulière (xip) ; au cours d'une étape d) 230, étant donnée la donnée (xi) ainsi sélectionnée dans l'étape a), on recherche le groupe (X-i) des données susceptibles d'être à l'origine de la valeur particulière (xip) prise par la donnée (xi) ; au cours d'une étape e) 235, on établit la liste (Xo) 25 des données appartenant à l'intersection desdits groupes (Xoi) de données; au cours d'une étape f) 240, on analyse ladite liste (X) pour identifier le ou les composants de l'ensemble dont un défaut de fonctionnement est à l'origine des valeurs 30 particulières (xip) prises par lesdites données (xi) ; au cours d'une étape g) 245, étant donné les défauts envisagés à l'étape f) 240, on exclut toutes les valeurs particulières correspondant à des défauts qui n'ont pas été observés sur le système, que ce soit par l'homme du métier 35 après vérification précise ou par observation du fonctionnement de certains composants Par exemple, un fil d'alimentation d'une lampe ne peut être en court-circuit s'il est possible d'allumer et d'éteindre la lampe Dès lors, si une valeur particulière caractérisant le dit court-circuit était envisagée, elle peut être exclue. une étape i) 255, au cours de laquelle, au cas o, après l'étape g) 245, il ne reste aucune valeur particulière à examiner, cela veut peut être dire que l'on a exclu trop de possibilités au début de l'analyse, et on réitère le 10 procédé à partir de l'étape c) 225, mais en retenant des catégories de valeur particulières exclues jusque là dans l'analyse; une étape h) 250, au cours de laquelle on examine les résultat de l'étape g) 245 et si après examen, les défauts 15 envisagés ne permettent pas d'identifier un défaut, on reprend le procédé à l'étape c) 225 en étendant le périmètre de la recherche à de nouvelles catégories de valeurs particulières au cours de l'étape i) 255. Si on considère, pour chaque catégorie, des 20 probabilités d'occurrence, tirées de mesures empiriques par exemple, on peut affecter aux différentes valeurs particulières des probabilité d'occurrence Lorsqu'une valeur particulière couvre plusieurs défauts, provenant éventuellement de catégories différentes, elle hérite de la 25 somme des probabilités d'occurrence de chacun des défauts. Alors, on reprend le procédé décrit précédemment en fonction des probabilités d'occurrence des différentes catégories de valeurs particulières Par exemple "on ajoute à la liste d'abord les éléments les plus probables puis, si 30 l'étape b) est reproduite, on ajoute à la liste, des éléments un peu moins probables et ainsi de suite jusqu'à ce qu'il reste au moins une valeur particulière à la fin de l'étape h) et/ou jusqu'à ce que la cause du défaut qui a motivé le diagnostic soit détectée. Ce procédé peut être mis en oeuvre à l'aide d'un outil informatique permettant l'édition des différents objets nécessaires à la conception et l'automatisation partielle des différentes étapes du procédé constitué par 1 ' invention. REVENDICATIONS Procédé de diagnostic de défaut de fonctionnement d'un ensemble de systèmes électroniques comportant des composants (A ni; Cni; UC En; B), produisant et consommant des 5 données, au moins une desdites données (xi) étant susceptible de prendre une valeur particulière (xip) prédéterminée, consécutivement à l'apparition d'un défaut de fonctionnement de l'un au moins des composants (Ani; Cni; UC En; B) dudit ensemble, ce procédé étant caractérisé en ce 10 que: a) durant la phase de conception, on classe les valeurs particulières suivant au moins une des catégories listées ci-dessous: les valeurs crées consécutivement à l'indisponibilité d'une donnée émise par une fonction, les valeurs particulières crées consécutivement à la détection d'un défaut d'un capteur ou d'un actionneur, les valeurs particulières crées consécutivement à un défaut de connectique, au niveau d'un connecteur ou d'un fil, les valeurs particulières crées consécutivement à un défaut d'un calculateur, les valeurs particulières crées consécutivement à un défaut d'exécution d'un programme sur un microcontrôleur et les valeurs particulières crées consécutivement à un défaut au niveau d'un réseau de communication; b) au lancement d'une phase de diagnostic, on exclut 30 certaines classes de valeur particulière correspondant à des défauts des composants connus comme étant les plus fiables; c) on sélectionne les données (xi) qui présentent une valeur particulière (xip) ; d) pour chaque donnée (xi) ainsi sélectionnée, on recherche le groupe (Xi) des données susceptibles d'être à l'origine de la valeur particulière (xip) prise par la donnée (xi) ; e) on établit la liste (Xo) des données contenues dans l'intersection desdits groupes (Xoi) de données; f) on analyse ladite liste (X-) pour identifier le ou les composants de l'ensemble dont un défaut de fonctionnement est à l'origine des valeurs particulières (xip) prises par lesdites données 10 (xi) ; g) on exclut de ladite liste (Xo) les défauts dont les conséquences n'ont pas été observées; h) si aucun défaut ne subsiste à l'étape g), on repart à l'étape b) en prenant en compte des 15 classes de défaut qui avaient été écartées auparavant; i) sinon, on vérifie que l'un des défauts identifiés en phase g) est bien la cause du problème qui a amené à lancer ladite phase de 20 diagnostic et si tel n'est pas le cas, on reprend l'étape h). j) tester physiquement le circuit en relation avec ledit signal affiché en f) 2 Procédé de diagnostic selon la revendication 1, caractérisé en ce que l'on détermine automatiquement une probabilité pour chaque donnée de prendre une valeur particulière en fonction de la catégorie à laquelle elle appartient et que l'on modifie l'étape b) en prenant 30 d'abord en compte l'étape ci-dessus.