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