首页 【doc】基于LabWindows/CVI的多线程实时监控系统的研究与开发

【doc】基于LabWindows/CVI的多线程实时监控系统的研究与开发

举报
开通vip

【doc】基于LabWindows/CVI的多线程实时监控系统的研究与开发【doc】基于LabWindows/CVI的多线程实时监控系统的研究与开发 基于LabWindows,CVI的多线程实时监控 系统的研究与开发 第16卷第6期 2008年12月 电脑与信息技术 ComputerandInformationTechnolozv Vo1.16No.6 Dec.2oo8 文章编号:1005—1228(2008)06-0063-03 基于LabWindows/CVI的多线程实时监控系统的研究与开发 李晔,姚全珠,王战敏 (西安理工大学计算机科学与工程学院西安710048)...

【doc】基于LabWindows/CVI的多线程实时监控系统的研究与开发
【doc】基于LabWindows/CVI的多线程实时监控系统的研究与开发 基于LabWindows,CVI的多线程实时监控 系统的研究与开发 第16卷第6期 2008年12月 电脑与信息技术 ComputerandInformationTechnolozv Vo1.16No.6 Dec.2oo8 文章编号:1005—1228(2008)06-0063-03 基于LabWindows/CVI的多线程实时监控系统的研究与开发 李晔,姚全珠,王战敏 (西安理工大学计算机科学与工程学院西安710048) 摘要:文章介绍了应用于某型飞机配套装备生产试验过程中的实时监控系统的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 与实现.该系统实现中利用Lab— Windows/CVI提供的多线程机制及datasocket技术,完成了包括对该型装备生产,试验数据的采集,实时显示,分析,记 录,告警及远程监视,控制等各项功能.经实际应用表明,该系统具有自动化程度高,可视性强,实时性强和高可靠性等优 点,极大地提高了产品的生产效率,对实现同类产品生产试验过程的自动化具有指导意义. 关键词:实时;多线程;LabWindows/CVI 中图分类号:1'P27文献标识码:A ApplicationofMultithreadingTeehonologytoReal-timeMonitoringSystemBasedon LabWindows/CVI LIYe.YA0Quan—zhu,WANGZhan-min (DepartmentofComputerScience&Engineering,Xi'anUniversityofTechnology,Xi'a n710048,China) Abstract:Thispaperpresentsthemethodofdevelopingreal—— timemonitoringsystemwhichcallapplyinthetestingand producingprocemofacertaintypeaircra~accessoryequipment.Usingmultithreadingandd atasockettechnologybasedon LabWindows/CVI,thesystemcanrealizethefunctionsofdataacquisition,datadisplay,dataa nalysis,datastorage,invalid dataalarmandremotemonitoring.Satisfactoryapphcationresultsareobtainedthatshowthes ystemhasmanyadvantages, suchashighautomaticity,highVisualization,highresponsespeedandhighrehabilityetc.Itis ofhigherpracticalvalueto automatizingtheprocessofsimilarproductstestingandproducing. Keywords:real—time;multithreading;LabWindows/CV1 0引言 LabWindows/CVI是美国的NationalInstruments公 司推出的一套交互式虚拟仪器系统开发平台.它以 ANSIC为核心,将功能强大,使用灵活的c语言与用 于数据采集,分析和显示的测控专业工具有机地结合 起来,为数据采集系统,过程监控系统,自动测试环境 等软件提供了理想的开发平台.特别是LabWin— dows/CVI6.0之后的版本,强化和丰富了多线程技术的 实现机制,使运行在多线程OS和多核处理器上的程 序获得最优异的性能.作为飞机上的配套设备,在产品 的调试,生产过程中必须经过许多严格的试验,如温度 建模,精度调试,冲击,综合应力,振动,励磁,过载等 等.这些试验不仅试验周期长且试验环境恶劣,生产调 试人员近三分之二的时间花费在试验过程中.在人员 紧张的情况下导致无法按时完成繁重的生产任务,严 重影响到产品的按期交付和质量保证.为此在Lab— Windows/CVI平台上,开发出一套适用于飞机配套设 备试验和生产的自动化,远程实时监控测试系统. 1多线程的概念 线程是指进程内部的可独立执行单元,应用程序 中的每个进程都拥有一个主线程和零到多个次线程.同 属于一个进程的线程共享进程的虚拟地址空间,可共享 进程的全局数据和资源,同时每个线程也都拥有用于保 存各自执行环境的局部数据结构,寄存器指针及堆栈. 多线程的引人使应用程序在同一时间段内由多个线程 执行不同的代码,从而能够最有效地利用OS和CPU, 缩短响应时间,避免拥塞出现,获得系统总体性能的提 高.本系统中,为了保证数据采集,处理和显示分析的并 发处理和实时眭,采用了多线程的实现技术. 2系统的硬件组成及其连接关系 在该远程实时监控系统中,主要采用的硬件设备 收稿日期:2008—07-24 作者简介:李哗(1973一),女,陕西西安人,讲师,主要研究方向为计算机应用技术及 虚拟仪器设计;姚全珠(1960一),教授,博士,主研方向:软件工 程,数据挖掘,嵌入式软件开发;王战敏(1969一),讲师,博士生,主研方向:网络与多媒 体技术应用. 电脑与信息技术2008年12月 包括:RS422板卡(MOXA),ARINC429总线卡 (DDC2415—300),1553B(EXCALIBUREXC一1553PCI/ MCH一2),自研I/O,离散量接口板,主控计算机,传输 网络和远程监控计算机等.被测试的XX设备中自带 了嵌入式前置计算机,温度,压力,电压,加速度等传感 器组及A/D转换电路.XX设备自带的前置计算机主 要完成传感器的采样,补偿,解算并通过数据总线以及 UO,离散量等方式发送至主控计算机,此外前置计算 机还可以根据主控计算机发送的指令完成相应功能及 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 控制. 系统中主要采用的硬件设备之间的连接关系示意 图如图1所示: 图1系统的硬件组成及其连接关系图 3系统中虚拟仪器软件工作流程及各功能简介 系统中虚拟仪器软件工作流程示意图如图2所示: 图2虚拟仪器软件工作流程示意图 3.1数据采集与记录 通过24路A/D以10ms为周期实时将信号量(如 温度,电压,电流,压力,离散量等信息)转化为数字量 采集到前置计算机中,前置计算机将采集到的数字量 信号连同设备根据其内部其它传感器数据实时计算产 生的数据按ICD(接口控制文件)数据传输协议打包后 通过RS422总线,ARINC429总线,1553B总线传送到 主控计算机中.RS422数据传输协议的实现基于帧传 输方式,帧格式由帧头标志位,数据位,校验位以及帧 结束位组成,帧中的数据按发送双方事先约定的次序 及格式排列.为了防止传输过程中出现误码,数据包中 增加了用于 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 数据正确性的校验位.ARINC429总 线,1553B总线按各自总线 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 约定设计.主控制计算 机采集并解包后获得的有效数据存储在子数据库中, 也可按照需要以文本格式记录在用户指定的数据文件 中. 3-2实时显示 主控计算机将接受到的数据实时以文本或图形的 形式显示在用户界面上.文本显示窗口采用了TEXT MESSAGE,LED,GAUGE及TABLE等控件组合而成, 用户可清晰直观地得到各种实时采集的数据.为了方 便用户从不同角度和需求出发查看数据的变化趋势, 系统提供了灵活多样的图形显示方式.例如:允许用户 根据需要自由选择创建0到99个显示的图形,所创建 的图形可随时显示在图形界面中;允许用户自定义图 形坐标轴,用以显示两组相关数据的函数图形;允许用 户将多组图形进行组合,显示在同一坐标系中以便于 进行比较(要求所组合的各图形x轴或Y轴是相同的 物理量).由于图形显示界面有限,为了便于用户观察 图形变化,界面上共设置了四个显示区,每个显示区所 显示的图形可随时改变.为了保证图形显示的完整性 和实时性,所有创建的图形无论是否被显示在显示区 中,都与实时采集的数据变化保持一致. 3.3数据分析 根据采集实时数据所生成的数据文件,系统能够 迅速而有效地自动生成专业人员所需要的资料,数据, 图形及表格,如波形图,轨迹图,趋势图,极值,均值等. 系统还可根据两组相关数据之间的对应关系,如电压 随温度的变化,漂移随时间的变化,刻度系数随温度的 变化,量化器零位随温度的变化等,利用相应公式计算 出各自的补偿值. 3.4告警 系统对某些关键数据设置了告警门限,一旦出现 蓦 一 第16卷第6期李晔等:基于LabWindow~CVI的多线程实时监控系统的研究与开 发 超出正常范围的数据,系统就通过启动各种告警方式 (包括告警灯,蜂鸣器及通过MODEM拨出告警电话 等)提醒监控人员,自动上报并记录故障出现的时间, 类型和故障代码等信息. 3.5远程监控 主控制计算机通过局域网与远程监控计算机相连 接,采用datasocket技术实时向远程监控计算机发送 采集得到的原始试验数据以及分析计算得到的试验数 据.远程监控计算机将接收到的数据保存在主数据库 中,并能根据需要通过向主控制计算机发送指令使远 程控制设备运行. 4系统实现的主要难点及采用的技术 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 4.1多线程的实现 在系统中为了实现数据采集,处理,传输,显示,分 析及记录等任务的并行处理,同时采用了线程池 (threadpoo1)和异步定时器(asynchronoustimers)两种 不同的多线程机制.根据两种机制的不同特点,系统中 将线程池应用于需要不连续地执行多次或在循环中执 行的任务,如系统中I/O,离散量,故障检测,告警和实 时显示等功能;将异步定时器机制应用于必须严格在 固定时间间隔内执行的任务,如数据采集功能.系统中 主线程负责显示和运行用户界面,多个完成特定操作 的次线程在程序中相应位置通过函数调用由OS进行 创建.此外,在系统多线程的实现中,为了解决好线程 间资源共享和通信的问题,应用线程安全队列机制有 效地避免了线程间的冲突,数据错误,死锁等情况的出 现. 4.1.1线程池的使用 系统中利用线程池机制实现数据采集,数据显示, 故障检测,告警等功能并行处理的主要过程为:首先在 主线程中通过调用UtilityLibrary中的CmtSched— uleThreadPoolFunction函数由线程池将需要执行的线 程函数调度到某个线程中运行,线程池会根据系统实 际状态选择采用创建新线程,分配已有空闲线程或等 待活跃线程转为空闲的不同调度策略,需要注意的是 只有遵循统一原型规定的线程函数才能被线程池正确 调度;之后主线程从CmtScheduleThreadPoolFunction函 数处返回并与次线程中的线程函数同时执行;最后在 主线程结束前调用CmtWaitForThreadPoolFunc— tionCompletion函数使得主线程等待线程池中所有次 线程结束后再退出,否则次线程占用的资源及使用的 库将不能正确释放. 4.1.2异步定时器的使用 异步定时器与传统的同步定时器timer相比,最大 的优点在于其运行于独立的线程中,从而有效地避免 了由于程序执行流程中某处的停滞而影响定时器消息 的发生,造成操作的丢失.在程序中使用异步定时器需 要在工程中加人高级控件中的异步定时器控件驱动文 件asynctmr.fp,该文件中包含了创建,取消,挂起,恢复 异步定时器以及获取,设置异步定时器属性等六个函 数.系统中通过调用Toolslib中的NewAsyncTimer函数 使用异步定时器在次线程中运行异步定时器回调函 数,异步定时器仪器驱动使用Windows多媒体定时器 在规定的时间间隔点调用该回调函数,所有异步定时 器回调函数必须遵循统一的原型.由于程序中所有异 步定时器回调函数均是在同一个多媒体定时器线程中 运行,故本系统中只对数据采集函数选用异步定时器 实现机制,对其它需并行处理的功能均选择线程池机 制实现.为了保证Windows多媒体定时器的稳定工作 状态,避免不确定行为的发生,数据采集异步定时器所 设定的默认时间间隔选择了通常不小于系统可用最大 分辨率的10ms,且将时间间隔作为系统参数允许用户 根据主控计算机配置进行适当调整. 4.1.3线程间资源共享 多线程系统中,为了保证线程间的资源共享,避免 死锁,必须采用相应的数据保护策略.通常数据的保护 都是通过将保存数据的变量和OS中的线程锁对象进 行关联来实现的.在一个特定的时间内,OS只允许一 个线程获得特定的线程锁对象.在本系统多线程的实 现中,为了保护程序中所有全局变量,静态局部变量和 动态分配的变量,避免它们被多个线程同时访问而造 成的特定时序状态下的间歇性逻辑错误采用了CVI 提供的线程锁机制.程序实现中使用的函数主要包括: 利用CmtNewLock函数建立线程锁;利用CmtGetLock 函数使指定线程获得线程锁控制权.需要注意的是某 一 个时刻只能有一个线程获得线程锁,且每次调用此 函数之后必须调用CmtReleaseLock函数释放线程锁控 制权.此外,为了在线程间安全地进行数组数据的传递 (如数据采集线程与数据显示线程间就存在这样的需 求),系统中还采用了CVI提供的线程安全队列的实 现机制.由于线程安全队列内部采用了锁策略,可以确 保系统中并行的读取数据的线程和写入数据的线程决 不会出现阻塞.在系统中还通过对线程安全队列的配 置,使队列空间在达到满状态时自动增长,从而避免溢 出现象发生. 4.2远程监控中大量实时数据的交换 系统中主控计算机和远程监控(下转第78页) 电脑与信息技术2008年12月 量化器可以在高频端允许较大的误差.这样,如果计算 谱失真,在整个频段内进行计算,那么就等于等同的考 虑各个频率点.这与量化时,固定权重的选择相违背. 所以,在实际计算谱失真时,进行计算的范围是 【0,3000Hz]. 由于自适应权重Wi=[P(,)],for1?i?10的计 算需要比较大的运算量,所以就产生了各种变相的权 重.这些权重也能够比较好的反映语音信号谱的特性, 但是毕竟不如wi=[P(,)]精确. 3结束语 LSF在语音编码中具有非常重要的地位.本文提 出的过F求取的谱失真测度的方法应该是一个比 较好的解决方法.这样的快速算法也可以用于后述的 感觉加权因子的求取从而节省运算量. 参考文献: 【1]K.K.PaliwalandB.S.Atal,"EfficientvectorquanfizafionofLPCparame- tersat24bits/frame",IEEETrans.SpeechandAudioProcessing,vo1.1, no.1,1993.3-14. [2】ITu_『rRecommendationG.723,"DualratespeechCoderformultimedia communicationstransmittingat5.3&6.3kbiffs".1996. [3]S.Bruhn,"EfficientinterblocknoiselesscodingofspeechLPCparame- ters",IEEEInt.Conf.Acoust.,Speech,SignalProcessing,1994. 50】一5o4 (上接第65页)计算机间的数据交换采用了基于 COM,封装TCP/IP协议的网络实时高速数据交换技术 DataSocket实现的.DataSocket的最大优点是通过为底 ,完全屏蔽了通信细 层通讯协议提供统一的API函数 节,可方便地实现从多种数据源读取数据和在多个计 算机间传输大量数据的工作.DataSocket库支持的 DataSocket传输协议专为交换仪器类的数据使用了增 强的数据格式,它包括数据属性和实际的数据值.数据 属性可以包括采样率,测试操作名称,时间戳,数据质 量等信息.使用DataSocket实现数据发送需要三个角 色参与:发送者,DataSocket服务器和接收方.本系统 中发送方和DataSocket服务器均位于主控计算机上; 接收方为远程监控计算机.DataSocket通过URL地址 (协议,主机名和数据源名构成)定位数据源,其中可 用的协议包括http,ftp,file,OPC和dstp. 利用DataSocket发送数据的主要步骤为:首先调 用函数DS_ControlLocalServer控制计算机开始本地 DataSocket服务;调用DS_Open函数创建DataSocket 对象并连接到数据源;调用DS_SetDataValue和 Ds-update通过DataSocket对象同步向其所连接数据 源发送数据;数据发送结束后调用DS_DiscardObjHan— dle函数断开连接并释放DataSocket对象.在远程监控 计算机上利用DataSocket接收数据时同样需要创建 DataSocket对象并连接到数据源,之后调用DS—Get— DataType和DS—GetDataValue获取DataSocket对象的 数据类型和数据值.在利用DataSocket对象发送和接 收数据时需要注意为其配置合适的模式以满足系统的 实际需要. 5结束语 本文重点介绍了在Labwindows/CVI平台上开发 多线程实时监控系统的软,硬件组成和多线程及 datasocket技术的具体运用.该系统在推广使用的一年 中效果十分明显,以往每套产品都需要两到三人全程 配合完成试验,现在只需两人即可同时完成六套产品 的试验.与此同时,试验数据会被实时分析处理,试验 ,图表都能自动 结束后各种试验数据,参数,模型,曲线 完成.全部原始试验数据会通过网络发送到主数据库 中保存.该系统的应用不仅明显减轻了工作人员的劳 动强度,大大提高了生产效率并节约了资金,有力地保 障了产品的按时按质交付,而且还为试验生产的六西 格玛持续改进打下了坚实的基础,为同类产品生产试 验过程的无人化管理探索了道路. 参考文献: 【1】NationalInstrumentCop.LabWindows/CVIProgrammerReference Manual[z].2001. [2】NationalInstrumentCop.LabWindows/CVIuserManual【Z】.2002. 【3】骆斌,费翔林.多线程技术的研究与应用【J】.计算机研究与发展, 2000,37(4):407—412. [4】杨东升,王高峰.多线程技术在虚拟仪器开发软件LabWindows/CVI 中的实现【JJ.电测与仪表,2005(3):39--41. [5】张毅刚,乔立岩.虚拟仪器软件开发环境LabWindows/CVI6.0编 程指南【M].北京:机械工业出版社,2002. [6】史君成,张淑伟,律淑珍.LabWindows虚拟仪器设计[M】.北京:国 防工业出版社,2007. [7】鄢锋,桂卫华,胡志坤,何多昌.基于Socket的整流装置远程监 控系统[J】.计算机工程,2008,34(5):243—245. [8】宋宇峰.LabWindows/CVI逐步深入与开发实例[M】.北京:机械工业 出版社,2003.
本文档为【【doc】基于LabWindows/CVI的多线程实时监控系统的研究与开发】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_219945
暂无简介~
格式:doc
大小:29KB
软件:Word
页数:11
分类:
上传时间:2017-10-25
浏览量:21