Kithara实时套件

用于基于PC自动化控制系统的Windows实时拓展

Kithara实时套件是Windows操作系统实时拓展模块。通过该套件用户可以高效的在其提供的实时环境中开发各种工业自动化应用,机械设备控制程序,图像处理程序等。

实时套件提供的绝大部分功能接口可以在Windows内核层和应用层调用,这样开发人员就可以根据应用需求来决定,是在应用层直接访问硬件,还是为在内核层来访问硬件以确保实时性能。

为了让编写的应用程序获得"硬"实时能力,必须把代码加载到windows系统内核空间中运行,这通过Kithara软件就可以实现。对于加载到内核中的代码,所采用的编程语言必须能够生成本机x86,x64代码,如C/C++或Delphi。一个工程中直接访问硬件以及有实时性要求的代码必须编写成一个DLL模块,并直接加载到Kithara内核的实时上下文中。而对于非实时代码,用户可以采用熟悉的原因来编写,如C#。

一个代码可以编译成32位或64位程序,这个两种程序的源代码是绝对兼容的,正常32位应用程序只能在32位系统中运行,64位应用程序只能在64位的系统中运行,若想在64位系统中运行加载Kithara内核的32位程序,必须通过Kithara提供的KiK64模块,以实现32位程序和64位程序的二进制兼容。

Kithara软件安装包中包含,各种Kithara支持的编程语言编写的功能模块的应用程序示例,用户可以申请免费的使用版本进行测试。立即下载免费 试用版

其一些特点如下

  • 支持频率大于100 kHz的高精度 实时时钟
  • 支持任务独占CPU核心,从而可以使实时任务不受windows系统影响,以达到极好的实时性能。
  • 支持基于优先级的可抢占式 实时多任务
  • 在实时层中支持 EtherCAT®主站CANopen®主站
  • 在实时层中支持 GigE Vision 和 USB3 Vision接口相机的图形采集,以及使用Halcon或OpenCV库进行图形处理。
  • 支持事件触发的原始以太网数据包收发,基于 UDP和TCP的实时通信,其通信速度可达到(10 GBit/s)
  • 支持 实时CAN总线,其提供了独立于硬件厂商的统一API。目前其支持esd、EMS、IXXAT、Kvaser和Peak等厂商提供的PCI/PCIe接口的CAN卡(可以根据用户的需求,进行支持)。
  • 支持对硬件的直接访问:I/O端口、物理内存、中断
  • 支持PCI、 PCIe和PCMCIA接口的板、以及USB和串行COM端口(UART)设备
  • 内核层中支持C/C++和Delphi编程语言
  • 支持32位和64位的Windows 7、8、10系统!现在去 升级系统!
  • 支持在线激活和硬件加密狗两种授权方式

Kithara实时套件产品目前有超过20种不同软件模块,这些软件模块基本没有依赖关系,Kithara可以根据客户的需求来组合这些模块,构建一个用户特定的软件包。


基本功能

基本/内核模块

  • 支持以下操作系统:Windows 7、8和10(32位和64位)、Server 2008 R2、Vista、Server 2003和XP、以及嵌入式版本
  • 支持PIC和APIC硬件、多处理器的PC、超线程、多内核等。
  • 功能为:打开驱动程序、设备处理、版本信息、调试支持、系统信息
  • 应用程序线程、事件、回调、共享内存、数据和消息管道、快速互斥对象
  • 在内核级别实现实时代码
  • 实时内存管理、内存拷贝功能
  • 只与C/C++或Delphi连接
  • 包括通用的即插即用的WDM驱动器

更多信息 …

系统模块

  • 系统事件的截取,例如故障和内核级的系统崩溃(如防故障处理程序/“蓝屏处理程序”)

更多信息 …

定时器和多任务

时钟模块

  • 在不同的时间和用户特定的格式监测系统时间,分辨率高达0.10微秒
  • 高精度的短的时间延迟
  • 系统时钟长期同步,用的EtherCAT分布式时钟(DC)和IEEE1588同步

更多信息 …

实时模块

  • 高度精确的实时定时器由系统最高优先级编程
  • 最大可编程频率>20 kHz时,抖动在微秒范围

更多信息 …

多任务处理模块

  • 基于优先级的抢占式实时多任务
  • 最大255优先级,避免优先级倒置的按优先级继承,动态优先级调整
  • 事件、信号量、定时器、支持多种CPU内核、任务可以被分配
  • 实时操作一个或多个CPU内核以避免Windows影响
  • 最大任务频率高达100kHz以上、在专用模式下抖动小于1μs
  • Speedloop模式可在特定硬件上高精度循环执行最高达1MHz的实时代码

更多信息 …

Storage Module

  • 通过具有最新容量的NVMe SSD实时存储数据
  • 高速读写速度超过2 Gbyte/s
  • UDF数据系统

更多信息 …

通信

网络模块

  • 使用任何协议(例如IP),以太网每秒高达千兆比特
  • 原始以太网以及UDP/TCP(服务器和客户端协议)
  • 事件和请求驱动控制,通过ARP支持自动确定内存地址
  • IP和MAC组播,广播,巨型帧根据使用的控制器
  • 支持Intel或RealTek网络控制器(可根据要求提供硬件支持)

更多信息 …

串行/ UART模块

  • 通过UART16550兼容硬件上的特殊硬件驱动程序实时串行通信
  • 可以直接控制信号和握手线
  • 用于实时的所有接口事件的处理器

更多信息 …

设备模块

  • 包含通信设备的Windows编程接口(ReadFile,WriteFile,DeviceIoControl)
  • 任何可能的设备名称,例如虚拟“COM端口”

更多信息 …

USB驱动模块

  • 与USB设备进行通信,包括USB 3.1
  • 低速,全速,高速
  • 控制,批量,中断和等时传送
  • 响应所有即插即用和电源管理事件

更多信息 …

USB实时模块

  • 通过直接和独家访问XHCI(可扩展主机控制器接口),与USB设备进行USB 3.1通信
  • 快速的反应时间和最大的数据吞吐量
  • 控制,批量,中断和等时传送
  • 对即插即用以及电源管理事件的反应

更多信息 …

硬件访问

IoPort模块

  • 访问PC应用程序或DLL的所有I / O寄存器
  • PCI配置数据和资源数据的测定

更多信息 …

内存模块

  • 访问外部物理内存(双端口RAM)
  • 提供用于外部硬件的PC存储器(DMA存储器)

更多信息 …

中断模块

  • 在应用程序或内核级别处理硬件中断
  • 使用操作系统机制进行中断处理
  • 通过使用PCI或PCIe硬件的实时模块处理中断

更多信息 …

多功能模块

  • 实时访问多功能扩展卡
  • 用于控制和数据采集的A / D、D / A和数字I / O的功能,模拟单值和序列

更多信息 …

自动化

EtherCAT模块

  • EtherCAT主站实时自动辨识EtherCAT拓扑结构
  • 过程和服务数据通信(PDO + SDO)以及邮箱通信
  • CoE, EoE, FoE, SoE, DC, Safety-over-EtherCAT (TwinSAFE)

更多信息 …

CANopen模块

  • 实时CANopen®主站,自动识别CANopen拓扑结构
  • 处理数据和服务数据通信(PDO + SDO)以及邮箱通信

PLC模块

  • 实现符合IEC 61131-3的SoftPLC
  • 支持指令列表(AWL / IL)和结构化文本(ST)

更多信息 …

图像处理

摄像头模组

  • GigEVision®摄像头实时采集图像
  • 多台摄像机同时使用,热插拔,错误处理,根据GenlCam® 2.0配置

更多信息 …

视觉模块

  • 图像处理实时
  • 支持Halcon版本10,11和12
  • 支持OpenCV 3

更多信息 …

汽车电子

FlexRay模块

  • 实时FlexRay通信
  • WindowsPC用作FlexRay的节点
  • 分配为主导或跟随节点

更多信息 …

CAN模块

  • 通过CAN进行实时通信(控制器区域网络)
  • 支持的板卡来自:Peak, Star Cooperation (Eberspächer), EMS Dr. Wünsche, ESD, Ixxat和Kvaser(可根据要求提供硬件)
  • 支持CAN FD(灵活数据速率)

更多信息 …

LIN模块

  • LIN(本地互联网络)上的实时通信
  • 通过UART通信(根据要求提供硬件支持)

更多信息 …

运行库

  • 实时地数学/三角函数和字符串存储功能
  • 支持应用程序和内核级

更多信息 …

SigProc模块

  • 实时数字信号处理
  • 20个预定义的或用户定义的过滤器
  • PID算法实时反馈控制

更多信息 …


根据客户需求定制软件包

对于每个特定的用户可以自由的选择需要的软件功能模块,或者也可以直接联系山东易码智能科技股份有限公司的Kithara技术支持,来协助您来选择。这种定制Kithara软件包的方式给了客户极大的灵活性,其有如下几个特点:

  • 各个不同模块之间基本没有依赖关系,用户可以根据需要任意组合这些模块
  • 可以定制开发和运行时文件的名称
  • 安装简单 (无需手动修改注册表)
  • 不需要任何修改,就能进行版本升级
  • 购买模块后,就附带模块应用开发的Licence
  • 可以最大限度的降低运行时的Licence的价格
  • 一般情况下,由于每个季度都会更新,因此用户可以通过服务邮箱的下载入口,下载最新版本的软件(仅12月,大于12月需要购买额外的服务)。
  • 可以随时拓展其他模块(只需要支付增加的模块的价格,此外相应的Licence价格也可能有所变化)
  • 提供4中不同的服务支持包(1、3、6或12月),为开发人员提供软件的开发支持。

我们的 支持 团队将为您把Kithara软件集成到您的应用项目中,提供最好的服务,此外我们也可以帮助您解决Kithara软件之外的问题!山东易码智能科技股份有限公司(LinkControl)作为Kithara在中国的唯一代理,我们有大量的工业自动化软硬件开发经验,也将为您提供个性化的服务咨询。


平台

实时功能只能在内核级别上实现。为此,需要一种能够生成本地x86或x64机器码的编程语言,例如C/C++或者Delphi。当然, Kithara实时套件支持各种平台,例如.NET环境。解决方案是将时间关键型代码转换成一个DLL,该DLL将直接加载到内核级别的实时上下文中。Kithara实时套件可以提供所有这些功能。上述平台的即时可用程序框架是每个软件交付的一部分。


系统要求

Kithara实时套件产品支持广泛的硬件和软件的组合。如果你有关于系统支持的疑问,请与我们 联系!(Kithara中国技术支持邮箱:ezcode_kithara@163.com)

操作系统

该软件支持以下操作系统:

  • Windows 7, 8和10, 32位和64位, dedicated mode
  • Windows Server 2012, 2015, 2017, dedicated mode
  • Windows Server 2008 R2, 64位, dedicated mode

硬件环境

该软件在以下硬件上运行:

  • CPU:AMD(Athlon)或Intel(Pentium 2),32 位或64位
  • 双核或多核;可选的超线程多核,目前多达48个逻辑CPU,可根据要求提供更高的性能
  • 推荐的ACPI(Advanced Control and Power Interface),推荐的APIC(Advanced Programmable Interrupt Controller)。 某些功能需要ACPI-APIC
  • 使用高达40 Gbit / s的千兆以太网,通常支持Intel和RealTek的控制器

编译器

Kithara提供如下编程语言/编译器编写的程序框架(其他编程语言可以根据用户需要提供支持):

  • Visual Studio的20xx年的C++ MFC用户界面(提供 VS 2010/12/13/15/17工程文件)
  • C++ Builder(Embarcadero公司,原Borland公司)VCL用户界面
  • Delphi(Embarcadero公司,原Borland公司)VCL用户界面
  • Visual Studio的20XX C#WPF用户界面(实时代码采用C++ DLL,提供 VS 2010/12/13/15/17工程文件)

对于在实时上下文中执行代码,一般情况任何编译器,只要可以以DLL形式生成本地机器代码,那都可以使用。另外,不在实时层执行的Windows应用程序可以采用其他语言,如C#。


EtherCAT®EtherCAT Technology Group的一个注册商标。
CANopen®CAN in Automation e. V.的一个注册商标。
GigE Vision®Automated Imaging Association的一个注册商标。