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