FR 2965300 A1 20120330 FR 1057745 A 20100927 1 Arrière-plan de l'invention L'invention concerne le domaine général de l'aéronautique. En particulier, l'invention se rapporte à la commande d'une turbomachine d'un moteur d'aéronef. Typiquement, le fonctionnement d'une turbomachine est régulé par une unité électronique de commande, qui met en oeuvre une boucle de régulation principale pour asservir le régime de la turbomachine à un régime de consigne fonction de la poussée souhaitée, ainsi que des boucles de régulation secondaires pour des équipements à géométrie variable de la turbomachine. L'unité électronique de commande a aussi pour fonction d'assurer la maintenance de la turbomachine et à ce titre de réaliser des tests de maintenance lorsque l'aéronef est au sol. De manière connue, les fonctions de régulation et de maintenance de l'unité électronique sont mises en oeuvre par un logiciel applicatif exécuté par l'unité électronique de commande. Pour des raisons de certification, le développement de ce logiciel applicatif doit être réalisé conformément à une norme d'assurance en développement appelée norme « D0178B ». Cette norme présente plusieurs niveaux et le logiciel applicatif doit être développé conformément au niveau le plus contraignant, à savoir « D0178B level A », ce qui implique un coût et des délais de développement élevés. . Or, les fonctions de maintenance peuvent être sujettes à de nombreuses modifications en cours de développement ou de post-certification. A chaque modification, il est nécessaire d'effectuer toutes les vérifications imposées par la norme, ce qui implique à chaque fois des coûts et des délais important. Objet et résumé de l'invention L'invention a pour but de fournir un procédé de commande d'une turbomachine, qui ne présente pas au moins certains des inconvénients de l'art antérieur précité. En particulier, un but de l'invention est de permettre de modifier les fonctions de maintenance sans impliquer des délais et un coût importants. A cet effet, l'invention propose un procédé de commande d'une turbomachine de moteur d'aéronef, exécuté par une unité électronique de commande, le procédé comprenant : - une étape de régulation de la turbomachine mise en oeuvre, lorsque l'aéronef n'est pas au sol, par un premier module logiciel applicatif exécuté par l'unité électronique de commande, le premier module logiciel applicatif étant développé conformément à une première norme d'assurance en développement, et - lorsque ledit aéronef est au sol, une étape de réalisation d'un test de maintenance, caractérisé en ce qu'il comprend : - une étape de test de conditions d'entrée incluant une condition visant à déterminer si l'aéronef est au sol, et - lorsque lesdites conditions d'entrée sont vérifiées, une étape d'exécution, à la place du premier module logiciel applicatif, d'un deuxième module logiciel applicatif développé conformément à une deuxième norme d'assurance en développement moins contraignante que la première, l'étape de réalisation d'un test de maintenance étant mise en oeuvre par le deuxième module logiciel. Grâce à ces caractéristiques, les fonctions de régulation de la turbomachine peuvent être mise en oeuvre par le premier module logiciel applicatif certifié selon une première norme, par exemple « D0178B level A ». Les fonctions de maintenance au sol peuvent être mise en oeuvre par le deuxième module logiciel applicatif certifié selon une norme moins contraignante, par exemple « D0178B level D » ou « D0178B level E ». Ainsi, en cas de modification d'une fonction de maintenance, seul le deuxième module logiciel doit être redéveloppé. Comme le deuxième module logiciel est développé conformément à une norme moins contraignante, ce redéveloppement n'implique pas un coût et un délai important. Les conditions d'entrées peuvent comprendre en outre une condition visant à déterminer si le moteur est à l'arrêt et une condition visant à déterminer si une requête de mode maintenance a été reçue. Selon un mode de réalisation, le procédé de commande comprend : - une étape de test de conditions de sortie incluant une condition visant à déterminer si l'aéronef n'est pas au sol, et - lorsqu'au moins une desdites conditions de sortie est vérifiée, une étape d'exécution, à la place dudit deuxième module logiciel applicatif, du premier module logiciel applicatif. Les conditions de sortie peuvent inclure une condition visant à déterminer si une requête de mode normal a été reçue et/ou une condition visant à déterminer si le moteur n'est pas à l'arrêt. Selon une variante, le procédé de commande comprend, lorsqu'au moins une desdites conditions de sortie est vérifiée, une étape de réinitialisation de ladite unité électronique avant ladite étape d'exécution, à la place dudit deuxième module logiciel applicatif, du premier module logiciel. L'invention propose également un programme de commande comprenant des instructions pour l'exécution d'un procédé de commande conforme à l'invention lorsque le programme est exécuté par un ordinateur. L'invention fournit également une unité électronique pour la commande d'une turbomachine, ladite unité électronique comprenant une mémoire contenant un programme de commande conforme à l'invention. L'invention propose enfin un moteur d'aéronef comprenant une turbomachine et une unité électronique conforme à l'invention. Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : la figure 1 représente, de manière très schématique, une turbomachine de moteur d'aéronef ; la figure 2 représente schématique une unité électronique pour la commande de la turbomachine de la figure 1, et la figure 3 représente les principales étapes d'un procédé de commande selon un mode de réalisation de l'invention.35 Description détaillée d'un mode de réalisation L'invention sera principalement décrite ci-après dans le cadre de son application à une turbomachine de moteur de propulsion pour avion telle que par exemple celle montrée de façon très simplifiée sur la figure 1. L'invention est toutefois applicable à d'autres turbomachines, notamment des turbines d'hélicoptères. La turbomachine de la figure 1 comprend une chambre de combustion 1, les gaz de combustion issus de la chambre 1 entraînant une turbine haute pression (HP) 2 et une turbine basse pression (BP) 3. La turbine HP 2 est couplée par un arbre à un compresseur HP 4 alimentant la chambre de combustion 1 en air sous pression tandis que la turbine BP 3 est couplée par un autre arbre à une soufflante 5 en entrée du moteur. Le fonctionnement de la turbomachine est commandé par une unité électronique 10, qui met en oeuvre une boucle de régulation principale pour asservir le régime de la turbomachine à un régime de consigne fonction de la poussée souhaitée, par ajustement du débit de carburant amené à la chambre de combustion 1. L'unité électronique 10 a également pour fonction, lorsque l'avion est au sol, d'effectuer des tests de maintenance de l'avion. La figure 2 représente l'unité électronique 10. L'unité électronique 10 présente l'architecture matérielle d'un ordinateur et comprend notamment un processeur 11, une mémoire morte 12, une mémoire vive 13 et une interface de communication 14. Le processeur 11 permet d'exécuter des programmes d'ordinateur mémorisés dans la mémoire morte 12 en utilisant la mémoire vive 13. Les programmes d'ordinateur mémorisés dans la mémoire morte 12 incluent notamment un programme de commande composé d'un premier module logiciel applicatif, d'un deuxième module logiciel applicatif et d'un verrou logiciel. Le premier module logiciel applicatif, le deuxième module logiciel applicatif et le verrou logiciel peuvent être développés, compilés et exécutés par le système d'exploitation de l'unité électronique 10 indépendamment l'un de l'autre. Le premier module logiciel applicatif contient les instructions pour la mise en oeuvre des fonctions de régulation de la turbomachine. Il a été développé selon la norme d'assurance en développement « D0178B level A ». Le deuxième module logiciel applicatif contient les instructions pour la mise en oeuvre des fonctions de maintenance de la turbomachine. Il a été développé selon la norme d'assurance en développement « D0178B level D » ou « D0178B level E », qui est moins contraignante que « D0178B level A ». Enfin, le verrou logiciel a pour fonction d'assurer l'exécution par défaut du premier module logiciel applicatif, et l'exécution du deuxième module logiciel applicatif lorsque des conditions sont vérifiées. La figure 3 représente les principales étapes du verrou logiciel. A l'étape E1, le verrou logiciel teste des conditions d'entrée (CE). Les conditions d'entrée sont « L'avion est au sol », « Le moteur est à l'arrêt », et « Requête de mode maintenance reçue ». La condition « L'avion est au sol » est par exemple déterminée à partir de l'information « Poids sur roues » (« Weight-On-Whee/»). La condition « Le moteur est à l'arrêt » est par exemple déterminée à partir du régime du moteur et de la position du levier « Master Lever ». Les informations précitées peuvent être obtenues par l'unité électronique 10 par l'interface de communication 14. Enfin, la condition « Requête de mode maintenance reçue » est par exemple vérifiée lorsque l'unité électronique 10 reçoit une requête redondée, provenant d'une interface située dans le cockpit de l'avion, demandant l'exécution du deuxième module logiciel applicatif. Si les conditions d'entrée ne sont pas toutes vérifiées, le verrou logiciel lance ou poursuit, à l'étape E2, l'exécution du premier module logiciel applicatif, désigné LA1 sur la figure 3. Les conditions d'entrée sont testées périodiquement pendant l'exécution du premier module logiciel applicatif. Si les conditions d'entrée sont toutes vérifiées, le verrou logiciel lance l'exécution, à l'étape E3, du deuxième module logiciel applicatif, 30 désigné LA2 sur la figure 3. Pendant l'exécution du deuxième module logiciel applicatif, le verrou logiciel teste régulièrement, à l'étape E4, des conditions de sortie (CS). Les conditions de sortie sont « L'avion n'est pas au sol », « Le moteur n'est pas à l'arrêt », « Requête de mode normal reçue » et « Délai 35 expiré ». La condition « L'avion n'est pas au sol » est par exemple également déterminée à partir de l'information « Poids sur roues » (« Weight-On-Whee/»). La condition « Le moteur n'est pas à l'arrêt » est par exemple déterminée à partir du régime du moteur et de la position du levier « Master Lever ». La condition « Requête de mode normal reçue » est par exemple vérifiée lorsque l'unité électronique 10 reçoit une requête redondée, provenant de l'interface située dans le cockpit de l'avion, demandant l'exécution du premier module logiciel applicatif. Enfin, la condition « Délai expiré » est par exemple vérifiée si, après l'étape E3, la requête demandant l'exécution du deuxième module logiciel applicatif de la condition d'entrée « Requête de mode maintenance reçue » n'est plus reçue pendant quelques secondes. Ce délai permet d'éviter de rester bloqué dans le mode maintenance en cas de défaut de la communication entre l'unité électronique 10 et l'interface située dans le cockpit de l'avion. L'exécution du deuxième module logiciel applicatif, lancée à l'étape E3, se poursuit tant qu'aucune condition de sortie n'est vérifiée. Par contre, si au moins une des conditions de sortie est vérifiée, l'unité électronique 10 est réinitialisée à l'étape E5 puis le premier module logiciel applicatif est exécuté, à l'étape E2, à la place du deuxième module logiciel applicatif. La réinitialisation de l'étape E5 consiste à effacer toutes les zones mémoires utilisées par les modules logiciels applicatifs, afin de permettre l'exécution du premier module logiciel applicatif à partir de conditions neutres, sans tenir compte de données calculées par le deuxième module logiciel applicatif. Dans une variante, au moins une des fonctions de maintenance mises en oeuvre par le deuxième module logiciel applicatif nécessite une rotation du moteur. Il s'agit d'une rotation en ventilation sèche car le levier « Master-Lever » doit être dans une position dans laquelle la chambre de combustion 1 n'est pas alimentée. Dans cette variante, la condition de sortie « Le moteur n'est pas à l'arrêt » est inhibée. Si un développeur souhaite modifier une des fonctions de maintenance mises en oeuvre par l'unité électronique 10, il lui suffit de redévelopper le deuxième module logiciel applicatif. Comme le deuxième module logiciel applicatif ne doit pas vérifier la norme d'assurance en développement la plus contraignante, ce redéveloppement peut être rapide et peu couteux. Par ailleurs, le verrou logiciel assure que la régulation de la turbomachine est assurée, lorsque l'avion est en vol ou que le moteur est en marche, par le premier module logiciel applicatif. L'invention propose donc une architecture logicielle permettant 5 une certification et une flexibilité en vue d'éventuelles modifications. REVENDICATIONS1. Procédé de commande d'une turbomachine de moteur d'aéronef, exécuté par une unité électronique (10) de commande, ledit procédé comprenant : - une étape de régulation de ladite turbomachine mise en oeuvre, lorsque l'aéronef n'est pas au sol, par un premier module logiciel applicatif exécuté par ladite unité électronique de commande, ledit premier module logiciel applicatif étant développé conformément à une première norme d'assurance en développement, et - lorsque ledit aéronef est au sol, une étape de réalisation d'un test de maintenance, caractérisé en ce qu'il comprend : - une étape (E1) de test de conditions d'entrée incluant une condition visant à déterminer si ledit aéronef est au sol, et - lorsque lesdites conditions d'entrée sont vérifiées, une étape (E3) d'exécution, à la place dudit premier module logiciel applicatif, d'un deuxième module logiciel applicatif développé conformément à une deuxième norme d'assurance en développement moins contraignante que la première, ladite étape de réalisation d'un test de maintenance étant mise en oeuvre par ledit deuxième module logiciel. 2. Procédé de commande selon la revendication 1, dans lequel lesdites conditions d'entrées comprennent en outre une condition visant à déterminer si le moteur est à l'arrêt et une condition visant à déterminer si une requête de mode maintenance a été reçue. 3. Procédé de commande selon la revendication 1, comprenant : - une étape (E4) de test de conditions de sortie incluant une condition visant à déterminer si l'aéronef n'est pas au sol, et - lorsqu'au moins une desdites conditions de sortie est vérifiée, une étape (E2) d'exécution, à la place dudit deuxième module logiciel applicatif, du premier module logiciel applicatif. 4. Procédé de commande selon la revendication 3, dans lequel lesdites conditions de sortie incluent uné condition visant à déterminée si un requête de mode normal a été reçue. 5. Procédé de commande selon la revendication 3, dans lequel lesdites conditions de sortie incluent une condition visant à déterminer si le moteur n'est pas à l'arrêt. 6. Procédé de commande selon la revendication 3, comprenant, lorsqu'au moins une desdites conditions de sortie est vérifiée, une étape (E5) de réinitialisation de ladite unité électronique avant ladite étape d'exécution, à la place dudit deuxième module logiciel applicatif, du premier module logiciel. 7. Procédé de commande selon la revendication 1, dans lequel ladite première norme d'assurance en développement est la norme « D0178B level A » et ladite deuxième norme d'assurance en développement est la norme « D0178B level D » ou « D0178B level E ». 8. Programme de commande comprenant des instructions pour l'exécution d'un procédé de commande selon l'une des revendications 1 à 7 lorsque ledit programme est exécuté par un ordinateur. 9. Unité électronique (10) pour la commande d'une turbomachine, ladite unité électronique comprenant une mémoire (12) contenant un programme d'ordinateur selon la revendication 8. 10. Moteur d'aéronef comprenant une turbomachine et une unité électronique (10) selon la revendication 9.30