通过实时加速器技术实现实时应用程序的 Windows

描述

概述

如今,越来越多的应用,特别是在工业自动化、医疗技术、数据采集和测量技术等领域,都需要确定性的实时行为。acontis实时加速器技术(RtaccWin)使您能够在Windows下运行具有确定性的硬实时功能应用程序。这是通过专门为实时应用程序保留一个或多个CPU来实现的,设置 Windows 适当的参数化并利用 acontis 内核驱动程序进行精确定时和直接硬件访问。

 

01

软件架构

 

基于Windows IoT Enterprise的PC可以从acontis的RtaccWin软件中受益,以保证在1毫秒的周期时间中运行稳定的实时应用程序。原则上,还可以实现更快的周期时间。为了实现这一点,至少保留一个CPU专门用于实时应用程序,而其他CPU则于标准的Windows应用程序。

 

RtaccWin 包括一个Windows系统驱动程序,可为整个应用程序提供精确且可调节的时钟。为了确保确定性行为,标准Windows驱动程序通常不用于实时应用程序。相反,RtaccWin中的内核驱动程序允许从 Windows 用户模式直接访问硬件,例如网卡、现场总线卡等,从而降低抖动、显著降低CPU利用率并具有确定性行为。还允许在不使用Windows网络堆栈的情况下发送和接收以太网帧,并且在并行使用其他网络接口时不会产生不利影响。

 

软件开发

 

02

配置工具:RtaccWinConfig

 

软件配置工具 RtaccWinConfig用于为实时应用程序准备Windows系统。首先,它至少隔离了一个CPU,这也意味着常规 Windows进程和服务不会再使用该CPU。这样,隔离的CPU就能专门用于实时应用程序。

 

软件开发

 

RtaccWinConfig工具的另一个功能是为实时应用程序分配硬件。这意味着常规的 Windows 驱动程序已经卸载,可以从 Windows 用户空间访问硬件。acontis内核驱动程序可以快速、直接地访问已分配硬件的所有内存区域。

 

软件开发

 

03

软件开发

 

开发实时应用程序的过程类似于标准Windows应用程序开发的过程。以下是要遵循的步骤:

1、使用RtaccWinConfig工具设置系统
2、为实时任务创建一个或多个线程
3、将这些线程分配给先前隔离的CPU
4、为线程分配一个非常高的优先级,使它们成为“实时线程”
5、可选择通过acontis Windows系统驱动程序生成一个稳定而精确的时钟


一个Windows 进程可以包括“非实时线程”和“实时线程”。这两种线程类型都可以访问全局变量并使用标准同步机制,如事件、关键部分、互斥锁和信号量。常用的 Win32 API 也可在“实时线程”中使用。您可以在整个开发过程中使用Microsoft Visual Studio的全部功能。在调试模式下,所有线程都可以访问所有资源。当然,您也可以在没有实时行为的情况下逐步执行“实时线程”。

 

软件开发

 

04

性能

 

一个稳定、精确、低抖动的时钟对于实时应用是至关重要的,特别是对于每毫秒执行一次的控制循环。理想情况下,应用程序应该每1000微秒精确触发一次,但在实践中可能会出现偏差,导致间隔或长或短。在使用acontis 实时加速器技术时,这些偏差(也称为抖动)可以在 Windows 下显著减少。

 

RtaccWinConfig 软件工具可以测量具有特定周期时间的隔离CPU性能。最大和最小偏差值可以用图形显示。允许的最大抖动取决于应用程序,在通常情况下,可以接受高达周期时间10%的偏差。例如,周期时间为1000微秒时,最小值应不小于900微秒,最大值不应大于1100微秒。

 

如果没有实时加速器技术,周期时间可能会大幅波动。8小时后,在运行Windows IoT的Minis Forum U820(i5-8279U CPU)上进行了测试,并大量加载Passmark老化测试,结果显示有明显的波动。

 

软件开发

 

启用实时加速器技术可以保证时钟的精确度同时误差最小,在8小时后的同一系统上进行的测试证明了这一点。

 

软件开发

 

05

特征

 

1、微秒级的快速响应时间

2、硬实时与实时加速器技术使用CPU隔离

3、在一个独立的CPU的一个进程中实现实时功能和标准功能

4、RtaccTimer驱动程序生成精确,稳定的时钟

5、RtaccDevice驱动程序,可以直接访问硬件无需内核驱动程序

6、 合适的配置工具RtaccWinConfig

 

06

优势

 

1、实时应用程序可以像普通的Windows应用程序一样开发

2、标准Win32 API也可用于实时线程中

3、支持Microsoft Visual Studio。方便开发和调试整个实时应用程序。

4、通过变量进行简单的数据交换。不需要在应用程序的实时和非实时部分之间进行复杂的通信。

5、操作简单,培训工作量低

 

系统要求

 

• Windows 10 IoT 企业版或 Windows 11 IoT 企业版
• 四核CPU


北京盟通科技有限公司成立于2013年,是工业自动化领域的高新技术企业。公司专注于实时现场总线技术及工业通讯技术的研发、推广及技术支持服务。依托于核心团队多年的海外和行业经验,盟通科技与欧洲多家自动化领域的佼佼者达成战略合作关系,为客户提供EtherCAT主站协议栈、OPC UA SDK软件开发包、CANopen协议栈、FSoE协议软件、CAN总线硬件、DINA安全模块、艾默生Connext软件等工业协议的标准和定制化产品。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分