Kithara RealTime Vision

Echt­zeit-Bild­erfassung 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!

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


Basisfunktionen

Base/Kernel Module

  • Unterstützt die folgenden Betriebssysteme: Windows 7, 8 und 10 (32- und 64-Bit), Server 2008 R2 sowie Embedded-Varianten
  • Unterstützung von PIC- und APIC-Hardware, NUMA-Multiprozessor-PCs, Hyperthreading, Dual-/Quad-Core etc.
  • 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 …

Runtime Library

  • Mathematische/trigonometrische sowie String-/Memory-Funktionen in Echtzeit
  • Unterstützung von Anwendungs- und Kernel-Ebene

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 preemptives 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 CPU-Cores zuordnen
  • Betrieb eines oder mehrerer CPU-Kerne ausschließlich im Echtzeitmodus zur Vermeidung von Windows-Beeinflussung
  • Maximal programmierbare Task-Frequenz bis zu 100 kHz und mehr, Jitter geringer als 1 Mikrosekunde im Dedicated-Modus 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 10 Gigabit/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

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 …

Vision Module

  • Bildverarbeitung von Bilddaten in Echtzeit über verschiedene Bildverarbeitungsbibliotheken
  • Unterstützung von Halcon Version 10, 11 und 12
  • Unterstützung von OpenCV 3

Weitere Informationen …


Software-Zusammenstellung

Kithara RealTime Vision hat folgende Eigenschaften:

  • Sie können für die Entwickler- und Runtime-Dateien einen eigenen Namen festlegen
  • Vereinfachte Installation (keine Registry-Eintragung)
  • Keine Anpassung bei neuen Versionen erforderlich
  • Mit dem Erwerb der Module erhalten Sie automatisch eine Entwicklerlizenz
  • Günstige Staffel-Konditionen für Runtime-Lizenzen je nach Bedarf
  • Immer auf dem neuesten Stand der Software durch vierteljährliche Updates per Download oder auf CD, 12 Monate lang
  • Jederzeit um zusätzliche Module erweiterbar

Die Module von Kithara RealTime Suite sind beliebig kombinierbar. Verwenden Sie dazu den Real-Time-Konfigurator oder lassen Sie sich von uns kostenlos beraten. 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 7, 8 und 10, jeweils 32 und 64 Bit, Dedicated Mode
  • Windows Server 2012, 2015, 2017, Dedicated Mode
  • Windows 2008 R2, 64 Bit, 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), APIC erforderlich (Advanced Programmable Interrupt Controller)
  • der PC muss PAE (Page Address Extension) unterstützen
  • Bei Gigabit-Ethernet bis 40 Gbit/s: Controller von Intel und RealTek fast durchgängig 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)
  • 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)

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® ist ein registriertes Warenzeichen der EtherCAT Technology Group.
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.