SoftPLC's
Hoe geschikt is Windows NT voor real-time controletoepassingen? 

De laatste tijd is er een enorme polemiek aan de gang omtrent het gebruik van Windows NT in real time toepassingen. Vooral bij de combinatie van softPLC en tijdkritische toepassingen is determinisme essentieel. Fabrikanten van proprietary real-time operating systemen (RTOS) proberen hun eigen oplossing te profileren als de ideale oplossing. Zijn deze oplossingen echter wel zo ideaal ?

Version française

De real time operating systemen (RTOS) hebben ook hun beperkingen. We schotelen u een reeks argumenten voor aan de hand van dewelke beide oplossingen - NT of RTOS - tegen elkaar worden afgewogen met als basisgegeven de real-time controle eigenschappen van Windows NT.

Probleemstelling 1: Is NT deterministisch?
Real-time en determinisme dienen te worden geinterpreteerd in de mate van de accuraatheid waarin gepredefinieerde timing criteria van de controlecyclus kunnen worden gegarandeerd over een uitgebreide tijd. Bij voorbeeld, indien de cyclustijd 100ms bedraagt , kunnen variaties van enkele milliseconden in elke cyclus problemen veroorzaken. Een niet-deterministisch systeem zou de logica zo snel mogelijk uitvoeren zonder rekening dienen te houden met de timing. Sommige systemen behouden een gemiddelde cyclus tijd (ON AVERAGE) over een groot aantal cycli. Harde real-time impliceert dat het systeem elke 100ms exact afwerkt zonder vertraging. Er is echter geen enkel systeem dat exact zonder enige tijdvertraging dit mogelijk maakt. Hieruit volgt dan dat de vraag die men zich dient te stellen heel simpel is, namelijk: 'Over welke graad van nauwkeurigheid moet het systeem de nominale cyclustijd benaderen?' Het is duidelijk dat het antwoord op deze vraag afhangt van een aantal factoren. Algemeen wordt een deterministische respons van 95% voor automatiseringssystemen en procesapplicaties aanvaard. Het is echter zo dat de variatie in de I/O respons meestal veel groter is dan die te wijten aan de gedefinieerde cyclustijd. NT’s real-time deterministische performantie nu voldoet aan meer dan 95% van alle automatiseringsapplicaties ter wereld. Determinisme, of harde Real-Time, is de mogelijkheid van een systeem om een gegeven cyclustijd te garanderen binnen een gekende tolerantie. Voor de meeste PLCs, liggen de cyclustijden in de buurt van 5-10 ms, met en tolerantie van 1-4 ms. Het real-time determinisme van een controlesysteem onder het Windows NT platform ligt in dezelfde orde van grootte. Op een 200 MHz computer, presteren de meeste SoftPLC pakketten cyclustijden in de orde van grootte van 2-5 ms, met een tolerantie van 2-3 ms. Het controlebus protocol introduceert een additionele vertraging van de scantijd met pure NT. De beste vergelijking tussen SoftPLC op NT of SoftPLC met een RTOS bekomt men met het opmeten van de variatie op de responstijd op de I/O’s. Zoals de kadertekst duidelijk aantoont , is de snelheid van het operating systeem NIET de belangrijkste factor. De komst van snellere computers zal echter wel leiden tot een continue verbetering van het Windows NT gebaseerde controle systemen.

Probleemstelling 2: Sommige RTOS systemen zouden onder een "blue screen" conditie van Windows NT kunnen blijven draaien.
Het 'blauwe scherm' is een systeemfout-boodschap die optreedt wanneer een kernel mode exceptie of memory overwrite conditie is opgetreden, e.g. wanneer een systeem driver onstabiel geworden is of de uitvoerende controlecode corrupt is. Het systeem stopzetten en de I/O in een veilige toestand zetten bij een dergelijke 'blue screen' beveiligt de gebruiker ervan een toepassing te laten draaien onder onveilige omstandigheden. Dit is een absoluut noodzakelijke eigenschap die men ook aantreft bij hardware PLC’s waar bij een fatale fout het systeem in halt wordt gezet. Dit is hetzelfde als de ‘red-light’ status van een AB PLC5 of een ‘Halt’ status op een S5 PLC. De meeste 'blue screen'-fouten in de praktijk zijn te wijten aan hardwarefouten of problemen met slecht functioneren van low-level device drivers. Een systeem onder die omstandigheden dat geen rekening houdt met deze fouten blijft verder draaien onder onstabiele en onveilige omstandigheden. Elke fabrikant die beweert dat zijn softPLC-systeem onder 'blue screen'-omstandigheden blijft draaien, creëert een extreem gevaarlijke situatie. Noch RTOS systemen, noch Windows NT voorzien een additionele protectie onder deze condities. De enige veilige actie is het in een veilige toestand zetten van de I/O, de runtime engine stoppen en de operator waarschuwen. Dit is dan ook wat de meeste SoftPLC oplossingen doen.

Probleemstelling 3: Is NT een betrouwbaar platform voor real-time controle?
Met meer dan 5 miljoen licenties geïnstalleerd, is Microsoft’s Windows NT de standaard voor industriële PC-gebaseerde operating systemen. Duizenden mensen ontwikkelen software voor Windows NT en zetten NT in de meest uiteenlopende toepassingen in. Hiermee is NT het meest geteste en meest stabiel bevonden systeem voor real-time PC gebaseerde controle.

Probleemstelling 4: Extensies van RTOS op Windows NT?
De eigenlijke vraag is in hoeverre de extensies de oorspronkelijke kernel van NT aanpassen , welke ondersteuning naar de toekomst nog wordt gegeven voor deze speciale versies en in welke mate deze versies getest en stabiel zijn bevonden. De aanpassingen situeren zich vooral op the gebied van de HAL (hardware abstraction layer). Modificaties aan de HAL komen neer op het veranderen van de manier waarop en de volgorde waarin de hardware interrupts en excepties worden behandeld door NT. Met andere woorden, het onderdrukken van 'Blue Screen' foutcondities. Tevens wordt op die manier een onnodige complexiteit aan het systeem toegevoegd, zijn deze oplossingen nog niet matuur genoeg en verlagen ze de uitbreidbaarheid van het NT operating systeem.

Probleemstelling 5: Voldoet de performantie van NT voor real time controle ?
Een SoftPLC op een NT platform op een 200 MHz computer laat toe een real time controle responstijd van 2-5 ms te bereiken met een tolerantie van 2-3 ms. Rekening houdend met het feit dat de meeste I/O systemen trager zijn, betekent dit dat ongeveer 95 % van de automatiseringsapplicaties met SoftPLC kunnen worden uitgevoerd.

Probleemstelling 6: Zijn RTOS systemen geschikt voor gedistribueerde controle ?
De sleutel tot gedistribueerde controle is netwerkcommunicatie. NT is specifiek ontwikkeld voor netwerktoepassingen. Speciale RTOS systemen begrenzen de netwerkmogelijkheden , om hun deterministische timing mogelijk te maken. Indien het RTOS de CPU of de bus nodig heeft, zullen het netwerk en andere programma’s worden achteruitgesteld.

Probleemstelling 7: Wat met de lange termijnondersteuning van RTOS gebaseerde systemen ?
Software en hardware veranderen zeer snel. Nieuwe versies van NT of een nieuwe soort processor kunnen de huidige performantie drastisch verbeteren. De proprietary RTOS gebaseerde systemen dienen dan eveneens te worden aangepast, wat tijd en geld vergt. Op dit moment zij n er zeer weinig bedrij ven die een dergelijke mate van support, dergelijke uitgebreide testen en het lanceren van nieuwe producten kunnen garanderen als Microsoft.

Probleemstelling 8: Hoe reageert NT op zich slecht gedragende toepassingen of drivers ?
NT is een multitasking pre-emptive operating systeem met geheugenbescherming voor alle 32 bit processen. Dit zorgt ervoor dat NT zeer stabiel is, en weerstaat aan slecht geschreven toepassingen. De meeste SoftPLC systemen zijn eveneens multithreaded en gebruiken de hogere prioriteitsklassen (real-time en high priority) van NT, zodat de uitvoering van deze programma’s niet wordt onderbroken, zelfs indien een ander slecht programma problemen zou veroorzaken .

De conclusie
De volgende karakteristieken maken Windows NT de meest voor de hand liggende lange termijn oplossing voor real time controle :
- bewezen real-time deterministische performantie.
- betrouwbaar en fout tolerante capabiliteit gebaseerd op RAID 5 (hard disk protectie).
- Stabiliteit, gebaseerd op hardware compatibiliteit, testen en meer dan 5 miljoen licenties.
- Ondersteuning en de mogelijkheid voor de gebruiker om de evolutie van de technologie mee te volgen.
- Uitbreidbaarheid en de mogelijkheid om gedistribueerde controle toe te passen.
Daarentegen, proprietary controle systemen, gebaseerd op extensies aan de HAL van NT of gebaseerd op het laten lopen van een proprietary kernel onder Windows NT, bieden de volgende nadelen:
- meestal immature technologie die minder getest en minder stabiel is.
- toename van de systeem complexiteit
- mogelijke problemen met lange termijnondersteuning
- noodzakelijke ontwikkeling van speciale drivers en de algemene incompatibiliteit van deze systemen met de uitbreidbaarheid en performantie-eigenschappen van Windows NT.
www.telerex-europe.com

SoftPLC's
Dans quelle mesure Windows NT convient-il aux applications de contrôle en temps réel ?

Ces derniers temps, nous avons assisté à une énorme polémique sur l'utilisation de Windows NT dans les applications temps réel. Le déterminisme est surtout essentiel dans la combinaison du SoftPLC et des applications critiques en temps. Les constructeurs de systèmes d'exploitation propriétaires temps réel (RTOS) tentent de profiler leur propre solution comme solution idéale. Ces solutions sont-elles toutefois si idéales ?

Les systèmes d'exploitation temps réel (RTOS) ont également leurs limites. Nous vous avançons une série d'arguments sur la base desquels les deux solutions - NT ou RTOS - sont examinées sur le plan des caractéristiques de contrôle en temps réel de Windows NT.

Problématique 1 : NT est-il déterministe ?
Le temps réel et le déterminisme doivent être interpréter dans la mesure où la précision dans laquelle les critères de timing prédéfinis du cycle de contrôle peuvent être garantis sur une période étendue. Si le temps du cycle s'élève à 100ms par exemple, des variations de quelques millisecondes peuvent provoquer des problèmes dans chaque cycle. Un système non déterministe exécuterait la logique au plus vite sans tenir compte du timing. Certains systèmes conservent un temps de cycle moyen (ON AVERAGE) sur un grand nombre de cycles. Un temps réel dur implique que le système finalise exactement toutes les 100 ms sans délai. Aucun système ne permet toutefois ceci sans accuser le moindre retard. D'où la question très simple qu'il convient de se poser: 'Avec quelle précision le système doit-il s'approcher du temps de cycle nominal ?' Il est clair que la réponse à cette question dépend de plusieurs facteurs. On accepte en général une réponse déterministe de 95% pour les systèmes d'automatisation et les applications de process. La variation de la réponse des E/S est toutefois souvent plus grande que celle due au temps de cycle défini. La performance déterministe temps réel de NT satisfait aujourd'hui à plus de 95% de toutes les applications d'automatisation au monde. Par déterminisme ou temps réel dur, nous entendons la possibilité d'un système à garantir un temps de cycle déterminé dans une tolérance connue. Pour la plupart des PLC, ces temps de cycle se situent dans les environs de 5 à 10 ms avec une tolérance de 1-4 ms. Le déterminisme temps réel d'un système de contrôle sous la plate-forme Windows NT se situe dans le même ordre de grandeur. Sur un ordinateur 200 MHz, les progiciels SoftPLC permettent généralement des temps de cycle de l'ordre de 2-5 ms, avec une tolérance de 2-3 ms. Le protocole de bus de contrôle introduit un retard additionnel du temps de cycle avec le NT pur. On obtient la meilleure comparaison entre SoftPLC sur NT ou SoftPLC avec un RTOS en mesurant la variation sur le temps de réponse aux E/S. Comme le montre clairement l'encart, la vitesse du système d'exploitation n'est pas le facteur principal. L'arrivée d'ordinateurs plus rapides conduira toutefois à une amélioration continue des systèmes de contrôle basés sur Windows NT.

Problématique 2 : Certains systèmes RTOS pourraient continuer à tourner sous une condition 'blue screen' de Windows NT.
L'écran bleu est un message d'erreur du système qui apparaît lorsque survient une 'kernel mode exception' ou une 'memory overwrite condition', par exemple lorsque un driver d'un système est devenu instable ou lorsque le code de contrôle exécutif est corrompu. Arrêter le système et mettre les E/S en état sécurisé en cas d'un tel écran bleu empêche l'utilisateur de faire tourner une application sous des conditions dangereuses. Il s'agit là d'une caractéristique indispensable que l'on retrouve également auprès des PLC hardware avec lesquels le système est arrêté en cas d'erreur fatale. Cette procédure est identique à l'état 'lampe rouge' d'un PLC d'AB ou au statut 'halte' sur un PLC S5. En pratique, la plupart des erreurs 'blue screen' sont dues à des erreurs matérielles ou des problèmes rencontrés avec des pilotes de périphériques bas de gamme dont le fonctionnement n'est pas optimal. Un tel système, qui ne tient pas compte de ces erreurs, continue à tourner sous des conditions instables et dangereuses. Chaque constructeur qui prétend que son système SoftPLC continue à tourner sous des conditions 'blue screen', crée une situation extrêmement dangereuse. Ni les systèmes RTOS, ni Windows NT ne prévoient une protection additionnelle sous ces conditions. La seule action sûre est de mettre les E/S en état sécurisé, d'arrêter le runtime et de prévenir l'opérateur. C'est aussi ce que font la plupart des solutions SoftPLC.

Problématique 3 : NT est-il une plate-forme fiable pour un contrôle temps réel ?
Avec une base installée de plus de 5 millions de licences, Windows NT de Microsoft est le standard des systèmes d'exploitation basés sur PC industriels. Des milliers de gens développent du logiciel pour Windows NT et utilisent NT pour les applications les plus diverses. NT est ainsi le système le mieux testé et estimé comme le plus stable pour le contrôle temps réel basé sur PC.

Problématique 4 : Extensions de RTOS sur Windows NT ?
La véritable question consiste à savoir dans quelle mesure les extensions adaptent le noyau originel de NT, quel support sera fourni à l'avenir pour ces versions spéciales et dans quelle mesure ces versions ont été testées et déclarées stables. Les adaptations se situent surtout dans le domaine de la HAL (hardware abstraction layer). Les modifications apportées à la HAL reviennent à changer la manière et l'ordre dans lequel sont traitées par NT les interruptions et exceptions. En d'autres termes, la répression de conditions d'erreur 'Blue Screen'. On ajoute, de cette manière, une complexité inutile au système. Ces solutions ne sont pas suffisamment mûres et diminuent l'extensibilité du système d'exploitation NT.

Problématique 5 : La performance NT satisfait-elle au contrôle temps réel ?
Un SoftPLC sur une plate-forme NT d'un ordinateur 200 MHz permet d'obtenir pour le contrôle temps réel un temps de réponse de 2-5 ms avec une tolérance de 2-3 ms. Tenant compte du fait que la plupart des systèmes d'E/S sont plus lents, cela signifie qu'environ 95% des applications d'automatisation peuvent être réalisées avec un SoftPLC.

Problématique 6 : Les systèmes RTOS conviennent-ils pour un contrôle distribué ?
La clé du contrôle distribué est la communication réseau. NT a été développé spécifiquement pour les applications en réseau. Des systèmes RTOS spéciaux limitent les possibilités de réseau pour assurer le timing déterministe. Si le RTOS accapare la CPU ou le bus, le réseau et les autres programmes seront traités ultérieurement.

Problématique 7 : Qu'en est-il du support à long terme des systèmes basés sur un RTOS ?
Le logiciel et le matériel évoluent rapidement. De nouvelles versions de NT ou un nouveau type de processeur peuvent améliorer radicalement les performances actuelles. Les systèmes propriétaires basés sur un RTOS doivent dans ce cas également être adaptés, ce qui requiert du temps et de l'argent. Peu de sociétés sont en mesure de garantir à l'heure actuelle un tel support, de tels tests détaillés et le lancement de nouveaux produits comme Microsoft.

Problématique 8 : Comment réagit NT aux applications ou pilotes qui se comportent mal ?
NT est un système d'exploitation multitâche préemptif doté d'une protection de mémoire pour tous les processus 32 bits. NT est ainsi très stable et résiste à des applications mal écrites. La plupart des systèmes SoftPLC sont également multi-threaded et utilisent des classes de priorité plus élevées (temps réel et haute priorité) de NT afin de ne pas interrompre l'exécution de ces programmes, même si un autre mauvais programme provoque des problèmes.

En conclusion
Windows NT est la solution à long terme la plus évidente pour le contrôle temps réel en raison des caractéristiques suivantes :
- performance déterministe temps réel prouvée
- capacité fiable et tolérante au niveau des erreurs, basée sur RAID 5 (protection disque dur)
- stabilité, basée sur une compatibilité hardware, tests et plus de 5 millions de licences
- support et possibilité pour l'utilisateur de suivre l'évolution de la technologie
- extensibilité et possibilité d'appliquer un contrôle distribué.
Les systèmes de contrôle propriétaires qui se basent sur des extensions de la HAL de NT ou qui installent un noyau propriétaire sous Windows, présentent par contre les inconvénients suivants:
- une technologie souvent immature, moins testée et moins stable
- augmentation de la complexité du système
- problèmes éventuels du support à long terme
- développement nécessaire de drivers spéciaux et incompatibilité générale de ces systèmes avec les caractéristiques d'extensibilité et de performance de Windows NT.
www.telerex-europe.com

 

©