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
Timer 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
-
Creation of simple Windows timers
Further information …
RealTime Tasking Module
-
Development of high frequency real-time timer routines
-
Task frequency up to 20 kHz and above
-
Jitter in the one-digit microsecond range
-
Preemptive real-time system with up to 255 priority levels
-
Operation of CPU cores exclusively in real-time mode in order to avoid Windows influence
Further information …
Communication
Network Module
-
Ethernet communication up to 200 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 …
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 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 Tasking Module, real-time interrupts on PCI or PCIe hardware can be applied
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 IO as single value, sequence, block or endless stream
-
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 200 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 and 20.11
-
Supports OpenCV 3, 3.4 and 4.1
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
Further information …
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:
-
Kithara RealTime Suite is built modularly and allows for creating an individually customized real-time operating system tailored to your needs.
-
The name of development and runtime files can can be chosen freely.
-
Solid API, no modifications necessary in case of new versions.
-
With the purchase of the module you will automatically receive a developer's license.
-
Favourable price scale conditions for runtime licenses.
-
Multiple updates provided over a period of 12 months after initial purchase
-
Update service extendable by an additional 12 months.
-
Extendable with additional modules at any time.
-
10 hours developer support included, beyond that various support support packages are available (20, 50, 100 hours)
-
Support is handled in the Kithara ticket system, enables fast and direct contact with developers.
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 200 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/22)
-
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/22)
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.