Hardware bildet den Körper des Produktes

Software erfüllt es mit Leben

 

Die verwaltete Variante des RED-VMK

  •  

  • Systemplattform

     

    Der RED-VMK wird als eigene Laufzeitumgebung auf einer industriellen Windows Plattform ausgeführt, wobei Windows 7 und nachfolgende Windows Versionen unterstützt werden. Der RED-VMK besteht aus folgenden Komponenten:

     

    Komponente

    Applikationstyp

    RED-VMK

    Windows Win32/Win64 Prozess

    Supervisor

    Windows Kernel Mode Treiber

    Redundanz Manager

    Windows Win32/Win64 Prozess

    Der RED-VMK wird als Windows Prozess (User Mode Applikation) ausgeführt und stellt die Laufzeitumgebung für die Anwender Applikation zur Verfügung. In dieser Laufzeitumgebung wird die Applikation als Windows DLL ausgeführt.

    Der Supervisor besteht aus einem Windows Kernel Mode Treiber, der die Prozessdaten der Anwender Applikation verwaltet. Da Windows Kernel Mode Treiber im Allgemeinen im Adressraum des Windows Kernels ausgeführt werden, können Daten eines Kernel Mode Treibers nicht direkt von einer Windows User Mode Applikation geschrieben werden.

    Das heißt, es ist physikalisch nicht möglich, dass die Anwender Applikation oder sogar der RED-VMK selbst durch ein Fehlverhalten die Prozessdaten, die im Supervisor verwaltet werden, unbeabsichtigt überschreibt und so inkonsistent werden lässt.

    Der Redundanz Manager wird als Windows Prozess ausgeführt und kommuniziert durch das Redundanzprotokoll mit dem Slave System oder respektive mit dem Master System. Der Redundanz Manager überträgt die Prozessdaten zum korrespondierenden System, so dass im Fehlerfall die Prozessdaten im Slave System verfügbar sind.

    Der Anwender kann ein redundantes RED-VMK Steuerungssystem mit handelsüblichen PCs oder Laptops aufbauen. Als Zielsystem wird dem Anwender jedoch dringend empfohlen, industrielle PC Systeme einzusetzen. Diese Systeme zeichnen sich durch höhere Hardwarequalität und Lebensdauer aus.

     

     

    System Architekturen des RED-VMK

     

    Eine für den RED-VMK implementierte Steuerungsapplikation kann entweder als „einkanalige“ Variante ohne Redundanzfunktionalität oder als "zweikanalige" Variante mit Redundanzfunktionalität aufgeführt werden.

      Die einkanalige Variante

      Das folgende Bild zeigt die einkanalige Architektur des RED-VMK.

      Die Anwender Applikation wird vom RED-VMK ausgeführt. Die Applikation greift über entsprechende Laufzeitfunktionen des RED-VMK auf die I/O Hardware zu, um Eingangssignale zu lesen und Ausgangssignale zu schreiben. Da die Applikation nicht im Redundanzbetrieb ausgeführt wird, wird bei einem Fehler z.B. in der I/O Hardware oder Fehlern in der Applikation die Steuerungsapplikation vom RED-VMK angehalten. Da das System im „einkanaligen“ Betrieb arbeitet, erfolgt keine Redundanzumschaltung.

      Die Ausgangssignale werden dabei in einen vom Anwender projektierbaren Zustand geschaltet, um den zu steuernden Prozess in einen sicheren Zustand zu überführen.

      Die zweikanalige Variante

      Das folgende Bild zeigt die zweikanalige Architektur des RED-VMK.

       

     

     

    In der Redundanz Konfiguration besteht das System aus einem Master und einem Slave. Die Hardware Plattform des Masters und des Slave besteht je aus einem Windows PC System.

    Der Master führt in dieser Konfiguration die Anwender Applikation aus, wobei Eingangssignale über das I/O System gelesen und Ausgangssignale geschrieben werden. Der RED-VMK überwacht dabei die Anwender Applikation und die I/O Hardware, der Supervisor überwacht den RED-VMK selbst. Der RED-VMK übermittelt die Prozessdaten der Anwender Applikation an den Supervisor.

    Master und Slave sind durch eine sogenannte Redundanzkopplung miteinander verbunden. Der Redundanz Manager des Masters nimmt zyklisch die Prozessdaten der Anwender Applikation vom Supervisor entgegen und überträgt diese mit Hilfe des Redundanz Protokolls an den Slave. Der Redundanz Manager des Slave übergibt die Prozessdaten der Anwender Applikation des Masters an den Supervisor des Slave. Die Anwender Applikation des Slave befindet sich dabei im Standby und wird nicht vom RED-VMK ausgeführt.

    Erkennt der RED-VMK einen Fehler in der I/O Hardware oder in der Anwender Applikation, wird eine Redundanzumschaltung vom Master zum Slave durchgeführt. Dabei werden die letzten Prozessdaten zusammen mit einer Störmeldung an den Slave übergeben. Der Master hält dabei die Anwender Applikation an und der Slave führt die Anwender Applikation mit den letzten, aktuellen Prozessdaten fort.

    Im Folgenden werden die Fehlerklassen, die der RED-VMK und seine Subsysteme erkennen kann und die entsprechenden Reaktionen, beschrieben.

     

    Fehler in der Anwender Applikation

     

    Der RED-VMK überwacht folgende Kenngrößen der Applikation:

    • Zykluszeit der Applikation
    • Ressourcenverbrauch
    • Schutzverletzungen, wie z.B. illegale Speicherzugriffe, Division durch 0 etc.
    • Nicht mehr stattfindende Zugriffe auf I/O Signale

    Tritt einer der genannten Fehler in der Anwender Applikation auf, informiert der RED-VMK den Supervisor über einen Ausfall der Applikation. Der Supervisor übergibt eine entsprechende Statusmeldung an den Redundanz Manager, der diese Information zum Redundanz Manager des Slave überträgt. Der Redundanz Manager des Slave informiert seinen eigenen Supervisor, der dem RED-VMK des Slave den Ausfall der Master Applikation signalisiert.

    Der RED-VMK des Slave führt daraufhin die sich im Wartezustand befindende Slave Applikation fort. Der RED-VMK des Masters hält die Anwender Applikation an und bootet das System neu. Nach erfolgtem Hochlauf übernimmt der bisherige Master die Rolle des Slave und synchronisiert sich mit dem aktuellen Master, dem vorhergehenden Slave, neu.

     

    Sekundärfehler im RED-VMK

    Ein Sekundärfehler im RED-VMK liegt vor, wenn ein Absturz der Anwender Applikation die Reaktionsfähigkeit des RED-VMK blockiert. In einem Single Core System könnte die Anwender Applikation die CPU blockieren, so dass der RED-VMK zwar noch betriebsbereit ist, aber keine Rechenzeit mehr bekommt.

    Da der Supervisor im Windows Kernel im Interrupt Betrieb arbeitet, wird diesem über den Interrupt Handler in jedem Fall CPU Zeit zugeteilt. Dadurch erkennt der Supervisor anstelle des RED-VMK einen System Ausfall und gibt diese Information wie bereits beschrieben über den Redundanz Manager an das Slave System weiter.

     

    Fehler in der I/O Hardware

    Das I/O System des RED-VMK ermöglicht Zugriffe auf I/O Signale. Das I/O System kommuniziert dabei mit der dazu gehörenden I/O Hardware. Das I/O System des RED-VMK überwacht die Kommunikation mit der I/O Hardware.

    Treten beim Schreiben oder Lesen von I/O Signalen Fehler auf, die z.B. von der I/O Hardware gemeldet werden, wird vom RED-VMK eine entsprechende Status Meldung an den Supervisor übergeben, der wie bereits beschrieben diese Information über den Redundanz Manager an den Slave weiter leitet.

     

    Ausfall der Redundanzkopplung

     

    Der Redundanz Manager des Masters kommuniziert zyklisch mit dem Redundanz Manager des Slave. Erkennt der Redundanz Manager des Slave, dass keine Kommunikation mehr mit dem Master stattfindet, gilt der Master als ausgefallen und die Anwender Applikation des Slave Systems wird fortgeführt.

    Ein Ausfall der Kommunikation entsteht durch einen Ausfall des Redundanz Managers des Masters oder durch eine Unterbrechung der Master/Slave Verbindung, wie z.B. das Ziehen des Netzwerk Kabels.

     

  • Spannungsausfall

    Ein Spannungsausfall des Masters wird indirekt vom Slave durch die unterbrochene Kommunikation erkannt. Dieser Fehler wird gemäß des Ausfalls der Redundanz Kopplung behandelt

     

    Applikationsentwicklung und Programmiermodell

    Wie bereits beschrieben wird die Anwender Applikation in der Programmiersprache ANSI C erstellt. Der RED-VMK stellt für die Applikation entsprechende Bibliotheken zu Verfügung, die die Funktionalität des RED-VMK in Form von System Funktionen bereitstellen. Die Anwender Applikation  sollte nur die vom RED-VMK zur Verfügung gestellten System Funktionen verwenden.

    In der ersten  Version des RED-VMK ist es grundsätzlich möglich, Funktion der C-Runtime Library oder WIN32 Funktionen (Windows System Funktionen) zu verwenden, jedoch kann in diesem Fall die Redundanz Funktionalität nicht vollständig gewährleistet werden. Es ist die Aufgabe des Anwenders dafür zu sorgen, dass im Redundanzfall das Applikationsprogramm sinnvoll weitergeführt werden kann.

    Spätere Versionen stellen eigene Runtime Libraries zur Verfügung. Diese unterstützen auch den redundanten Betrieb.

    Die Anwender Applikation wird als Win32 DLL erstellt und vom RED-VMK geladen und ausgeführt und kann mit dem Visual Studio von Microsoft erstellt werden.

     

    Inbetriebnahme der Applikation

    Für die Inbetriebnahme stellt der RED-VMK eine Projektierungssoftware zur Verfügung. Mit dieser Software werden I/O-Signale, I/O-Module und Feldbuskontroller projektiert. Zum Debuggen können Funktionen wie „Steuern“ und „Forcen“ von Signalen angewendet werden. Weiterhin können Traces aus dem Applikationsprogramm  in der Projektierungssoftware  angezeigt werden.

    Selbstverständlich stehen auch die komfortablen Debugging Funktionen des Visual Studios wie z.B. Breakpoints, Watches zur Verfügung.

     

    Ausblick

Aufgrund der steigenden Beliebtheit von Linux wird der RED-VMK auf Linux portiert. Dies erlaubt den Einsatz von Checkkarten Computer wie z.B.  Rasperry Pi oder Beagle Bone Black.

 

 

 

 

 

 

 

 

 

 

  • Home
  • Branchen
  • Dienstleistungen
  • Entwicklungsprozess
  • Projekte
  • RED-VMK
  •  

     

    Hochverfügbarkeit bezeichnet die Fähigkeit eines Systems, bei Ausfall einer seiner Komponenten den weiteren Betrieb zu gewährleisten

    Bei Safety wird das System in einen sicheren Zustand gebracht