de plus en plus d`intimité entre temps réel et Windows
Transcription
de plus en plus d`intimité entre temps réel et Windows
Solutions INFO R M A T I Q U E I N D U S T R I E L L E De plus en plus d’intimité entre Les éditeurs de systèmes d’exploitation pour les applications industrielles sont confrontés à deux grandes familles d’utilisateurs : d’une part, les industriels qui utilisent des systèmes d’exploitation temps réel veulent de plus en plus d’interfaces graphiques et de communication, et d’autre part les industriels sous Windows veulent des applications de plus en plus temps réel. Les éditeurs ciblés sur les marchés industriels cherchent donc à proposer des solutions qui satisfassent tout le monde, sans nécessairement offrir un temps réel aussi dur que celui imposé dans le secteur des transports ou des télécoms. Leur principe ? Une utilisation conjointe et optimisée, sur un seul PC, de Windows et de fonctions temps réel... L e marché des applications temps réel a vu le jour à la fin des années 60, à l’occasion des premiers grands programmes aérospatiaux. Il n’a cessé de se diversifier depuis (transports, télécoms, militaire, etc.), et connaît même depuis le début des années 2000 une très forte croissance, poussé par l’arrivée de produits électroniques grand public de plus en plus perfectionnés. L’essentiel Les applications industrielles sont plus L’utilisation de Windows restreintes en volume, n’est pas forcément souvent moins conincompatible avec les traignantes (surtout applications industrielles en terme de sécurité) temps réel. Des produits et moins “ouvertes” existent sur le marché pour (les intégrateurs et les effectuer applications ingénieries utilisent critiques et applications graphiques sur un même PC. pour la plupart des solutions développées RTX, de la société Ardence, par les constructeurs est un ensemble d’extensions à Windows permettant d’automatismes). de déclarer certaines tâches Pour les éditeurs tracomme étant prioritaires. On ditionnels de systèprofite de l’environnement mes temps réel, elles Visual Studio. sont donc un peu à Kuka Controls propose part. D’autres édid’exécuter en parallèle à teurs, plus spécialisés, Windows un OS temps réel se sont engouffrés du commerce : Windows CE dans la brèche. Les (produit CeWin) ou VxWorks applications indus(produit VxWin). trielles temps réel se Avec INtime, de TenAsys, l’OS caractérisent par des temps réel (propriétaire) est besoins de plus en totalement isolé de plus élevés en puisWindows. La souplesse sance de calcul : augd’architecture permet aussi mentation des nide créer des réseaux temps réel isolés. veaux de précision, de la complexité des 66 modèles, du nombre de capteurs à surveiller ou encore du nombre de données à archiver. À ces contraintes s’ajoutent les mêmes impératifs que pour le marché grand public : offrir toujours plus de fonctions, tout en réduisant les coûts et les temps de mise sur le marché (Time To Market, ou TTM). Une des manières de répondre à ces exigences passe par la standardisation des plate-formes et la simplification des architectures. Dans les applications industrielles, les applications temps réel doivent cohabiter avec d’autres qui n’ont pas d’exigences de ce côté-là. Ainsi, le pilotage en temps réel d’une ligne de fabrication, par exemple, imposait jusqu’à présent de consacrer une machine temps réel uniquement au contrôle des différents capteurs, tandis que la ��������� ����� ��������� ���������� ����������� ������ �������������� ��������������� ������������� �������������� supervision, l’archivage et la gestion des bases de données étaient confiés à un poste plus “classique” doté le plus souvent d’un système d’exploitation Windows. Avec toutes les contraintes que cela impose en termes de communication entre les deux postes, de compatibilité, et les compétences spécifiques nécessaires à l’entretien des machines temps réel “propriétaires”. Aujourd’hui, la montée en puissance des processeurs autorise le regroupement de toutes ces fonctions au sein d’un seul et même ordinateur. D’ailleurs, des solutions permettant de faire cohabiter deux systèmes d’exploitation sur un seul PC (un bureautique et un temps réel) se sont développées. Le fait de regrouper les applications à fortes contraintes avec les fonctions d’affichage, d’archivage et d’Interfaces Homme-Machine permet des économies sur plusieurs plans. Des économies d’argent bien sûr (puisqu’un seul PC sera moins onéreux à l’achat que la solution “PC + machine spéciale + outils de communications associés”), mais aussi des économies de temps de développement et de compétences. On ne conserve qu’un seul environnement de travail, et c’est généralement celui de Microsoft qui est choisi. En effet, la plupart des pilotes (drivers) ������������ ���� ��� ������������������������� ������������������������ ����������������������� Le logiciel INtime, de TenAsys, se positionne parallèlement à Windows, et pilote la partie matérielle de la même manière que la HAL (Hardware Abstraction Layer) de Windows. Il peut ainsi se réserver l’usage de certains périphériques. De plus, INtime communique avec Windows par le biais d’un réseau spécifique, de telle sorte que l’on peut passer d’une architecture où les deux OS sont sur la même machine à une architecture à base de réseau de terrain, et inversement. MESURES 798 - OCTOBRE 2007 - www.mesures.com Solutions temps réel et Windows étant déjà inclus dans les systèmes d’exploitations Windows, il n’est plus nécessaire de mobiliser les experts en programmation, ni de faire appel à des sociétés externes pour développer des pilotes spécifiques. Faire cohabiter sur un même OS, Windows XP et un systeme d’exploitation temps réel Des “extensions” temps réel pour Windows Les acteurs positionnés sur le marché du temps réel pour Windows ne sont pas des nouveaux venus dans l’édition de logiciels embarqués. À l’instar de la société Ardence (rachetée en début d’année par Citrix) qui est convaincue depuis toujours que de plus en plus d’industriels allaient passer à des systèmes sous Windows, d’autres éditeurs ont développé des solutions efficaces et n’attendaient plus qu’une chose : que les PC deviennent suffisamment performants. « Ce qui est chose faite aujourd’hui, puisque les processeurs actuels sont capables d’effectuer de nombreuses tâches à des fréquences élevées, commente Denis Fouquet, directeur de De2, société spécialisée dans le conseil en informatique embarquée et distributeur de la solution Ardence. Les logiciels de Kuka Controls fonctionnent sur le principe d’un OS tournant en parallèle à Windows. Ils utilisent une mémoire partagée pour effectuer la communication entre les deux OS. Cette solution propose le choix de l’OS temps réel, à savoir Windows CE de Microsoft ou VxWorks de Windriver. Atteindre des temps de cycle de l’ordre de la microseconde est devenu tout à fait réaliste. Cependant, dès lors qu’on utilise Windows, sa conception intrinsèque fait qu’on ne pourra jamais garantir des temps de traitement réduits et réguliers ». Une des solutions pour ajouter des capacités déterministes à Windows consiste à lui adjoindre des “extensions temps réel”. C’est ce que propose la société Ardence avec son produit RTX, pour Windows XP et ➜ Le choix du système d’exploitation Rendons à César ce qui appartient à César. Nous n’avons pas évoqué ici les offres des grands fournisseurs de systèmes d’exploitation spécialisés dans le temps réel. Et pourtant, ces derniers savent répondre à des exigences très élevées en terme de sûreté de fonctionnement (la garantie qu’une information sera traitée) et de déterminisme (la garantie que cette information sera traitée dans un certain intervalle de temps). Plusieurs grands éditeurs, à l’instar de WindRiver, QNX ou Sysgo, entre autres, sont très actifs sur leurs marchés et proposent des solutions aux problèmes de temps réel les plus critiques. Mais dans l’ensemble, ceux-ci n’ont pas focalisé leur offre sur le marché industriel mais plutôt des marchés tels que celui des transports, de l’aérospatial ou de la défense. Ces marchés, sont souvent importants en volume, techniquement pointus et très exigeants en termes de sécurité. Si l’application ne dépend pas de normes particulières, une autre solution envisageable consiste à mettre en place un OS temps réel basé sur Linux. On a alors le choix entre une solution totalement libre de droits, développée par une communauté de programmeurs (comme Linux RTAI), ou encore un noyau développé par une société privée (comme RT Linux). Si la première offre l’avantage de la gratuité, sa mise en œuvre demande du temps et du savoir-faire, ne serait-ce que pour rassembler les différents MESURES 798 - OCTOBRE 2007 - www.mesures.com modules nécessaires à l’application, en développer des spécifiques si nécessaire, et les faire tous cohabiter au sein d’un système stable. En outre, les industriels ont besoin d’assurer la pérennité de leurs installations, et rien ne permet de garantir le bon fonctionnement d’une machine sur dix ans lorsque l’OS est distribué par une communauté et non par une société. C’est pourquoi la solution d’un “Linux commercial” peut représenter une bonne alternative. Des sociétés proposent néanmoins des noyaux propriétaires capables d’assurer un fonctionnement en temps réel. C’est le cas notamment des produits RT Linux, LynxOS ou BlueCat RT, plus adaptés au monde industriel que leurs équivalents libres. L’adoption de Linux ou d’un autre OS spécifique peut donc répondre à la plupart des besoins en temps réel auxquels sont confrontés les industriels. Mais cela ne résout pas le problème de la multiplication des fonctions à offrir, et du regroupement de ces fonctions en une plateforme commune. Étant donné que beaucoup d’applications sont développées pour les OS Microsoft, que les développeurs savent tous plus ou moins travailler sous environnement Microsoft et que la plupart des industries disposent déjà de parcs PC avec Windows, des éditeurs en sont venus à se demander s’il ne serait pas plus commode de travailler à rendre Windows compatible avec le temps réel. 67 Solutions L’offre d’Ardence, appelée RTX, consiste en un ensemble d’extensions pour rendre possible les applications temps réel sous Windows. Des drivers s’ajoutent à la couche d’abstraction matérielle de Windows et attribuent à une catégorie d’instructions le degré de priorité le plus important. RTX se charge alors du traitement de ces instructions grâce à un moteur temps réel intégré. ➜ XPe (la version “allégée” d’XP, qui permet d’installer uniquement les composants indispensables). RTX est un noyau temps réel qui s’ajoute à Windows à la manière d’un driver. Il modifie la HAL de Windows (Hardware Abstraction layer, ou couche d’abstraction matérielle) : il s’agit de la base de données regroupant les périphériques supportés, et qui évite aux développeurs d’avoir à écrire autant de variantes d’un programme qu’il existe de périphériques. Le noyau RTX se connecte D’autres applications pour Windows temps réel La cohabitation entre OS bureautique et OS temps réel peut être utilisée dans tous types d’industries, à l’exception des secteurs pour lesquels la programmation des applications ou le mode de traitement des informations sont réglementés. Car ces produits ne proposent pas d’environnements de développement certifiés. En revanche, ils s’adaptent parfaitement au monde de l’automatisme sur base PC (pilotage de lignes de fabrication), de la simulation ainsi qu’aux domaines de l’acquisition, de l’instrumentation et des bancs d’essais (d’autant plus qu’avec la démocratisation des instruments USB, on peut améliorer sensiblement les fréquences d’échantillonnage). 68 Les constructeurs de machines sont également ciblés, car comme pour les robots Kuka Controls, il n’est pas rare d’avoir besoin de traitement en temps réel et de gestion de l’IHM sur une même machine. On peut penser par exemple au secteur médical. Puis, par extension, cela concerne également les constructeurs de bornes interactives qui nécessitent parfois des liaisons sécurisées (pour des automates bancaires ou des caisses enregistreuses dans la grande distribution, par exemple) ainsi que tous les constructeurs de boîtiers grand public : appareils de salon de type “media centre”, téléphones avec fonctions d’assistant personnel, appareils de traitement vidéo ou audio, etc. donc directement à la HAL de Windows, et la modifie pour que certains périphériques ne soient utilisés que pour la partie temps réel. RTX commence par ajouter à la HAL des horloges à haute vitesse et des compteurs rapides. Puis, il crée un nouveau type de processus légers (ou “threads”), tous précédés du préfixe “RT_” (pour Real Time). Ces processus sont destinés à être lus et traités uniquement par le noyau RTX, sans passer par Windows. Cela permet d’avoir une séparation entre les processus déterministes et les processus bureautiques. Le principe est d’interdire à Windows d’interrompre les “threads” temps réel, tout comme il lui est interdit de piloter ou de masquer un périphérique relié à RTX. En gardant l’exemple du pilotage d’une chaîne de production, cela revient à dire que RTX prend la main dès qu’un capteur lui envoie des informations, par le biais d’une interruption “RT_” spécifique. Il la traite instantanément, en faisant passer par exemple l’information dans une boucle d’asservissement. Si l’information a besoin d’être affichée ou mise en forme, alors RTX l’envoie à Windows. Il utilise une mémoire tampon, afin qu’elle soit traitée dès que Windows a le temps de prendre la main ou dès que celui-ci a fini d’effectuer les tâches en cours. Un des avantages de RTX est d’offrir une grande simplicité de conception, car les développeurs ont accès à l’environnement de programmation standard de Windows, Visual Studio. Côté point faible, il y a le niveau de sûreté qu’il est capable de garantir à une application. Étant donné que toute la partie temps réel est gérée par des pilotes liés à Windows, le défi est de faire en sorte que l’application résiste aux éventuels plantages de l’OS de Microsoft. Pour cela, RTX ajoute à chaque “thread” temps réel une action prédéfinie, qui détermine le comportement à adopter en cas d’apparition de l’écran bleu, ou écran Stop. L’action, appelée “shutdown handler”, peut être de deux types : soit on demande à l’application de continuer à tourner quelles que soient les conditions, soit on met les équipements en attente (sans toutefois les désactiver) pour laisser le temps au système de redémarrer. Dans ce dernier cas, les équipements en attente sont réactivés tout de suite après le chargement du BIOS. Un plantage “sévère” entraîne donc un temps d’interruption du système de l’ordre de quelques dizaines de secondes. « Mais cela n’a pas empêché des grands noms de l’industrie de faire MESURES 798 - OCTOBRE 2007 - www.mesures.com Solutions La solution Windows CE Historiquement les systèmes d’exploitation de Microsoft n’avaient pas été prévus pour garantir un temps de traitement minimal des données. Ainsi, même si le “e” de Windows XPe tendrait à croire qu’il Points de desmonde poussièresde et mesure de pressionil ne estprélèvement adapté au l’embarqué, s’agit que d’une version “allégée” de son grand frère XP. Cependant, depuis l’arrivée de la version 3.0 de Windows CE, Microsoft propose un OS véritablement temps réel pour les applications embarquées. CE dispose d’un noyau totalement différent de celui de XP, ce qui lui permet de créer des applications rapides et réellement déterministes. Il est en outre compatible avec des processeurs autres que x86, tels que les SH de Hitachi ou les ARM. Son caractère “léger” (image disque de quelques mégaoctets) en fait l’OS idéal pour les boîtiers embarqués, plus que pour les applications de simulations ou de contrôle de fabrication où l’on a besoin d’un maximum de drivers et de fonctions. C’est pourquoi on le voit utilisé dans nombre d’appareils électroniques grand public, tout comme sa variante Windows Mobile, spécialement adaptée au monde des télécoms. Enfin, le principal défaut de Windows CE concernait son environnement de développement, spécifique et incompatible avec les autres OS de Microsoft. Mais le problème est résolu depuis la commercialisation de la récente version CE 6.0, qui inclut un environnement Visual Studio. confiance à RTX, observe M. Fouquet. La technologie Ardence est notamment utilisée par Siemens pour son nouveau logiciel de supervision Simatic WinAC RTX, et elle est au cœur de Labview RT, la plateforme de développement temps réel de National Instruments ». merciales de notre OS, CeWin et de VxWin, que nous avons lancés il y a quatre ans ». Les deux produits Kuka Controls sont basés sur le même principe : il s’agit d’installer un moteur temps réel (CE .net de Microsoft ou VxWorks, de WindRiver) directement sur le matériel, et de ne communiquer avec Windows que Un OS temps réel en parallèle pour la transmission de messages liés à de Windows l’application. De la même manière que Une autre solution consiste à exécuter en pour RTX, CeWin et VxWin sont prévus parallèle un OS temps réel et un OS pour une utilisation sous Windows XP ou Windows, directement reliés à la même XPe. La communication entre les deux OS base matérielle, puis de les faire commu- peut s’effectuer de trois manières différenniquer ensemble via des protocoles spéci- tes : soit par la mise en commun d’un emfiques. Et dans ce domaine, on trouve placement mémoire (mémoire partagée), l’Américain TenAsys (avec le logiciel INtime) soit par la définition d’actions partagées et l’Allemand Kuka Controls (avec CeWin et (évènements synchronisés), soit enfin par VxWin). Et chez ces deux éditeurs, le leit- la création d’un réseau virtuel. Et dans tous motiv est le même : si l’activité de l’OS les cas, le traitement des tâches temps réel temps réel ne doit pas être impactée par (CE ou VxWorks) est prioritaire sur les tâcelle de Windows, il est tout aussi primor- ches Windows. Celles-ci ne s’exécutent dial que Windows ne se rende pas compte qu’en tâche de fond. La société TenAsys émane quant à elle de la qu’un autre OS s’exécute en parallèle. Kuka Controls, constructeur de robots, a com- branche “industrie” d’Intel (qui proposait mencé par développer une solution à usage l’OS temps réel iRMX) et a appartenu duinterne, permettant d’effectuer tous les rant quelques années à Radisys. Elle propose traitements temps réel et la gestion de sa solution temps réel INtime depuis 1997. l’IHM (Interface Homme Machine) en uti- « C’est dire si l’idée de faire cohabiter OS bureautique lisant un seul processeur. « Une solution efficace, et OS industriel ne date pas d’hier, et si cette technolopuisqu’elle a déjà été implémentée avec succès dans plus gie est aujourd’hui mature et éprouvée », commente de 80 000 robots, et dans laquelle nous avons investi Jean-Philippe Barbin, directeur d’Artic, sobeaucoup de ressources, explique Rainer Gallus, ciété spécialisée dans les systèmes informadirecteur marketing des produits temps tiques temps réel et distributeur des proréel chez Kuka Controls. Par la suite, nous nous duits TenAsys. Tout comme pour les OS de sommes aperçus qu’une forte demande pour ce genre de Kuka Controls, le principe d’INtime est basé produits existait sur le marché des machines spéciales. sur l’isolement des deux systèmes d’exC’est pourquoi nous avons développé deux versions com- ploitation comme autant de machines ➜ MESURES 798 - OCTOBRE 2007 - www.mesures.com 69 Solutions ➜ virtuelles se partageant la même plateforme matérielle (processeurs x86 uniquement). Le partage des ressources est géré par INtime, et ce dernier oblige Windows à exécuter ses tâches en toile de fond. Et encore une fois, c’est depuis l’arrivée de nouvelles générations de processeurs (Pentium et dérivés) que ces solutions, en quelque sorte en avance sur leur temps, expriment leur véritable potentiel. Compatible avec les bus de terrain Le principal avantage de la solution de TenAsys est d’offrir une grande souplesse dans les architectures. Tous les échanges d’informations entre Windows et INtime se font par l’intermédiaire d’un réseau spécial, basé sur un système de boîtes aux lettres avec sémaphores (mécanismes servant à prévenir l’un ou l’autre des OS qu’il a reçu un message, mais aussi à empêcher la lecture de la mémoire quand l’autre OS est en train d’écrire). L’avantage de ce réseau est qu’il peut être aussi bien virtuel que physique, selon que les deux OS tournent sur le même PC ou sur des machines séparées. Les architectures sont simplifiées, et cela permet surtout de séparer complètement les réseaux, car il est possible de créer un réseau uniquement pour les machines temps réel. Pour notre exemple de pilotage d’une ligne de fabrication, on peut penser à une architecture dans laquelle le PC maître dispose de Windows XP et INtime, et de deux cartes réseau. En tant qu’OS à part entière, INtime sait traiter des interruptions (IRQ) pour communiquer 70 avec les périphériques, et il est capable d’isoler certains de ces périphériques pour les rendre inaccessibles depuis Windows. Il est donc possible de créer un réseau Windows pour les IHM (avec des PC uniquement sous Windows) et un autre réseau, temps réel cette fois, avec des PC uniquement sous INtime, pour la gestion des machines et des capteurs, voire une application de soft PLC (automatismes sur base PC). D’autant que INtime est capable de piloter des Entrées/Sorties, et qu’il dispose des pilotes pour la plupart des bus de terrain (EtherCAT, notamment). « Enfin, cerise sur le gâteau, l’OS INtime n’occupe pas plus d’une dizaine de mégaoctets, ajoute M. Barbin. Ainsi, comme il peut s’exécuter seul, il peut être chargé à distance depuis le PC maître vers des machines légères tels que des PC shoe-box, qui fonctionnent sans disques durs et sont donc adaptées aux milieux industriels à fortes contraintes ». Les solutions TenAsys et Kuka Controls sont donc relativement liées de par leur principe de fonctionnement, à savoir une séparation totale de Windows et de l’OS temps réel (qu’il provienne d’un tiers, comme pour VxWin, ou qu’il soit développé en interne, comme pour INtime). Cela leur garantit une grande sûreté de fonctionnement, en ce sens que les applications temps réel sont absolument insensibles à un éventuel plantage de Windows. Cela étant, et bien que tous deux disposent d’outils de configuration pour faciliter leur installation, aucun ne peut proposer la facilité de développement d’application offerte par Ardence avec RTX, qui donne accès au Visual Studio de Windows. Les processeurs multi cœurs mettent tout le monde d’accord Une chose est sûre, c’est que l’arrivée dans le mode de l’industrie des processeurs multi cœurs simplifie énormément la donne, et repousse d’un cran encore les capacités de cohabitation entre Windows et un OS temps réel. Chaque système d’exploitation peut dans l’absolu disposer de son ou ses propres cœurs de processeur, avec leur mémoire associée. Dans ce domaine, TenAsys a profité de ses rapports historiques avec Intel pour proposer le premier une version d’INtime spécialement optimisée pour le double cœur. Ardence propose également une version Dual Core de RTX. Les clients de Kuka Controls devront quant à eux patienter jusqu’à la fin de l’année pour profiter des possibilités de virtualisation. « Mais ils bénéficieront du choix dans la répartition des tâches, argumente Patrick Jeannette, directeur de RESoluCOM et distributeur des solutions temps réel de Kuka Controls. En mode “exclusif”,un cœur entier sera alloué à l’OS temps réel (CE ouVxWorks) et les autres à Windows, tandis qu’en mode “partagé” l’OS temps réel n’utiliwse que les ressources dont il a besoin, et autorise Windows à s’exécuter sur tous les cœurs du processeur ». Quoi qu’il en soit, Denis Fouquet (De2/Ardence) assure que « la virtualisation est le prochain défi à relever dans le monde du temps réel. Et le gain en puissance des puces de dernière génération est tel que, notamment pour la simulation dans l’industrie automobile, on peut se permettre de rendre temps réel des applications qui ne l’étaient pas auparavant, bridées qu’elles étaient par des contraintes techniques ». Frédéric Parisot MESURES 798 - OCTOBRE 2007 - www.mesures.com