LabVIEW文件操作

LabVIEW文件操作
LabVIEW文件操作

实验四文件操作

一、实验目的

(1)掌握电子表格文件的读取和写入操作;(2)掌握二进制文件的写入和读取操作;(3)掌握数据记录文件的写入和读取操作。

二、实验工具

(1)PC(2)LabVIEW 7.1

三、实验内容

(略)

四、实验步骤

实验内容:(2)用低层函数将数据保存成文本文件,创建一个VI,命名为“实验4-2.vi”,实现:利用For 循环产生5个0-1的随机数,然后将这5个随机数保留小数点后2位保存进d盘的test2.txt文档。

步骤记录:(1)切换至程序框图,放置for循环,循环次数为5;

(2)放入replace file,write file,close file, simple error handler随机数,设置格式,连线。

实验内容:(4)用低层函数读取文本文件,创建一个VI,命名为“实验4-4.vi”,实现:读取d:\test1.txt 文件中的数据,将读取的数据显示在String Indicator控件中。

步骤记录:(1)在程序框图放入replace file,write file,close file,simple error handler字符串指示器,连线。(2)输入路径,选择open。

实验内容:(6)用低层函数将数据保存成电子表格文件,创建一个VI,命名为“实验4-6.vi”,实现:利用For循环产生5个0-1的随机数,将循环的序号和产生的随机数存储到某一电子表格文件中,该文件的名称和存储地址通过对话框指定。

步骤记录:(1)在程序框图放入replace file,write file,close file,format into sring,,连线。

(2) 输入路径,选择open,用制表符做列标志,用行尾符做行标记。

实验内容:(9)用低层函数写二进制文件,创建一个VI,命名为“实验4-9.vi”,实现:使用节点All Functions —>Analysis—>Signal Processing—>Signal Generation—>Sine Wave.vi产生128点正弦波数据组成的一维数组,保存进二进制文件d:\test2.dat。

步骤记录:(1)在程序框图放入replace file,write file,close file,simple error handler,sine wave,连线;(2)输入路径,选择open or create。

实验内容:(11)用低层函数读二进制文件,创建一个VI,命名为“实验4-11.vi”,实现:读取d:\test2.dat 文件的数据并显示。

步骤记录:(1)在程序框图放入read from ,创建数组指示器,连线;

(2)设置路径。

实验内容:(12)用高级函数实现数据记录文件的输入,创建一个VI,命名为“实验4-12.vi”,实现:利用子程序“测量温度子程序.vi”模拟温度测量系统产生测量值,使用All Functions—>Time&Dialog—>T Get

Date/Time String生成采集日期和采集时间,将其测量值、采集日期和采集时间以数据记录的形式存储进文件TEMP.dat。

步骤记录:(1)在程序框图放置replace file,write file,close file, simple error handler,time string,out put claster,bundle,temp子vi,连线;

(2)设置路径,输入文件名。

LabVIEW程序实例

1、Build a VI that generate a random number between zero and ten,and then divides it by an input number and diaplays the result on the front panel.If the input number is zero,the VI lights an LED to flag a “divide by zero”error 2、3-1,P43 3、Try create a VI to compute n! 4、求500个随机数中的最大值和最小值。 5、3-3,P44 6、3-4,P46 7、3-5,P49 If implement this equation using regular G arithmetic functions,the block diagram looks like the one in the following illustration.Please imolement the same equation using a Formula Node,and add event to control when the VI executes.

8、设计一个简单信号源,能选择正弦波、三角波和方波并用Waveform Graphe显示。 9、4-1,P68 10、4-5,P72 11、(1)显示一个二维数组的行数和列数(2)查找一个二维数组中最大值,以及最大值在数组中的位置。

12、5-2,P89 13、6-1,P100 14、6-3,P103 15、7-4,P120 16、7-5,P121 17、双边傅里叶

LabVIEW与数据库的链接

第 17章 LabVIEW与数据库的链接 17.1 Database Connectivity 工具包介绍 NI为LabVIEW用户提供了一个专门和数据库链接的工具 包:Database Connectivity。安装好工具包后,Database Connectivity工具包的VI将会在函数选板的附加工具包列中出 现。Database子选板如图17-1所示。 DB Tools Open Connection:打开数据库连接,如图17-2(a) 所示。 DB Tools Close Connection:关闭数据库连接,如图17-2(b) 所示。 图17-2(a) DB Tools Open Connection 图17-2(b) DB Tools Close Connection DB Tools Insert Data:根据数据库连接插入一列新的数据,如图17-3(a)所示。 DB Tools Select Data:根据数据库连接从数据库中提取一列数据,如图17-3(b)所示。 图17-3(a) DB Tools Insert Data 图17-3(b) DB Tools Select Data 图17-1 Database子选板

DB Tools Create Table:根据数据库连接创建一个新的表格。输入参数表格和行信息分别表示表格的名称和表格中每行的属性,如图17-4(a)所示。 DB Tools Drop Table:根据数据库连接删除一个由输入参数表格指定名称的表格,如图17-4(b)所示。 图17-4(a) DB Tools Create Table 图17-4(b) DB Tools Drop Table Database Variant To Data:将数据库变量转换为由输入参数类型指定的LabVIEW数据类型,如图17-5所示。 Utility子选板比较常用的函数有DB Tools List Tables.vi与DB Tools List Columns.vi。在这里只介绍这两个VI,其他的VI查看该工具包的帮助文件,很容易就可以理解函数的用法,如图17-6所示。 图17-5 Database Variant To Data 图17-6 Utility子选板 DB Tools List Tables:根据数据连接返回数据库中的所有表格,如图17-7(a)所示。 DB Tools List Columns:根据数据库连接返回输入参数表格的所有列,如图17-7(b)所示。 图17-7(a) DB Tools List Tables 图17-7(b) DB Tools List Columns 对Advanced子选板也只介绍比较常用的VI,其他的VI在应用中不会经常涉及到,这里不再赘述,如图17-8所示。

labviewDAQ学习总结

使用LabVIEW创建应用程序 如在LabVIEW中对NI-DAQmx支持的设备进行编程,可在MAX或LabVIEW中打开DAQ助手,交互式地创建全局或局部虚拟通道和任务。详细信息,见DAQ助手帮助。也可使用NI-DAQmx API创建局部虚拟通道和任务,并编写应用程序。完成下列步骤,在LabVIEW中创建应用程序: 1.打开现有或新建一个LabVIEW VI。 2.使用NI-DAQmx VI和属性构建VI。 关于NI-DAQmx VI的帮助信息,见NI-DAQmx C Function Reference Help。关于LabVIEW编程的详细信息,见LabVIEW帮助。 在LabVIEW SignalExpress中创建应用程序 如要在LabVIEW SignalExpress中使用NI-DAQmx支持的设备,可创建一个包含NI-DAQmx步骤的项目。LabVIEW SignalExpress用于记录和分析数据。在LabVIEW SignalExpress中,可将在MAX中创建的全局虚拟通道添加至NI-DAQmx步骤。详细信息见DAQ助手帮助。完成下列步骤,开始使用LabVIEW SignalExpress: 1.单击Add Step,然后选择Acquire Signals?Acquire DAQmx?Analog Input?Voltage,放置DAQmx采集步骤。 2.单击+按钮,将通道添加至NI-DAQmx步骤。 关于将DAQ助手与LabVIEW SignalExpress配合使用的帮助信息,见Taking an NI-DAQmx Measurement in LabVIEW SignalExpress。关于在LabVIEW SignalExpress中编程的常规帮助信息,见LabVIEW SignalExpress Help。疑难解答 安装和配置 关于安装和配置的一般说明,请参考DAQ入门指南和SCXI快速入门手册。 如安装DAQ硬件或软件时有任何问题,请使用下列资源: ?关于疑难解答指导,请登录https://www.360docs.net/doc/2f15782258.html,/support/install,查看硬件安装或配置答疑。 ?关于常见安装和编程问题的疑难解答和NI产品的常见问题解答,请参考https://www.360docs.net/doc/2f15782258.html,/kb 的知识库文档。

(完整版)虚拟仪器学习心得总结

虚拟仪器学习心得总结 姓名:王水根 学号:1083420213 班级:0801101班 学院:电气学院 指导老师:付宁

虚拟仪器学习心得总结 王水根 刚开始接触虚拟仪器这个概念的时候是在大三的上学期,我不记得那天具体是什么日子了,只记得公寓前面展板上多了一个很大的海报,内容大概是哈工大虚拟仪器协会成立招新和第一届全国虚拟仪器设计大赛的相关说明。这是我第一次接触“虚拟仪器”这个当时陌生的新词。一看到这个词我马上想到我们经常用的仿真软件Multisim,那里面就有好多虚拟的电源、示波器、万用表,还有频谱分析仪、逻辑分析仪等。顿时,我觉得这个很有意思啊,要是能自己在电脑里设计一个示波器那就厉害了。可是那个虚拟的仪器又是怎么集成到其他电路仿真软件上的呢?还有虚拟仪器的定义到底是什么呢?不知道。所以我带着这些疑问上网查找和虚拟仪器的相关文档,看看虚拟仪器到底是一个什么东西,虚拟仪器在哪些领域有应用。 后来,我参加了协会组织的招新,初次接触了Labview,在花了一个通宵做完招新布置的作业后,我也成了一名Labview的初学者。这之后我知道了Labview 这个软件是用来设计虚拟仪器的,而虚拟仪器是用计算机设计的一个软件,它能完成一台台式仪器的功能。比如可以用Labview设计一个信号发生器,产生正弦波、方波、三角波、锯齿波、任意占空比矩形波等。 而Labwindows/CVI我上大二时实验室的师兄跟我说过,他那时跟我说CVI 是用来设置界面用的,一般都是硬件配上CVI一块用。可是在系统学习CVI之前我从没用过Labwindows/CVI。CVI和Labview都是很好用很优秀的软件,在自动化测试领域有着特别重要的作用。Labview采用的是G语言,也就是图形化语言,它不仅是一种编程环境,也是一门编程语言。Labview因为采用的是图形化语言,所以和CVI比起来学习更容易,编程也更简单,比较适合于专业知识比较薄弱的学习者。Labview采用的编程思想和传统C语言一样,是嵌套,主函数包含子函数的思想。所以,当要编写比较大的程序时,整个结构就显得很大很复杂,编写起来比较困难。这时,CVI相对就比较适合,因为C语言相对G语言逻辑性强,结构性要强。下面我就说说这次学习CVI的心得感受。 首先,老师帮我纠正了之前我对虚拟仪器的理解。虚拟仪器是在通用计算机上加上一组软件和/或硬件,使用者在操作这台计算机时,就像是在操作一台他自己设计的专用电子仪器。虚拟仪器是一种软件定义的系统,它基于用户需求的软件定义了一般测量硬件的功能。这就应证了前面师兄跟我说的那句话,光有软件也是不行的,还得有硬件配合,任何软件都有一定的局限性,因为它们都是基于操作系统平台的,而硬件是不需要任何平台的,它自身就可以成为一个平台。 后来,我知道了如何用CVI去设计一台虚拟仪器,了解了设计虚拟仪器的步骤。和Labview设计虚拟仪器的步骤很像,用CVI设计虚拟仪器首先也是先设计软面板,在CVI中是“.uir”文件,然后是编写程序代码,最后是编译调试运行。后来,我们比较系统性地学习了CVI测试数据的显示、分析、存储和传输方面的

Labview串口通信开发实例(值得拥有)

串口通信的基本概念 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米; 而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参 数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB 设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信 的情况。 c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和

在LABVIEW中实现对数据库表格的操作

在LABVIEW中实现对数据库表格的操作 摘要: 利用LabVIEW 数据库工具包只能操作而不能创建数据库,所以必须借助第三方数据库管理系统,比如Access,来创建数据库。本文试图通过LABVIEW对数据库进行操作,在LABVIEW 中建立学生成绩查询系统。 关键词: 引言: 现今,数据库技术已经发展的比较成熟了,著名的数据库管理系统有SQL Server、Oracle、 DB2、Sybase ASE、Visual ForPro、Microsoft Access等。Microsoft Access是在 Windows 环 境下非常流行的桌面型数据库管理系统,它作为 Microsoft office组件之一,安装和使用都非常方便,并且支持 SQL 语言,所以本文将基于 Access 来介绍LABVIEW在数据库中的的操作。 在利用NI公司的附加工具包中的数据库接口工具包LabVIEW SQL Toolkit进行数据库访问。该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。它的优点是易于理解,操作简单,用户可以不学习SQL语法。 LabVIEW SQL Toolkit(又被称作为LabVIEW Database Connectivity Toolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能[10]。其主要的功能如下: (1)支持ADO所支持的所有的数据库引擎; (2)支持所有与ODBC或OLE DB兼容的数据库驱动程序; (3)具有高度的可移植性,在任何情况下,用户通过改变DB Tools Open Connection VI的输入参数Connection String就可以更换数据库; (4)可以将数据库中Column Values的数据类型转换为标准LabVIEW Database Connectivity Toolset的数据类型,这进一步增强了它的可移植性; (5)与SQL兼容; (6)不使用SQL语句就可以实现数据库记录的查询、添加、修改以及删除等操作; (7)用户可以完全不需要学习SQL语法。 下面具体介绍如何在LABVIEW中利用LabVIEW Database Connectivity Toolset对数据库进行操作。 正文: 1.1建立数据源 实现数据库功能的第一步便是建立数据源,下面将详述整个过程。 1.1.1在ACCESS中建立一个数据库

labview复习重点总结

Labview复习题 一、填空 1. 所有的LabVIEW 应用程序,即虚拟仪器(VI),它包括前面板、流程图以及图标/连结器三部分。 2. LabView有三种操作模板,分别是控件模板、函数模板和工具模板。 3. CIN节点需要调用*.lsb格式文件,这种文件可以通过Visual C++来生成。 4. 虚拟仪器设计中连线为虚线时表示数据类型不匹配出错,当RUN按钮显示为折断的箭头时,表示程序有错误发生。 5.在LabView中局部变量主要用于程序内部传递数据,全局变量主要用于程序之间传递数据。 6. 程序框图由端口、节点和连线组成的可执行代码。 7、数组是相同类型的数据元素的集合,数据元素的类型可以是任意的,可以创建数值数组、布尔数组、字符数组和簇数组。 8、数据采集系统由被测参数→传感器→信号调理→数据采集卡→计算机组成。 9、Labview支持文本文件,二进制文件,数据记录文件,波形文件,测试数据文件等格式的文件输入和输出。 10、数据采集卡性能指标有输入通道数,输出通道数,采集位数,采集速度等。 11、循环边框上的数据出口为一个小方块,称为移位寄存器,具有存贮数据功能,对FOR 循环而言第一次循环时布尔型数据出口值为false。 12、虚拟仪器在使用数据采集卡之前必须运行专用软件MAX进行配置,如设置通道名,输入输出类型,测量类型等。 13、LabVIEW概念是一种用图标代替文本行创建应用程序的图形化编程语言。 14、传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。它用图标表示函数,用连线表示数据流向。 15、LabVIEW程序为称为VI,扩展名默认为.vi。 16、程序框图是图形化源代码的集合,这种图形化的编程语言也称为G语言。

LabVIEW软件应用实例

图象处理方法在车灯配光检测系统中的应用研究 Image Processing T echnique’s Application and Research in the Automobile Lamp Quality Measurement System 作者:金晅宏 戴曙光 穆平安 单位:上海理工大学光电学院 应用领域:汽车工业 使用的产品:LabVIEW ; NI-IMAQ ;NI-DAQ ; 挑战:将成熟的计算机视觉技术 引入车灯配光检测系统中,应用多种图象处理方法同时实现汽车车灯光轴交点检测和车灯零件检测。 应用方案:使用National Instruments 公司的IMAQ 可视化软件、LabVIEW 图片控制工具包、执行程序生成器和LabVIEW 来开发一个经济、灵活的基于PC 的车灯配光检测系统。 介绍: 车灯配光检测系统原为两套系统:车灯光轴交点检测系统和车灯零件检测系统,其通过人工目测检测车灯光轴交点,应用物位传感器精确定位来检测零件的缺损。本车灯配光检测系统将两系统二合为一,根据测量对象的特征,应用图象卷积、边缘特征提取、图象模式匹配等多种图象处理的方法,实现对不同型号的车灯进行车灯零件缺损检测和车灯光轴交点的自动检测。 系统组成: 整个系统包括硬件部分和软件部分。其系统组成简图如图1所示: 图1:系统组成简图 硬件部分主要运用黑白的CCD 摄取图象,图象通过美国NI 公司的1407图象采集卡传送入PC 机进行处理及数据显示,应用NI_DAQ6023卡控制摄像头间的切换及系统的启动和停止。本系统采用NI 公司的LabVIEW5.1及其图象处理软件包IMAQ Vision5.0作为软件操作平台。其系统的主界面如下图(图2)所示: 图2:系统主界面 系统运行中的一个检测报错界面如下图(图3)所示: 图3:检测报错界面 运用NI (美国国家仪器公司)的这套虚拟开发平台软件,是因为其使用图形化编程语言编写,并提供丰富的库函数和功能模块,具有功能强大及运用灵活等特点,极大的节约了程序开发时间。 光轴交点检测中的图象预处 理方法 (1) 光轴特征分析 本车灯配光检测系统实现计 算机自动检测车灯前照灯光路所成的交点。若为一右侧行驶前照灯, 则其光路图如图4所示: 图4:前照灯光路图 h-h :通过前照灯焦点的水平面; H-H2:道路中心线; v-v :通过前照灯的垂直面; 根据前照灯光路标准H —H2与h —h 的夹角为15°,且ZONE1 为暗区,而ZONE2为亮区,两个区域分界明显,有较大的亮度对比度。H-H2与h-h 的交点位置是车灯光轴检测的一个重要参数。 (2) 图象的原始LUT 变 换 LUT (Look_up Table )变换是一种 很基本的图象处理技术,其对图象象素的灰度值进行特定计算及转换,可以达到突出图象的有用信息,增加图象的光对比度,对要进行边缘检测的图象尤佳,可以使边缘明显。本系统的车灯光轴原始图如图5所示: 图5:光轴原始图

labview与大数据库

17.2 Database Connectivity应用典型实例 17.2.1 在Access中建立一个数据库 使用NI所提供的数据库工具包Database Connectivity只能操作数据库,但是无法创建数据库,因此需要借助第三方数据库管理系统,如Access等来创建数据库。首先我们建立一个Data.mdb的数据库文件。 打开Microsoft Access软件,单击文件>>新建…,选择空数据库,保存到文件夹下。创建方法如图17-11所示。 图17-11 在Access中创建数据库表格 在利用Database Connectivity工具包操作数据库之前,需要先连接数据库,连接数据库的方法有以下两种。 1.利用DSN连接数据库

LabVIEW数据库工具包基于ODBC(Open Database Connectivity)技术,在使用ODBC API函数之前,需要提供数据源名DSN(Data Source Names)才能连接到实际数据库,所以需要首先创建DSN。Database Connectivity工具包与ODBC的关系如图17-12所示。 打开Windows控制面板>>管理工具,选择数据源,进入“ODBC数据源管理器”对话框,如图17-13所示。 图17-12 DB Tools与ODBC的关系图17-13 “ODBC数据源管理器”对话框 在“用户DSN”页面下创建的数据源只有本用户才能访问,在“系统DSN”页面下创建的数据源,该系统下的所有用户都可以访问。在此选择“用户DSN”,单击

“添加”按钮,在弹出的“创建新数据源”对话框中选择 “Driver do Microsoft Access(*mdb)”,然后单击“完成”按钮,如图17-14所示。 随后弹出“ODBC Microsoft Access安装”对话框,输入“数据源名”,如“LSData”,然后单击“选择”按钮,选择建立好的Data.mdb数据库文件,单击“确定”按钮,如图17-15所示。 图17-14 “创建新数据源”对话框 图17-15 “ODBC Microsoft Access安装”对话框 完成以上配置后,就可以在“用户DSN”页面下看到新创建的名为LSData的DSN了。单击“确定”按钮可完成DSN的建立。

labview学习感受

学习labview有快半年了,做个总结。回顾一下自己的摸索过程。 幸运的是有个项目用到Labview,因此边学边用,由于有前一项目的经验作参考,可以说是在模仿中学习。从学习到使用给我最大感受是labview编程容易上手,帮助文档方便,就是太贵了,比较少企业会使用,特别是小企业。虽然这样,还是很推崇学习labview的。废话少说,转入正题。 其实总结自己的摸索过程也等于是在做项目总结。首先从使用的模块做总结: 1、毫无疑问的串口通信; 2、与数据采集相对应的TDMS数据存储模块; 3、报表输出(word,excel,html); 4、连续的波形显示以及从TDMS里读取显示; 5、待解决的xcontrol控件; 模块分析:1、对于串口通信:主要是要设置成有数据即读取,而不能等到接收缓冲区满时再读取。2、TDMS数据存储,关键点是数据量大的时候如何压缩存储,以及利用TDMS本身的属性设置(可以参见TDMS属性设置帮助),减小存储文件的大小。否则如果数据发送速率快的话,文件大小是很可观的,压缩数据的方式有很多种,我采用的是读取采样间隔长度的数据,提取最大最小值的方式。具体如下: 1) 中间数组存储采样间隔长度的数据;2) 提取中间数组的最大最小值;3)删除中间数组的采样间隔长度;4)将删除后剩余的数组重新赋值给中间数组,给下一次使用。3、报表输出比较简单,la bview已经将要用到的程序封装成一个个VI,只需要调用这些VI,

拼凑成你需要的报表模板形式即可。这一块参考的是方慧敏写的报表输出demo程序。4、 最近开始了上下位机的联调,涉及到了数据采集与数据处理,数据保存,数据导出四者并行执行最需关注的问题,数据同步的问题。全部数据传递都用全局变量需要在数据采集不到数据的时候让全局变量 输出空数据,这种方法显得有点麻烦,而且是多处对全局变量写。有可能会发生竞争。于是翻看labview相关书籍,关于同步技术方面的,其中队列和通知都是很好的方法,采用通知技术可以很好的解决这类问题。

深入浅出LabVIEW数据库应用

目录 第1章引言—献给想用数据库而不懂数据库的工程师 (1) 第2章边干边学数据库基础 (2) 2.1 数据库简史 (2) 2.2 建立数据源 (2) 2.2.1 在Access中建立一个数据库 (2) 2.2.2 建立与数据库的连接 (3) 2.2.3 数据库连接的可移植性问题(高级话题) (7) 2.3 数据库基本操作 (8) 2.3.1 创建一个表格 (8) 2.3.2 删除一个表格 (10) 2.3.3 添加一条记录 (10) 2.3.4 查询一条记录 (11) 2.4 数据库高级操作 (12) 2.4.1 在LabVIEW中执行SQL语言案例研究 (12) 2.4.2 用SQL实现数据查询操作 (13) 2.4.3 用SQL实现删除一条记录 (13) 2.4.4 压缩数据库,释放多余空间 (14) 2.4.5 用SQL实现修改数据操作 (15) 2.5 本章总结 (16) 第3章一个完整的数据库工程范例 (17) 3.1 工程项目要求 (17) 3.2 生成可执行文件(*.exe) (18) 3.3 生成安装文件(Installer) (19) 第4章后记 (22)

第1章引言—献给想用数据库而不懂数据库的工程师 曾经在一个产品检测项目中,客户要求:当产品检测不合格时,记下该产品对应的序列号,测试时间和各项测试指标,并能对这些数据进行管理和查询。由于自己没有系统的学习过数据库,所以第一时间想到的解决方案是用文件的方式(也只能把数据存成文件了)。在使用文件进行数据储存与管理时,遇到了一个巨大的问题:如何查询数据?基本的文件IO函数中,并没有提供现成的查询函数,所以必须自己编程实现。实现的过程是先将数据读入内存,然后再根据关键字进行线性查找,线性查找的时间复杂度为O(N),所以当数据量逐渐增大时,这将是一个非常可怕的过程。这个不可逾越的障碍迫使我不得不再次考虑使用数据库。 想到这儿,我立即到天河书城买了两本网上评价为数据库经典的书《数据库系统概念》和《轻松掌握SQL》,回到办公室后立即开始学习起来。陌生的术语,难懂的理论;看了后一章便忘了前一章——非常痛苦但还是硬着头皮坚持到了下班。 这种痛苦再加上越来越近的项目交付日期,使我非常焦躁,心里终于有个声音爆发了出来“我不就是想要实现数据的保存,修改,删除和查询吗?我需要把那众多的数据库类型、复杂的关系模型、抽象的关系代数…都搞懂吗???”实践后的答案是,不需要,一点都不需要。 我放弃了刚买的新书,打开了LabVIEW 数据库工具包的用户手册和范例程序,寻找着我期望的数据保存,修改,删除和查询功能。到下班的时候,Everything goes well,基本掌握了用LabVIEW 数据库工具包进行数据保存,修改,删除和查询的方法。 回想起这段历程,突然有种想与大家一起分享的冲动——不懂数据库的工程师也可以玩转数据库,因为从应用的角度来看,我们的实际需求仅仅是数据的保存、修改、删除和查询,根本不需要去研究复杂的关系模型、抽象的关系代数、艰深的数据库设计…那基本与我们的初始目标南辕北辙。借助LabVIEW 数据库链接工具包(Database Connectivity toolkit)可以站在应用的层次,很方便的操作数据库,实现数据的保存、修改、删除和查询等功能。 “学以致用,边学边用,急用先学,立竿见影”,在后续的章节中,我们先概览一下必需的与数据库相关的基本概念,然后在LabVIEW平台上一边学习,一边实践如何储存、管理和查询数据。

LABVIEW重点总结

显示对象(Indicator)、控制对象(Control)和数值常数对象:显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相反,它们分别相当于普通编程语言中的输出参数和输入参数。数值常数对象可以看成是控制对象的一个特例。 在前面板中创建新的控制对象或显示对象时,LabVIEW 都会在流程图中创建对应的端子。端子的符号反映该对象的数据类型。例如,DBL 符号表示对象数据类型是双精度数;TF 符号表示布尔数;I16 符号表示16位整型数;ABC符号表示对象数据类型是字符串。 一个对象应当是显示对象还是控制对象必须弄清楚,否则无法正确连线。有时他们的图标是相似或相同的,可以根据需要明确规定它是显示对象还是控制对象。方法是将鼠标移到图标上,然后点右键,可出现快速菜单。如果菜单中有Chang to Control,说明这是一个显示对象,可以根据需要,将其变为控制对象。如果菜单中有Chang to Indicator ,说明这是一个控制对象,也可以根据需要,将其变为显示对象。 在默认情况下,对于每个连接到For循环的数组都会执行自动索引功能。 在默认情况下,对于每个连接到While循环的数组都不会执行自动索引功能。 可以禁止/启用这个功能的执行,方法是用鼠标右键单击通道(数组进/出循环的位置),在快捷菜单中选择Disable/Enable Indexing。 ?While循环: ?计数从0开始(i=0)。 ?先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。 循环至少要运行一次。 移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。 For循环用于将某段程序执行指定次数。 For循环具有下面这两个端子: N: 计数端子(输入端子)—用于指定循环执行的次数。 i: 周期端子(输出端子)—含有循环已经执行的次数。i≠N Case结构含有两个或者更多的程序分支,执行哪一个取决于与选择端子或者选择对象的外部

labview应用实例之motor控制

实验名称:LabVIEWIO输出实验 组号:62 同组者:日期: 4.28 【一】实验目的 学习和掌握LabVIEW串口通信的工作原理、功能和使用方法; 使用示波器测量电信号的各种参数; 【二】实验主要仪器设备 一台安装LabVIEW 、Proteus、IN_VISA串口通讯协议驱动和虚拟串口软件VSPD 的PC 机; 单片机实验板。 【三】实验原理 在串口通信中,由于实际上传输的是ASCII码,但是一般字符串控件显示出来的并不是其对应的ASCII码,关于字符串正常显示和十六进制显示,LabVIEW帮助文档里面是这么写的: 正常显示------可打印字符以控件字体显示。不可显示字符通常显示为一个小方框。 十六进制显示------每个字符显示为其十六进制的ASCII值,字符本身并不显示。 比方说对于01这个字符串,如果是正常显示情况下输入01,下位机接收的是其对应的ASCII码而不是01本身;如果是十六进制显示情况下输入01,下位机接收的是十六进制的01。上位机接收下位机发送的字符串同样是ASCII码,一般情况下如果不加转换,在正常显示情况下是乱码,在使用LabVIEW在编程处理直接处理这些字符串的时候,就会出现问题了。于是很多时候需要对字符串正常显示和十六进制显示做一个强制转换,以方便处理。 正常显示至十六进制显示强制转换,一般用于VISA Write:

需要注意的是,在输入端Normal Display String输入的时候要确保字符是以两位的格式输入,比如需要输入1,格式要为01,否则会出错。 十六进制显示至正常显示强制转换,一般用于VISA Read: 【四】实验内容 a. 实验步骤

使用LabVIEW函数实现SQL-Server操作(汇编)

使用LabVIEW函数实现SQL Server操作 函数位置:互联接口-->databse 函数一览: 主要介绍上面一行 1. DB Tool Open Connection.vi 简介:使用连接信息打开一个数据库连接,然后返回一个连接引用。若连接成功则错误簇里面的Status 会返回为False,若连接失败则Status返回为True。 connectioninformation格式:

Driver=SQLServer;Server=.; Database=UserInfo;Uid=sa; Pwd=Aa123789 1)Driver为连接的数据库类型(如:SQL Server、Access) 2)Database为所需要连接的数据库 3)Uid为数据库登录账户,本案例使用的是sa账户 4)Pwd为sa账户对应的密码 示例: 扩展:利用错误簇展示数据库连接状态 简介:连接失败则“数据库连接状态”里面的文本显示为红色,并提示连接失败2. DBTool Close Connection.vi 通过销毁关联的连接引用来关闭一个数据库连接 3.Database Variant To Data.vi

将数据库输出的变体转解析成所需数据,。其中,Type(簇常量)和data(簇里面的控件为输出控件)数据类型和格式需相同。 4. DBTools List Columns.vi 列出数据库表中所包含的列(输出为数组类型)和相关列信息(簇数组)。其中,列信息里面的簇包含列名、数据类型和被定义的大小。 5. DBTool Insert Data.vi 简介:添加一个新的行到之前连接的数据库的表内。其中data为变体数据类型,变体内存放的是簇,簇内可以存放多种数据类型。 示例:向AlarmData里面添加时间和错误代码

Labview中的图像处理案例介绍

Labview中的图像处理案例介绍 发布时间:2016-01-07 之前我们介绍了MV-EM130M工业相机的实时图像获取方法,本文再结合labview的图像处理函数给出一种简单的图像处理VI。此处的图像处理包括对图像进行采样,找出与采样点相同的图像。为了找出各种角度放置的采样点,在查找的同时对图像进行了360°的翻转,这样可以找出图像上所有相同点。 由于软件的运行比较复杂,数据的采集又是实时的,要求处理速度比较快,所以要对其进行整体设计,合理安排控件的调用和执行顺序。本程序中采用了一个大循环,保持程序的持续运行。在内部再调用一个顺序结构来控制程序的执行顺序,这样可以保证程序按编程者的思路进行。 图像采集&整个程序流程图 读取了图像数据后,还要设置查找的像素。这里通过一个光标选择函数来实现。先用函数IMAQ Setup Learn Pattern 2来设置需要记录的各项,然后再用IMAQ Extract函数进行光标设置。这样就记录了此光标区域的图像数据。

设置查找像素 这里用一个条件结构来控制是否进入记录像素的程序,也就是当选择了要记录的像素后,才进入此分支程序。在这一分支程序中,又利用了一个顺序结构,这样提高了程序运行的效率。 复位记录按钮 当设置完以上要查找的像素后,就可以在需要的图片中查找此像素。为了查找有用的像素,在选择了“开始查找”后,要先读取上面标记的像素,再进行查找。此处程序的设计中,也是先运行一个条件结构,再运行顺序结构,按顺序执行程序。 读取选择的像素 当读取像素后,利用顺序结构在第二帧的图像中继续查找。在这一帧中放置了一个循环,并限制循环次数为4。此时先用一个IMAQ Rotate对图像进行翻转,每次翻转90°。这样就可以在循环4次时翻转一周,对图像上各个角度的像素进行查找。再把图像送到IMAQ Match Pattern 2函数,对其进行查找。通过此函数直接输出找到的像素信息的数组。为了对找到的信息进行处理,又用一个For循环对此数据和簇进行拆分。 程序编写完成后,要对系统进行软硬件的联机调试。这里把维视图像的MV-EM130M工业相机用网线和计算机连接,并在计算机上安装驱动程序。具体操作如下:

LabVIEW实验感想

LabVIEW实验学习感想 labVIEW的学习除了老师在课堂上和我们讲的内容之外,我们还在实验室里亲自用LabVIEW软件区实现一些老师所安排的编程任务。其中我们需要做虚拟万用表,虚拟示波器,信号分析与处理,动态称重的设计这四个实验,在做这些实验的过程中,我们更加进一步的了解到了LabVIEW的各种特性和功能,让我们对这门课程有了更加深刻的理解。 这门课的实验,总的来说并不是很难,LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言,在实验过程中,我们主要的难点就是在找各个图标的位置。这是建立在你对这门课,这个软件有一定的了解的基础上的,了解了这个软件的基础内容后,我们便可以在前面板和后面板进行一定内容的操作。 总的来说,LabVIEW这个软件的操作性很好,让初学者比较容易入手,不需要记忆太多的算法和语句,只需要了解各个图标的具体作用,并能够在操作中更多的了解一些使用软件时的注意事项,我们就可以操作这个软件了。而在实验中我经常遇到的问题无非就是找不到图标,还有图标的一些属性的设置,不过在看书和多次尝试后,也能够做出正确的选择和答案。通过这一学期的学习,我主要了解到对LabVIEW软件及虚拟仪器的理解以下几方面的内容: 1、一开始老师通过关于此课程的基础概念讲解是我了解了使用labview开发平台编制的程序成为虚拟仪器程序,简称为VI。VI包括三部门:程序前面板、框图程序和图标/连接器。每一个程序前面板都对应这一段框图程序。框图程序用labview图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面的控制和显示传递数据,节点被用来实现函数和功能调用,框图被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。 2、通过上机对一些程序的制作和运行,我知道了labview具有多个图形化的操作模版,用于创建和运行程序。这些操作模版可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模版工有三类,分别为工具模版、控制模版和功能模版。工具模版为编程者提供各种用于创建、修改和调试VI程序的工具。该模版是用于前面板中的。如果该模版没有出现,则可以在Windows菜单先选择show tools palette命令一现实该模版。用控制模版可以给前面板添加输入控制和

LabVIEW程序设计步骤知识分享

L a b V I E W程序设计步 骤

LabVIEW程序设计步骤 下面通过一个设计实例来详细介绍虚拟仪器软件LabVIEW的程序设计步骤。 设计目标:假设有一台仪器,需要调整其输入电压,当调整电压超过某一设定电压值时,需通过指示灯颜色变化发出警告。 1 建立新VI 启动LabVIEW程序,单击VI按钮,建立一个新VI程序。 这时将同时打开LabVIEW的前面板和后面板(框图程序面板)。在前面板中显示控件选板,在后面板中显示函数选板。在两个面板中都显示工具选板。 如果选板没有被显示出来,可以通过菜单查看(View)/工具选板(Tools Palette)来显示工具选板,通过查看(View)/控件选板(Controls Palette)显示控件选板,通过查看(View)/函数选板(Functions Palette)显示函数选板。 也可以在前面板的空白处,单击鼠标右键,以弹出控件选板。 2 前面板设计 输入控制和输出显示可以从控件选板的各个子选板中选取。 本例中,程序前面板中应有1个调压旋钮,1个仪表,1个指示灯,1个关闭按钮共4个控件。 1)往前面板添加1个旋钮控件:控件(Controls)→新式(Modern)→ 数值(Numeric)→旋钮(Knob),如图2-14所示,标签改为“调压旋钮”; 2)往前面板添加1个仪表控件:控件(Controls)→新式(Modern)→数值(Numeric)→仪表(Meter),如图2-14所示,标签改为“电压表”。 3)往前面板添加1个指示灯控件:控件(Controls)→新式(Modern)→布尔(Boolean)→圆形指示灯(Round LED),如图2-15所示,将标签改为“上限灯”。 图2-14 添加旋钮、仪表控件 图2-15 添加指示灯、按钮控件

(完整版)Labview访问Access数据库毕业设计论文

目录 摘要.............................................................................. Abstract ..........................................................................第一章绪论 ......................................................................第二章总体方案设计............................................................... 2.1系统设计要求 .............................................................. 2.2系统设计方案 .............................................................. 2.3 方案的设计与选择.......................................................... 2.3.1 数据库的选择........................................................ 2.3.2 Labview 访问数据库方式的选择........................................第三章各个模块的设计............................................................. 3.1 货物信息库的建立......................................................... 3.2 LABSQL简介 .............................................................. 3.2.1 LABSQL的安装与配置................................................ 3.2.2 LABSQL VIs 分类[5].................................................. 3.2.3 SQL基本指令使用方法[8].............................................. 3.3 LABSQL程序编写........................................................... 3.3.1 查询vi编写........................................................ 3.3.2 修改vi编写........................................................ 3.3.3 删除记录vi设计.................................................... 3.3.4 添加记录vi编写.................................................... 3.3.5 改进方案 ..........................................................

相关文档
最新文档