CN106383854A - 一种基于LabVIEW RT的数据实时存储方法 - Google Patents
一种基于LabVIEW RT的数据实时存储方法 Download PDFInfo
- Publication number
- CN106383854A CN106383854A CN201610789491.1A CN201610789491A CN106383854A CN 106383854 A CN106383854 A CN 106383854A CN 201610789491 A CN201610789491 A CN 201610789491A CN 106383854 A CN106383854 A CN 106383854A
- Authority
- CN
- China
- Prior art keywords
- data
- veristand
- real
- labview
- assembly
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Abstract
本发明提供一种基于LabVIEW RT的数据实时存储方法,基于LabVIEW RT的数据实时存储应用于采用LabVIEW RT模块构建的实时测量和控制系统中,利用NI组件Embedded Data Logger,在上位机模型中定义出要显示和存储的数据通道,并设置数据存储的在上位机完成数据输出通道,数据存储触发信号的设置,并将程序通过以太网下载至下位机中,从而完成远程端数据的存储以及显示。应用本发明,根据应用要求来选择实时运载硬件,只需对软件程序稍加修改,就可将其轻松地集成到附加I/O接口或不同的LabVIEW实时目标硬件上,而且成本低、效率高,可广泛应用于飞行仿真实时数据存储领域。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种基于LabVIEW RT的数据实时存储方法,特别适用于飞行控制系统的仿真测试过程中数据的实时存储。
背景技术
在飞行控制系统的仿真测试过程中会产生大量数据,这些过程数据对于分析试验过程,并寻找其改进途径、调试和故障定位是十分必要的。所以数据存储和实时显示对于仿真测试系统来说是不可或缺的,其性能的优劣也直接影响到评估性能。同时大批量的数据的存储,也必须解决同步存储速度响应慢、数据容易丢失、存储时间短、存储占用空间大、数据读取访问速度慢等等关键问题。数据存储技术对于飞行仿真试验系统来说是不可或缺的,其性能的优劣也直接影响到评估性能。
存储大数据有多种方法,每种方法各有其优缺点。数据库是存储大量数据的最佳途径。数据库以结构化的方式存储数据,并跟踪数据的任何变化。这有助于确保数据的完整性。在存储大数据时使用的两种主要类型的数据库是关系型数据库和流型数据库。关系型数据库是更传统的数据库,常用于商业应用。关系型数据库虽然非常灵活,但没有为磁盘空间和快速吞吐而优化。在另一方面,流型数据库是为快速存储大量数据到磁盘而设计的,但流型数据库无法定义表或其它结构,故损失了一定的灵活性和搜索能力。
发明内容
针对现有技术存在的问题和迫切需求,本发明提出一种基于LabVIEW RT的数据实时存储方法,解决现有技术通用性差、数据读取访问速度慢的问题。
为实现本发明的技术目的,本发明的技术解决方案如下:
一种基于LabVIEW RT的数据实时存储方法,具体为:上位机在veristnad平台加载Simulink模型和用于保存运行数据的Embedded Data Logger组件,生成可执行代码;下位机运行代码,运行过程中Embedded Data Logger组件中配置的数据通道会定时获取数据,并将数据保存至TDMS文件,如需查看下位机保存的数据文件,通过FTP的方式将文件上传至上位机。
进一步地,所述Veristnad平台加载用于保存运行数据的Embedded Data Logger组件的实现过程为:
(1)在Simulink模型中定义NI/Veristand/out变量;
在Simulink库中NI Veristand Blocks中,定义Simulink模型中需进行数据存储的输出变量NI/Veristand/out;
(2)加入Embedded Data Logger组件;
打开Veristand软件,添加Embedded Data Logger嵌入式数据触发组件;EmbeddedData Logger是Veristand自带的Custom Device,在Veristand平台中找到Custom Device,点击右键即可加入该组件。
(3)使用Embedded Data Logger组件触发数据存储;
首先,在Embedded Data Logger中的数据通道中添加Simulink模型中定义的NI/Veristand/out输出变量;
接着,根据实际的应用情况设置数据何时被触发保存,即在Embedded DataLogger组件中选择命令通道设置的选项,该选项中的Log Command变量为控制数据触发保存的操作;
最后,将NI/Veristand/out输出变量利用Veristand中数据关联与实际的硬件端口相连,利用Veristand平台的计算比较设置功能根据实际应用需要进行触发数据保存设定。
本发明的有益技术效果体现在:
在本系统中,数据存储采用“嵌入式数据库”来承担数据存储任务,即具备“关系型数据库”灵活性,又具备了“流型数据库”快速吞吐能力。
LabVIEW RT模块将LabVIEW的应用范围扩展到了实时测量和控制领域。利用该工具模块,可以先在上位机用LabVIEW开发出应用程序,然后将其下载到独立目标硬件中运行。根据应用要求来选择实时运载硬件,只需对软件程序稍加修改,就可将其轻松地集成到附加I/O接口或不同的LabVIEW实时目标硬件上。
本发明采用LabVIEW RT模块可兼容Windows操作系统开发的软件,且价格便宜,采用实时测试以及集成平台VeriStand以及NI组件Embedded Data Logger方便快速的完成数据的实时存储。该存储技术的特点是成本低、效率高,可广泛应用于飞行仿真实时数据存储领域。
附图说明
图1为系统平台实现框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1为系统平台实现框图。通过veristnad平台提供与Simulink模型接口,还利用Veristnad提供一套用于保存运行数据的模块程序Embedded Data Logger,该模块使用Labview编程实现。通过调用veristnad API实现与veristnad交互。在veristnad的CustomDevice层级中加载该模块后。可在加载的界面中对运行的参数进行配置,包括文件保存路径配置,文件操作配置,触发保存配置等。通过将配置文件中的板卡硬件通道、模型参数通道等映射至数据文件中。当工程部署至下位机中运行后,该模块以并行的方式独立运行,文件中配置的数据通道会定时从FIFO中获取数据,并通过TDMS函数将数据保存至TDMS文件,如需查看下位机保存的数据文件,需通过FTP的方式将文件上传至上位机。
从Simulink模型通过RTW工具及veristand目标配置文件生成能被目标控制器(N工控制器)执行代码。Real-Time Workshop(RTW)是Mathworks的代码自动生成工具,它可以使Simulink模型自动生成面向不同目标的代码。生成目标代码的过程是在3个文件的控制下完成的:系统目标文件(system target file),模版编译文件(templete makefile)和编联(make)命令文件。统称为目标配置文件,Veristand测试集成平台,提供了从matlab不同版本的目标配置文件,使得不同版本下simulink模型均可编译为部署至目标硬件下的代码。根据图1所示,建立一个程序代码的过程中生成以下文件:
Model.rtw:这是一个由model.mdl生成的中间文件(model指用simulink搭建的系统模型文件名),model.rtw文件包含对应用于model.mdl中的每一个文件块的记录。
Model.c:这个文件通过目标语言编译器(veristnad vxworks.tlc)创建的。Molde.c文件为simulink框图的C代码实现。目标语言编译器读取Model.rtw文件,对于每一个Block组件,目标语言编译器都会寻找一个对应的tlc文件。该tlc文件高速目标语言编译器如何用目标语言实现这个组件。包括在tlc文件中的描述被写到Model.c当中。
Model.mk:这是一个正对具体模型的makefile文件(Veristand.tmf)创建的。
Model.exe己编译的目标程序。并不是所有提供的目标最终都生成exe执行文件,基于PXI处理器的目标生成.dll文件。
Veristnad平台加载保存运行数据的模块程序Embedded Data Logger的流程,具体为:
(1)在Matlab/Simulink模型中定义NI/Veristand/out变量。
该步骤要明确在Simulink模型需进行数据存储的变量是那些,一般来说,模型中任何的变量都可以进行存储,只要选定好需要进行输出的变量并将其定义为NI/Veristand/out即可,NI/Veristand/out模块可在Simulink库中NI Veristand Blocks中找到。
(2)加入Embedded Data Logger组件。
打开Veristand软件,添加Embedded Data Logger嵌入式数据触发组件。EmbeddedData Logger是Veristand自带的Custom Device,在Veristand平台中找到Custom Device,点击右键即可加入该组件。
(3)使用Embedded Data Logger组件触发数据存储。
首先,需要在嵌入式数据库中添加数据通道,数据通道就是要保存的数据变量,只要是在Simulink模型中定义为NI/Veristand/out输出口的变量均可以在Embedded DataLogger中的数据通道中被添加。
接着,要根据实际的应用情况设置数据何时被触发保存,在Embedded DataLogger组件中选择命令通道设置的选项,该选项中的Log Command变量为控制数据触发保存的操作。该变量为0时,表示现在无命令操作,为1时,表示打开文件,开始存数据,为2时,表示关闭文件。
最后,将该变量利用Veristand中数据关联与系统中实际的硬件端口相连。利用Veristand平台的计算比较设置功能根据实际应用需要进行触发数据保存设计。比如要设计硬件输出端口D0为零时,开始数据触发。
通过上述操作就完成了数据存储的所有设置,只要将该程序部署至下位机中,利用LabVIEW RT的实时平台,结合Veristand,在用Simulink模型开发的仿真中轻松的实现了实时数据的存储功能。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于LabVIEW RT的数据实时存储方法,其特征在于,具体为:上位机在veristnad平台加载Simulink模型和用于保存运行数据的Embedded Data Logger组件,生成可执行代码;下位机运行代码,运行过程中Embedded Data Logger组件中配置的数据通道会定时获取数据,并将数据保存至TDMS文件,如需查看下位机保存的数据文件,通过FTP的方式将文件上传至上位机。
2.根据权利要求1所述的基于LabVIEW RT的数据实时存储方法,其特征在于,所述Veristnad平台加载用于保存运行数据的Embedded Data Logger组件的实现过程为:
(1)在Simulink模型中定义NI/Veristand/out变量;
在Simulink库中NI Veristand Blocks中,定义Simulink模型中需进行数据存储的输出变量NI/Veristand/out;
(2)加入Embedded Data Logger组件;
打开Veristand软件,添加Embedded Data Logger嵌入式数据触发组件;EmbeddedData Logger是Veristand自带的Custom Device,在Veristand平台中找到Custom Device,点击右键即可加入该组件;
(3)使用Embedded Data Logger组件触发数据存储;
首先,在Embedded Data Logger中的数据通道中添加Simulink模型中定义的NI/Veristand/out输出变量;
接着,根据实际的应用情况设置数据何时被触发保存,即在Embedded Data Logger组件中选择命令通道设置的选项,该选项中的Log Command变量为控制数据触发保存的操作;
最后,将NI/Veristand/out输出变量利用Veristand中数据关联与实际的硬件端口相连,利用Veristand平台的计算比较设置功能根据实际应用需要进行触发数据保存设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610789491.1A CN106383854A (zh) | 2016-08-31 | 2016-08-31 | 一种基于LabVIEW RT的数据实时存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610789491.1A CN106383854A (zh) | 2016-08-31 | 2016-08-31 | 一种基于LabVIEW RT的数据实时存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106383854A true CN106383854A (zh) | 2017-02-08 |
Family
ID=57939519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610789491.1A Pending CN106383854A (zh) | 2016-08-31 | 2016-08-31 | 一种基于LabVIEW RT的数据实时存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106383854A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808074A (zh) * | 2017-11-03 | 2018-03-16 | 武汉资联虹康科技股份有限公司 | 一种下位机运行系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689969B1 (en) * | 2005-01-18 | 2010-03-30 | The Mathworks, Inc. | Obfuscation of automatically generated code |
US8280712B2 (en) * | 2003-10-31 | 2012-10-02 | The Math Works, Inc. | Simplified data signal support for diagramming environment languages |
-
2016
- 2016-08-31 CN CN201610789491.1A patent/CN106383854A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8280712B2 (en) * | 2003-10-31 | 2012-10-02 | The Math Works, Inc. | Simplified data signal support for diagramming environment languages |
US7689969B1 (en) * | 2005-01-18 | 2010-03-30 | The Mathworks, Inc. | Obfuscation of automatically generated code |
Non-Patent Citations (2)
Title |
---|
NI公司: "为NI VeriStand创建自定义设备的方法", 《HTTPS://WWW.NI.COM/TUTORIAL/9348/ZHS/》 * |
王树东等: "关于LabVIEW采集系统的数据存储", 《工业仪表与自动化装置》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808074A (zh) * | 2017-11-03 | 2018-03-16 | 武汉资联虹康科技股份有限公司 | 一种下位机运行系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104932973B (zh) | 一种版本兼容测试方法和装置 | |
CN103793326A (zh) | 组件测试方法及装置 | |
KR20200007133A (ko) | 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치 | |
CN107480327B (zh) | 一种仿真验证方法、装置和电子设备 | |
US10282501B1 (en) | Support for multiple user defined assertion checkers in a multi-FPGA prototyping system | |
CN105468797A (zh) | 一种信息处理方法及装置 | |
CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
CN103197914B (zh) | 多处理器延迟执行的方法和系统 | |
US9058427B2 (en) | Iterative generation of symbolic test drivers for object-oriented languages | |
CN102750484A (zh) | 一种防止病毒样本自检的方法及装置 | |
US10915426B2 (en) | Intercepting and recording calls to a module in real-time | |
CN111104158A (zh) | 一种软件打包的方法、装置、计算机设备及存储介质 | |
US8874966B1 (en) | Storage device error simulator tool | |
CN113778890B (zh) | 代码测试方法、装置、电子设备及存储介质 | |
CN102867087A (zh) | 图形化雷达信号处理高层集成设计平台及方法 | |
CN105389255A (zh) | 一种bmc oem命令返回值与固定信息比对的自动化测试方法 | |
CN105589928A (zh) | 用于分布式数据处理系统的模拟测试方法 | |
CN100504761C (zh) | 在不同种类的体系结构中映射调试信息的方法 | |
US10430215B1 (en) | Method and system to transfer data between hardware emulator and host workstation | |
CN106383854A (zh) | 一种基于LabVIEW RT的数据实时存储方法 | |
CN105677560A (zh) | 一种测试方法、装置及系统 | |
US10929126B2 (en) | Intercepting and replaying interactions with transactional and database environments | |
CN102467583B (zh) | 追踪不确定信号的方法和装置 | |
US20200387369A1 (en) | Determining caller of a module in real-time | |
CN100349126C (zh) | 一种在Python中实现API钩子测试的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170208 |