基于Windows平台的测控系统的实时性优化方法.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:5 大小:323KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于Windows平台的测控系统的实时性优化方法.pdf

基于Windows平台的测控系统的实时性优化方法.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据基于Windows平台的测控系统的实时性优化方法Windows信息与电子工程刘振吉,底健OptimizingReal-timeCapabilityofControlandTestEquipmentBasedSystem问题描述第6卷第5期2008年lO月文章编号:1672-2892(2008)05·0383-04摘要:由于Windows操作系统具有友好的图形用户界面,许多测控设备都在Windows操作系统环境下进行开发。Windows操作系统不是实时操作系统,如何改善此类测控设备的实时性是开发人员必须解决的问题。给出了一种通过优化多线程编程来解决某测控设备实时性问题的方法,说明Windows操作系统可以满足一些实时系统的需要。关键词:实时性;Windows;定时控制;多线程中图分类号:TP316.7capebilityoperatingWindows操作系统具有强大的图形界面功能和丰富的函数库,在实时性要求不是太苛刻的测量控制领域得到了广泛应用,许多文献也对Windows操作系统的实时性问题进行了研究和应用分析【l叫。实时性系统并不特指响应特别快的系统,实时性系统有限定的响应时间要求,从而使系统具有可预测性。在基于Windows操作系统平台的测控软件中,在实时性调度上,面对多控制任务,当被控对象受到外界扰动时,如何改善控制系统的动态响应并且保证所有任务可调度【7】,需要采取一定的优化措施。本文结合1个采用Visualc++6.0开发的测控系统工程实例,介绍了一种提高事件响应实时性的线程优化方法。在某测控设备的联试过程中,发现被测对象某4个信号之间的时间间隔的测量结果不仅偏大而且很不稳定,测量误差超出了该测控设备的性能指标要求(测量误差不超出±20ms)。为了更好地确认这个问题,连续进行了30次试验,通过对试验数据进行分析,发现这个问题不是偶然现象。通过标准仪器验证被测对象的这4个信号之间的时间间隔是较稳定的,说明该测控设备在与被测对象这4个信号相关的控制和测量明显不具有可预测性,系统实时性不能满足任务要求。该测控设备的硬件体系结构框图见图l,其中的插卡及用途如下:数据采集卡完成数据采集,数字I/O卡l、数字I/0卡2和数字I/O卡3完成继电器输出和数字信号输入,回波模拟卡完成回波模拟功能。数字I/O卡3比数字I/O卡l及数字I/O卡2的输出和输入通道多,但是不支持中断。(中国工程物理研究院电子工程研究所,四川绵阳621900)文献标识码:AZhen-ji,DIIntedace(GUI).Windowscapability;Windows;time1收稿日期:2008-03-19:修回日期:2008-05-08INFORMATIONANDELECTRONICENGINEERINGV01.6.No.5Oct.,2008onLIUJian(Institute621900,China)Abstract:Manycontrola弛designedundersystemenvironmentforfriendlyGraphicalUserreal-timesystem,whichthedeveloperimprovetheseequipments.Amethodforwarddealproblemsomebymultithreadingshowsthatsatisfyrequirementsystems.Keywords:real-timecontrol;multithreadingElectronicEngineering,ChinaAcademyEngineeringPhysics,MisnyangSichuanequipmentsit’8isrequiresputwithoptimizingprogram.Itmaytestnottoa万方数据/OO0、{PCIbusI一,computerdisp埘l·lI信息与电子工程软件分析outpl吐51鸳恻删outpI吐319嘣删▲软件设计采用了多线程技术,分别针对数字采集卡、数字I/0卡l、数字I/O卡2、数字I/0卡3和回波模拟卡各创建了1个线程(依次用Threadl,Thread2,Thread3,Thread4和Thread5表示),其中Threadl用于完成电压数据采集,Thread2,Thread3和Thread4用于完成程序接点跳变信号采集,Thread5用于对回波模拟卡的周期性置数。Threadl,Thread2和Thread3利用了板卡自身的中断功能,实时性得到了保证。Thread4通过查询来实现对信号的ms。Thread5是采用回调函数技术设计的一种高精度定时器,回调周期也为10Thread4和Thread5的实时性都需要Windows的计时功能来保