Kithara RealTime Vision

Echtzeit-Software: Kithara RealTime Vision

Echt­zeit-Bild­erfassung und -verarbeitung unter Windows

Kithara RealTime Vision ist eine Echtzeiterweiterung für Windows-Betriebs­systeme, speziell fokussiert auf Bilderfassung mit GigE Vision und USB3 Vision sowie Bildverarbeitung in Echtzeit.

Sowohl 32-Bit- als auch 64-Bit-Anwendungen lassen sich aus einer einzigen, einheitlichen Code-Basis erstellen. Beide Welten sind absolut Sourcecode-kompatibel und mit einer speziellen integrierten Funktion (KiK64) sogar binärkompatibel. Sofort verwendbare Programmgerüste für die unten genannten Programmiersprachen und Compiler befinden sich in jeder Software-Lieferung. Jetzt Testversion anfordern!

Unterstützte Programmiersprachen

Kithara RealTime Suite unterstützt unter anderem C, C++, Delphi und C#. Voraussetzung zum Erreichen von „harten“ Echtzeiteigenschaften ist die Ausführung des hardwarenahen, zeitkritischen Programmcodes auf der Kernel-Ebene des Systems. Dazu wird dieser Code in eine DLL verlagert, welche direkt in den Echtzeit-Kontext geladen wird. Grundsätzlich werden dafür Programmiersprachen benötigt, die nativen Code erzeugen können, zum Beispiel C, C++ oder Delphi. Im Anwendungsfall von C# kann die DLL dafür zum Beispiel in C++ programmiert werden.

Bildverarbeitung in Echtzeit: 32/64 BitEchtzeit Bildverarbeitung: Schneller EinstiegEchtzeit-Bildverarbeitung: 90 Tage testen

Einige Eckdaten

  • Hochgenaue Echtzeit-Timer für Frequenzen bis über 20 kHz
  • Prioritätsbasiertes preemptives Echtzeit-Multitasking
  • Industrielle Bildverarbeitung mit GigE Vision® und USB3 Vision® in Echtzeit
  • Echtzeit-Bildverarbeitung mit Halcon oder OpenCV
  • Code-Ausführung auf der Kernel-Ebene unterstützt C, C++ und Delphi (native Code-Erzeugung erforderlich)
  • C#-Unterstützung durch Verlagern des Codes in eine C++-DLL
  • Unterstützt Windows sowie Windows Server (nur 64-Bit-Betriebssystem), jeweils mit Dedicated Mode
Bildverarbeitung in Echtzeit

Module

Kithara RealTime Vision ist eine spezielle Zusammenstellung aus verschiedenen Modulen von Kithara RealTime Suite. Eine kundenspezifische Zusammenstellung ist ebenfalls möglich.

Basisfunktionen

Base/Kernel Module

  • Unterstützt Windows sowie Windows Server (nur 64-Bit-Betriebssystem), jeweils mit Dedicated Mode
  • Unterstützung von Mehrkernprozessoren, Hyper-Threading und NUMA-Multiprozessor-PCs
  • Funktionen für: Öffnen des Treibers, Ausführung von Echtzeit-Code auf der Kernel-Ebene, Echtzeit-Speicherverwaltung, Device-Handling, Versionskontrolle, Debug-Hilfen, Systeminformationen
  • Echtzeit-Tasks, Events, Callbacks, Shared Memory, Daten- und Message-Pipes, schnelle Mutex-Objekte

Weitere Informationen …

Library Module

  • C-Standard-Bibliothek in Echtzeit
  • Mathematische/trigonometrische sowie String-/Memory-Funktionen
  • Unterstützung von Anwendungs- und Kernel-Ebene
  • Unterstützung externer Bibliotheken für Bildverarbeitung und Machine Learning

Weitere Informationen …

System Module

  • Abfangen von Systemereignissen wie Schutzverletzungen und Systemabstürzen auf der Kernel-Ebene (zum Beispiel FailSafe-Handler/„BlueScreen-Handler“)

Weitere Informationen …

Timer und Multitasking

Timer Module

  • Ermittlung der Systemzeit in verschiedenen, auch anwender­spezifischen Zeitformaten, Auflösung bis ca. 0,1 μs
  • Hochgenaue Kurzzeitverzögerungen
  • Langzeitsynchronisation bei Systemuhren, Synchronisation mit EtherCAT Distributed Clocks (DC) und IEEE 1588
  • Erstellung einfacher Windows-Timer

Weitere Informationen …

RealTime Tasking Module

  • Entwicklung hochfrequenter Echtzeit-Timer-Routinen
  • Timer-Frequenz bis zu 20 kHz und mehr
  • Jitter im einstelligen Mikrosekundenbereich
  • Präemptives Echtzeitsystem mit bis zu 255 Prioritätsstufen
  • Betrieb von CPU-Kernen ausschließlich im Echtzeitmodus zur Vermeidung von Windows-Beeinflussung

Weitere Informationen …

Echtzeit-Schnittstellen zur Bilderfassung

Network Module

  • Ethernet-Kommunikation bis 200 Gbit/s in Echtzeit, beliebige Ethernet-Protokolle inklusive IP
  • Raw-Ethernet sowie UDP/TCP
  • Abfrage- oder ereignisgesteuert, automatische Adressermittlung durch ARP-Unterstützung
  • IP- und MAC-Multicast, Broadcast, Jumbo-Frames je nach verwendetem Controller
  • Unterstützung von Intel- oder RealTek-Netzwerk-Controllern (Hardware-Unterstützung auf Anfrage)
  • Unterstützung von BroadR-Reach (100BASE-T1)

Weitere Informationen …

USB RealTime Module

  • Ansprechen von USB-Geräten bis einschließlich USB 3.1 in Echtzeit über direkten und exklusiven Zugriff auf xHCI-Controller (Extensible Host Controller Interface)
  • Schnelle Reaktionszeiten und größtmöglicher Datendurchsatz
  • Control-, Bulk-, Interrupt- und Isochron-Transfer
  • Reaktion auf alle Plug-and-Play- und Power-Management-Ereignisse

Weitere Informationen …

Echtzeit-Bilderfassung und -verarbeitung

Camera Module

  • Bilderfassung von GigE-Vision- und USB3-Vision-Kameras in Echtzeit, abfrage- oder ereignisgesteuert
  • Mehrere Kameras gleichzeitig, Hot-Plug-fähig, Fehlerbehandlung, Konfiguration nach GenICam 2.0

Weitere Informationen …

Halcon Extension

  • Echtzeit-Bildverarbeitung mit Halcon
  • Automatische Parallelisierung
  • Integrierte Entwicklungsumgebung HDevelop
  • Unmittelbare Kontrollreaktion auf verarbeitete Bilddaten zum Beispiel über EtherCAT oder CANopen

Weitere Informationen …

OpenCV Extension

  • Echtzeit-Bildverarbeitung mit OpenCV
  • Automatische Parallelisierung
  • Unmittelbare Kontrollreaktion auf verarbeitete Bilddaten zum Beispiel über EtherCAT oder CANopen

Weitere Informationen …



Software-Zusammenstellung

Kithara RealTime Vision hat folgende Eigenschaften:

  • Kithara RealTime Suite ist modular aufgebaut und ermöglicht ein individuell maßgeschneidertes Echtzeitbetriebssystem
  • Sie können für die Entwickler- und Runtime-Dateien einen eigenen Namen festlegen.
  • Stabiles API – keine Anpassung bei neuen Versionen erforderlich.
  • Mit dem Erwerb der Module erhalten Sie automatisch eine Entwicklerlizenz.
  • Günstige Staffelkonditionen für Runtime-Lizenzen je nach Bedarf.
  • Mehrere Updates über einen Zeitraum von 12 Monaten nach Ersterwerb
  • Update-Service jeweils um weitere 12 Monate verlängerbar.
  • Jederzeit um zusätzliche Module erweiterbar.
  • 10 Stunden Entwickler-Support inklusive, darüber hinaus verschiedene Support-Pakete erhältlich (20, 50, 100 Stunden)
  • Support wird im übersichtlichen Kithara-Ticketsystem bearbeitet, ermöglicht schnellen und direkten Kontakt mit Entwicklern

Unser qualifiziertes Support-Team garantiert Ihnen den bestmöglichen Service bei der Einbindung der Software in Ihr Projekt und unterstützt Sie durch unseren Entwickler-Support (auch über Kithara-Software hinaus).

Bildverarbeitung in Echtzeit: kombinierbare ModuleEchtzeit-Bildverarbeitung: Jederzeit erweiterbarBildverarbeitung: Echtzeit zu Sonderkonditionen

Plattformen

Echtzeitfähigkeit wird nur auf der Kernel-Ebene erzielt. Dazu wird eine Programmiersprache und -umgebung benötigt, die nativen Maschinencode erzeugt, wie etwa C, C++, Delphi und andere. Dennoch unterstützt Kithara RealTime Suite verschiedene Plattformen, beispielsweise auch die .NET-Umgebung. Die Lösung besteht darin, den zeitkritischen Code in eine DLL zu verlagern, die mit den Funktionen von Kithara RealTime Suite direkt auf die Kernel-Ebene geladen wird und dadurch in den Echtzeit-Kontext gelangt. Sofort verwendbare Programmgerüste für die genannten Plattformen befinden sich in jeder Software-Lieferung.


Systemvoraussetzungen

Kithara RealTime Vision unterstützt eine breite Palette von Hardware- und Software-Kombinationen. Bei Fragen hierzu kontaktieren Sie uns bitte!

Betriebssystem

Die Software unterstützt folgende Betriebssysteme:

  • Windows 10 (nur 64-Bit-Version) und Windows 11
  • Windows Server 2016, 2019, 2022 und 2025

Hardware

Die Software läuft auf folgender Hardware:

  • CPU: x64-CPU (Intel, AMD)
  • Multi-Core; optional Hyper-Threading verwendbar, derzeit bis 48 logische CPUs, darüber auf Anfrage
  • ACPI erforderlich (Advanced Control and Power Interface)
  • zur Kompatibilität von Kommunikationsschnittstellen siehe z.B. hier.

Compiler

Sofort verwendbare Programmgerüste für folgende Programmiersprachen/Compiler sind Teil der Software-Lieferung (auch weitere Programmiersprachen können auf Anfrage unterstützt werden):

  • Visual Studio 20xx C++ mit MFC-Oberfläche (mitgelieferte Projektdateien: VS 2010/12/13/15/17/19/22)
  • C++Builder (Embarcadero, ehem. Borland) mit VCL-Oberfläche
  • Delphi (Embarcadero, ehem. Borland) mit VCL-Oberfläche
  • Visual Studio 20xx C# mit WPF-Oberfläche (inkl. C++-DLL für Echtzeit-Ausführung, mitgelieferte Projektdateien: VS 2010/12/13/15/17/19/22)

Für die Code-Ausführung im Echtzeitkontext ist im Prinzip jeder Compiler verwendbar, der eine DLL mit nativem Maschinencode erzeugen kann. Die Windows-Anwendung kann jedoch auch mit anderen Programmiersprachen erzeugt werden, zum Beispiel mit C#.


Häufige Fragen

Wie kann Echtzeit bei der Bilderfassung durch Industriekameras helfen?

Die deterministischen Reaktionszeiten eines Echtzeitbetriebssystems können dafür sorgen, dass der Ausfall von Bilddatenpaketen zuverlässig verhindert wird. Kithara RealTime Suite erreicht dies mit ausreichend groß dimensionierten Pufferspeichern und auf Basis speziell entwickelter Echtzeit-Treiber für Ethernet oder USB. Die Reaktion auf eingetroffene Bilder erfolgt im Kontext der Echtzeitumgebung innerhalb weniger Mikrosekunden.

Ist Echtzeit auch für Bildverarbeitungsbibliotheken möglich?

Welche Kameraschnittstellen und Bild­verarbeitungs­bibliotheken werden von Kithara unterstützt?


EtherCAT® und Safety over EtherCAT® sind eingetragene Marken und patentierte Technologien, lizenziert durch die Beckhoff Automation GmbH, Deutschland.
CANopen® ist ein registriertes Warenzeichen des CAN in Automation e. V.
GigE Vision® ist ein registriertes Warenzeichen der Automated Imaging Association.
USB3 Vision® ist ein registriertes Warenzeichen der Automated Imaging Association.