Real-time Multi-tasking

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

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

Real-time for Windows

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

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

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

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

real-time timer, real-time multitasking

模块

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

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

时钟模块

系统时间的高度准确和校准检测以及短时间延迟

  • 普通
  • 特征

时钟模块为每个实时任务提供基础。它可以校准访问系统中的每个硬件时基。时间数据可以任意转换为用户特定的格式。短时间延迟取决于给定的硬件,精度可以达到几纳秒。

  • 检测系统中的所有操作时间基准
  • 校准不同的定时器/时钟
  • 与系统时钟长期同步
  • 以不同的时间和用户特定格式监控系统时间,分辨率高达0.1μs
  • 高精度的短时间延迟,步长为0.1μs
  • 用户特定时间格式的编程
  • 可靠地防止由内部96位操作引起的溢出

实时模块

高频实时定时器程序的编程

  • 普通
  • 特征

实时模块补充时钟模块并启用定时器的编程,定时器可以通过多种方式触发应用程序代码。程序执行的上下文是可选的。信号对象可以是应用程序或内核级别的事件或回调,甚至可以是与多任务处理模块相关的实时任务。

  • 高频实时定时器程序的编程
  • 循环或一次性定时器可编程
  • 简单的调试和测试工具,在应用程序级别具有回调功能
  • 可以直接启动,退出或关闭计时器
  • 简单实现看门狗机制
  • 定时器不会相互中断
  • 开始时间提供了0.1μs的分辨率(请参阅与其他进程同步)
  • 定时器周期动态可调
  • 该偏移量只有几微秒
  • 需要时钟模块

多任务处理模块

优先级驱动,抢占式实时多任务处理

  • 普通
  • 特征

多任务模块补充了实时模块,并支持优先级驱动的抢先式实时多任务处理。它支持超越实时模块的功能,实现单个实时任务的相互优先化。这样可以确定哪个进程在其他进程之前,优先级低的任务执行过程中出现优先级更高的任务时就会停止。因此,多任务处理模块的特性与真正的实时操作系统(RTOS)相同。利用专用模式,可以进一步提高实时性能。 通过在一个或多个单独的CPU内核上运行实时系统,可以避免任何负面的Windows影响。

  • 抢占式实时系统
  • 实时任务最多可编程255个不同的优先级
  • 可以动态修改优先级
  • 具有与“循环”相同优先级的多个任务
  • 包括优先级继承以避免优先级倒置
  • 实时信号量用于实时任务之间的同步
  • 用于触发外部任务的实时事件
  • 任务可以暂停,继续,触发,退出和断开
  • 任务可以延迟(0.1 µs )resolution)
  • 仅以实时模式运行CPU内核以避免Windows影响
  • 专用模式下的抖动小于1μs
  • 任务频率高达20 kHz及以上
  • Speedloop模式用于高精度循环执行
  • 需要实时模块

PTP Module

Real-time synchronization with Precision Time Protocol

  • Allgemein
  • Features

The PTP Module allows for multiple network participants within a distributed system to accurately synchronize with each other and be controlled in real time. The Kithara real-time system enables the generating of precise timestamps with deviations in the sub-microsecond range, in order to match the clock of all participants. The API provides access to the BMCA (Best Master Clock Algorithm), which determines the Master clock according to configurable parameters. Alternatively, Master and Slaves can be set manually.

  • Precise synchronization of multiple network participants
  • Accurate timestamps with deviations in the sub-microsecond range
  • Configurable BMCA (Best Master Clock Algorithm)
  • Manual setting of master and slaves

Further features

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

  • 在内核层执行的代码支持C/C++和Delphi(Win32本地)

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