计算机系统应用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.

UCloud 618活动:香港云服务器月付13元起;最高可购3年,AMD/Intel系列

ucloud6.18推出全球大促活动,针对新老用户(个人/企业)提供云服务器促销产品,其中最低配快杰云服务器月付5元起,中国香港快杰型云服务器月付13元起,最高可购3年,有AMD/Intel系列。当然这都是针对新用户的优惠。注意,UCloud全球有31个数据中心,29条专线,覆盖五大洲,基本上你想要的都能找到。注意:以上ucloud 618优惠都是新用户专享,老用户就随便看看!点击进入:uclou...

ManSora:英国CN2 VPS,1核/1GB内存/10GB SSD/1TB流量/100Mbps/KVM,$18.2/月

mansora怎么样?mansora是一家国人商家,主要提供沪韩IEPL、沪日IEPL、深港IEPL等专线VPS。现在新推出了英国CN2 KVM VPS,线路为AS4809 AS9929,可解锁 Netflix,并有永久8折优惠。英国CN2 VPS,$18.2/月/1GB内存/10GB SSD空间/1TB流量/100Mbps端口/KVM,有需要的可以关注一下。点击进入:mansora官方网站地址m...

搬瓦工VPS:高端线路,助力企业运营,10Gbps美国 cn2 gia,1Gbps香港cn2 gia,10Gbps日本软银

搬瓦工vps(bandwagonhost)现在面向中国大陆有3条顶级线路:美国 cn2 gia,香港 cn2 gia,日本软银(softbank)。详细带宽是:美国cn2 gia、日本软银,都是2.5Gbps~10Gbps带宽,香港 cn2 gia为1Gbps带宽,搬瓦工是目前为止,全球所有提供这三种带宽的VPS(云服务器)商家里面带宽最大的,成本最高的,没有第二家了! 官方网站:https...

51la统计系统为你推荐
邮箱打不开怎么办我的邮箱打不开怎么办bluestacksBluestacks安卓模拟器是什么机型的?不兼容Google play 服务提示不兼容怎么办?bluestackbluestacks安卓模拟器有什么用网页打不开的原因网页打不开是什么原因?手工杀毒手工杀毒与杀毒软件杀毒有什么区别?office2007简体中文版office2007下载安装黑龙江计算机等级考试网在黑龙江考国家计算机2级费用多少?youtubemp3mp4能放视频的MP3和MP4有什么区别?阿里云备案阿里云服务器备案需要哪些资料
网站空间价格 香港vps主机 highfrequency 外贸主机 cpanel 老左博客 域名优惠码 hnyd 天互数据 宁波服务器 100m独享 vip购优惠 idc查询 国外ip加速器 yundun lamp架构 阿里dns 杭州电信 深圳主机托管 百度新闻源申请 更多