APP下载

高精度多通道数据实时采集与监控系统

2014-03-21宋克非张佩杰徐抒岩聂海涛

仪表技术与传感器 2014年6期
关键词:参数设置仪器监控

岳 丹,宋克非,张佩杰,徐抒岩,聂海涛

(1.中国科学院长春光学精密机械与物理研究所,吉林长春 130033;2.中国科学院大学,北京 100039)

0 引言

在空间遥感及机载电子设备的研制和开发中,需要功能完备的地面检测设备。精确实时的地面遥测信号检测才能保证航空机载电子设备的质量。在地面检测时,需要对航空电子设备的各种遥测信号进行长时间的精确测量和数据实时记录、处理及分析。以往采用人工进行检测,测量人员携带手持设备进入实验现场进行数据测量。缺点是:只能单点测量,多种信号无法同时测量;间隔较小的检测无法记录;检测员工作量大,效率低;存在人工判读记录误差;检测员在实验现场本身影响环境参数导致设备遥测信号存在误差。

针对以上问题,开发了一种在VC++平台上实现的基于KEITHLEY2700数据采集模块的高精度多通道数据实时采集与监控系统。该监控系统能够有效地对空间电子设备的遥测参数进行实时采集、监控与储存,并对采集的数据实时绘制曲线,计算均值方差。

1 系统方案

数据实时采集与监控系统由底层测量传感器、KEITHLE7700(简称为7700)采集模块、KEITHLE2700(简称为2700)采集仪、上位机应用软件组成,如图1所示。

图1 系统结构图

底层传感器将各种待测信号量转化为KEITHLEY7700模块可以采集的信号种类。当前市场上的传感器输出信号基本上都是标准的电流或电压信号。只要配备不同物理量的传感器,就可以测量各种类型的参数,例如位移、相位、转速、温度、压力、流量、相对湿度、照度和功率等,形成多参数监测系统。KEITHLEY7700数据采集模块拥有20个差分输入通道,每个通道可以设置独立的信号采集类型,同时提供2路带保护的电流输入通道。KEITHLEY2700[1]是数字多用表、开关系统、数据采集仪及数据记录仪的多功能集成,能进行数据采集及数据基本计算。可以测量常规的电阻、交直流电流、交直流电压等;还可以对温度(接热电偶、热敏电阻)、频率和周期直接测量。特点是测量精度高(22位)、速度快、范围广。2700拥有2个插槽可用于安装7700模块。上位机应用软件调用仪器驱动IVI Driver提供的接口,向2700模块发送命令、采集数据等。通过I/O Layer (VISA) IVI Driver与2700进行通信。2700通过7700测量传感器的信号值。

I/O Layer 是符合虚拟仪器软件构架(Virtual Instrument Software Architecture,简称VISA[2])标准的底层函数集合,管理执行上层软件或IVI Driver与仪器的通信。IVI 是Interchangeable Virtual Instruments(可互换虚拟仪器技术)的简称,是一种在VISA 基础上制定的驱动设计标准。KEITHLEY 提供的IVI Driver可以实现对2700的所有仪器操作。计算机与2700模块进行通信需要调用I/O Layer标准底层函数集合,IVI Driver支持2700设备与计算机进行GPIB总线通信方式和RS232串行通信。GPIB是一种总线通信方式,可以连接多台仪器,相对速度较快。RS232适用于单机通信,通信速度较慢。系统采用RS232[3]串行通信方式。

2 系统设计与实现

数据采集与监控系统在VC++6.0平台上进行开发,设计出可视化界面[4],建立与KEITHLEY2700模块的通信,实现了对数据的实时采集、储存、绘图以及简单的数据处理功能。

2.1硬件设计

2.1.1计算机和2700的硬件连接

KEITHLEY2700通过RS232与计算机相连。RS232电缆两端,一端为公头(DB9针式),一端为母头(DB9孔式)。2700端的硬件接口为DB9母接头,PC端为DB9公接头。

2700只使用发送、接收和信号地3个引脚,且发送和接收引脚与计算机相应顺序对接,计算机和2700的连接使用直通RS232连接线即可,如图2所示。

图2 2700和计算机的RS232连接方式图

2.1.22700和7700的硬件连接

7700是2700的输入扩展模块,2700后面板共有两个插槽供7700扩展模块插入。上面的插槽为1号槽,下面的为2号槽。将7700模块直接插入2700后面板插槽。2700上电后,7700及对应的插槽的信息将会在前面板显示出来。

2.1.37700和传感器的硬件连接

大多数传感器使用2根线输出信号:信号输出和信号地。对于两线传感器,信号线直接接在7700通道的HI端口上,信号地接在LO端口上。

对于三线的传感器,一般能同时测量和输出几个信号。例如温度湿度传感器,能同时测量温度和相对湿度,输出信号采用三根线,一根输出温度信号,一根输出相对湿度信号,一根输出信号地。和7700连接时,只需将2根输出信号线分别连接在两个通道的HI端口上,再将这两个通道的LO端口短接和传感器的信号地连接。

7700模块同时支持四线传感器测量信号。选择四线方式时,基本通道1~10将自动与通道11~20配对。配对方式如下:通道01和通道11配对;通道02和通道12配对,以此类推。当关闭某一通道时,与之配对的通道也同时关闭。

2.2通信设计模块

在进行上位机程序设计前,需先完成2700和PC上位机的通信。通过安装I/O Layer和IVI Driver完成通信配置。安装完成后,会在计算机自动生成通信配置工具Keithley Configuration Panel和Keithley Communicator。运行Keithley Configuration Panel,根据设备添加向导添加硬件通信设备。配置过程是:添加—选择“serial”通信方式—选择COM口—选择波特率—选择流控制方式—选择仪器类型—设置连接名称。COM口的选择可以通过查看电脑的设备管理器找到相应连接串口。设置通信波特率和流控制方式时需要和2700侧设置的参数相同。

2.3上位机软件程序模块

上位机软件程序中使用到所有和仪器相关的操作函数均是从IVI Drive中调用。在安装IVI Driver的过程中,会将KEITHLEY2700的相关库函数安装到计算机中。在编写程序前,需要先引入驱动。需将包含库文件的文件夹路径设置到编辑环境中,同时在头文件中需要包含2700模块的头文件“KE2700.h”和库文件“KE2700.lib”。整个上位机程序流程图如图3所示。

图3 上位机程序流程图

2.3.1初始化仪器模块

初始化仪器先建立仪器对象,再进行有选择的初始化。

建立仪器对象代码:

vi=new ViSession( );

有选择初始化代码:

nErr=KE2700_InitWithOptions("ASRL1::INSTR",VI_TRUE,VI_TRUE,OPTIONSTRING,vi);

ASRL1::INSTR表示采用Serial通信方式使用COM1口进行通信。初始化同时调用仪器库函数:KE2700_error_message(*vi,nErr,msgStr);能及时返回初始化仪器失败的各种错误,并显示在界面上,方便查找出错原因。

2.3.2参数设置模块

初始化仪器成功后,可以对22个通道进行设置。参数设置包括通道参数设置、仪器参数设置。

2.3.2.1通道参数设置

通道参数包括测量信号种类、测量信号范围、测量精度及滤波参数的设置。测量信号种类的设置采用下拉列表框的形式进行选择,选择的信号种类保存在变量中,根据不同的变量值能确定测量信号种类。22个通道能同时进行独立设置,完成不同信号类型的测量。以通道1为例说明通道参数的设置过程:

Void CTCScanDlg::OnSelchangeCombo1( )

{m_chan1=m_combochan1.GetCurSel( );}

在下拉列表框中选择通道1测量的信号种类,代表信号种类的索引值存在变量m_chan1中,通过switch语句判断变量m_chan1的值,对通道参数进行相应设置。

nErr=KE2700_ConfigureMeasurement

(KE2700_ChannelList(*vi,"101"),

KE2700_VAL_2_WIRE_RES,KE2700_VAL_AUTO_RANGE_ON,0.1);

此时通道101进行2线电阻的测量,开启自动量程选择,测量精度为0.1。

滤波参数设置:

nErr=KE2700_ConfigureFilter

(KE2700_ChannelList(*vi,"101"),KE2700_VAL_FILTER_REPEATING,10,0.1,VI_TRUE);

表示对通道101进行设置,采用的是重复滤波方式,参与滤波计算的数量是10个,滤波窗口为0.1%,滤波器状态为滤波使能。

2.3.2.2仪器参数设置

仪器参数设置包括A/D转化器积分时间、触发器类型、记录时间类型、缓存参数等一系列参数。其中A/D转化器积分时间是与数据采集联系最为紧密的参数,影响每次A/D转换所需要的时间,直接影响到数据采集的速度。在实际的采集中,需要选择合适的采集速度以保证得到准确的数据。

nErr=KE2700_ConfigureApertureTimeInfo

(KE2700_ChannelList(*vi,"101"),

KE2700_VAL_RATE_MEDIUM,KE2700_VAL_POWER_LINE_CYCLES);

含义是对通道101进行设置,采用中速准换速度,时间单位是交流电源的周期。

2.3.3数据采集模块

在进行采集之前,需判断该通道是否被选择进行信号的采集。若未使用,在采集中就不对该通道进行扫描。

nErr=KE2700_Read(KE2700_ChannelList

((*vi,"101"),maxTime,&rdBuffer[0]);

表示对通道101进行数据采集,采集回来的数据保存在rdBuffer中。maxTime表示完成采集所需的最长时间。同时可以对采样周期进行设置,在单通道采集时,采样周期最小可以设置到2 ms/次。

2.3.4实时显示、自动保存及数据处理模块

实时显示模块采用ListBox控件,调用ListBox类的AddString函数即可将数据加载到Listbox中进行实时显示。ListBox具有竖直滚动条,通过拉动竖直滚动条,可以观看当前及历史数据。索引ListBox中的数据自动保存到TXT文档,文档以保存时间自动命名。界面开发了自动保存数据数目及文档保存路径的设置。

数据处理主要包括对各个通道数据求均值及方差。均值和方差随着数据采集实时计算显示在界面上。

2.3.5绘图模块

系统引入TeeChart控件实现曲线实时绘制.使用时必须先在Windows中注册。系统中采用Regsvr32.exe进行注册。点击Windows的“开始→运行”菜单,在对话框中输命令“regsvr32 TeeChart5.ocx”进行注册。

完成注册后,在VC工程中按照如下路径进行控件的添加。Project—Add To Project—Components and Controls Gallery—Registered ActiveX Controls—TeeChart Pro Activex control v5。完成控件添加后,可以使用控件为 22个通道手动添加曲线。添加时使用不同颜色及虚实的线条以区分22个通道的实时曲线。

m_chart.Series(0).FillSampleValues(0.05);

//为通道1添加曲线系列0

m_chart.Series(0).Add(rdBuffer[0],stime,1);

//将通道1数据实时赋值于曲线0

m_chart.GetAxis().GetBottom().Scroll(1.0,TRUE);

//曲线实时显示

3 试验结果分析

图4为该系统应用于FY-3A气象卫星某载荷地检设备实验中的界面截图。使用该系统对设备遥测参数中的关键遥测电压值进行了测量。该电压值直接反应了紫外臭氧垂直探测仪[5]中XX元件的在轨性能指标。遥测参数测量精度高,数据有效位为小数点后3位,能精确实时反映器件的在轨性能;曲线于界面上动态显示,直观反应采集的遥测参数的变化,实现实时监控;均值和方差实时计算,计算精度高,误差小;同时曲线可以实时放大和缩小,便于数据实时精确观察和监控。

图4 Keithley数据采集监控仪界面图

该系统的设计为机载航空电子设备各部件地面模拟在轨性能指标提供了实时有效的监控途径,为航空机载电子设备的质量提供了有力的保证。

4 结束语

介绍了基于KEITHLEY2700模块在VC++6.0平台上实现的多通道数据高精度实时采集与监控系统的设计。KEITHLEY2700采集频率高,速度快,保证了数据采集的实时性和可靠性;实时作图功能以及数据处理功能的实现,使研究人员能够直观地分析数据变化的动态特性,实现数据实时监控;采用灵活的保存操作,完成数据的自动实时存储。

目前该系统已被用于各种空间遥感设备电子学地检设备试验中,对设备的各种遥测参数进行测量及监控。试验结果证明该系统具有实时性好、操作方便以及实用性强等优点,能够满足数据的高精度实时采集与监控的要求。

参考文献:

[1]杨帆,赵湛,侯恩星.KEITHLEY2700在高精度温度控制系统中的应用.仪表技术与传感器,2011(8):21-22.

[2]代俊光.VISA—虚拟仪器软件构架的结构及应用.国外电子测量技术,1997(1):12-14.

[3]匡石,刘波,陈玉瑾,等.基于KEITHLEY2000的传感器稳定性测试方法.仪表技术与传感器,2009(增刊):249-251.

[4]黄庆,朱杰.基于MFC数据采集系统界面软件.电子测量技术,2004(2):63- 64.

[5]王淑荣,李福田,宋克非.FY-3A气象卫星紫外臭氧垂直探测仪.光学学报,2009(9):2590-2593.

猜你喜欢

参数设置仪器监控
《现代仪器与医疗》2022年征订回执
《现代仪器与医疗》2022年征订回执
The Great Barrier Reef shows coral comeback
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
我国古代的天文仪器
逃生疏散模拟软件应用
蚁群算法求解TSP中的参数设置
RTK技术在放线测量中的应用
PDCA循环法在多重耐药菌感染监控中的应用