Brevet FR3039675A1 — publié le 20170203

La présente invention concerne le traitement nu- mérique d'informations par un processeur pour la commande d'un équipement. ETAT DE LA TECHNIQUE Habituellement, la commande d'un équipement est réalisée au moyen d'une fonction de transfert ayant une pluralité d'entrées et une sortie. Deux manières distinctes sont connues pour calcu- ler le résultat de cette fonction de transfert et déter- miner la commande correspondante. Une première manière consiste à traiter cette fonction de transfert en calculant à l'avance tous les résultats et en mémorisant ces résultats sous la forme d'un vecteur résultat. Le code résultant est très simple et son exécution est très rapide. En revanche, la taille du vecteur de résultat est une fonction exponentielle du nombre d'entrées et occupe une place relativement importante en mémoire. Une seconde manière consiste à décrire la fonc- tion de transfert sous la forme d'un enchaînement d'une pluralité d'opérateurs unitaires ayant une ou deux entrées et une sortie. L'espace mémoire nécessaire pour contenir la description de la fonction de transfert a une taille qui est une fonction linéaire du nombre d'opérateurs : cette taille est donc relativement limi- tée. En revanche, le calcul du résultat impose d'exécuter chaque opérateur en respectant l'enchaînement prédéterminé. Le temps de calcul qui en résulte est alors relativement long. Quelle que soit la manière retenue, les res- sources informatiques sont donc fortement sollicitées. OBJET DE L'INVENTION Un but de l'invention est de fournir une solution permettant de déterminer une commande, à partir d'une so- lution de transfert, en économisant les ressources infor- 3039675 2 matiques utilisées pour la détermination de cette commande. BREF EXPOSE DE L'INVENTION A cet effet, on prévoit, selon l'invention, un 5 procédé de commande d'un équipement par un processeur à partir d'une pluralité d'entrées d'une fonction de transfert théorique ayant une sortie représentative de la commande. La fonction de transfert théorique est décomposée en une pluralité de macro-opérateurs logiques de quatre 10 types différents et est stockée sous sa forme décomposée dans une mémoire reliée au processeur, et le procédé comprend l'étape de faire calculer la sortie, par le processeur, à partir de la forme décomposée de la fonction de transfert théorique, les macro-opérateurs logiques com- 15 prenant au moins un macro-opérateur choisi parmi quatre types, à savoir : - un macro-opérateur de premier type représentant une fonction de transfert ayant sept entrées et une sortie ; 20 - un macro-opérateur de deuxième type représen- tant deux fonctions de transfert ayant respectivement quatre entrées et une sortie et trois entrées et une sortie - un macro-opérateur de troisième type représen- 25 tant quatre fonctions de transfert ayant respectivement une entrée et une sortie - un macro-opérateur de quatrième type représentant trois fonctions de transfert, l'un ayant trois entrées et une sortie, et les deux autres ayant une entrée 30 et une sortie. La combinaison de ces types d'opérateurs permet de décrire toutes les fonctions de transfert en limitant dans la plupart des cas le nombre d'opérateurs et la complexité de l'enchaînement de ceux-ci. La taille de 35 l'espace mémoire nécessaire pour contenir la description 3039675 de la fonction de transfert reste une fonction linéaire du nombre d'opérateurs et est donc relativement limitée. En outre, le calcul du résultat est relativement rapide du fait du nombre limité d'opérateurs et que le résultat 5 est avantageusement précalculé pour chaque macroopérateur et mémorisé sous la forme d'un vecteur résultat de faible taille. On obtient de la sorte un bon compromis entre l'occupation mémoire et la rapidité d'exécution de la fonction de transfert sous sa forme décomposée. 10 D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit de modes de réalisation particuliers non limitatifs de l'invention. BREVE DESCRIPTION DES FIGURES 15 Il sera fait référence aux dessins annexés, parmi lesquels les figures 1A, 1B, 1C, 1D sont des représentations schématiques des macro-opérateurs utilisés pour récrire la fonction de transfert à 20 calculer la figure 2 est un schéma représentatif d'une partie d'une fonction de transfert décrite à l'aide d'opérateurs unitaires ; la figure 3 est un schéma représentatif de 25 cette même partie de fonction de transfert dé- crite avec des macro-opérateurs de l'invention. DESCRIPTION DETAILLEE DE L'INVENTION L'invention concerne un procédé de commande d'un équipement par une unité informatique, connue en elle- 30 même, comportant un processeur et des mémoires contenant un programme d'exploitation de l'unité informatique et au moins un programme de commande de l'équipement. La commande à appliquer à l'équipement est représentée par une sortie d'une fonction de transfert théorique ayant une 35 pluralité d'entrées. 3039675 4 On a représenté sur la figure 2 une partie de cette fonction de transfert théorique. Elle comporte 16 entrées Ii avec i variant de 1 à 16 et une sortie finale O. 5 Les entrées II et 12 arrivent à un opérateur lo- gique OU Fi ayant une sortie Si. Les entrées 13 et 14 arrivent à un opérateur logique ET F2 ayant une sortie S2. L'entrée 15 et l'entrée 14 après un inverseur Gl arrivent à un opérateur logique ET F3 ayant une sortie 53. Les en- 10 trées 16 et 14 arrivent à un opérateur logique ET F4 ayant une sortie S4. L'entrée 17 et l'entrée 14 après un inverseur G2 arrivent à un opérateur logique ET F5 ayant une sortie S5. Les entrées 18 et 19 arrivent à un opérateur lo- 15 gigue ET F6 ayant une sortie S6. L'entrée 110 et l'entrée 19 après un inverseur G3 arrivent à un opérateur logique ET F7 ayant une sortie S7. Les entrées Ill et 19 arrivent à un opérateur logique ET F8 ayant une sortie S8. L'entrée 112 et l'entrée 19 après un inverseur 04 arri- 20 vent à un opérateur logique ET F9 ayant une sortie S9. Les sorties S2 et S3 arrivent à un opérateur logique ET F10 ayant une sortie S10. Les sorties S4 et S5 arrivent à un opérateur logique ET Fil ayant une sortie SIl. Les sorties S6 et S7 arrivent à un opérateur logique 25 ET F12 ayant une sortie S12. Les sorties S8 et S9 arri- vent à un opérateur logique ET F13 ayant une sortie S13. Les sorties S10, S12 et l'entrée 113 après un in- verseur G5 arrivent à un opérateur logique ET F14 ayant une sortie S14. 30 L'entrée 114 et l'entrée 15 arrivent à un opéra- teur logique OU F15 ayant une sortie S15. Les sorties S10 et Sll arrivent à un opérateur logique OU F16 ayant une sortie S16. Les sorties S12 et S13 arrivent à un opérateur logique OU F17 ayant une sortie S17. Les sorties S16 35 et S17 arrivent à un opérateur logique OU F18 ayant une 3039675 5 sortie S18. La sortie S15 après un inverseur G6, la sortie S18 et l'entrée 113 arrivent à un opérateur logique ET F19 ayant une sortie S19. 5 Les sorties S14, S19 et l'entrée 114 arrivent à un opérateur logique ET F20 ayant une sortie S20. Les entrées 114 et 115 arrivent à un opérateur logique ET F21 ayant une sortie S21. Les sorties S1 et S20 arrivent à un opérateur lo- 10 gigue ET F22 ayant une sortie S22. La sortie S22 et l'entrée 116 arrivent à un opérateur logique NON-OU F23 ayant une sortie S23. Les sorties S21 et 23 arrivent à un opérateur logique OU EXCLUSIF F24 ayant comme sortie la sortie O. 15 Cette partie de la fonction de transfert logique comprend ainsi, dans cette représentation : 6 opérateurs unaires Gi ; 21 opérateurs binaires Fi à F13, F15 à F18, F21 à F24 ; et trois opérateurs ternaires F14, F19 et F20. 20 Pour permettre un calcul rapide de la sortie 0 tout en limitant la place nécessaire à la mémorisation de la fonction de transfert, celle-ci a été décomposée en une pluralité de macro-opérateurs logiques de quatre types différents et est stockée sous sa forme décomposée 25 dans une des mémoires reliées au processeur. Les macro-opérateurs logiques comprennent au moins un macro-opérateur choisi parmi quatre types, à savoir - un macro-opérateur 10 de premier type représen- 30 tant une fonction de transfert ayant sept entrées 11.i (avec i variant de 1 à 7) et une sortie 12.1 (figure 1A) ; - un macro-opérateur 20 de deuxième type représentant deux fonctions de transfert ayant respectivement 35 quatre entrées 21.i (avec i variant de 1 à 4) et une sor- 3039675 6 tie 22.1 et trois entrées 21.i (avec i variant de 5 à 7) et une sortie 22.2 (figure 1B) ; - un macro-opérateur 30 de troisième type représentant quatre fonctions de transfert ayant respective- 5 ment une entrée 31.1, 31.2, 31.3, 31.4 et une sortie 32.1, 32.2, 32.3, 32.4 (figure 1C) ; - un macro-opérateur 40 de quatrième type représentant trois fonctions de transfert, l'une ayant trois entrées 41.i (avec i variant de 1 à 3) et une sortie 10 42.1, et les deux autres ayant une entrée 41.4, 41.5 et une sortie 42.2, 42.3 (figure 1D). On a illustré sur la figure 3 la représentation, au moyen de macro-opérateurs de l'invention, de la partie de fonction de transfert correspondant à la figure 2. On 15 peut voir que ladite partie de la fonction de transfert est représentée sur la figure 3 par quatre macroopérateurs logiques au lieu des 30 opérateurs de la représentation de la figure 2. Les entrées 13 à 17 arrivent à un macro-opérateur 20 20A de deuxième type et les entrées 18 à 112 arrivent à un macro-opérateur 20B de deuxième type. Les deux sorties du macro-opérateur 20A, les deux sorties du macro-opérateur 20B, les entrées 113, 114 et 115 arrivent à un macro-opérateur 10A de premier type. 25 La sortie du macro-opérateur 10A de premier type, les entrées Il, 12, 114, 115 et 116 arrivent à un macroopérateur 10B de premier type dont la sortie forme la sortie O. Les entrées et sorties sont stockées dans un ta- 30 bleau de booléens unique ayant une taille inférieure à 216. Ce tableau est représenté en tableau 1. Dans ce tableau : chaque entrée et sortie est codée sur 16 bits soit un total de 144 bits, 35 le type de macro-opérateur est codé sur 16 3039675 7 bits, - le résultat est codé sur 128 bits. Chaque macro-opérateur est donc codé sur 288 bits soit 36 octets. 5 Le résultat du macro-opérateur 10 est un vecteur codé sur 128 bits (7 entrées) ; le résultat du macroopérateur 20 comprend un vecteur codé sur 16 bits (4 entrées) et un vecteur codé sur 8 bits (3 entrées) ; le résultat du macro-opérateur 30 comprend quatre vecteurs in- 10 verseurs codés sur 1 bit (1 entrée) ; le résultat du ma- cro-opérateur 40 comprend un vecteur codé sur 8 bits (3 entrées) et deux vecteur inverseurs codés sur 1 bit (1 entrée). Lors de la construction du tableau, les macro- 15 opérateurs seront ordonnés dans le tableau de façon à ce qu'il n'y ait pas de chaînage avant. Chaque entrée sera calculée et le calcul des fonctions de transfert se fera par ordre croissant des macro-opérateurs. Il est possible d'optimiser le tableau global de 20 la façon suivante. Au besoin, les macro-opérateurs peuvent être décomposés en opérateurs de transfert unitaires (7=>1, 4=>1, 3=>1, 1=>l) caractérisés par (vecteur d'entrée + vecteur de résultats + ordre). Une fois décomposés, ils 25 peuvent être réorganisés en macro-opérateurs plus effi- caces (pas de vecteur d'entrée invalide): - Suppression des opérateurs redondants (avec réajustement des entrées des opérateurs postérieurs de sa sortie). 30 - Remplissage optimal des macro-operateurs. Dans le cas où il y a beaucoup de vecteurs résultats identiques, on peut remplacer ceux-ci par un pointeur 12 bits sur un tableau de vecteurs de résultats. La taille d'un macro-opérateur devient (144 + 16) = 160 bits 35 (les 12 bits sont pris dans le type). 3039675 8 Pour 1000 macro opérateurs dont 20% de doublons, on passe d'une taille de 288000 bits à : 160000 + 800 * 128 = 262400 bits soit une réduction de taille de 9%. 5 Pour 1000 macro-opérateurs dont 50% de doublons, on passe d'une taille de 288000 bits à 160000 + 500 * 128 = 224000 bits soit une réduction de taille de 22 %. Il est possible également de séparer les macro- 10 opérateurs en ensemble indépendants en vue de les faire exécuter sur des multi-coeurs. Le programme de commande est agencé pour calculer la sortie représentative de la commande à partir de la forme décomposée de la fonction de transfert théorique. 15 Bien entendu, l'invention n'est pas limitée aux modes de réalisation décrits mais englobe toute variante entrant dans le champ de l'invention telle que définie par les revendications. En particulier, le procédé de l'invention peut 20 être utilisé pour de nombreuses applications et notamment adapté pour la commande de l'alimentation d'un aéronef. La forme décomposée de la fonction de transfert peut comprendre au moins un macro-opérateur de l'un ou de plusieurs des types de macro-opérateur de l'invention. 25 La forme décomposée de la fonction de transfert peut comprendre au moins un macro-opérateur de chacun des types de macro-opérateur de l'invention. REVENDICATIONS1. Procédé de commande d'un équipement par un processeur à partir d'une pluralité d'entrées d'une fonc- tion de transfert théorique ayant une sortie représenta- tive de la commande, dans lequel la fonction de transfert théorique est décomposée en une pluralité de macroopérateurs logiques de quatre types différents et est stockée sous sa forme décomposée dans une mémoire reliée au processeur, et le procédé comprend l'étape de faire calculer la sortie, par le processeur, à partir de la forme décomposée de la fonction de transfert théorique, les macro-opérateurs logiques comprenant au moins un macro-opérateur choisi parmi quatre types, à savoir - un macro-opérateur de premier type représentant une fonction de transfert ayant sept entrées et une sortie ; - un macro-opérateur de deuxième type représentant deux fonctions de transfert ayant respectivement quatre entrées et une sortie et trois entrées et une sor- tie ; - un macro-opérateur de troisième type représentant quatre fonctions de transfert ayant respectivement une entrée et une sortie ; - un macro-opérateur de quatrième type représen- tant trois fonctions de transfert, l'un ayant trois entrées et une sortie, et les deux autres ayant une entrée et une sortie. 2. Procédé selon la revendication 1, dans lequel la forme décomposée de la fonction de transfert théorique comprend au moins un macro-opérateur de chacun des quatre types. 3. Procédé selon la revendication 1 ou la revendication 2, dans lequel un résultat est précalculé pour chaque macro-opérateur et mémorisé sous la forme d'un 3039675 10 vecteur résultat.