当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]LabWindows/CVI在风洞数据采集中的应用

  如今在测控领域用于开发软件系统的开发平台主要有:LabVIEW、C++、VB、Agilent VEE、LabWindows/CVI。而LabWindows/CVI由于提供了丰富的函数库和各种方便功能得到了不少使用者的青睐。LabWindows/CVI是National Instrument公司开发的一种基于ANSI C的开发平台,它集成了编译器、连接器和高级编辑、调试工具。内建强大的仪器库,从仪器控制、数据采集到数据分析和图像显示。LabWindows/CVI自带代码生成、交互式函数面板、函数提示、快速控件查找等功能,可以帮助开发者进行快速开发。

  风洞数据采集主要包括压力、温度、天平等信号。

  系统构成

  在该系统中主要使用了National Instrument公司PXI-6052E数据采集卡和SCXI-1143信号调理卡的硬件产品。系统采用了工控机加远程控制模块构成,结构如图1。

 

                              图1 系统结构

  软件主要功能包括硬件参数设置、采集参数设置、时域信号分析、频域信号分析、零点处理、传感器校准等。软件流程图如图2。

 

                       图2 软件流程图

  软件功能实现

  主界面设计

  LabWindows/CVI中带有用户界面编辑器,它提供了各种控件如:数字控件、字符串控件、波形图控件、Tab、Table等。利用自动代码生成工具可以帮助开发者快速建立用户界面及对应的回调函数。该程序主界面如图3。

 

                                   图3

  线程考虑[!--empirenews.page--]

  整个软件采用多线程模式,主线程用于管理用户界面,在主线程中创建一个单独的采集线程,用于采集和保存数据。这里主要用到了LabWindows/CVI提供的线程函数可以方便的创建、管理线程。

  errorCode=CmtScheduleThreadPoolFunctionAdv(DEFAULT_THREAD_POOL_HANDLE,DAQThreadFunction, NULL, THREAD_PRIORITY_NORMAL, NULL,(unsigned int)NULL, NULL, (unsigned int)NULL, &DAQThreadID);该函数用于创建采集线程,DAQThreadFunction为自定义的线程函数,该函数用于实现数据采集及数据存储。

  errorCode = CmtReleaseThreadPoolFunctionID (DEFAULT_THREAD_POOL_HANDLE, DAQThreadID);该函数用于释放线程。

  数据采集

  基于PXI+SCXI这种系统构架,在数据采集时,使用了PXI-6052E的一个通道来控制SCXI所有通道。考虑到通道数多,设置参数多,需要等待足够的时间采集等特点,这样在硬件初始化时会比较花时间,所以在采集程序中把初始化硬件没有放到线程函数里面,专门将该功能列出。这样保证了在点击开始采集后能在要求等待的时间后得到所需要的试验数据。

  在该软件中使用了NI早期的数据采集卡驱动程序Traditional DAQ。使用了缓冲技术实现连续数据采集

  a. errorCode = DAQ_DB_Config (config.daq[0].iDevice, 1);配置缓冲模式;

  b. errorCode =DAQ_DB_HalfReady (gHardwareConfig.daq[0].iDevice, &halfReady, &DAQStop);检查缓冲是否满,缓冲区满后开始读取数据;

  c. if((halfReady == 1) && (DAQStop == 0)) {

  errorCode = DAQ_DB_Transfer (gHardwareConfig.daq[0].iDevice, pdsVoltBuffer, &points, &DAQStop);

  if(errorCode != 0)

  goto error;

  }读取缓冲区数据。

  数据库功能

  数据库功能主要使用了LabWindows/CVI提供的数据库连接工具包。该工具包提供了丰富的数据库操作函数,给开发带来了方便和快捷。LabWindows/CVI和数据库连接的链路图如图4。

 

                           图4

  a) hdbc=DBConnect (MD_DATABSE_NAME);和数据库建立连接,参数为数据库名称、用户ID及密码构成的字符串。[!--empirenews.page--]

  b) hstmt=DBActivateSQL (hdbc, string);激活SQL语句。

  c) DBPutRecord (hstmt);刷新数据库。

  d) DBDeactivateSQL (hstmt);解除活动SQL语句。

  e) DBDisconnect (hdbc);断开数据库连接。

  2.5信号分析

  在LabWindows/CVI里面自带了常用的信号分析处理函数,可以进行常用的时域信号、频域信号处理以及数字滤波处理等。

  在该程序中时域信号处理主要使用了卷积(Convolve)、积分(Integrate)、微分(Difference)。频域信号处理使用了FFT。数字信号处提供了一个可设置的对话框,方便使用者配置滤波参数。

 

                                       图5

  常规的数学处理函数在这个程序中也有用到,都是利用了LabWindows/CVI自带的数学函数如:波形数据的基本算术运算,Add1D、Sub1D、Mul1D、Div1D。

  试验报告

  在完成试验后,根据试验的要求生成Word或Excel报告,不用再手动编辑报告了,节约了大量时间。这里也是使用LabWidnwos/CVI提供的报告生成工具包,该工具包包含了很多简单实用的函数,可以自动生成柱状图、饼图等,也可以将面板上显示的波形图自动插入到指定位置。

  结语

  通过利用LabWindows/CVI提供的各种控件快速构建好用户界面,又利用各种提供的丰富函数以及工具包功能函数完美、快速完成了整个程序的开发。在短时间保证开发顺利按照既定计划执行,圆满完成了开发任务。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭