实时数据采集系统的设计
发布时间:2008/5/28 0:00:00 访问次数:557
本文介绍了一种数据采集系统,他主要完成对某 设备上交流电源、直流电源、模拟电压、开关信号、 脉冲信号等各种信号的采集工作。完成对上述信号的 如下特征进行纪录:
(1)夺流电源的电压、频率及相序,交流电源的供电时序; (2)直流电源的电压及供电时序; (3)模拟信号的幅值及反映其变化规律的波形; (4)开关信号的电平幅值及信号时序; (5)脉冲信号的幅值、脉宽和周期、时序。
该数据采集系统总体上由硬件和软件2部分组成,硬件是该系统的基础,他完成各种数据的采集;软件是该系统的核心,他主要完成对各个硬件模块的控制和调度,实现对数据的存储,并提供人机操作界面。
1 系统软件结构
在该数据采集系统的开发过程中,软件扮演着极其重要的角色。从功能上讲,他的涵盖面很广,从硬件设备的驱动程序到开发整套系统所需的各个开发环节在内,他们的层次性很清晰。具体结构如图1所示。
(1)visa管理程序及接口软件
visa (virtual lnstrument software architec-ture)是一个独立于硬件设备、接口、操作系统、编程语言的i/o控制库,处理测控计算机与仪器间物理连 接的通讯信息。通过visa,由不同硬件接口(如:gpib,vxi或rs232等)连接的仪器设备可以集成到一个系统中,由一个软件、一套命令函数完成所有仪器设备的控制。
(2)测试资源层
测试资源层主要由测试仪器驱动软件组成,系统所选用的货架成品测试仪器无论是vxi总线还是gpib总线仪器,每台仪器均对应一个测试驱动软件,该软件应按visa要求编写,软件功能函数则完成对仪器测试功能的控制和测试数据的读写。
该部分包含有vxi—mxi—ⅱ驱动程序,hpe1413驱动程序和hp el459驱动程序。各个驱动程序负责完成对相应模块的初始化和各种配置,并实现对各种数据的读写。该驱动程序一般不单独执行,他是由执行程序来调用。
(3)应用开发层
用户开发层是一个软件开发平台,为了充分利用cvi和仪器之间的方便通讯和vc的强大功能及友好的人机界面。该软件将利用cvi和vc共同开发,他首先用cvi编制和仪器通讯的动态链接库,在用vc编写控制函数,并调用cvi编制的动态链接库里的函数来从仪器上读取数据。
(4)用户应用层
用户应用层是软件系统的顶层,他实际上就是一个执行程序,实现对各种仪器模块的调度,包括初始化及各个模块子系统的配置,最后实现对导弹上各种数据的同时读取,并以波形的形式显示出来,用来观察各个信号的幅度大小、频率大小、相位关系及各种时序关系。并把数据存储在硬盘中,好在以后进行数据回放。
2 采集软件的设计
该程序设计最主要的部分就是数据采集软件模块的设计,他的主要任务就是完成对数据的采集、波形的显示、数据的存储和数据的回放。由于要采集的数据量很大,有一百多路信号,包括数字信号和模拟信号。而且采样间隔也很短,为1 ms。当采用单线程来完成所有的工作时,难以满足要求。所以该程序将采用多线程来编程。另外,为了便于更好地管理采集回 来的数据,该程序将数据存储在数据库里。
(1)数据的采集
首先把对仪器进行配置和数据读取的函数做成动态链接库,其动态链接库里的函数主要有3个:初始化函数、读取数据的函数和关闭仪器的函数。然后在主程序中调用动态链接库里的函数,首先要加载动态链接库,然后获取其函数的指针,利用其指针来调用函数,来实现对仪器的操作。
(2)波形的显示
数据的显示有2种情况,一种是从hp el459来的开关信号,还有一种是从hp el413来的模拟信号,通过选择,可以显示他们一部分通道的波形,通过翻页, 可以选择其他的通道进行显示。
(3)数据的存储
数据的存储就是把读入内存的数据通过odbc存入数据库,由于该数据的结构非常简单,只需建立一个表格就可以把他们之间的关系描述清楚。所以在进行数据存盘之前用sql先建立一个表格,然后在数据存盘时和这个表格建立连接,然后把读取的数据存入该表格。
(4)数据的回放
他主要是把存放在数据库里的数据以波形的形式显示出来。本程序采用多文档形式,当回放时,可以通过按下面板上的按钮来显示不同通道的波形。显示的波形还可以进行放大和缩小变换。 其中软件工作的程序流程如图2所示。
3 关键技术
为
本文介绍了一种数据采集系统,他主要完成对某 设备上交流电源、直流电源、模拟电压、开关信号、 脉冲信号等各种信号的采集工作。完成对上述信号的 如下特征进行纪录:
(1)夺流电源的电压、频率及相序,交流电源的供电时序; (2)直流电源的电压及供电时序; (3)模拟信号的幅值及反映其变化规律的波形; (4)开关信号的电平幅值及信号时序; (5)脉冲信号的幅值、脉宽和周期、时序。
该数据采集系统总体上由硬件和软件2部分组成,硬件是该系统的基础,他完成各种数据的采集;软件是该系统的核心,他主要完成对各个硬件模块的控制和调度,实现对数据的存储,并提供人机操作界面。
1 系统软件结构
在该数据采集系统的开发过程中,软件扮演着极其重要的角色。从功能上讲,他的涵盖面很广,从硬件设备的驱动程序到开发整套系统所需的各个开发环节在内,他们的层次性很清晰。具体结构如图1所示。
(1)visa管理程序及接口软件
visa (virtual lnstrument software architec-ture)是一个独立于硬件设备、接口、操作系统、编程语言的i/o控制库,处理测控计算机与仪器间物理连 接的通讯信息。通过visa,由不同硬件接口(如:gpib,vxi或rs232等)连接的仪器设备可以集成到一个系统中,由一个软件、一套命令函数完成所有仪器设备的控制。
(2)测试资源层
测试资源层主要由测试仪器驱动软件组成,系统所选用的货架成品测试仪器无论是vxi总线还是gpib总线仪器,每台仪器均对应一个测试驱动软件,该软件应按visa要求编写,软件功能函数则完成对仪器测试功能的控制和测试数据的读写。
该部分包含有vxi—mxi—ⅱ驱动程序,hpe1413驱动程序和hp el459驱动程序。各个驱动程序负责完成对相应模块的初始化和各种配置,并实现对各种数据的读写。该驱动程序一般不单独执行,他是由执行程序来调用。
(3)应用开发层
用户开发层是一个软件开发平台,为了充分利用cvi和仪器之间的方便通讯和vc的强大功能及友好的人机界面。该软件将利用cvi和vc共同开发,他首先用cvi编制和仪器通讯的动态链接库,在用vc编写控制函数,并调用cvi编制的动态链接库里的函数来从仪器上读取数据。
(4)用户应用层
用户应用层是软件系统的顶层,他实际上就是一个执行程序,实现对各种仪器模块的调度,包括初始化及各个模块子系统的配置,最后实现对导弹上各种数据的同时读取,并以波形的形式显示出来,用来观察各个信号的幅度大小、频率大小、相位关系及各种时序关系。并把数据存储在硬盘中,好在以后进行数据回放。
2 采集软件的设计
该程序设计最主要的部分就是数据采集软件模块的设计,他的主要任务就是完成对数据的采集、波形的显示、数据的存储和数据的回放。由于要采集的数据量很大,有一百多路信号,包括数字信号和模拟信号。而且采样间隔也很短,为1 ms。当采用单线程来完成所有的工作时,难以满足要求。所以该程序将采用多线程来编程。另外,为了便于更好地管理采集回 来的数据,该程序将数据存储在数据库里。
(1)数据的采集
首先把对仪器进行配置和数据读取的函数做成动态链接库,其动态链接库里的函数主要有3个:初始化函数、读取数据的函数和关闭仪器的函数。然后在主程序中调用动态链接库里的函数,首先要加载动态链接库,然后获取其函数的指针,利用其指针来调用函数,来实现对仪器的操作。
(2)波形的显示
数据的显示有2种情况,一种是从hp el459来的开关信号,还有一种是从hp el413来的模拟信号,通过选择,可以显示他们一部分通道的波形,通过翻页, 可以选择其他的通道进行显示。
(3)数据的存储
数据的存储就是把读入内存的数据通过odbc存入数据库,由于该数据的结构非常简单,只需建立一个表格就可以把他们之间的关系描述清楚。所以在进行数据存盘之前用sql先建立一个表格,然后在数据存盘时和这个表格建立连接,然后把读取的数据存入该表格。
(4)数据的回放
他主要是把存放在数据库里的数据以波形的形式显示出来。本程序采用多文档形式,当回放时,可以通过按下面板上的按钮来显示不同通道的波形。显示的波形还可以进行放大和缩小变换。 其中软件工作的程序流程如图2所示。
3 关键技术
为
热门点击
推荐技术资料
| |