计算机系统应用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.
Hostigger 主机商在前面的文章中也有介绍过几次,这个商家运营时间是有一些年份,只不过在我们圈内好像之前出现的次数不多。最近这段时间商家有提供不限流量的VPS主机,逐渐的慢慢被人认识到。在前面的介绍到他们提供的机房还是比较多的,比如土耳其、美国等。今天看到Hostigger 商家居然改动挺大的,原来蛮好的域名居然这次连带官方域名都更换掉去掉一个G(Hostiger )。估摸着这个域名也是之前...
易探云怎么样?易探云香港云服务器比较有优势,他家香港BGP+CN2口碑不错,速度也很稳定。尤其是今年他们动作很大,推出的香港云服务器有4个可用区价格低至18元起,试用过一个月的用户基本会续费,如果年付的话还可以享受8.5折或秒杀价格。今天,云服务器网(yuntue.com)小编推荐一下易探云国内云服务器优惠活动,北京和深圳这二个机房的云服务器2核2G5M带宽低至330.66元/年,还有高配云服务器...
老薛主机怎么样?老薛主机这个商家有存在有一些年头。如果没有记错的话,早年老薛主机是做虚拟主机业务的,还算不错在异常激烈的市场中生存到现在,应该算是在众多商家中早期积累到一定的用户群的,主打小众个人网站业务所以能持续到现在。这不,站长看到商家有在进行夏季促销,比如我们很多网友可能有需要的香港vps主机季度及以上可以半价优惠,如果有在选择不同主机商的香港机房的可以看看老薛主机商家的香港vps。点击进入...
51la统计系统为你推荐
易pc易PC价格多少邮箱怎么写工作邮箱怎么填windows优化大师怎么用如何用Windows优化大师??网站运营网络运营具体做什么呢idc前线钢铁雄心2修改器mate8价格现在买华为mate8高配划算吗2012年正月十五农历2012年正月15早上9点多生的!命里缺什么!是什么命相宕机人们说的宕机是什么意思云挂机有免费的云挂机软件吗?微信怎么看聊天记录如何查找微信聊天记录
网站挂马检测工具 ibox官网 免费mysql 四川电信商城 海外空间 网购分享 web应用服务器 独立主机 中国域名 服务器硬件配置 97rb 聚惠网 windowsserverr2 webmin qq部落24-5 冰盾ddos防火墙 阿里云主机 国外bt下载网站 qq空间打开慢 最好的空间日志 更多