Da Windows NT gemessen an den bei schnellen Steuerungen üblichen Reaktionszeiten kein deterministisches Verhalten besitzt, muß ein SPS-Laufzeitsystem in eine entsprechende Echtzeiterweiterung eingebettet werden. Aus diesem Grund sind auf dem Markt verschiedene Echtzeiterweiterungen für Windows NT verfügbar. Es entstehen für den Anwender neben den Lizenzen von Windows NT und dem SPS-Laufzeitsystem jedoch zusätzliche Kosten für die Echtzeiterweiterung und/oder Hardwareerweiterungen. (Mwt.jpg)
Einleitung Bisher wurden bei Automatisierungsaufgaben getrennte Rechnersysteme für die Steuerung und die Bedienung/Visualisierung (HMI) eingesetzt. Für die Bedienung/Visualisierung ist der Siegeszug der PC-basierenden Systeme mit Microsoft Betriebssystemen, speziell Windows NT, schon längst abgeschlossen. Dagegen werden für die Steuerung nach wie vor klassische SPS-Systeme oder eigenständige Controller mit IEC1131-3 SPS-Laufzeitsystemen wie z.B. ProConOS (Programmable Controller Operating System) eingesetzt. Selbst beim Einsatz von PC-Hardware für eigenständige Controller setzte das SPS-Laufzeitsystem ProConOS auf proprietäre Echtzeitbetriebssysteme wie VxWorks, QNX oder RTXDOS auf. Da der PC weltweit verfügbar ist, nahezu jeder mit der Bedienung von Windows vertraut ist und die Rechenleistung der PC-Prozesssoren bei gleichbleibendem bzw. sinkenden Preis kontinuierlich steigt, ist die logische Folge, auch die Steuerungsaufgaben in den PC zu integrieren. Da Windows NT gemessen an den bei schellen Steuerungen üblichen Reaktionszeiten kein deterministisches Verhalten besitzt, muß das SPS-Laufzeitsystem in eine entsprechende Echtzeiterweiterung eingebettet werden. Aus diesem Grund sind auf dem Markt verschiedene Echtzeiterweiterungen für Windows NT verfügbar. Es entstehen für den Anwender neben den Lizenzen von Windows NT und dem SPS-Laufzeitsystem jedoch zusätzliche Kosten für die Echtzeiterweiterung und/oder Hardwareerweiterungen. Deshalb entschied sich Klöpper und Wiege Software GmbH, eine eigene Echtzeiterweiterung als Systemlösung für das SPS-Laufzeitsystem ProConOS zu entwickeln und anzubieten.
Hauptteil
Echtzeiterweiterung Die Echtzeiterweiterung von Klöpper und Wiege Software GmbH wird als gekapselter Kernel Mode Treiber in Windows NT installiert. Durch diese Standardimplementation wird an Windows NT selbst keine Veränderungen vorgenommen, so daß jedes beliebige, weltweit verfügbare Windows NT System verwendet werden kann und zusätzlich die Kompatibilität zu Folgeversionen von Windows NT erhalten bleibt. Dieser Kernel Mode Treiber wird über einen Timerinterrupt zyklisch und deterministisch unabhängig von der CPU-Leistung aufgerufen. Während der Installation des Software-SPS Systems ProConOS NT kann die Zykluszeit in dem Bereich 0,5 ms bis 4 ms ausgewählt werden. Veränderungen der Interruptmaske durch den Windows NT-Kernel oder weitere Kernel Mode Komponenten können zu einer Verzögerung (Jitter) des Kontextwechsels von Windows NT zur Echtzeiterweiterung führen. Dieser Jitter erreicht auf einem typischen Pentium System maximal ca. 50 ms und wird auf Basis der Pentium-Clock kontinuierlich gemessen und angezeigt. In diesen Kernel Mode Treiber ist ein eigener Echtzeitkernel (KWRTK) eingebettet, der nach einem Kontextwechsel ein vollwertiges, preemptive Echtzeit-Multitasking mit leistungsfähiger Threadumschaltung (< 1 ms) und 256 Prioritätsebenen bietet. Die innerhalb des Gesamtsystems der Echtzeiterweiterung zugeordneten Interrupts werden asynchron verarbeitet. Das SPS-Laufzeitsystem ProConOS setzt auf diesem Echtzeitkernel auf und resultiert in einer Software-SPS unter Windows NT mit deterministischem Verhalten. (Abbildung 1)
Kommunikation zu Windows-Applikationen Zur Kommunikation zwischen Windows NT-Applikationen und der Software-SPS ProConOS NT im Kernel Mode Treiber wird ein gemeinsamer, reservierter Speicherbereich verwendet. Unter Windows NT wird ein Programm mit einem Kommunikationsserver und einem Dateiserver gestartet, das über diesen reservierten Speicherbereich die Verbindung zu TCP/IP Sockeln und COM Ports herstellt. Durch den Kommunikationsserver können Windows-Applikationen wie z.B. das Programmiersystem MULTIPROG wt oder ein Visualisierungssystem (HMI) über das TCP/IP-Protokoll sowohl lokal auf einem Windows NT System als auch über Netzwerk verteilt (auch Internet und Intranet) Daten austauschen. Für Servicezwecke kann auch ein Programmiergerät lokal über den COM-Port des Windows NT-Systems mit der Software-SPS ProConOS NT kommunizieren. Mit Hilfe des Dateiservers wird die Festplatte des Windows NT-Systems auch als Dateisystem für die Software-SPS ProConOS NT verwendet, um Bootprojekte oder INI-Dateien zu lesen oder remanente Daten zu verwalten.
Feldbusse Dem allgemeinen Trend von diskreter E/A-Verdrahtung zu Feldbussystemen wird auch durch die ProConOS NT Software-SPS Rechnung getragen. Da die Wahl des Feldbussystems sowohl von der Art der Applikation als auch der Vorliebe des Anwenders abhängt, werden Feldbusmaster (PC-Karten) der Firma Hilscher für INTERBUS, PROFIBUS DP, CANopen und DeviceNet unterstützt. Der hierfür zur Verfügung stehende Treiber kann bis zu vier mal instanziiert werden, so daß in einer Software-SPS ProConOS NT vier Feldbusmaster (PC-Karten) gleichen oder verschiedenen Typs gleichzeitig bedient werden können. Zusätzlich wird der INTERBUS-Master der Firma Phoenix Contact unterstützt. Für die Projektierung des Feldbusses wird grundsätzlich der zur jeweiligen Feldbusmasterkarte gehörende Konfigurator verwendet. Durch geschickte Adreßvergabe der verwendeten E/A-Punkte während der Projektierung ist es möglich, ohne Änderung des SPS-Projekts verschiedene Feldbussysteme einzusetzen, was insbesondere für exportorientierte Unternehmen von Vorteil sein dürfte.
Systemverhalten, Programmierung und Diagnose Das Verhalten der Software-SPS entspricht dem herkömmlicher SPSen. Beim Einschalten des Systems startet Windows NT zuerst ProConOS NT, lädt dann das SPS-Bootprojekt und die remanenten Daten (falls vorhanden) und beginnt mit der Programmausführung. Beim korrekten Beenden von Windows NT (im Störfall abgesichert durch eine USV) wird die Programmausführung automatisch beendet und die remanenten Daten werden gesichert. Dieses Standardverhalten kann vom SPS-Programmierer durch die Verwendung von Systemtasks für Kaltstart, Warmstart, Stop, ... noch beeinflußt werden. Zur zusätzlichen Sicherheit wird dem SPS-Programmierer ein Funktionsbaustein zur Verfügung gestellt, der ein programmgetriggertes zyklisches Schreiben remanenter Daten während der Programmausführung bietet. Während des Betriebs werden durch den Performancemonitor der aktuelle und der maximale Jitter, die CPU-Auslastung durch die Echtzeitanwendung und die bereits durchlaufenen Systemticks angezeigt, so daß der Anwender jederzeit über das Systemverhalten informiert ist. Windows NT und ProConOS NT konkurrieren um die CPU-Belegung des Systems, wobei ProConOS NT durch die spezifische Implementation dominiert. Da Windows NT für seine korrekte Funktion ein Minimum an Rechenleistung benötigt, wird ProConOS NT auf eine maximale CPU-Auslastung von 80% begrenzt. Zusätzlich wird noch das Echtzeitverhalten jeder Applikationstask unter ProConOS NT durch einen Watchdog überwacht. Die Projekterstellung und -inbetriebnahme erfolgt durch das moderne und effiziente Programmiersystem MULTIPROG wt lokal oder remote. Funktionalitäten wie Online-Status (Adreßstatus oder Variablenstatus), Programmänderungen während laufender Steuerung, Forcen und Überschreiben, Breakpoints und Einzelschritte oder Variablenaufzeichnungen bieten dem SPS-Programmierer eine gewohnte und komfortable Arbeitsumgebung. Selbst der Test ohne Feldperipherie ist durch Umleitung der E/A-Punkte in eine Windows-basierende Simulation möglich. Für den Datenaustausch mit Windows-Applikationen wird ein netzwerkfähiger OPC-Server verwendet. Diese Standardschnittstelle wird von der OPC-Foundation weltweit vorangetrieben und beendet hoffentlich bald die Abhängigkeit von spezifischen Kommunikationstreibern in Windows-Applikationen. (Abbildung 2)
Blue Screen-Verhalten Viele potentielle Anwender für eine Software-SPS unter Windows NT fürchten den Absturz von Windows NT „Blue Screen“ und somit den Verlust der Kontrolle über die zu steuernde Applikation. Solch ein „Blue Screen“-Ereignis beendet unkontrolliert alle Windows-Applikationen. Es kann jedoch nur vom Windows NT-Kernel selbst oder zusätzlich installierten Kernel Mode-Komponenten verursacht werden, die jedoch i.d.R. sehr zuverlässig arbeiten. Im Gegensatz zu einigen Software-SPS-Implementationen auf dem Markt, die im User Mode von Windows NT arbeiten, ist die Software-SPS ProConOS NT komplett als Treiber im Kernel Mode implementiert. Die vom „Blue Screen“-Ereignis erzeugte Ausnahme im Kernel Mode wird nach einer maximalen Verzögerung von 4 ms von ProConOS NT im Echtzeitkontext erkannt, unterbindet einen erneuten Kontextwechsel zu Windows NT und wechselt automatisch in den Stopzustand mit definiertem Prozeßabbild der E/A-Punkte. Der SPS-Programmierer kann durch die Verwendung einer eigenen Systemtask auch korrigierende Maßnahmen und/oder eine weitere Programmausführung veranlassen. Weiterhin wird beim „Blue Screen“ ein serieller Treiber der Echtzeiterweiterung zum COM-Port des PCs gestartet, so daß ein externes Programmiergerät eine Verbindung zu ProConOS NT aufbauen kann. Durch diese spezifische Implementation der Software-SPS ProConOS NT ist die sichere Kontrolle der Applikation und Beeinflussung der Steuerung in dem sehr seltenen Fall eines Windows NT-Absturzes zu jeder Zeit gewährleistet. (Abbildung 3)
ProConOS Entwicklerlizenz Im Rahmen einer Entwicklerlizenz für die Software-SPS ProConOS NT wird Systemintegratoren die Möglichkeit geboten, selbst Erweiterungen oder Anpassungen vorzunehmen, von denen die wichtigsten im folgenden kurz erläutert werden. Bei PC-Systemen mit integriertem NMI-Timer auf dem Motherboard kann der Kontextwechsel zwischen Windows NT und ProConOS NT anstatt über einen Softwareinterrupt auch über den NMI erzeugt werden. Der Name NMI (non-maskable interrupt) sagt bereits aus, daß dieser Interrupt nicht mehr durch Windows NT verdrängt werden kann. Somit wird der Jitter für den Kontextwechsel auf wenige ms deterministisch und reproduzierbar reduziert. Weiterhin wird die Verzögerung der Programmausführung im Falle eines „Blue Screen“-Ereignisses eliminiert. Das Schreiben von remanenten Daten kurzperiodischer Vorgänge auf die Festplatte ist aus physikalischen Gründen nicht möglich. Durch einfache Parametrierung von Systemfunktionen in ProConOS NT ist es jedoch möglich, remanente Daten zyklisch konsistent in einen SRAM-Speicher zu schreiben. Weiterhin kann der Funktionsumfang von ProConOS NT durch spezifische Funktionen und Funktionsbausteine erweitert werden, die für den SPS-Programmierer identisch zu IEC1131-3 Funktionen und Funktionsblöcken benutzt werden können. Falls die E/A-Peripherie nicht über die standardmäßig unterstützten Feldbusse angeschlossen werden kann oder der Einsatz von intelligenten Interfacekarten (z.B. Achsenregelung) erforderlich ist, können selbstentwickelte Treiber statisch zu ProConOS NT gelinkt und im Kernel Mode abgearbeitet werden. Für „einfache“ Treiber, bei denen kein Zugriff auf Synchronisationsmechanismen oder Interrupts des Echtzeitkernels notwendig sind, wird auch eine eingeschränkte E/A-Treiber Entwicklerlizenz angeboten.
Zusammenfassung und Ausblick: Integration und Weiterentwicklung Der vertikalen und horizontalen Integration in der Fertigung waren in der Vergangenheit durch die Inkompatibilität der Systeme von der Fertigungs- bis zur Planungsebene enge Grenzen gesetzt. Durch den Siegeszug der PC-Technologie auf Basis von Microsoft Betriebssystemen und Softwareschnittstellen scheint diese Vision nun Wirklichkeit zu werden. Die in Windows NT integrierte Software-SPS ProConOS NT ist ein weiterer Schritt auf diesem Weg. In Kürze bietet Microsoft das Betriebssystem Windows NT Embedded an, welches für den industriellen Steuerungsbereich optimiert ist. Mit Hilfe des Target Designers werden für die Installation nur die für die jeweilige Applikation benötigten Komponenten ausgewählt, so daß deutlich weniger Hardwareresourcen benötigt werden. Der Einsatz einer Flash-Disk ohne mechanisch bewegte Teile ist ebenso möglich, wie der Betrieb ohne Mouse, Tastatur und Bildschirm. Da das WIN32-API vollständig vorhanden ist und die Kernelarchitektur identisch zu Windows NT ist, können alle verfügbaren Softwarepakte einschließlich der Software-SPS ProConOS NT eingesetzt werden.
|
| |
|
 |
|