Kithara RealTime Vision
Echtzeit-Bilderfassung und -verarbeitung unter Windows
Kithara RealTime Vision ist eine Echtzeiterweiterung für Windows-Betriebssysteme, speziell fokussiert auf Bilderfassung mit GigE Vision® und USB3 Vision® sowie Bildverarbeitung in Echtzeit.
Voraussetzung zur Erreichung von „harten“ Echtzeiteigenschaften ist die Ausführung Ihres Anwendungscodes auf der Kernel-Ebene des Systems. Die erforderlichen Mechanismen werden von der Software bereitgestellt. Dazu werden Programmiersprachen benötigt, die nativen Code erzeugen können, wie etwa C/C++ oder Delphi. Der hardwarenahe und zeitkritische Code wird in eine DLL verlagert, welche direkt in den Echtzeit-Kontext geladen wird. Auf diese Weise wird auch die .NET-Umgebung unterstützt, so dass selbst C# als Sprache verwendet werden kann.
Erstellen Sie sowohl 32-Bit- als auch 64-Bit-Anwendungen aus einer einzigen einheitlichen Code-Basis. Beide Welten sind absolut Sourcecode-kompatibel und mit einem speziellen Modul (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!
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)
-
Unterstützung aller aktuellen Windows-Versionen mit 32 oder 64 Bit. Gleich unverbindliches
Upgrade-Angebot anfordern!
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 die folgenden Betriebssysteme: Windows 10 und 11 (32 und 64 Bit) sowie Windows Server 2016, 2019 und 2022, jeweils mit Dedicated Mode
-
Unterstützung von Mehrkernprozessoren, Hyperthreading 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
-
Anwendungs-Threads, 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
Clock Module
-
Ermittlung der Systemzeit in verschiedenen, auch anwenderspezifischen Zeitformaten, Auflösung bis ca. 0,1 μs
-
Hochgenaue Kurzzeitverzögerungen
-
Langzeitsynchronisation bei Systemuhren, Synchronisation mit EtherCAT Distributed Clocks (DC) und IEEE 1588
Weitere Informationen …
RealTime Module
-
Programmierung von hochgenauen Echtzeit-Timern durch höchste Systempriorität
-
Maximal programmierbare Frequenz über 20 kHz, Jitter im Mikrosekundenbereich
Weitere Informationen …
MultiTasking Module
-
Prioritätsgesteuertes präemptives Echtzeit-Multitasking
-
Maximal 255 Prioritätsstufen, Verhinderung der Prioritätsinversion durch Prioritätenvererbung, dynamische Prioritätsanpassung
-
Events, Semaphore, Timer, Unterstützung mehrerer CPU-Cores, Tasks lassen sich konkreten CPU-Cores zuordnen
-
Betrieb eines oder mehrerer CPU-Kerne ausschließlich im Echtzeitmodus zur Vermeidung von Windows-Beeinflussung
-
Maximal programmierbare Task-Frequenz bis zu 20 kHz und mehr, Jitter geringer als 1 Mikrosekunde im Dedicated Mode möglich
-
Speedloop-Modus für hochgenaue zyklische Ausführung von Echtzeit-Code bis ca. 1 MHz auf ausgewählter Hardware
Weitere Informationen …
Echtzeit-Schnittstellen zur Bilderfassung
Network Module
-
Ethernet-Kommunikation bis 100 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:
-
Funktionsmodule sind beliebig kombinierbar (nur geringe Abhängigkeiten bestehen).
-
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 per Download über einen Zeitraum von 12 Monaten nach Ersterwerb
-
Update-Wartungsvertrag jeweils um weitere 12 Monate verlängerbar.
-
3 verschiedene Support-Pakete (3, 6 oder 12 Monate) für Entwicklerunterstützung (Beratung, Konzeption, Analyse).
-
Jederzeit um zusätzliche Module erweiterbar.
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).
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 und 11 (32 und 64 Bit), Dedicated Mode
-
Windows Server 2016, 2019 und 2022, Dedicated Mode
Hardware
Die Software läuft auf folgender Hardware:
-
CPU: AMD (ab Athlon) oder Intel (ab Pentium 2), 32 oder 64 Bit
-
Dual- oder Multi-Core; mit Multi-Core optional Hyperthreading verwendbar, derzeit bis 48 logische CPUs, darüber auf Anfrage
-
ACPI erforderlich (Advanced Control and Power Interface)
-
der PC muss PAE (Page Address Extension) unterstützen
-
Gigabit-Ethernet bis 100 GBit/s: Fast alle Controller von Intel und RealTek werden unterstützt
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)
-
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)
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#.
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.