Besturings- en HMI-systemen
Windows of Linux: Wat is de beste keuze?
version française
Bij de vraag naar een het meest geschikte operating systeem voor
besturings- en HMI systemen wordt in hoofdzaak altijd gesproken over
Windows of Linux. Maar waar liggen nu de verschillen tussen deze twee
systemen? Het argument van bedrijfszekerheid is niet het enige criterium
van verschil. Een toelichting.
Bij de keuze van een operating systeem voor een besturingssysteem of
Scada-systeem stelt zich direct de vraag welke periferiecomponenten
gebruikt worden en hoe deze met het toekomstige Scada-systeem verbonden
zullen worden.
Onder Windows luidt het antwoord meestal OPC (OLE for Proces Control),
daaronder verstaat men een oorspronkelijk propriétair door Microsoft
ontwikkelt mechanisme, gebaseerd op de Windows/COM/DCOM technologie, om de
verschillende bussystemen met Scada-systemen PLC-fabrikant-onafhankelijk
te kunnen laten communiceren.
Daar de OPC-basistechnologie uitsluitend bij Microsoft-specifieke
besturingssystemen beschikbaar is, is dergelijke oplossing onder Linux met
zo goed als geen Scada-systeem inzetbaar (tenzij men systemen gebruikt die
gebaseerd zijn op de client/server-techniek en die een gemengd gebruik van
Windows en Linux mogelijk maken).
Deze onder Windows op stand-alone systemen tamelijk eenvoudig inzetbare
techniek, wordt merendeels bij grote technische installaties, met
betrekking op dataoverdracht en stabiliteit bij de netwerkcommunicatie
door middel van DCOM, door rechtstreekse drivers vervangen. Dat zijn dan
programmadelen die voor een speciaal communicatieprotocol optimaal
ontwikkeld zijn en bevoordeeld worden, omdat een communicatieniveau,
namelijk van OPC-client tot OPC-server, en daarmee ook een bijkomstige
configuratieopgave vervalt. Wat de installatiegrootte en de daarbij
horende gegevensverzameling betreft, kan men bij een systeemvergelijk
Windows/Linux bedenken dat men bij Linux door zijn ontwerp voor
beschikbare servertoepassingen een absolute prestatiewinst tot 100% kan
bereiken. Dit aspect is nog van groter belang wanneer in de toepassing
veel gegevens voor latere uitlezing historisch gearchiveerd worden.
Databases
Mocht men de gearchiveerde gegevens niet enkel in de database van het
Scada-systeem opslaan, maar ook in een ander databanksysteem willen
integreren, dan stelt het omwisselen van het operating systeem vandaag de
dag geen wezenlijk criterium meer voor. Alle belangrijke databanksystemen
zoals bijvoorbeeld Oracle, DB2, ADABAS of mySQL, staan niet enkel onder
Windows, maar nu ook onder Linux ter beschikking.
Hieruit kan men stellen dat een modern Scada-systeem deze databanken niet
alleen door gebruik te maken van Microsoft-interfaces kan bereiken, maar
ook onder Linux via ODBS of via directe verbinding.
Netwerking
Het onderwerp remote-control op het procesbesturingssysteem of het
operating systeem voor onderhouds- of interventieacties mag natuurlijk in
deze hele discussie niet vergeten worden. Hier onderscheiden beide
operating systemen zich toch van elkaar en komen ze met verschillende
technologieën uit de hoek. Moet men onder Windows extra software
aanschaffen om van op afstand in te grijpen op de desktop, dan is dat
onder Linux niet nodig daar het reeds in de basis een Multi-user operating
systeem is. Daarnaast is het ook mogelijk met Linux om in bedrijf zo goed
als elke administratietaak tot het operating systeem door te voeren zonder
dat het systeem een herstart vereist en dit zelfs van op afstand zonder de
gebruiker of de installatie daarmee te verstoren.
Er is ook de mogelijkheid om van op afstand de in het netwerk aanwezige
werkstations van het Scada-systeem te bekijken. Bij een modern systeem
gebaseerd op het client-server-concept, zijn de werkstations de clients,
die de HMI (Human Machine Interface) voorzien op een gewone lokale PC en
die door middel van het netwerk de nodige gegevens van de server halen. In
deze constellatie moet een deel van het Scada-systeem per download of
manueel op de client-PC geïnstalleerd worden.
Remote Display
Wanneer er HMI-methoden zonder lokale installatie vereist worden, bieden
de “remote display”-technieken een oplossing, hetgeen totaal verschillend
gebeurt bij Windows en Linux. Linux gebruikt voor de grafische
voorstelling het X Windows Protocol (X11) een compact en voor grote
netwerken ontwikkeld, platform- en hardware-neutraal client-server
netwerkprotocol. Op de server loopt de HMI-client en draagt door middel
van X11 zijn “teken”-commando’s (HMI commando’s) over naar het
werkstation, waar de gebruiker zich bevindt. Op deze PC loopt enkel onder
Linux een X11-server (die reeds bij het operating systeem wordt mee
geleverd), die de daadwerkelijke operaties doorvoert. Met deze techniek is
er voor de gebruiker geen verschil merkbaar of de toepassing nu lokaal op
zijn PC loopt of elders op een server in het netwerk. Onder Windows is er
tot nu toe nog geen netwerkgeschikt protocol van dergelijke aard. Alle
“teken”- of HMI-operaties worden lokaal doorgevoerd, dit wil zeggen op de
PC waarop de HMI loopt. Daarbovenop is Windows geen multi-user operating
systeem en is daardoor beperkter wanneer meerdere gebruikers gelijke
programma’s op een server hebben lopen. Om dit op te lossen heeft
Microsoft de zogenaamde Terminal Services ingevoerd, die gebruik maken van
het Remote Desktop Protocol (RDP). Bij deze techniek wordt een
gezamenlijke Windows-sessie voor een client op de server opgezet en niet
zoals onder Linux enkel het benodigde Scada HMI-programma. Echter mag men
bij Windows niet vergeten dat men op gebied van grafisch platform kan
beschikken over de mogelijkheden van ActiveX-componenten.
ActiveX-componenten zijn grafische objecten die welbepaalde
functionaliteiten zoals volledige visualiserings- en
instrumentatiecomponenten of grafieken ter beschikking stellen die zich
bij moderne Scada-systemen zeer eenvoudig in de HMI laten integreren.
Hierbij moet men in acht nemen dat men alle eigenschappen evenals de van
dergelijke componenten gegenereerde gebeurtenissen (bij voorbeeld op
muisklik) vanuit de gebruikte Scada-software kan aanspreken en gebruiken.
ActiveX is een Microsoft ontwikkeling die op Windows-technologiën
aangewezen is en daardoor onder Linux niet voorhanden is en hier dus ook
niet ingezet kan worden.
Wat moet het kosten?
Hoewel bij een industriële toepassing de softwarekosten maar een fractie
uitmaken van de totale kost, kan deze bij een groot aantal PC’s toch een
aanzienlijk bedrag uitmaken. Hierin ligt het grootste verschil tussen
Linux en Windows. Ware het dat voor het Windows operating systeem en alle
verdere benodigde toepassingen zoals bijvoorbeeld Office, databanken,
remote-pakketten, netwerk-, development- en debuggingtools telkens een
aparte licentie aangekocht moet worden, dan zijn voor Linux de hiervoor
genoemde toepassingen en nog vele andere, in veelvoud voor een nulkost te
gebruiken.
Naast deze kosten is het voor het gebruik van een Scada-systeem onder
Windows goed om weten dat er in sommige landen een invoerbeperking van
kracht is voor Microsoft-producten en daardoor in deze landen Linux een
mogelijk alternatief is.
Dus…
Linux is ondertussen ook op gebied van desktops zo geëvolueerd, dat een
vergelijk met Windows zeker zin heeft. De geïntegreerde
installatiemechanismen, inclusief hardwareherkenning, maken een Linux
set-up even gemakkelijk zoals we dat bij Windows gewoon zijn. Bijkomstig
biedt Linux bij dezelfde hardware een grotere performantie en een enorme
betrouwbaarheid op gebied van netwerken. Het virusresistente karakter van
Linux is een ander pluspunt hetgeen niet te onderschatten is bij
servertoepassingen. Wil men toch op zijn desktop ook Officesoftware van
Microsoft gebruiken of ActiveX-componenten aangeboden door derden
inzetten, dan is men toch verplicht om voor Windows te opteren. Een
gecombineerd gebruik van beide systemen kan in dit geval dan een zinvolle
oplossing zijn. <<
ing. Xavier De Buysscher, Control & Automation Magazine
Systèmes de commande et HMI
Windows ou Linux: Quel est le meilleur choix ?
Lors de la recherche du système d’exploitation le plus adéquat pour les
systèmes de commande et HMI, on entend principalement parler de Windows et
de Linux. Quelles sont toutefois les différences entre ces deux systèmes ?
L’argument de fiabilité n’est pas le seul critère de différence. Quelques
d’explications.
Lors du choix d’un système d’exploitation pour un système de commande ou
un système SCADA, la première question qui se pose concerne le choix de
composants périphériques et la manière de les relier au futur système
SCADA.
Chez Windows, la réponse sera généralement OPC (OLE for Proces Control),
un mécanisme initialement propriétaire, développé par Microsoft, qui s’appuie
sur la technologie Windows/COM/DCOM et permet la communication entre les
différents systèmes de bus et les systèmes SCADA, indépendamment du
constructeur de PLC.
Puisque la technologie de base OPC est exclusivement disponible dans les
systèmes de commande spécifiquement Microsoft, une telle solution sous
Linux est pratiquement impossible avec les différents systèmes SCADA (à
moins d’utiliser des systèmes basés sur la technique client/serveur, qui
permettent une utilisation mixte de Windows et Linux).
Cette technique sous Windows aisément implémentable sur des systèmes
isolés est généralement remplacée par des drivers directs dans le cadre de
grandes installations techniques, axées sur le transfert de données et la
stabilité dans la communication de réseau au moyen de DCOM. Vu la
disparition d’un niveau de communication - à savoir du client OPC vers le
serveur OPC - et donc, d’une tâche de configuration supplémentaire, ces
drives sont des parties de programmes dédicacées à un protocole de
communication spécifique et optimisées pour celui-ci. En ce qui concerne
la taille de l’installation et la collecte de données inhérente, on peut
supposer - dans le cadre d’une comparaison des systèmes Windows/Linux -
que Linux offre un gain de performances absolu allant jusqu’à 100% grâce à
son concept pour des applications serveur disponibles. Cet avantage gagne
encore en importance si l’application prévoit un archivage historique de
nombreuses données pour une lecture ultérieure.
Bases de données
Si l’objectif ne se limite pas seulement à l’enregistrement des données
archivées dans la base de données du système SCADA mais qu’il comprend
aussi leur intégration dans un autre système de base de données, le
changement de système d’exploitation ne pose aujourd’hui plus de problème
critique. Tous les systèmes de bases de données importants comme Oracle,
DB2, ADABAS ou mySQL sont aujourd’hui disponibles tant sous Windows que
sous Linux. Un système SCADA moderne est donc supposé pouvoir communiquer
avec ces bases de données, non seulement via des interfaces Microsoft mais
aussi sous Linux via ODS ou une connexion directe.
Mise en réseau
Il ne faut naturellement pas oublier dans toute cette discussion le thème
du contrôle à distance sur le système de commande de processus ou le
système d’exploitation pour les entretiens ou interventions. A cet égard,
les deux systèmes d’exploitation se distinguent et proposent des
technologies différentes. S’il faut acquérir, sous Windows, un logiciel
supplémentaire pour pouvoir intervenir à distance sur le PC, ce n’est pas
nécessairement le cas sous Linux qui est déjà à la base un système d’exploitation
multi-utilisateurs. Linux permet aussi, en service, d’exécuter quasi
toutes les tâches administratives jusqu’au système d’exploitation sans
devoir redémarrer le système et ceci, même à distance, sans déranger l’utilisateur
ou l’installation.
Il est également possible de consulter à distance les stations de travail
du système SCADA présentes dans le réseau. Avec un système moderne, basé
sur le concept client-serveur, les stations de travail sont les clients
qui proposent la HMI (Human Machine Interface) sur un PC local simple et
retirent les données nécessaires du serveur à travers le réseau. Dans
cette constellation, une partie du système SCADA doit être installée par
téléchargement ou manuellement sur le PC client.
Affichage à distance
Lorsque des méthodes de HMI sans installation locale sont exigées, les
techniques ‘d’affichage à distance’ apportent une solution qui sera
totalement différente sous Windows que sous Linux. Linux utilise pour la
présentation graphique le X Windows Protocol (X11), un protocole de réseau
client-serveur compact, conçu pour des grands réseaux et totalement
indépendant de toute plate-forme ou tout matériel. Sur le serveur tourne
le client HMI qui transmet via X11 ses commandes ‘signes’(commandes HMI) à
la station de travail où se trouve l’utilisateur. Sur le PC tourne
uniquement un serveur X11 sous Linux (qui est fourni avec le système d’exploitation)
qui effectue simplement les opérations. Avec cette technique, l’utilisateur
ne remarque nullement si l’application tourne localement sur son PC ou
ailleurs sur un serveur du réseau. À ce jour, il n’existe toujours pas de
protocole réseau de ce genre sous Windows. Toutes les opérations ‘signes’
ou HMI sont effectuées localement, c’est-à-dire sur le PC sur lequel
tourne la HMI. En outre, Windows n’est pas un système d’exploitation
multi-utilisateurs et est dès lors plus limité lorsque plusieurs
utilisateurs ont des programmes identiques qui tournent sur un serveur.
Pour résoudre cela, Microsoft a introduit les Terminal Services qui
utilisent le Remote Desktop Protocol (RDP). Cette technique met sur pied,
sur le serveur, une session Windows commune pour un client et non comme
sous Linux uniquement le programme SCADA HMI nécessaire. Il ne faut
toutefois pas oublier qu’avec Windows, l’on peut disposer en matière de
plate-forme graphique des possibilités des composants ActiveX. Les
composants ActiveX sont des objets graphiques qui mettent à disposition
certaines fonctionnalités comme des composants ou graphiques de
visualisation et d’instrumentation complets. Ces fonctionnalités s’intègrent
facilement dans la HMI des systèmes SCADA modernes. Il faut savoir que
toutes les caractéristiques, de même que les événements générés par de
tels composants (par exemple par un clic de souris) peuvent être adressées
et utilisées à partir du logiciel SCADA utilisé. ActiveX est un
développement Microsoft, limité aux technologies Windows, qui n’est dès
lors pas disponible sous Linux et ne peut donc pas y être mis en œuvre.
Quel est le coût ?
Même si les coûts logiciels ne représentent qu’une fraction du coût global
d’une application industrielle, ils peuvent s’élever à un sérieux montant
si l’on a un grand nombre de PC. C’est ici que réside la plus grande
différence entre Linux et Windows. Alors que le système d’exploitation
Windows et toutes les autres applications nécessaires comme par exemple
Office, les bases de données, les progiciels à distance, les outils de
réseau, de développement et de débogage réclament systématiquement l’achat
d’une licence distincte, les applications citées ci-dessus et bon nombre
d’autres peuvent être utilisées gratuitement et à plusieurs reprises sous
Linux.
Outre ces frais, il est bon de savoir, en cas d’utilisation d’un système
SCADA sous Windows, que les produits de Microsoft sont soumis à une
limitation à l’importation dans certains pays et que Linux y représente
dès lors une belle alternative.
Donc…
Linux a tellement évolué dans le domaine des PC de bureau qu’une
comparaison avec Windows a tout son sens. Les mécanismes d’installation
intégrés, y compris la reconnaissance matérielle, rendent l’installation
de Linux aussi simple que celle de Windows. Par ailleurs, Linux offre pour
un même matériel une plus grande performance et une fiabilité énorme en
matière de réseau. La résistance aux virus de Linux est un autre avantage
qui ne doit pas être négligé dans les applications de serveur. Si l’utilisateur
souhaite malgré tout utiliser sur son PC de bureau le logiciel Office de
Microsoft ou des composants ActiveX proposés par des tiers, il sera obligé
d’opter pour Windows. Dans ce cas, une utilisation combinée des deux
systèmes n’est pas judicieuse. <<
Ing. Xavier De Buysscher, Control & Automation Magazine