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

 

©