Brevet FR3137470A1 — publié le 20240105

Système de commande de vol d’un aéronef comprenant un ensemble d’actionneurs de contrôle d’aéronef et un ensemble de calculateurs de commande de vol prévus pour commander les actionneurs de l’ensemble d’actionneurs, chaque calculateur est de type duplex, comprenant une première et deuxième unités de calculs configurées pour mettre en œuvre des partitions logicielles à partir de données d’entrées, caractérisé en ce qu’au moins une donnée d’entrée synchronisée est acquise par une partition logicielle de la première unité de calcul puis transmise à une partition logicielle de la deuxième unité de calcul, les partitions logicielle de la première unité de calcul de la deuxième unité de calcul étant couplées Fig.2 Système de commande de vol d’un aéronef. L’invention est relative à un système de commande de vol d’un aéronef, prévu pour contrôler notamment des gouvernes de l’aéronef. Les aéronefs modernes, en particulier les avions de transport, comportent un ensemble de calculateurs de commande de vol qui calculent des ordres de contrôle d’actionneurs de gouvernes de l’aéronef. Ces gouvernes sont par exemple des volets ou des ailerons situés au niveau des ailes de l’aéronef, des gouvernes de profondeur situées par exemple sur un plan horizontal à l’arrière de l’aéronef, une gouverne de direction située sur la dérive, etc. Les calculateurs de commande de vol sont dissimilaires et redondants de telle façon que le système de commande de vol soit robuste à des pannes susceptibles d’affecter certains calculateurs. De plus, généralement, une partie des calculateurs sont utilisés en mode commande (COM) et les autres calculateurs sont utilisés en mode moniteur (MON), un calculateur en mode moniteur surveillant le fonctionnement d’un calculateur en mode commande. Les calculateurs sont ainsi répartis selon des couples COM/MON. A l’intérieur d’un couple COM/MON, lorsque le module MON détecte une défaillance du module COM, le module MON désactive le calculateur correspondant à ce couple COM/MON et un autre calculateur est activé à sa place. Ainsi, chacun des calculateurs est de type duplex, c’est-à-dire qu’il comprend deux modules similaires, appelés unité A et unité B, configurés pour contrôler des actionneurs selon un haut niveau d’intégrité. Chaque unité mets en œuvre des partitions logicielles d’un même logiciel. L’unité agissant en mode moniteur surveille l’unité agissant en mode commande de façon à détecter une éventuelle défaillance du couple d’unité A et B. Au sein d'une unité, deux partitions logicielles couplées sont séparées dans l’unité A et l’unité B pour que toute erreur d'une partition ne puisse pas être répercutée sur l'autre, garantissant des opérations de haute intégrité. Les partitions logicielles de l’unité A sont liées avec celles de l’unité B. La présente un exemple de l’art antérieur. La partition logicielle P1(A) mise en œuvre dans l'unité A et la partition logicielle P1(B) mise en œuvre dans l'unité B effectuent des opérations basées sur des données entrées similaires (Input 1, Input 2, Input 3). Des sources redondantes sont utilisées pour faire face aux objectifs de sécurité et s'assurer que tout comportement anormal d'une entrée est détecté, passivé et isolé, Les sorties, les résultats des calculs de la partition logicielle P1(A), sont relues par la partition logicielle P1(B). Toute divergence confirmée par l'une ou l'autre des partitions conduit les deux partitions jumelées à arrêter et à transférer leurs opérations à une autre paire sur un autre calculateur. Toute unité du calculateur planifie à l'infini une trame principale (MAF), « major frame » en anglais. Une trame principale (MAF) est composée de plusieurs trames mineures (MIF), « minor frame » en anglais. Chaque trame mineure (MIF) planifie une séquence de partitions de logiciels configurée de manière statique. Chaque trame mineure (MIF) est couplée à une trame mineure (MIF) dans l'unité opposée du même calculateur. Les trames mineures couplées peuvent être décalés d'une durée variable mais limitée. L’unité A et l'unité B sont synchronisées de manière à lancer les partitions P1(A) et P1(B) de manière synchronisée. Le démarrage d’une trame mineure (MAF) pour des partitions couplées (au démarrage de la plate-forme et au redémarrage de la partition) est synchronisé. Le formalisme imposé par des calculateurs de type duplex permet de programmer tout ou partie des partitions de logiciel dans le même sous-cycle. Chaque unité A et B comporte sa propre horloge. Bien que basé sur les même données, l'asynchronisme entre les voies créé des calculs asynchrones, dont les résultats sont différents. Il devient donc difficile et/ou impossible d'effectuer des surveillances de grandes précisions, et les commandes de vol ne peuvent donc pas faire de calcul en temps et complexité très restreint. Aujourd’hui, chacune des unités A et B a besoin des données d’entrées nécessaires à la partition logicielle P1(A) ainsi que celles nécessaires à la partition logicielle P1(B) afin de pouvoir effectuer sa fonction de surveillance envers l’autre unité. L’intégralité des données doit donc être acquise une première fois par l’unité A et une deuxième fois par l’unité B. L’invention permet de palier à cet inconvénient. Elle concerne un système de commande de vol d’un aéronef comprenant un ensemble d’actionneurs de contrôle d’aéronef et un ensemble de calculateurs de commande de vol prévus pour commander les actionneurs de l’ensemble d’actionneurs, chaque calculateur est de type duplex, comprenant une première et deuxième unités de calculs configurées pour mettre en œuvre des partitions logicielles à partir de données d’entrées, caractérisé en ce qu’au moins une donnée d’entrée synchronisée est acquise par une partition logicielle de la première unité de calcul puis transmise à une partition logicielle de la deuxième unité de calcul, les partitions logicielle de la première unité de calcul de la deuxième unité de calcul étant couplées. L’invention permet ainsi d’une réduction du nombre d'acquisitions sur un calculateur comportant une unité A et une unité B. Les performances des calculs sont augmentées, permettant par exemple des calculs pour le vol autonome et/ou lois de pilotage hautement performantes. L’invention permet aussi une réduction des erreurs et/ou événements en service. Description et modes de réalisation L’invention sera mieux comprise à la lecture de la description qui suit et à l’examen des figures annexées. Représente un calculateur de l’art antérieur. Représente un calculateur selon un mode de réalisation de l’invention. Un calculateur selon l’invention comporte deux unités A et B configurées pour mettre en œuvre des partitions de logiciel P1(A) par l’unité A et des partitions logiciel P1(B) par l’unité B, les partitions logicielles P1(A) et P1(B) étant couplées. L’acquisition des données d‘entrées (Input 1, Input 2, Input 3) se fait par une seule des deux unités puis est transférée à son unité opposée. Par exemple l’acquisition des données peut se faire par l’unité A puis transférée à l’unité B ou inversement. Selon un mode de réalisation représenté sur la , l’unité A acquière une première donnée par exemple la donnée 1 (Input 1) et une deuxième donnée, par exemple la donnée 3 (Input 3), puis transfère la deuxième donnée (Input 3) à l’unité B. L’unité B acquière une troisième donnée (Input 2). Ainsi au moins une donnée acquise par l’unité A est transférée à l’unité B. Les données sont sélectionnées et surveillées par un module de sélection et de surveillance. L’unité A effectue les calculs liés à la partition de logiciel P1(A) à partir des premières et deuxièmes données d’entrées (Input 1 et Input 3). L’unité B effectue les calculs liés à la partition de logiciel P1(B) à partir des premières et troisièmes données d’entrées (Input 2 et Input 3). Une fois les calculs effectués, un module de contrôle s’assure de la cohérence résultats et approuve ou rejette les données de sorties (Output 1, Output 2) respectives des unités A et B. La partition logicielle P1(A) de l’unité A et la partition logicielle P1(B) de l’unité B doivent être préalablement couplées et identifiées comme pouvant être synchrones, c’est-à-dire qu’un échange de données d’entrées est possible. Chaque partition logicielle est identifiée comme étant couplée ou non couplée avec une deuxième partition de logiciel par un identifiant de synchronisation (SYNC/ NON SYNC). Ainsi chaque partition de logiciel est identifiée comme faisant partie d’un couple ou non. Chaque partition de logiciel indique si son entrée analogique (ANI, Analog Input en anglais) est synchrone ou non synchrone, permettant d’indiquer si un transfert synchrone est requis pour cette donnée d’entrée. Chaque partition de logiciel indique si son entrée logique (DSI, Discret Input en anglais) est synchrone ou non synchrone, permettant d’indiquer si un transfert synchrone est requis pour cette entrée logique. Selon l’invention, les entrées logiques DSI et les entrées analogiques ANI, sont acquises par une unité, par exemple l’unité A, puis transférées à la deuxième unité, par exemple l’unité B. Chaque partition de logiciel indique si les indicateurs de ces entrées numériques (Digital Inputs labels) avec l’un des statuts de synchronisation suivants : • Soit "SYNCHRONE" • Soit, « PRIMAIRE SYNCHRONE » • Soit, « SECONDAIRE SYNCHRONE » • Soit, "NON SYNCHRONE" La configuration de chaque donnée est déterminée en fonction du besoin d'intégrité : • non synchrone: L’utilisation d’un transfert synchrone n’est pas possible car une latence n’est pas acceptable et/ou la surveillance est faite par les partitions de logiciel. • synchrone: la donnée est égale dans les deux partitions couplées. • synchrone primaire/secondaire: la donnée est égale dans les deux partitions couplées et il est nécessaire de surveiller l’intégrité du transfert. Chaque partition de logiciel regarde toutes les données dont elle fait l'acquisition et elle les configure: • non synchrone: elle garde la propriété exclusive de la donnée en question • Synchrone: la chaîne de calcul de la partition de logiciel va se charger de faire l'acquisition de la donnée et de la transférer à la chaîne de calcul opposée. Le tout en assurant que la même donnée est vue par les deux partitions de logiciel couplées. • Synchrone primaire/secondaire: la chaîne de calcul de la partition de logiciel va se charger de faire l'acquisition et de la transférer à la chaîne de calcul opposée. Dans chaque chaîne une surveillance est effectuée. Pour assurer la détection des erreurs de configuration : si un indicateur d’entrée numérique (DGI) est configurée « SYNCHRONOUS SECONDARY X » par une Partition logicielle, alors une seule étiquette DGI sera configurée « SYNCHRONOUS PRIMARY X » dans sa Partition couplée. Toute incohérence est une invalidité de configuration de synchronisation. pour une entrée numérique (DGI) configurée « SYNCHRONOUS PRIMARY X » par une partition et « SYNCHRONOUS SECONDARY X » dans sa paire de partitions, les indicateurs d’étiquette doivent correspondre. Toute non-concordance est une invalidité de configuration de synchronisation. Les données synchrones doivent avoir une latence de 5 millisecondes ou 10 millisecondes. Pour un couple de partitions de logiciels, les données primaires synchrones et les données secondaires synchrones doivent avoir la même classe de latence. Toute invalidité de configuration de synchronisation empêchera la génération de la partition de logiciel. Le nombre d'acquisitions effectuées par une partition dans une unité peut ne pas être égal au nombre d'acquisitions effectuées par sa partition jumelée. C'est notamment le cas pour les entrées très critiques pour lesquelles un nombre impair d'acquisitions est préféré afin de permettre le vote majoritaire et le rejet d'une seule entrée fonctionnant en erreur. Dans le cas de partitions synchronisées, un module de contrôle est configuré pour comparer les données de sorties de l’unité A et de l’unité B avec les données d’entrées. Si la donnée de sortie de l’unité B diffère de l’inverse de la donnée de sortie de l’unité A le module de contrôle identifie une invalidité et rejette le calcul. Ainsi, l'invention prend en charge la détection des erreurs sur le transfert pour préserver la capacité d'effectuer des opérations de haute criticité Système de commande de vol d’un aéronef comprenant un ensemble d’actionneurs de contrôle d’aéronef et un ensemble de calculateurs de commande de vol prévus pour commander les actionneurs de l’ensemble d’actionneurs, chaque calculateur est de type duplex, comprenant une première et deuxième unités de calculs configurées pour mettre en œuvre des partitions logicielles à partir de données d’entrées, caractérisé en ce qu’au moins une donnée d’entrée synchronisée est acquise par une partition logicielle de la première unité de calcul puis transmise à une partition logicielle de la deuxième unité de calcul, les partitions logicielle de la première unité de calcul de la deuxième unité de calcul étant couplées.