topic_realtimesuite

Kithara Echtzeit – Allgemeine Funktionen

Die Kithara »RealTime Suite« ist eine modulare Echtzeiterweiterung für die Windows-Betriebssysteme. Sie deckt in Form einer Funktionsbibliothek eine Vielzahl von Bereichen ab, die bei der PC-gestützten Automatisierung benötigt werden:

  • Echtzeit-Multitasking-System
  • hardwarenahe Programmierung
  • Echtzeit-Kommunikation
  • Automatisierungs-/Feldbusprotokolle
  • Echtzeit-Bildverarbeitung
  • Automobil-Protokolle

Echtzeit unter Windows®

Mit der »RealTime Suite« ist es möglich, auf einfache Weise Anwendungen für Windows zu entwickeln, die auch “harte” Echtzeit-Anforderungen erfüllen.

Zu den allgemeinen Funktionen gehören in der modularen Kithara »RealTime Suite« folgende Komponenten:

  • allg. Verwaltung, Debug-Hilfen, Systeminformationen, grundlegende Ressourcen, Device-Handling (“Base Module”),
  • erforderlich für Kernel-Ebene, echtzeitfähige Speicherverwaltung etc. (“Kernel Module”),
  • Abfangen von Systemereignissen, Fail-Safe-Handler (“System Module”),

Base Module

Allg. Verwaltung, Debug-Hilfen, Systeminformationen, grundlegende Ressourcen, Device-Handling

  • Allgemein
  • Features
  • Systemvoraussetzungen

Das Base Module stellt generell die Grundlage für jedes Echtzeitsystem der »RealTime Suite« dar. Es ermöglicht das Öffnen des Echtzeittreibers von der Windows-Applikation aus und die allgemeine Verwaltung sowie Versionskontrolle und stellt Funktionen für Debug-Hilfen und zur Ermittlung von Systeminformationen bereit.

Außerdem stehen Mechanismen für grundlegende Ressourcen bereit, wie z.B. Anwendungs-Threads, Events, Callbacks, Shared Memory, Daten- und Message-Pipes und schnelle Mutex-Objekte.

  • Funktionen zum Öffnen des Treibers
  • Ermittlung von Fehlerbeschreibungen
  • Versionskontrolle
  • Debug-Hilfen
  • Ermittlung von Systeminformationen
  • Anwendungs-Threads
  • Funktionen für Event- und Callback-Objekte, schnelle Mutex-Objekte
  • Funktionen für Shared Memory
  • Daten- und Message-Pipes mit automatischer Entkopplung zwischen schreibender und lesender Seite
  • Device-Informationen, Driver-Management
  • generierte Log-Messages kompatibel zu Kithara Kernel Tracer

Folgende Systemvoraussetzungen müssen gegeben sein:

  • Unterstützung des CMPXCHG8B/CMPXCHG16B CPU-Befehls

Betriebssystem

Die Software unterstützt folgende Betriebssysteme:

  • Windows 10 (32- und 64-Bit, bei 64-Bit nur im Dedicated Mode)
  • Windows 8 und 8.1 (32- und 64-Bit, bei 64-Bit nur im Dedicated Mode)
  • Windows Server 2012 (64 Bit, nur im Dedicated Mode)
  • Windows 7 (32- und 64-Bit) + Windows Embedded Standard 7
  • Windows 2008 R2 (64 Bit)

Kernel Module

Erforderlich für Kernel-Ebene, echtzeitfähige Speicherverwaltung etc.

  • Allgemein
  • Features

Das Kernel Module ist erforderlich, um die Ausführung von Echtzeit-Code auf der Kernel-Ebene und damit im Echtzeitkontext zu ermöglichen. Hierbei werden alle Sprachen unterstützt, die in der Lage sind, nativen Maschinencode für die Zileplattform (32 oder 64 Bit) zu erzeugen. Von Hause aus sind dies C/C++ oder Delphi, es sind jedoch auch andere Sprachen denkbar.

Darüberhinaus stellt das Kernel Module eine Echtzeit-Speicherverwaltung, Memory-Kopierfunktionen und einen generischen WDM-Treiber für Plug&Play-Installationen bereit.

  • erforderlich für Ausführung von Echtzeit-Code auf der Kernel-Ebene
  • befehlsweise Relozierung einzelner Funktionen möglich (nur 32-Bit)
  • Laden von DLLs in den Echtzeitkontext
  • Echtzeit-Speicherverwaltung
  • Memory-Kopierfunktionen für Echtzeitkontext
  • erfordert native Maschinencode-Erzeugung – nur in Verbindung mit C/C++ oder Delphi
  • generischer WDM-Treiber für Plug&Play-Installation enthalten
  • Kernel Module Addons: Kernel CPU Extension, Kernel Memory Extension

System Module

Abfangen von Systemereignissen, Fail-Safe-Handler

  • Allgemein
  • Features

Das System Module dient dem Abfangen von Systemereignissen, z.B. Schutzverletzungen und Systemabstürzen auf der Kernel-Ebene. Dazu werden vorher registrierte Handler (Callback-Funktionen oder Echtzeit-Tasks) gerufen. Damit lassen sich z.B. FailSafe-Handler ("BlueScreen-Handler") realisieren und das System im Fehlerfall in eine definierte Ausgangsposition bringen.
  • Abfangen von Systemereignissen mit Callback-Funktionen oder Echtzeit-Tasks
  • z.B. bei Schutzverletzungen und Systemabstürzen auf der Kernel-Ebene
  • Realisierung von z.B. FailSafe-Handlern ("BlueScreen-Handlern")