计算机系统应用http://www.c-s-a.org.cn

51la统计系统  时间:2021-02-25  阅读:()
2017年第26卷第1期106系统建设SystemConstruction基于RTX的实时数据处理系统①崔亚军1,2,赵奎2,王鸿亮2,王俊霖31(中国科学院大学,北京100049)2(中国科学院沈阳计算技术研究所,沈阳110168)3(大连理工大学软件学院,大连116024)摘要:为了解决远程设备数据处理不及时的问题,提出了一种基于RTX实时操作系统的设备数据处理系统.
该系统由RTX实时数据处理进程和人机交互进程两部分组成,其中RTX实时数据处理进程负责接收远程设备端的数据并进行实时的处理,将处理过的数据经共享内存和同步事件对象等通信方式,传输到Win32的人机交互进程进行显示和存储数据,同时用户可以通过控制指令修改远程设备的状态.
实验证明,该系统解决了设备数据处理不及时的问题,保证了设备管控的实时性和稳定性,能够满足对远程设备进行实时管控的要求.
关键词:数据处理;实时系统;RTX;进程通信Real-TimeDataProcessingSystemBasedonRTXCUIYa-Jun1,2,ZHAOKui2,WANGHong-Liang2,WANGJun-Lin31(UniversityofChineseAcademyofSciences,Beijing100049,China)2(ShenyangInstituteofComputingTechnology,ChineseAcademyofSciences,Shenyang110168,China)3(SchoolofSoftwareTechnology,DalianUniversityofTechnology,Dalian116024,China)Abstract:Inordertoensurethereal-timedataprocessingofremotedevice,areal-timeprocessingsystembasedonRTXisproposed,whichiscomposedofRTXreal-timeprocessandman-machineinteraction.
TheRTXreal-timeprocessgetsdatafromremotedeviceandprocessesthereal-timedata.
Then,itdisplaysandstoragesdatabytransferringtheprocesseddatatoaWin32userinterfacelayerbysharingmemoryandsynchronizingeventobject.
Simultaneously,theusercouldalterremotedeviceuponcommandsfromman-machineinteraction.
Experimentshaveshownthatthesystemcanreducethelatencyofdataprocessing,ensurethereal-timeandstabilityofequipmentcontrol,andsatisfythereal-timecontrolrequirementsforremotedevice.
Keywords:dataprocessing;real-timesystem;RTX;processcommunication1引言随着设备管控技术的发展,以实时数据处理为基础的管控技术成为当前工业实时设备管控的关键.
目前,虽然通用操作系统的处理能力、速度和效率等已经能够满足大部分工业生产的需要,然而,在实时设备管控领域,系统不仅需要好的处理能力和效率,还要保证设备数据处理的实时性.
为了满足这一要求,本文采用基于实时操作系统(RTOS)的实时设备数据处理方案[1].
RTOS能够保证数据处理请求在极短的时间内得到相应处理,具有低成本、高灵活性、高实时性及丰富配套资源等优点[2].
目前常用的RTOS有VxWorks、RTX和RtLinux等,其中RTX是Windows下硬实时的操作系统[3].
为了充分利用Windows下丰富的资源,本文提出一种基于RTX的实时数据处理系统,实现设备数据的接收、处理、显示以及人机交互等功能,以满足系统的实时性、可靠性和安全性.
2RTX概述2.
1RTX相关概念IntervalZero公司研发的RTX系统是Windows环①基金项目:国家水体污染控制与治理科技重大专项(2012ZX07505003)收稿时间:2016-04-26;收到修改稿时间:2016-06-21[doi:10.
15888/j.
cnki.
csa.
005534]2017年第26卷第1期http://www.
c-s-a.
org.
cn计算机系统应用SystemConstruction系统建设107境下纯软件实现的硬实时操作系统[4],其拥有采用抢占式优先级的高效任务管理器,同时可以支持大部分C/C++语言函数库和Win32API.
RTX通过对Windows硬件抽象层(HAL)进行扩展来实现独立的内核驱动模型,并增加与Win32子系统并存的实时子系统(RTSS)来保证系统的实时性,RTX的体系架构如图1所示.
在RTX环境下进行实时系统的开发,有以下几点优势:1)能够保证程序的实时性;2)实时接口RtApi的使用与Win32环境类似,便于程序的开发;3)RTX支持使用C/C++的集成开发环境进行程序开发[5].
Win32进程链接RTOS的Win32进程Win32子系统内核模式链接RTOS的Win32驱动Windows内核和设备驱动Windows硬件抽象层硬件平台RtApiRtkApiRTX实时子系统(RTSS)RTX硬件抽象层扩展实时TCP/IP栈实时进程/RtDLL用户模式实时进程/RtDLLRtxTcpip.
.
.
Windows处理器Windows处理器.
.
.
RTSS处理器RTSS处理器图1RTX和Windows运行的架构图2.
2RTX的实时性分析系统实时性的评价,主要从系统处理不确定事件时所消耗的线程切换延迟、中断响应延迟和定时器延迟等方面进行[6].
本文利用RTX64和Inteli3CPU的PC进行RTX的性能测试,并将测试结果与Windows7进行对比,具体情况如表1所示.
表1RTX和Windows性能的对比系统延迟(us)WindowsRTX线程切换最小值0.
30.
1平均值0.
30.
1最大值1000+0.
5中断响应最小值2.
10.
4平均值2.
60.
4最大值1000+0.
8定时器延迟最小值910平均值951.
0最大值1000+8.
0由表1可以看出,Windows系统的通用性能良好,但是最大延迟是实时系统所不能接收的,而RTX能够保证在任何情况下,系统的最大延迟都是极小的,因此RTX能保证在处理不确定事件时也具有实时性.
3实时数据处理系统设计3.
1系统需求分析本文系统的设计旨在实现远程设备的实时管控,该系统主要包含两个模块:实时数据处理模块和人机交互模块.
系统的数据流程是远程设备通过RtxTcpip协议实时地把设备数据传输到该系统,并由数据处理模块进行接收和处理,然后将处理好的数据通过进程间通信传输给人机交互模块,由人机交互模块进行数据的显示和存储.
系统的控制流程是指首先由系统的人机交互模块发送控制指令,然后通过RtxTcpip协议将指令实时地传输给远程设备.
该系统的实时数据处理模块主要包括数据监听、数据接收、数据解析、数据检测和数据转储等子模块.
人机交互模块主要包括指令设置、数据存储、数据分析和数据可视化等子模块,详细的功能规划如图2所示.
基于RTX的实时数据处理系统实时数据处理人机交互模块数据接收数据解析数据监听数据检测数据转储指令设置数据可视化数据分析数据存储图2系统的功能模块图3.
2系统整体架构的设计系统架构是影响系统整体性能的关键因素之一,虽然RTX能够保证进程的实时性,但良好的架构能够减少任务调度对系统关键线程的影响[7].
因此,在系统开发之前,有必要对系统整体的架构、各模块的运行机制以及内部的实现作详细地分析,尽可能设计出最优性能的系统,以达到相对理想的状态.
本文系统整体的结构如图3所示.
该系统的实时数据处理层在RTX环境下运行,包括实时的数据接收、解析和检测等功能,同时能够及时地进行异常中断处理,保证远程的设备数据传送到该系统时,数据能够得到实时地处理,而人机交互层在Win32环境下运行.
本系统利用MFC完成人机交互界面的设计,同时提供指令发送、数据可视化和数据存储的功能.
计算机系统应用http://www.
c-s-a.
org.
cn2017年第26卷第1期108系统建设SystemConstruction数据和控制参数缓存区通信参数通信参数同步信号中断控制.
.
.
数据控制参数设置.
.
.
数据存储数据显示外部设备人机交互界面Win32RTX说明控制流数据流输入/输出远程设备数据解析检测接收转储图3系统的整体架构图3.
3系统的程序设计整个系统程序流程的设计以RTX实时进程和人机交互进程之间的共享内存通信为中心.
系统的程序流程图如图4所示,其中图4右侧为RTX实时进程,图4左侧为人机交互进程.
开始初始化参数启动RTSS是修改控制指令请求数据状态数据显示数据存储否终止线程结束创建共享内存是初始化参数请求控制指令是终止定时器否数据处理数据转储关闭定时器终止RTSS启动RTSS控制参数区域数据缓冲区是否否否是创建定时器Win32共享内存RTX打开共享内存关闭共享内存说明同步事件对象控制流数据流图4系统的程序流程图RTX实时进程主要包括实时主线程、数据接收线程和数据处理线程三部分.
实时处理线程负责将接收的设备数据进行实时处理,并将结果通过共享内存的方式传输给人机交互层,并根据人机交互的控制指令修改实时进程的状态.
人机交互进程主要由系统主线程、指令发送、数据显示和转储等多个线程组成.
指令发送线程负责发送用户对远程设备的控制指令,数据显示线程负责对通过共享内存传来的数据进行及时可视化处理,以向用户展示远程设备的当前状态,同时利用数据存储线程将接收到的远程设备数据存储到系统指定的数据库中.
4系统的实现本文的系统开发是在RTX64实时环境下,使用C/C++语言在VisualStudio2013平台进行的.
其中实时进程采用RTX提供的RtApi实时接口进行开发,人机交互进程采用MFC类库进行开发.
4.
1实时进程的实现4.
1.
1实时数据接收的实现高精度定时器是实时数据处理进程的核心,RTX系统提供了三种类型的定时器:CLOCK_SYSTEM、CLOCK_FASTEST和CLOCK_3[8].
本文采用了的时钟精度为1us的CLOCK_FASTEST类型的定时器.
在使用定时器时,首先利用RtCreateTimer()函数创建定时器,然后通过RtSetTimerRelative()函数设置定时器的时钟周期和重复间隔,最后将数据接收执行代码放到定时器的回调函数中,使其能够周期性的实时执行.
关键代码示例如下:HANDLEhDataTimer=RtCreateTimer(NULL,0,DataFunc,NULL,RT_PRIORITY_MAX,CLOCK_FASTEST);RtSetTimerRelative(hDataTimer,&nDataPeriod,&nDataPeriod);voidRTFCNDCLDataFunc(void*context){.
.
.
//数据接收代码段RtSetEvent(hDataParse);//重置同步事件对象}4.
1.
2实时数据解析和转储的实现数据解析和转储线程主要包括以下几个方面.
首先数据解析线程通过RtWaitForMultipleObjects()函数接收由数据接收线程发来的同步事件对象,然后打开共享内存,从中提取数据进行解析,并对数据正确性的检测,如果解析的数据符合标准的数据格式,就把它交于数据转储线程进行转储到共享内存[9],否则将错误信息封装到数据块的错误信息段,并交由人机交互层处理.
最后由RtSetEvent()函数重置与Win32通信的同步事件对象,并通知人机交互层将共享内存中的数据及时进行显示和存储.
关键代码示例如下:2017年第26卷第1期http://www.
c-s-a.
org.
cn计算机系统应用SystemConstruction系统建设109dwStatus=RtWaitForMultipleObjects(2,hEvent,FALSE,INFINITE);if(WAIT_OBJECT_0+TERM_EVENT==dwStatus){RtSetEvent(hEvent[TERM_EVENT]);ExitProcess(0);}if(WAIT_OBJECT_0+EXECUTE_EVENT==dwStatus){if(memcmp(pData->prodData,pData->consData,sizeof(pData->prodData))!
=0){.
.
.
//数据转储代码段RtSetEvent(hEvent[TERM_EVENT]);ExitProcess(0);}}4.
2人机交互进程的实现人机交互进程的实现是在Win32环境下使用MFC基础类库完成的,它与实时进程间的交互通过RTX的RtApi接口来完成[10].
人机交互进程主要包括以下几个功能:数据的显示、存储数据库、控制指令的发送.
其中,数据显示负责从实时进程中接收数据,并将数据显示到MFC界面,数据显示界面如图5所示.
图5数据显示的界面图存储数据功能负责将接收到的数据存储到数据库,为用户查询设备的历史信息提供便利.
控制指令的发送功能主要将控制指令对话框中的指令发送到远程设备,对远程设备进行控制.
5实验测试及结果分析本次性能测试实验的硬件配置为:CPU(Inteli33.
60GHz)、内存(4.
00GB);软件环境为:Windows7、RTX64实时系统和VS2013开发工具.
本实验测试的主要目的是对数据处理进程在实时环境下所消耗的时间与Win32环境所用时间进行对比,并分析本系统的实时性.
在实验测试中,采用高精度计数器完成时间的统计,通过QueryPerformanceFrequency()函数和QueryPerformanceCounter()函数分别获取计时器的频率和数值[11],并利用两次获取的计数之差与计时器频率,计算出数据处理所花费的精确时间.
图6轻负载RTX与Win32性能的比较图7重负载RTX与Win32性能的比较该数据处理系统在轻负载和重负载下分别进行了50次实验,实验结果如图6和图7所示.
在轻度负载的Win32环境下,数据处理时间在22ms左右,浮动相对较小;在重负载的Win32环境下,数据处理时间浮动很大,接近秒级,因此不能达到业界对实时处理系统在10ms之内完成数据处理的要求.
而在RTX实时环境中,数据的处理时间不受Windows负载的影响,因此,无论在轻负载还是重负载下,实时数据处理都能够保证在3ms之内完成,具有很好的实时性,能够满足实时管控系统对数据处理的要求.
6结语本文设计的基于RTX的实时数据处理系统,充分利用了RTX的可扩展析性、实时性和高灵活性等特征,实现了抢占式优先级的高效任务管理和实时调度.
通过对数据处理系统的实时性测试,可以看出RTX环境为系统的实时性提供了保证,其设备数据处理的性能远远好于Windows环境,能够保证设备数据处理在10ms内完成.
因此,本文设计的数据处理系统能够很好地满足实时设备管控的需要,同时也为在Windows计算机系统应用http://www.
c-s-a.
org.
cn2017年第26卷第1期110系统建设SystemConstruction非实时环境下如何通过软硬件扩展进行实时系统的开发提供了一种有效的解决方法.
参考文献1WhiteJA,BettencourtJ.
Real-timeexperimentinterfaceforbiologicalcontrolapplications.
2010AnnualInternationalConferenceoftheIEEEEngineeringinMedicineandBiology.
IEEE.
2010.
4160–4163.
2IntervalZerolnc.
RTX64deploymentguide.
https://www.
intervalzero.
com/rtx-downloads/rtx64-downloads/rtx64-2014-downloads.
[2015-10-13].
3杨建,王建军,郭立红.
基于RTX的某光电装备图像处理实时性研究.
计算机测量与控制,2015,11(4):31–33.
4马维斯.
基于RTX的关节控制系统及测试平台研究[硕士学位论文].
哈尔滨:哈尔滨工业大学,2014.
5GuoC,NiF,ZouT.
Designofreal-timeandopencontrolsystemforChinesespacemanipulatorjointonRTX.
2015IEEEInternationalConferenceonRoboticsandBiomimetics(ROBIO).
IEEE.
2015.
2629–2634.
6LeeYH,KimD.
Softwarearchitecturesupportingintegratereal-timesystems.
TheJournalofSystemsandSoftware,2013,65(4):71–86.
7彭健,包梦.
基于RTX51嵌入式操作系统的多路数据采集系统设计.
工业仪表与自动化装置,2015,2(4):29–32.
8雷毅,周徐昌.
基于RTX平台高速实时数据采集与处理平台设计.
舰船电子工程,2010,6(7):89–96.
9王伟,袁保君,吴佳楠.
基于RTX的数据采集系统设计.
测控技术,2012,8(10):78–81.
10刘晓晶.
基于Windows平台的实时扩展子系统(RTX)研究及其在雷达系统中的应用[硕士学位论文].
南京:南京理工大学,2011.
11任伟,陈韶千,王亮.
基于RTX的网络延迟测试系统设计与实现.
测控技术,2013,3(4):80–83.

HostSlim,双E5-2620v2/4x 1TB SATA大硬盘,荷兰服务器60美元月

hostslim美国独立日活动正在进行中,针对一款大硬盘荷兰专用服务器:双E5-2620v2/4x 1TB SATA硬盘,活动价60美元月。HostSlim荷兰服务器允许大人内容,不过只支持电汇、信用卡和比特币付款,商家支持7天内退款保证,有需要欧洲服务器的可以入手试试,记得注册的时候选择中国,这样不用交20%的税。hostslim怎么样?HostSlim是一家成立于2008年的荷兰托管服务器商,...

Megalayer优化带宽和VPS主机主机方案策略 15M CN2优化带宽和30M全向带宽

Megalayer 商家主营业务是以独立服务器和站群服务器的,后来也陆续的有新增香港、菲律宾数据中心的VPS主机产品。由于其线路的丰富,还是深受一些用户喜欢的,有CN2优化直连线路,有全向国际线路,以及针对欧美的国际线路。这次有看到商家也有新增美国机房的VPS主机,也有包括15M带宽CN2优化带宽以及30M带宽的全向线路。Megalayer 商家提供的美国机房VPS产品,提供的配置方案也是比较多,...

HyperVMart:加拿大vps,2核/3G/25G NVMe/G口不限流量/季付$10.97,免费Windows系统

hypervmart怎么样?hypervmart是一家成立了很多年的英国主机商家,上一次分享他家还是在2年前,商家销售虚拟主机、独立服务器和VPS,VPS采用Hyper-V虚拟架构,这一点从他家的域名上也可以看出来。目前商家针对VPS有一个75折的优惠,而且VPS显示的地区为加拿大,但是商家提供的测速地址为荷兰和英国,他家的优势就是给到G口不限流量,硬盘为NVMe固态硬盘,这个配置用来跑跑数据非常...

51la统计系统为你推荐
行业关键词关键词有哪些分类?支付宝查询余额支付宝里如何查询银行卡里面的余额?支付宝查询余额我的支付宝如何查询余额金山杀毒怎么样用金山毒霸杀毒好吗?创维云电视功能创维电视怎么用,我买了个创维云电视,现在不知道怎么用手机往电视上传照片,谁能解答以下,idc前线怎么知道我电脑是3兆的宽带?商标注册查询官网商标注册查询官方网站?iphone6上市时间苹果6是什么时候出的 ?网络广告投放网络广告的投放目的是什么?网站优化方案网站优化方案如何写?
如何注册网站域名 免费动态域名 5折 腾讯云数据库 gomezpeer 河南移动邮件系统 日本bb瘦 柚子舍官网 上海服务器 吉林铁通 服务器是干什么用的 空间登陆首页 英国伦敦 独立主机 服务器硬件配置 97rb 葫芦机 移动王卡 hosting24 塔式服务器 更多