Echtzeit-Erweiterung

Allgemeine Funktionen

Kithara RealTime Suite ist eine Echtzeiterweiterung für Windows. 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
Windows in Echtzeit

Module

Zu den allgemeinen Funktionen im modularen System von Kithara RealTime Suite gehören folgende Komponenten:

  • Allgemeine Verwaltung, Ausführung von Echtzeit-Code auf der Kernel-Ebene, echtzeitfähige Speicherverwaltung, Debug-Hilfen, Systeminformationen: Base/Kernel Module.
  • Abfangen von Systemereignissen und Fail-Safe-Handler: System Module.

Base/Kernel Module

Allgemeine Verwaltung, Ausführung auf Kernel-Ebene, Echtzeit-Speichermanagement, Debug-Hilfen, Systeminformationen, grundlegende Ressourcen, Device-Handling

  • Allgemein
  • Features
  • Systemvoraussetzungen
  • Erweiterungen

Das Base/Kernel Module stellt generell die Grundlage für jedes Echtzeitsystem von Kithara RealTime Suite dar. Es ermöglicht das Öffnen des Echtzeittreibers von der Windows-Applikation aus sowie die Ausführung von Echtzeit-Code auf der Kernel-Ebene, um somit den Echtzeitkontext zu erreichen. Es erlaubt 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 etwa Echtzeit-Tasks, Events, Callbacks, Shared Memory, Daten- und Message-Pipes und schnelle Mutex-Objekte.

Zusätzlich werden eine Echtzeit-Speicherverwaltung, Memory-Kopierfunktionen und ein generischer WDM-Treiber für Plug-and-Play-Installationen zur Verfügung gestellt. Die integrierte KiK64-Funktion erlaubt die Ausführung von 32-Bit-Code auf 64-Bit-Systemen (nur mit der 64-Bit-Version von Kithara RealTime Suite).

Für maximal 12 logische CPUs inklusive Hyperthreading, darüber Kernel CPU Extension erforderlich.

Für maximal 32 Gbyte RAM, darüber Kernel Memory Extension erforderlich.

  • Funktionen zum Öffnen des Treibers
  • Ausführung von Echtzeit-Code auf der Kernel-Ebene
  • Ermittlung von Fehlerbeschreibungen
  • Debug-Hilfen
  • Ermittlung von Systeminformationen
  • Echtzeit-Tasks
  • 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
  • Echtzeit-Speicherverwaltung
  • Memory-Kopierfunktionen für Echtzeitkontext
  • generischer WDM-Treiber für Plug-&-Play-Installation enthalten
  • generierte Log-Messages kompatibel zu Kithara Kernel Tracer
  • KiK64-Funktion: 32-Bit-Code auf 64-Bit-System ausführbar (nur mit der 64-Bit-Version von Kithara RealTime Suite)
  • Nur Sprachen, die nativen Maschinencode erzeugen können (C/C++ oder Delphi)
  • Base/Kernel Module Addons: Kernel CPU Extension, Kernel Memory Extension

Folgende Systemvoraussetzungen müssen gegeben sein:

  • Unterstützung des CMPXCHG8B/CMPXCHG16B CPU-Befehls

Betriebssystem

Die Software unterstützt folgende Betriebssysteme:

  • Windows 10 und 11 (32 und 64 Bit), Dedicated Mode
  • Windows Server 2016, 2019 und 2022, Dedicated Mode

Kernel CPU Extension

Erweiterung für zusätzliche logische CPUs bis max. 48 (darüber auf Anfrage)

Kernel Memory Extension

Erweiterung für zusätzlichen PC-RAM-Speicherausbau

  • Extended Level: bis 128 GByte
  • Unlimited Level (benötigt Extended Level): unbegrenzt

Kernel NUMA Extension

Verwendung von Mehrsockel-Systemen mit „Non-Uniform Memory Access“-Architektur in Echtzeit, automatische Optimierung der Speicherallokation.

Thunderbolt Extension

Unterstützung von über Thunderbolt angeschlossenen Geräten.

System Module

Abfangen von Systemereignissen, Fail-Safe-Handler

  • Allgemein
  • Features

Das System Module dient dem Abfangen von Systemereignissen wie Schutzverletzungen und Systemabstürzen auf der Kernel-Ebene. Dazu werden vorher registrierte Handler (Callback-Funktionen oder Echtzeit-Tasks) gerufen. Damit lassen sich beispielsweise FailSafe-Handler („BlueScreen-Handler“) realisieren und das System im Fehlerfall in eine definierte Ausgangsposition bringen.

  • Abfangen von Systemereignissen mit Callback-Funktionen oder Echtzeit-Tasks, zum Beispiel bei Schutzverletzungen und Systemabstürzen auf der Kernel-Ebene
  • Realisierung von beispielsweise FailSafe-Handlern („BlueScreen-Handlern“)