topic_timer_multitasking

Real-time Multi-tasking

基于 PC 的自动化 的Windows 实时扩展 期望是

  • 单任务执行的确定性
  • 多个应用程序的协调行为
  • 高精度时间戳
  • 即刻反应外部事件
  • 循环记录的 测量数据有很小的偏差( 抖动 )
  • 实时精确监测过程状态
  • 不仅是“相对快的计算机”,而且是“硬”实时

Real-time for Windows /cn/products/kernel-tracer

“实时套件”是一个提供一些机制来很好解决这些问题的一个模块化的实时扩展。以下是一些基本特点:

  • 使用系统最高的优先级(高于其他Windows应用程序 )
  • 对于重要的任务不可以被其他优先级函数打断
  • 对外部事件的高精确度反应(例如,定时器,中断,通信接口等)
  • 可编程高频率的周期定时器(时间等距)
  • 基于优先级的抢占式实时多任务
  • 硬件的并行性利用(多核CPU,实时任务分配)
  • 实时任务执行的可扩展性,为了让实时任务最大限度的独占CPU内核
  • 支持目前所有的Windows操作系统,32位和64位版本

       我们的高频率Windows定时器用于机器人技术,图像处理,测量,控制,调节应用和自动化。该 Kithara 实时环境是和纯实时系统的性能一致的,他提供了一个实时定时器。它的可编程频率高达几千赫兹,偏差(抖动)在微妙级。通过独占CPU内核,非常好的实时性能是能达到的:定时器的最大抖动大约为 1 微秒。因此,编写一个频率大于100kHz的且能精确调用的循环定时器是能实现的。在实时层和应用程序层之间的快速数据交换,事件、共享内存、管道机制、套接字是可以使用的。

       很多应用程序只可以从复杂的进程模型中产生。因此,需要强大的工具来实现。为了达到这个目的最合适的方法是采用基于优先级的抢占式的多任务系统。在实时任务中,提供了高达255个不同优先级的任务,该实时任务确保只有最高任务在执行。可靠地确保只执行具有最高优先级 的任务。

Windows下的实时环境包括以下Kithara“实时套件”组件:

  • 高度精确的和拥有校准监测的系统时间以及短的时间延迟(“时钟模块”)
  • 可编程的高度精确的实时定时器例程(“ 实时模块”) 
  • 基于优先级抢占式实时多任务(“多任务模块”)
  • 在实时操作中独占单个或多个CPU内核,包括实时多任务(“专用模块”)  

Clock Module

Highly accurate and calibration detection of the system time as well as short time delays

  • 普通
  • Features

The Clock Module provides a basis for every real-time task. It enables calibrated access to every hardware timebase in the system. Time data can be converted arbitrarily into user specific formats. Short time delays depend on the given hardware and have an accuracy of a few nanoseconds.

  • Detection of all operating time bases in the system
  • Calibration of different timer / clocks
  • Long-term synchronization of system clocks
  • Monitoring the system time in different time and user-specific formats, resolution up to 0.10 μs
  • Highly accurate short time delays in 0.1µs steps
  • Programming of user-specific time formats
  • Reliable prevention of overflows caused by internal 96-bit operations

RealTime Module

Programming of high frequency real-time timer routines

  • 普通
  • Features

The RealTime Module complements the Clock Module and enables the programming of timer, which can trigger the application code in many ways. The context of program execution is selectable. Signaling objects could be events or callbacks at a application or kernel level or even real-time tasks in connection with MultiTasking Module.

  • Programming of high frequency real-time timer routines
  • Cyclic or one-time timer programmable
  • Simple debugging- and testing possibility with callbacks at application level
  • Possibility to start, exit or kill the timer directly
  • Watchdog mechanisms simply realizable
  • Timer do not interrupt each other
  • Start time provides a 0.1µs resolution (e.g. synchronization with other processes)
  • Timer period dynamical adjustable
  • The deviation amounts to only a few microseconds
  • Requires the Clock Module

MultiTasking Module

Priority-driven, preemptive real-time multitasking

  • 普通
  • Features

The MultiTasking Module complements the RealTime Module and supports priority-driven, preemptive real-time multitasking. It enables functions beyond the RealTime Modules for mutual prioritization of single real-time tasks. Thereby, it is possible to determine in detail which process is prior to other processes and less important tasks can be halted by their own only by more important tasks. Therefore, the characteristics of the MultiTasking Moduls are the same as those of a true real-time operating system (RTOS). With the dedicated mode, real-time performance can be increased even further. By running the real-time system on one or multiple separate CPU cores, any negative Windows influence is avoided.

  • Preemptive real-time system
  • Real-time tasks up to 255 different priority levels programmable
  • Dynamic modification of priority levels possible
  • Multiple tasks with the same priority level as "Round-Robin"
  • Including priority inheritance to avoid priority inversion
  • Real-time Semaphore for synchronization between real-time tasks
  • Real-time events for triggering of external tasks
  • Tasks can be suspended, continued, triggered, exited and killed
  • Tasks can be delayed (0.1µs resolution)
  • Operation of CPU cores exclusively in real-time mode in order to avoid Windows influence
  • Jitter of less than 1 µs in dedicated mode
  • Task frequency up to 100 kHz and above
  • Speedloop mode for high-precision cyclical execution
  • Requires the RealTime Module

Storage Module

Real-time data storage via solid-state drives

  • 普通
  • Features
  • Supported Hardware

The Storage Module introduces real-time data storage with solid-state drives (drive space up to 2 TByte). This way, via the NVMe interface, big amounts of data can be written and read with a read-write speed of 1 GByte/s. UDF is provided as data system, which also allows for packet writing.

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

In connection with the Storage Module, all storage devices, which are compatible to the NVMe-specification 1.0  can be used.

Tested devices:

  • Intel Solid-State Drive P3700/P3600/P3520/750 Series
  • Intel Solid-State Drive DC P3520 Series
  • Intel Solid-State Drive 600p Series
  • Samsung 950 SSD

*This list always refers to the latest version of our software.

Further features

       为了获得“硬”实时能力,就必须在系统的内核模式运行应用程序代码。

  • 在内核层执行的代码支持C/C++和Delphi(Win32本地)
  • 不需要看门狗,不需要在线激活等

       由于系统库对客户开放,由于通过向导和按需编程,开发人员不必关心太多内部 细节。因此通过与“黑箱子”对比用户可以很容易的改编。
       通过我们捆绑的技术向导实现 复杂的应用程序。使用多任务和高达1GBit/s 实时以太网通信在为各种各样的自动化应用,如EtherCAT或基于总线应用的CANopen。与之对应的功能强大的开发工具,如实现所有进程微秒级精确监测的»Kernel Tracer« 或用于图形可视化主”监视器“和连接的I/O端子的控制,传感器和执行器的完成观念。