Real Time for Windows
Kithara RealTime Suite
Windows Real-time Extension for PC-based Automation
Kithara RealTime Suite is a modular real time operating system (RTOS) for Windows. It allows for the efficient development and implementation of industrial applications for automation, machine control solutions as well as image processing in real-time.
Almost every function can be used both from the real-time context as well as the application context. This allows developers to decide on a case-by-case basis whether to access hardware directly out of the application level or if “hard real time” is required.
32-bit as well as 64-bit applications can be generated from a single uniform code base. Both versions are completely source code compatible—with a specially integrated function (KiK64) even binary compatible. The software offers immediate accessibility with program frameworks for programming languages and compilers listed below. Download the free
trial version now!
Supported programming languages
Kithara RealTime Suite supports C, C++, Delphi and C#, among others. In order to gain “hard” real-time capabilities, it is necessary to run hardware-dependent, time-critical application code in the kernel mode of the system. To do so, this code is transferred into a DLL, which is then loaded directly into the real-time context. In general, this requires programming languages that are able to generate native x86 or x64 machine code, such as C, C++ or Delphi. In the use case of C#, the DLL can be programmed, for example, in C++.
Other Features
Modules
Kithara RealTime Suite consists of various modules. The software can be customer-specifically composed of these modules. The Base/Kernel Module is always required. The diagram illustrates the relations between the modules:
Basic Functions
Base/Kernel Module
-
Supports the following operating systems: Windows 10 and 11 (32 bit and 64 bit) as well as Windows Server 2016, 2019 and 2022, each with Dedicated Mode
-
Supports multi-core processors, Hyper-threading and NUMA multi-processor PCs
-
Functions for: opening the driver, execution of real-time code at kernel level, real-time memory management, device handling, version information, debugging support, system information
-
Real-time tasks, events, callbacks, shared memory, data and message pipes, fast mutex objects
Further information …
System Module
-
Interception of system events, e. g. protection faults and system crashes at the kernel level (e. g. FailSafe-Handler/“BlueScreen-Handler”)
Further information …
Real-Time System
Clock Module
-
Determining the system time in different time and user-specific formats, resolution up to 0.1 μs
-
Highly accurate short time delays
-
Long-term synchronization of system clocks, synchronization with EtherCAT Distributed Clocks (DC) and IEEE 1588
Further information …
RealTime Module
-
Programming of highly accurate real-time timers by the highest system priority
-
Max programmable frequency higher than 20 kHz, Jitter in the microsecond range
Further information …
MultiTasking Module
-
Priority-based preemptive real-time multitasking
-
Max. 255 priority levels, avoidance of priority inversion by priority inheritance, dynamic priority adjustment
-
Events, semaphore, timer, support of multiple CPU cores, tasks can be assigned to CPU cores
-
Operation on one or multiple exclusively used CPU cores in real-time mode to avoid Windows influence
-
Max. task frequency up to 20 kHz and more, Jitter less than 1 μs in dedicated mode
-
Speedloop mode for highly accurate cyclic execution of real-time code up to 1 MHz on specific hardware
Further information …
Communication
Network Module
-
Ethernet communication up to 100 Gbit/s with any protocols, e. g. IP
-
Raw Ethernet as well as UDP/TCP (server and client protocols)
-
Event and request driven control, automatic determination of memory adrdresses through ARP-support
-
IP- and MAC-Multicast, Broadcast, Jumbo-Frames according to the used controller
-
Support of Intel- or RealTek-Network-Controller (hardware-support on request)
-
Support for BroadR-Reach (100BASE-T1)
Further information …
Network PTM Extension
-
Creation of virtual USB-Ethernet adapters for the communication between Windows and real-time environment
-
Port passthrough and port mirroring
-
Supports all Ethernet-based technologies
Further information …
USB RealTime Module
-
Communication with USB devices up to USB 3.1 via direct and exclusive access to xHCI (Extensible Host Controller Interface)
-
Fast reaction times and maximum data throughput
-
Control, bulk, interrupt and isochron transfer
-
Reaction to plug and play as well as power management events
Further information …
USB Driver Module
-
Communication with USB devices up to and including USB 3.1 via Windows driver stack
-
Low, full, high-speed
-
Control, bulk, interrupt and isochronous transfers
-
Response to all plug and play and power management events
Further information …
Serial/UART Module
-
Serial communication in real time with special hardware drivers on UART16550-compatible hardware
-
Signal and handshake lines can be controlled directly
-
Handler for all interface events in real time
-
Includes alternative API for all Windows-based COM ports without real time
Further information …
Device Module
-
Includes a Windows programming interface for communication devices (ReadFile, WriteFile, DeviceIoControl)
-
Any device names possible, for example virtual COM ports
Further information …
Hardware Access
IoPort Module
-
Access to all I/O registers of the PC application or DLL
-
Determination of the PCI configuration data and resource data
Further information …
Memory Module
-
Access to external physical memory (Dual-Port-RAM)
-
Provision of PC memory for external hardware (DMA memory)
Further information …
Interrupt Module
-
Processing of hardware interrupts at the application or kernel level
-
Use of the operating system mechanisms for interrupt processing
-
By using the RealTime Modules interrupts of PCI or PCIe Hardware can be processed
Further information …
MultiFunction Module
-
Access to multi-function-extension cards in real-time
-
Functions for A/D-, D/A- and digital I/O for controlling and data acquisition, analog single value and sequenz
-
Uniform API for cards of a variety of manufacturers
Further information …
Automation
EtherCAT Module
-
EtherCAT Master in real-time
-
Proprietary developed EtherCAT stack
-
Automatic determination of EtherCAT topology; Synchronization via XML file or SII protocol
-
Process and service data communication (PDO + SDO) as well as mailbox communication
-
CoE, EoE, FoE, SoE, DC, Safety-over-EtherCAT (TwinSAFE)
Further information …
EtherCAT Automation Protocol
-
EtherCAT® Automation Protocol
-
New level of connectivity in the field of automation systems
-
Transfer speed of e. g. 1000 Mbit/s and up to 100 Gbit/s
Further information …
CANopen Module
-
CANopen® Master in real-time, automatic identification of CANopen topology
-
Process data and service data communication (PDO + SDO) as well as mailbox communication
Further information …
Image Processing
Camera Module
-
Image acquisition from GigE Vision and USB3 Vision cameras in real-time
-
Multiple cameras simultaneously usable, Hot-plugging, error handling, configured according to GenlCam 2.0
Further information …
Vision Module
-
Image processing in real-time with various machine vision libraries
-
Supports Halcon Version 10 to 13 as well as 18.11
-
Supports OpenCV 3
Further information …
Data Storage
Storage Module
-
Real-time data storage via NVMe SSD with the most recent capacities
-
Highspeed reading and writing with several Gbyte/s
-
UDF file system
Further information …
PCAPng Module
-
Real-time data storage in Wireshark-compatible PCAPng format
-
Retrieving of data sets such as measurement data or image data for later analysis
Further information …
MDF Module
-
Real-time data storage in Measurement Data Format (MDF)
-
Evaluation of recorded and calculated data for post-measurement analysis or storage
Further information …
Automotive
FlexRay Module
-
FlexRay communication in real-time
-
Windows PC utilized as FlexRay node
-
Assignment as leading or following-start-cold node
Further information …
CAN Module
-
Real-time communication over CAN (Controller Area Network)
-
Supports cards from Peak, Star Cooperation (Eberspächer), EMS Dr. Wünsche, ESD, Ixxat and Kvaser (hardware support on request)
-
Support for CAN FD (Flexible Data Rate)
Further information …
LIN Module
-
Real-time communication over LIN (Local Interconnect Network)
-
Communication via UART (hardware support on request)
Further information …
Libary
Library Module
-
C standard library in real time
-
Mathematical/trigonometrical and string/memory functions
-
Supports application and kernel level
-
Support for external libraries for image processing and machine learning
Weitere Informationen …
Halcon Extension
-
Real-time image processing with Halcon
-
Automatic parallelization
-
Integrated development environment HDevelop
-
Immediate control reaction to processed image data, for example with EtherCAT or CANopen
Further information …
OpenCV Extension
-
Real-time image processing with OpenCV
-
Automatic parallelization
-
Immediate control reaction to processed image data, for example with EtherCAT or CANopen
Further information …
Customizable Software Combination
Freely combine your individal set of functions or contact us so we can help you choose the right modules. This custom driver gives you highest possible flexibility and has the following features:
-
The software can be combined freely from all available modules, few dependencies exist.
-
The name of development and runtime files can can be chosen freely.
-
Regarding new versions, no modification is necessary.
-
With the purchase of the module you will automatically receive a developer's license.
-
Favourable price scale conditions for runtime licenses.
-
Multiple updates provided as download over a period of 12 months after initial purchase
-
Extension of update service by an additional 12 months.
-
3 different support packages (3, 6 or 12 months) for developer support (consulting, concept development, analysis).
-
Expandable at any time with additional modules.
Our qualified Support-Team provides you with the best possible solution for integrating the software into your project and our development support also assists you with questions (even beyond Kithara software).
Platforms
Real-time capability can only be achieved on the kernel level. For this purpose a programming language is required that is able to generate native machine code, e. g. C, C++ or Delphi and others. Nevertheless
Kithara RealTime Suite supports various platforms, for example a .NET environment. The solution is to transfer the time-critical code into a DLL, which will be loaded directly into the real-time context at the kernel level. A number of usable program frameworks for the aforementioned platforms are provided with every software purchase.
System Requirements
Kithara RealTime Suite supports a wide range of hardware and software combinations. If you have further questions regarding the system support,
please contact us!
Operating system
The software supports the following operating systems:
-
Windows 10 and 11 (32 bit and 64 bit), dedicated mode
-
Windows Server 2016, 2019 and 2022, dedicated mode
Hardware
The software runs on the following hardware:
-
CPU: AMD (Athlon) or Intel (Pentium 2), 32 or 64 bit
-
Dual- or multi-core; optional hyper-threading with multi-core, currently up to 48 logical CPUs, above on request
-
ACPI recommended (Advanced Control and Power Interface)
-
the PC must be able to support PAE (Page Address Extension)
-
Gigabit-Ethernet up to 100 Gbit/s, almost every controller of Intel and RealTek is supported
Compiler
Immediately usable program frameworks for the following programming languages / compilers are included in the supplied software (other programming languages can be supported on request):
-
Visual Studio 20xx C++ with MFC user interface (provided project files: VS 2010/12/13/15/17/19)
-
C++ Builder (Embarcadero, formerly Borland) VCL user interface
-
Delphi (Embarcadero, formerly Borland) VCL user interface
-
Visual Studio 20xx C# with WPF user interface (incl. C++ DLL for real-time execution, provided project files: VS 2010/12/13/15/17/19)
In order to execute code in a real-time context, any compiler that can generate a DLL with native machine code, is generally usable. Furthermore, the Windows application can also be generated with other programming languages, such as C#.
EtherCAT® and Safety over EtherCAT® are registered trademarks and patented technologies, licensed by
Beckhoff Automation GmbH, Germany.
CANopen® is a registered trademark of the
CAN in Automation e. V.
GigE Vision® is a registered trademark of the
Automated Imaging Association.
USB3 Vision® is a registered trademark of the
Automated Imaging Association.