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
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.
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 Hyper-Threading, 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
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“)