topic_realtimesuite

Kithara »RealTime Suite«

Windows® Real-time Extension for PC-based Automation

The »RealTime Suite« is a modular real-time extension for the Windows® range of operating systems. Using it, you can easily implement industrial applications for automation and control solutions as well as image processing in real-time.

Almost all mechanisms can be used from real-time as well as application context. Developers can decide depending on the use-case, if they wish to access hardware directly out of the application program or if “hard real-time” is required.

In order to gain “hard” real-time capabilities, it is necessary to run the application code in the kernel-mode of the system. This is provided by the software.

The required programming languages must be able to generate native x86 or x64 machine code, e.g. C/C++ or Delphi. The hardware-dependent and time-critical code should be transferred to a DLL, which will be loaded directly into the real-time context. This way the .NET environment will also be supported, so that even C# can be used as the programming language for the main parts of the application.

Create 32-bit as well as 64-bit applications from a single unique code-base! Both worlds are absolutely source-code compatible – with a special module ("KiK64") even binary compatible!

Instantly usable program frameworks for programming languages and compilers listed below are part of every software delivery. Download the free trial version now!

Some features:

  • Highly-accurate real-time timer for frequencies > 20 kHz
  • “Dedicated” real-time mode on exclusively used CPU cores with extreme real-time capabilities due to the avoided Windows influence
  • Priority-based preemptive real-time multi-tasking
  • Real-time automation with distinct EtherCAT® Master or CANopen® Master
  • Profibus® Master for hardware of Hilscher Systemautomation
  • Industrial image processing with GigE Vision® in real-time
  • Event-triggered raw Ethernet-, UDP- and TCP-communication in real-time up to Gigabit Ethernet (1 GBit/s)
  • Real-time CAN (and CAN-FD) with vendor-independent API for boards from esd, EMS, IXXAT, Kvaser and Peak (others on request)
  • Real-time FlexRay and LIN
  • Hardware-dependent programming: I/O ports, phys. memory, interrupts
  • Supports PCI-, PCIe- and PCMCIA-boards, USB devices, serial COM ports (UART)
  • Code execution on the kernel-level supported by C/C++ and Delphi (native code generation necessary)
  • Supports Windows 7/8/10 with 32 or 64 bit! - request your non-binding upgrade offer now!
  • Protection with online-activation or USB-dongle

The product »RealTime Suite« consists currently of more than 20 different modules. The software can be combined of these modules according to customer requirements. Few dependencies exist.

Basic Functions

Base Module

  • Supports the following operating systems: Windows 7/8/10 (32 and 64 bit), Server 2008 R2 as well as Embedded versions
  • Supports PIC and APIC hardware, NUMA multi-processor PCs, Hyper-threading, multi-core etc.
  • Functions for: opening the driver, device handling, version information, debugging support, system information
  • Application threads, events, callbacks, shared memory, data and message pipes, fast mutex objects
  • Further information...

Kernel Module

  • Real-time code implementation at the kernel level
  • Real-time memory management, memory copy function
  • Only in connection with C/C++ or Delphi
  • Generic WDM-driver for plug & play installation included
  • Further information...

System Module

  • Interception of system events, e.g. faults and system crashes at the kernel level (e.g. FailSafe-Handler / "BlueScreen-Handler")
  • Further information...

Real-Time System

Clock Module

  • Monitoring the system time in different time and user-specific formats, resolution up to 0.10 μ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 > 1kHz, 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
  • Operation on one or multiple exclusively used CPU cores in real-time to avoid Windows influence
  • Max. task frequency up to 100 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...

Storage Module

  • Real-Time data storage via NVMe SSD (up to 2 TByte)
  • Highspeed reading & writing with over 1 Gbyte/s
  • UDF data system
  • Further information...

Communication

Network Module

  • Ethernet communication up to one gigabit per second 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)
  • Further information...

Serial/UART Module

  • Serial communication in real-time by special hardware drivers on UART16550 compatible hardware

  • Signal and handshake lines can be controlled directly
  • Handler for all interface events in real time
  • Further information...

Device Module

  • Includs a Windows programming interface for communication devices (ReadFile, WriteFile, DeviceIoControl)

  • Any device names possible, for example virtual "COM ports"
  • Further information...

USB 2 Module

  • Communication with USB devices to USB 2.0, low-, full, high-speed control, bulk, interrupt and isochronous transfers
  • Response to all Plug&Play- and power management events
  • Further information...

USB 3 / XHCI Module

  • Fast response time of USB-based interfaces and devices
  • Realization by Extensible Host Controller Interface (XHCI)
  • 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
  • Further information...

Automation

EtherCAT Module

  • EtherCAT® Master in real-time, automatic determination of EtherCAT topology
  • Process and service data communication (PDO+SDO) as well as mailbox communication
  • CoE, EoE, FoE, SoE, DC, Safety-over-EtherCAT (TwinSAFE)
  • 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

PLC Module

  • SoftPLC implementation in accordance with IEC 61131-3
  • Support of instruction list (AWL/IL) and Structured Text (ST)
  • Further information...

Image Processing

Camera Module

  • Image acquisition from GigE 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
  • Supports HALCON Version 10, 11 und 12
  • Supports OpenCV 3
  • Further information...

Automotive

FlexRay Module

  • FlexRay communication in real-time
  • Windows PC utilized as FlexRay node
  • Assignment as leading or following node
  • Further information...

CAN Module

  • Real-time communication over CAN (Controller Area Network)
  • Supports cards from PEAK, IXXAT, esd, EMS, 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

RunTime Library

  • Mathematical / trigonometric and String-Memory functions in real-time
  • Supports application and kernel level
  • Further information...

SigProc Module

  • Digital signal processing in real-time
  • 20 predefined filters or user-defined
  • Real-time feedback control with PID algorithm
  • Further information...

Customer-specific Software Combination

Combine your function set by yourself using the real-time configurator or ask us for help. The custom specific driver gives you highest flexibility and has the following features:

  • The software can be combined arbitrarily with modules, few dependencies exist
  • The name of development and runtime files is arbitrary
  • Simplified installation (no registry entry)
  • Regarding new versions, no modification is necessary
  • With the purchase of the modules you will automatically receive a developer's license
  • Favourable price scale conditions for runtime licenses
  • Always state of the art software due to quarterly updates via download or on CD (12 months)
  • Expandable at any time by additional modules
  • 4 different support packages (3, 6 or 12 months) for developer support (consulting, concept development, analysis)

Our qualified Support-Team guarantees you the best possible service for integrating the software into your project and our development support assists you also in questions beyond the 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 x86 or x64 machine code, e.g. C/C++ or Delphi. Nevertheless the »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. The »RealTime Suite« provides all this functions.

Instantly usable program frameworks for the platforms mentioned above are part of every software delivery.

System Requirements

The products of the »RealTime Suite« support a wide range of hardware and software combinations:

If you have questions regarding the system support, please contact us!

Operating system

The software supports the following operating systems:

  • Windows 10 (32 and 64 bit, 64 bit only by using the dedicated mode)
  • Windows 8 and 8.1 (32 and 64 bit, 64 bit only by using the dedicated mode)
  • Windows Server 2012 (64 Bit, only using by the dedicated mode)
  • Windows 7 (32 and 64 bit) + Windows Embedded Standard 7
  • Windows Server 2008 R2 (64 bit)

Hardware

The software runs on the following hardware:

  • CPU: AMD (Athlon) or Intel (Pentium 2), 32 - or 64-bit
  • Single-or multi-core, Hyperthreading, plain version to 8 logical CPU cores (extended version currently up to 32 logical cores, more details on request)
  • ACPI recommended (Advanced Control and Power Interface), APIC recommended (Advanced Programmable Interrupt Controller) - Some features require ACPI-APIC
  • the PC must be able to support PAE (Page Address Extension)
  • Using Gigabit-Ethernet, controller of Intel and RealTek are generally supported on demand

Compiler

Immediately usable program frameworks for the following programming languages / compilers are included (other programming languages could be supported on request):

  • Visual Studio 20xx C++ with MFC user interface
  • C++ Builder (Embarcadero, formerly Borland) VCL user interface
  • Delphi (Embarcadero, formerly Borland) VCL user interface
  • Visual Studio 20xx C# with WPF user interface (C++ DLL for real-time execution)
  • Microsoft Visual C++ 6 with MFC user interface
  • Attention! Kernel level / real-time requires native code generation (C++ / Delphi)

 


EtherCAT® is a registered trademark of the EtherCAT Technology Group.

CANopen® is a registered trademark of the CAN in Automation e.V..

GigE Vision® is a registered trademark of the Automated Imaging Association.