2.3添加用户子VI设计
LabVIEW中的子VI类似于编程语言中的子程序,通过构建和使用子VI能方便的实现LabVIEW的层次化和模块化编程,把复杂的编程问题划分成为多个简单的任务,使程序结构变得更加清晰、层次更加分明、程序更加易读、调试更加方便。一个子VI相当于一个程序,而子VI节点相当于子程序的调用语句,而不是子VI本身。子VI的控件和函数从调用该VI的程序框图中接收数据,并将数据返回至程序。用LabVIEW 语言开发程序时,可以和C语言一样采用从顶向下的设计方法,用户每创建一个VI程序,都可以将其作为上一级VI的子VI节点来调用,实现模块化编程。[5]
在前面板添加一个“添加用户”布尔按钮,在后面板添加一个事件结构控制“添加用户”的开始与停止。添加用户程序中首先在桌面上创建一个空文本文件,前面板上添加用户名和密码输入控件,使用创建数组函数将输入的字符串改成数组。将数组连接到“写入文本文件函数”文件接线端。再将其输入创建的文本文件中。这里使用“打开/创建/替换文件函数”和“设置文件位置”函数,在打开文件函数右端的文件路径接线端创建常量,将创建的文本文件全路径输入进去;将操作创建成“create”常量;将权限创建成“write”常量。通过事件结构和while循环控制“添加用户”的开始与停止。
将“添加用户”设置为子VI时点开前面板右上角的图表编辑器,删除原有图标并通过文本编辑输入汉字“添加用户”。接着就是设置连接器端口,连接器作为一个编程接口,为子VI定义输入、输出端口数和这些端口的接线端类型。这些输入输出端口相当于编程语言中的形式参数和结果返回语句。当调用VI节点是,子VI输入端子接收从外部控件或其他对象传输到各个端子的数据,经子VI内部处理后又从子VI输出端子输出结果,传送给子VI 外部贤淑空间,或作为输入数据传送给后面的程序。一般情况下,VI只有设置了连接器端口才能做为子VI使用,如果不对其进行设置,则调用的只是一个独立的VI程序,不能改变其输入参数也不能显示或传输其运行结果。如果需要对子VI节点进行输入输出,那么就需要在连接器面板中有相应的连线端子。[8]可以通过选择VI的端子数并为每个端子指定对应的前面板控件或指示器以定义连接器。连接器的设置分两个步骤:一是要创建连接器端口,包括定义端口的数目和排列形式;二是要定义连接器端口和控件及指示器的关联关系,包括建立连接和定义接线端类型。这里我需要两个输入端口,选择正确的模式,然后通过查看—工具选板,点击“正在连线”选项,鼠标转化为连线状态。左键单击选中的控件,控件周围会出现虚线框,表示控件已被选中。把鼠标移至连接器图标,左键单击其中一个端口,此时端口由白色变为橙色,表示连接器端口与控件已建立起连接。如果白色端口变为黑色或没变色则表示连接器与控件关联失败,需要再次进行关联。[6]程序框图前面板如下图2-9所示。
图2-9 “添加用户”前面板
设置文件位置函数用于指定数据写入的位置。自端子指定文件标记,即数据开始存放的位置。当自端子创建常量时,显示的是一个枚举常量,当选择start项表示在文件起始处设置文件标记,当选择end项时表示在文件末尾处设置文件标记,当选择current项表示在当前文件标记处设置文件标记。偏移量用于指定文件标记的位置与自指定位置的距离。VI多次运行后在进行数据存储时,通常会把上一次运行时的数据覆盖,为防止数据丢失,需要把每次运行VI时产生的数据资料添加到原数据资料上去,这就要使用设置文件位置函数。[4]这里的自端子创建为start,程序框图后面板如下图2-10所示。
图2-10 “添加用户”后面板
2.4 读取用户程序设计
这里是为了读取存入文本文件中的新用户名与新密码,将其与输入的用户名和密码进行核对。这里首先选择“打开创建替换文件函数”,在文件路径接线端创建路径常量输入创建得文本文件的全路径;将操作接线端常量创建为“open”;将权限接线端常量创建为“read-only”。将其与“读取文本文件函数”连接用来读取文件,计数端子可以指定函数读取的字符串或行数的最大值。[10]如计数端子输入小于1,读取文本文件函数将读取整个文件。很多函数节点都有错误输出和错误输入功能,其数据类型为簇,它有三个作用:(1)用于检查错误信息,如果一个节点发生错误,该节点的错误输出就会返回一个错误信息。这个错误信息传递到下一个节点那个节点就不运行,只是将错误信息继续传递下去。 (2)通过将一个节点的错误输出与另一个节点的错误输入连接可以指定程序执行顺序。起到一个数据流的作用。(3)错误输出端输出的簇信息可以作为其他事件的触发事件。[1]这里运行时是整列整列读取的,我们这里要按行读取,要右击“读取文本文件函数”,选中“读取行”选项。同时,连接上“关闭文件”函数,用来关闭读取文件。然后,将输出的文本创建成数组,这里采用“创建数组”函数,然后将输出端通过“索引数组”来分离创建的数组的用户名和密码。这里的程序设计如下图2-11所示。
图2-11 读取文件程序设计框图
程序设计最后我添加了一个数值显示控件用于显示登录次数,用户每登录一次显示控件中的数值就会加1,这里采用加1函数用于给初始次数加1,否则会从0开始,程序设计如下图2-12所示。
a) 登录次数前面板 b)登录次数后面板设计
图2-12 登录次数程序设计
2.5 修改密码子VI程序设计
当用户遗忘了登录密码时,这里设计的VI主要是对添加的新用户进行密码更改。两次输入密码,首先核对两次输入的密码是否相同,若是不同则输出“两次密码输入不一致,请重新输入”,接入单按钮对话框,跳出显示。若是输入相同则通过读取文本程序将文本文件中的用户数据提取出来创建成数组,同时新输入的用户名和密码创建成数组,接着运用“替换数组子集”将新输入的数据替换文本文件中的数据。输出的数组运用“索引数组”函数索引成子数组,接着通过“写入文本文件函数”、“设置文件位置”将修改的密码存储到文本文件中。完成后将字符串常量“密码修改成功,请确认”输入到单按钮对话框中。这里同样用while循环结构和事件结构来控制程序的开始与退出,程序框图设计如下图2-13和图2-14所示。
图2-13 修改密码程序设计后面板
图2-14 修改密码程序设计前面板
第3章 课题研究运行结果的分析
3.1 课题研究的可行性
3.1.1 各部分程序的连接
这里是将各部分程序连接起来,首先将读取文件程序与用户名和密码核对程序连接,将用户名输入控件和读取文件中的用户名对比,对比函数接入条件函数的分支选择器:1、如果不同则进入“假”分支,然后将输入的用户名与设定的用户名进行核对,如果不同则输入“用户名输入错误,请重新输入”;相同则对密码进行核对,如果错误则输出密码输入错误提示,正确则输出登录成功提示。2、如果相同则进入密码核对程序,将输入的密码与在文本文件中读取出来的密码对比,若相同则显示登录成功的提示,如果不同则输出密码输入错误提示。其次添加事件分支,在新事件分支中将子VI“添加用户”加入进去,这里通过函数选板上“选择VI”来添加,将添加用户按钮加入进去用来控制子VI的运行。
该毕业设计运行程序时首先进入循环结构开始对系统循环进行计数;然后开始执行事件结构“0”,即登录事件。先对输入的用户名进行核对,如果输入错误则在登录结果的字符串显示控件中显示“用户名输入错误,请重新输入”;输入正确即进行密码核对,输入错误则在登录结果中显示“密码输入错误,请重新输入”,同时圆形指示灯不亮。若输入正确则在登录结果中显示“登陆成功!”“欢迎进入!”两个字符串。密码登录系统设计总体框图前面板和后面板如下图3-1、图3-2和图3-3所示。
图3-1 系统总体程序事件“0”
图3-2 系统总体程序事件“1”
图3-3 登录系统前面板
3.2 课题研究运行分析
当用户名输入错误时,系统程序运行输出用户名输入错误的提示,这里的流程框图如下图3-4所示。
图3-4 用户名输出错误流程图
用户名输入错误前面板如下图,如图显示,用户名输入为一个汉字,占用字节长度为2,圆形指示灯显示为“灭”提示输入错误,登录结果也输出错误提示如图3-5所示。
图3-5 用户名输入错误程序前面板
当密码输入错误时,系统程序运行输出密码输入错误的提示,这里的流程框图如下图3-6所示。
图3-6 密码输入错误流程图
密码输入错误前面板如下图a),密码输入4个字符,占用长度显示为4,圆形指示灯显示为“灭”来提醒用户,登录结果中输出密码输入错误提示。当用户名和密码都核对正确后,前面板如下图b),登录结果中显示登录正确的提示,同时圆形指示灯变亮提示登陆成功,如图3-7所示。
a) 密码错误 b)登录成功
图3-7 密码输入错误和登陆成功前面板
下面我们进行添加用户操作,首先点击“添加用户”按钮,然后会弹出子VI的前面板,我们输入用户名“许文华”和密码“123456@xwh”,点击确定就会将用户名和密码写入文本文件中,接着点击取消退出子VI系统。然后在登录界面输入用户名和密码就能登录成功,前面板如下图3-8所示。
图3-8 添加用户后登录界面
结论与展望
通过本次毕业设计,我对LabVIEW 的软件设计有了更深的了解。由于平时上课大家都是学习理论,没有实际设计系统的经验,虽然上课的时候老师说过许多关于LabVIEW 的应用,也有过LabVIEW 的实验课程,但除此之外我们课后几乎没有实际接触过、应用过这个软件,对它完全不熟悉,刚开始拿到毕业设计题目时并不知道该怎么做。但是通过对LabVIEW 课本的详细浏览以及对有关LabVIEW 的参考文献的查阅,我终于把毕业设计做出来了,我发现LabVIEW 软件非常的简便实用。通过这次毕业设计我学会了虚拟仪器设计的基本步骤和基本方法,提高了自己的动手能力,对此我非常高兴,总之这次毕业设计中我受益匪浅。
但是想要更好的使用LabVIEW ,我还需要更加熟悉与练习LabVIEW 的高级编程,例如对数据采集的配置,数据库的创建及连接,LabVIEW 的网络通信以及数据库的管理等等。LabVIEW 在数据采集方面做得尤为成功,而采集到的大量信息需要进行保存与读取,所以一定要对LabVIEW 熟练操作,以及网络读取,未来社会是互联网时代,数据采集与网络传输为远程测控提供重要手段,要想在未来测控界有所发展,掌握好LabVIEW 是必不可少的。
通过最近一段时间对登录系统整个程序的研究和分析,自己已经获得了相当大的收获,程序中大量运用事件结构,属性节点和数组函数,结果使得实现的功能很强大,结构设计得也很美观,给人很大兴趣和激励。看完这个大程序,自己也认识到以后在设计庞大的程序时,要先设计好框架,清楚各个程序之间的逻辑关系,再添加具体的功能,我也看到自己在使用数组函数的时候很生疏,以后要多练习。
看到自己能够设计出和平时用的一样的登录系统,心里甚是兴奋,如果自己能够完全掌握属性节点,调用节点,数据库的使用,队列和状态图,那么我将能设计出更强功能的应用程序,自己将对LabVIEW 语言产生更浓厚的兴趣。加油,争取下一次干的更漂亮。
本次设计的不足主要是未创建关于数据库的设计,数据库的建立是通过Microsoft sql server来创建,由于Microsoft sql server安装失败无法应用,课题的完善方向主要是数据库方向。密码登录系统设计完成可以嵌入其他各种软件中应用十分广泛。
密码登录系统的进一步设计将会使其用户数据的存储,用户数据的改变和添加用户数据以及数据库的管理上更加实用方便。系统设计完善后嵌入其他应用程序中可以对其他程序实行密码登录,防止用户信息数据的泄露,保护用户安全使用程序。
致谢
毕业设计的过程中,我遇到了不少的难题,但最终我还是战胜难题,取得了成功这很大一部分都要归功于指导老师马晓瑜和同学们。要是没有老师的指导和同学之间的相互交流与学习,我的毕业设计不会做到这种程度。在此,我向我的指导老师和同学们致以感谢,同时也感谢学校给我们提供了这样良好的实验平台和实践机会。
作者:许鸣
2017年6月8
参考文献
[1]李洪刚,张素萍.基于单片机和LabVIEW 的多路数据采集系统设计[J].国外电子测量技术,2014,33(4):62-67
[2]王英红,秦化渤,闫芳,康伟.LabVIEW 虚拟仪器开发平台及其应用分析[J].辽宁:辽宁工学院学报,2004,24(5):16-18
[3]周鹏,许钢,马晓瑜,汪石农,张明艳编著.精通LabVIEW 信号处理[M].北京:清华大学出版社,2013.
[4]孙秋野,柳昂,王云爽编著.LabVIEW 8.5快速入门与提高[M].西安:西安交通大学出版社,2009.
[5]杨乐平.LabVIEW 程序设计应用[M].北京:电子工业出版社,2001.
[6]李冰.虚拟仪器技术的研究[D].大庆:大庆石油学院,2005.
[7]张毅刚.虚拟仪器技术介绍[J].国外电子测量技术,2006,25(6):1-6
[8]李巍.LabVIEW 实现的小波变换及其在滤波中的应用[J].前沿技术,2010,29(3)
[9]阮奇桢.我和LabVIEW (第二版)[M].北京:北京航空航天大学出版社,2012.
[10]陈国顺,张桐,郭阳宽等.精通LabVIEW 程序设计第二版[M].北京:电子工业出版社,2012.
[11]周求湛,钱求鸿.虚拟仪器与LabVIEW 7 Express程序设计[M].北京:北京航空航天大学出版社,2004.
[12]郑对元.精通LabVIEW 虚拟仪器程序设计[M].北京:清华大学出版社,2012.
[13]Gary Johnson,Richard jennings.LabVIEW graphical programming[M].McGraw-Hill Professional Publishing,2006.
[14]Jeffrey Travis.LabVIEW for everyone[M].Prentice Hall PTR,2006.
[15]Rick Bitter,Taqi Mohiuddin,Matt Nawrock.LabVIEW advanced programming techniques[M].CRC press,2004.
附 录
附录A外文文献及译文:
LabVIEW graphical programming
National Instruments LabVIEW:A Lab Automation and Measurement Programming Environment, National Instruments' LabVIEW is a graphical programming language that is rooted in automated control and data collection.Its graphical representation, similar to the process flow diagram,provides scientists and engineers with an intuitive programming environment that has become a common programming environment in the past 20 years of maturity.LabVIEW has several key features that make it a good choice in an automated environment, including turnkey implementations of simple network communications, general purpose communication protocols (RS232, GPIB, etc.), powerful tools for process control and data fitting Set, fast and easy user interface building and efficient code execution environment. [13]We discuss the advantages of the language and provide an in-house sample application suite for integrating and controlling the automation platform.
NI LabVIEW Background: LabVIEW,which represents a laboratory virtual instrument engineering workbench, was the first graphical programming language published by National Instruments (Austin, TX) in 1986. LabVIEW implements a data flow paradigm in which the code is not written, but rather a program that draws or represents a program that is similar to the flow chart to execute the connector lines that connect the following nodes together. Each function or program is stored as a virtual instrument (VI) with three main components: the front panel is essentially a form containing input and controls,and can be displayed at run time,and its code is graphically edited and represented by a block diagram,And the connector pane, when the VI is embedded as a child VI, it acts as a VI interface.
NI LabVIEW as a platform for automation and instrumentation:Our experience in creating desktop and integrated automation systems has proven that our choice of LabVIEW is an appropriate tool.LabVIEW can quickly develop feature-rich applications for desktop applications and larger integrated systems.On many occasions,we have found that project requirements are misinterpreted or changed with new measurement methods or new detection methods. [14]It has several special features that make the language a useful automated environment in creating application controls,instrumentation integration,management processes, and data acquisition,etc.:
Turnkey engineering measurement and control functions:LabVIEW was originally developed for senior scientists and engineers.This language includes a full set of rich process control and data analysis capabilities, as well as COM, NET and shared DLL support.In addition,turnkey solutions can be provided for various communication protocols including RS232, GPIB and TCP / IP.The control structure, such as the timing while loop,allows synchronization and timing data acquisition from various hardware interfaces such as PCI, USB and PXI. The following are the same as the "
DataSocket technology and VI servers:Deploying integrated systems using multiple control computers requires automated control applications to communicate remotely with instrument drivers that exist on remote computers,seamlessly by enabling technologies such as VI servers and DSTP (Data Socket Mobility Protocol) Network communication, LabVIEW supports distributed architecture.DSTP is an application layer protocol similar to Transmission Control Protocol / Internet Association (TCP / IP) HTTP.Data sockets allow basic read and write functions between remote computers and simple transfer of data.With the VI server technology,you can make the virtual instrument stored on the remote computer as if it were stored on the local computer as a function call.You can configure Datasockets and VI servers to control access.
Simple user interface (UI) implementation:In addition to the common interface controls (such as text boxes, menu loops and checkboxes),LabVIEW also provides a rich set of UI controls (switches, LEDs, meters, array control Etc.) related to laboratory equipment.These originate from LabVIEW S's laboratory roots,helping to develop interfaces that allow scientists to clearly understand the state of a system. LabVIEW supports the concept of user interfaces, including sub-panels (similar to multi-document interfaces),split bars,and XControls (similar to OCX controls).
Multithreaded programming environment:LabVIEW 's inherent parallel environment is extremely useful in controlling lab equipment.Functions can be performed by multiple continuous While loops,one of which is to quickly acquire data and the other to process at a slower rate data.Implementing such a paradigm in other languages requires triggering a separate thread function for each process and developing logic to manage the synchronization. By timing the while loop,multiple independent while loops can be easily synchronized in an ideal period and stage of the process.LabVIEW allows multiple instances of the same function to be called,each of which retains its own data space.For example,we can drag and drop many instances of the Mean VI onto the block diagram,and they will run in parallel with each other.In order to synchronize or execute the control flow in a data flow environment, LabVIEW also provides functions such as queues, semaphores,and notification functions.
The emergence of reconfigurable logic virtual instruments based on virtual instrumentation is a revolution in the history of instrument development.It takes full advantage of the latest computer technology to implement and expand the functions of the instrument,with a computer screen can simply simulate the adjustment of most of the instrument control panel,in a variety of needs to express and output test results.[15] with the computer software to achieve most of the signal analysis and processing, to complete most of the control and detection functions.Users through the application of the general general-purpose computer and functional module hardware together, through a friendly interface to operate the computer,as in the operation of their own definition of their own design of a single instrument can be completed on the measurement of the collection, analysis,Control, display, data storage and so on.Virtual instruments are more traditional than traditional instruments:
(1) integration of the computer's powerful hardware resources,breaking the traditional instruments in the data processing,display,storage and other restrictions,greatly enhanced the traditional instrument function.
(2) the use of computer-rich software resources,to achieve part of the instrument hardware software,saving material resources, increased system flexibility.Through the software technology and the corresponding numerical algorithm, real-time,directly to the test data for a variety of analysis and processing,through the graphical user interface technology, truly friendly interface,human-computer interaction.
(3) virtual instrument hardware and software are open,modular,reusable and interchangeable and so on.Therefore,the user according to their own needs,the choice of different manufacturers of products, the instrument system development more flexible, more efficient,shorten the system set up time.The traditional instrument is based on fixed hardware and software resources based on the specific system,which makes the system functions and applications defined by the manufacturer.These instruments are complex systems,so they become expensive and difficult to operate and manage.The widespread use of personal computers in many fields of science and technology makes it an ideal hardware and software platform for the execution of measuring instruments.By adding a simple data acquisition system,the personal computer can simulate any instrument.Because they do not have possession and access to hardware and software resources alone,the instruments produced in this way are called virtual instruments.Different instruments can be programmed in the same hardware as long as the software is reprogrammed. Virtual instrumentation presents a number of advantages, the most important of which is due to the reusability of hardware and software resources to reduce costs.These features and the continuous development of virtual instruments and personal computer price cuts make virtual instruments a valuable alternative to traditional instruments.However,there are two main factors that limit the application of virtual instruments.On the one hand, the reduction in data capture will slow down,because the general-purpose computer commonly used operating system is not for real-time applications. On the other hand,the data acquisition system is not an application-oriented system but a common system.Therefore, the focus is on the use of general-purpose hardware replacement reconfigurable data acquisition system to enhance the virtual instrument.
美国国家仪器公司的LabVIEW :一种实验室自动化和测量的编程环境,美国国家仪器公司的LabVIEW 是一种图形化编程语言,它的根源在于自动化控制和数据采集。其图形化的代表性,类似于过程流程图,它为科学家和工程师提供一个直观的编程环境,在过去20年中成熟历程中,这个语言已经成为一个通用的编程环境。 LabVIEW 具有几个关键功能,使其成为自动化环境中的不错选择,这些包括简单的网络通信,通用通信协议(RS232,GPIB等)的交钥匙实现,用于过程控制和数据拟合的强大的工具集,快速简便的用户界面构建和高效的代码执行环境。[13]我们讨论语言的优点,并提供一个内部编写的示例应用程序套件,用于集成和控制自动化平台。
NI LabVIEW 背景:LabVIEW ,其代表实验室虚拟仪器工程工作台是1986年由National Instruments(Austin,TX)首次发布的图形编程语言。LabVIEW 中实现了一个数据流范式,其中的代码不是写入,而是绘制或表示与流程图图形相似的程序执行将下面节点连接在一起的连接器线。每个功能或程序都存储为具有三个主要组件的虚拟仪器(VI):前面板本质上是一个包含输入和控件的表单,并且可以在运行时显示,其代码以图形方式编辑和表示的框图,以及连接器窗格,当VI嵌入作为子VI时,其作为VI的接口。
NI LabVIEW 作为自动化和仪器仪表的一个平台:我们创造台式仪表和综合自动化系统的经验已验证了我们选择的LabVIEW 是一种适当的工具。LabVIEW 可以快速开发适用于台式应用和较大集成系统的功能丰富的应用。在很多场合,我们发现项目要求会被错误的定义或者随着新的测量方法或新的检测方法的发展而改变。[14]它有几个特别的特点使该语言成为一个有用的自动化的环境在创建应用控制,仪器仪表整合,管理流程,和数据采集等方面:
交钥匙工程的测量和控制功能:LabVIEW 最初是为高级科学家和工程师开发的。这种语言包括一整套丰富的过程控制和数据分析功能,以及COM,NET和共享DLL的支持。除此之外,可为包括RS232,GPIB和TCP / IP在内的各种通信协议提供交钥匙解决方案。控制结构如定时While循环,允许从各种硬件接口(如PCI,USB和PXI)进行同步和定时数据采集。
DataSocket技术及VI服务器:使用多个控制计算机部署集成系统需要自动化控制应用程序与远程计算机上存在的仪器驱动程序进行远程通信,凭借有利的技术如VI服务器和DSTP(数据插口调动协议)实现无缝网络通信,LabVIEW 支持分布式架构。DSTP是一个类似于基于传输控制协议/网际协(TCP/IP)HTTP的应用层协议。Data sockets允许远程计算机之间的基本读及写的功能和简单传输数据。通过VI服务器技术,可以使存放在远程计算机上的虚拟仪器就像是存放在本地计算机上一样进行功能调用。可以将Datasockets和VI服务器配置为控制访问权限。
简单的用户界面(UI)的实现:除了常见的界面控件(如文本框,菜单环和复选框)之外,LabVIEW 还提供了一整套丰富的UI控件(开关,发光二极管,仪表,数组控制等)与实验室设备相关。这些起源于LabVIEW S的实验室根源,有助于开发接口,让科学家们清楚地了解一个系统的状态。LsbVIEW支持用户界面的概念,包括子面板(类似于多文档界面),分割条和XControls(类似于OCX控件)。
多线程编程环境:LabVIEW 的固有并行环境在控制实验室设备上是极为有益的.功能可以由多个连续的While循环,其中一个循环是迅速采集数据,另一个以循环以一个比较慢的速度处理数据。在其他语言实施这样一个范式需要为每个进程触发一个独立的线程函数,并开发逻辑来管理同步。通过定时while循环,多个独立的while循环可以很容易地在一个理想的时期和阶段进行同步的过程。LabVIEW 允许调用相同功能的多个实例,每个实例保留自己的数据空间。例如,我们可以将Mean VI的许多实例拖放到框图上,并且它们将彼此并行运行。为了在数据流环境中同步或执行控制流程,LabVIEW 还提供了诸如队列,信号量和通知功能等功能。
基于虚拟仪器的可重构逻辑虚拟仪器的出现是测量仪器发展历史上的一场革命。它充分利用最新的计算机技术来实现和扩展仪器的功能,用计算机屏幕可以简单地模拟大多数仪器的调节控制面板,以各种需要的形式表达并且输出检测结果。[15]用计算机软件实现大部分信号的分析和处理,完成大多数控制和检测功能。用户通过应用程序将一般的通用计算机与功能化模块硬件结合起来,通过友好的界面来操作计算机,就像在操作自己定义,自己设计的单个仪器,可完成对被测量的采集、分析、判断、控制、显示、数据存储等。虚拟仪器较传统仪器的优点:
(1)融合计算机强大的硬件资源,突破了传统仪器在数据处理,显示,存储等方面的限制,大大增强了传统仪器的功能。
- 利用计算机丰富的软件资源,实现了部分仪器硬件的软件化,节省了物 质资源,增加了系统灵活性。通过软件技术和相应数值算法,实时,直接地对测试数据进行各种分析与处理,通过图形用户界面技术,真正做到界面友好、人机交互。
(3)虚拟仪器的硬件和软件都具有开放性,模块化,可重复使用及互换性等特点。因此,用户可根据自己的需要,选用不同厂家的产品,使仪器系统的开发更为灵活,效率更高,缩短系统组建时间。传统的仪器是以固定的硬件和软件资源为基础的specific 系统,这使得系统的功能和应用程序由制造商定义。这些仪器都是复杂的系统,因此它们变得昂贵而且难以操作和管理。个人电脑在许多科技领域的广泛应用使其为测量仪器的执行搭建了一个理想的硬件和软件平台,通过增加一个简单的数据采集系统,个人计算机可以仿真任何仪器。因为它们没有独自占有和访问硬件和软件资源,所以以这种方式产生的仪器被称为虚拟仪器。不同的仪器只要对该软件重新编程就可以在同一硬件中实现。虚拟仪器呈现了大量的优势,其中最重要的就是由于硬件和软件资源的重用性降低了成本。上述特点及虚拟仪器的不断发展和个人电脑降价使虚拟仪器成为传统仪器的一个有价值的替代。 然而,也有两个主要因素限制了虚拟仪器的应用。一方面,数据捕获的减少将放缓速度,因为一般用途的电脑普遍常用的操作系统并不面向实时应用。 另一方面,数据采集系统不是应用导向系统而是一个通用的系统。因此重点是由通用硬件更换可重构数据采集系统来加强虚拟仪器。
附录B主要参考文献的题录及摘要
[1]李洪刚,张素萍.基于单片机和LabVIEW 的多路数据采集系统设计[J].国外电子测量技术,2014,33(4):62-67
摘要:以8位高速、低功耗微控制器STC12C5A60S2为硬件控制核心,以LabVIEW 2012为上位机软件开发平台,设计了一个多路数据采集系统。由下位机单片机对多路模拟信号量进行数据采集,通过串口将采集的模拟量信息上传到上位机,上位机LabVIEW 对采集的数据进行存储、显示及处理、分析,实现了多路模拟量的实时监测。经实际验证,该系统运行情况良好。该系统设计具有较强的通用性,稍加修改即可应用到其他实际系统设计中,具有一定的参考价值和实用性。
[2]王英红,秦化渤,闫芳,康伟.LabVIEW 虚拟仪器开发平台及其应用分析[J].辽宁:辽宁工学院学报,2004,24(5):16-18
摘要:阐述了LabVIEW 、虚拟仪器测试技术、LabVIEW FPGA预展系统及其特点,对LabVIEW 虚拟仪器开发平台的各种优点及其在实际中的应用进行了研究和分析,以便有效地丰富和完善LabVIEW 虚拟仪器开发平台,进一步开发和探索这一优秀的开放式开发平台的应用,使之更加广泛地应用于社会生活的各个领域。
[3]周鹏,许钢,马晓瑜,汪石农,张明艳编著.精通LabVIEW 信号处理[M].北京:清华大学出版社,2013.
摘要:周鹏、许钢、马晓瑜、汪石农、张明艳编著的《精通LabVIEW 信号处理》主要讲述LabVIEW 在电子信息技术尤其是在信号处理方面的应用。LabVIEW 除了可以使用户独立地完成电子信息类诸如模拟电路、数字电路等专业基础课和专业课的计算和实验学习外,还可以与信号与系统、通信原理、数字信号处理、数字图像处理等课程很好地结合,甚至完成电子信息类、测控类专业的综合大实验或毕业设计等任务,加深对抽象专业知识的直观理解,培养分析问题和解决问题的能力。
[4]孙秋野,柳昂,王云爽编著.LabVIEW 8.5快速入门与提高[M].西安:西安交通大学出版社,2009.
摘要:《LabVIEW 8.5快速入门与提高》从入门的角度循序渐进地讲解了LabVIEW 8.5的基本应用技术,通过理论与实例相结合的方式,深入浅出地介绍了LabVIEW 8.5的使用方法和技巧。大量详实的例子都给出了具体的创建过程和程序具体的运行过程,使读者在学习中感到轻松易懂。
全书共分12章,每个章节都配有实例,读者可以快捷地掌握LabVIEW 8.5的基础知识和编程方法。《LabVIEW 8.5快速入门与提高》适用于各个领域的工程技术人员。
[5]杨乐平.LabVIEW 程序设计应用[M].北京:电子工业出版社,2001.
摘要:本书以最新LabVIEW 7 Express版本为对象,系统介绍了LabVIEW 程序设计的基本概念、关键技术和实际应用的专门知识。本书内容分为三大部分,第一部分介绍虚拟仪器的基本概念、图形化编程语言基本原理与特点、LabVIEW 编程环境;第二部分系统介绍LabVIEW 程序设计的语法规则、程序结构和基本编程技巧;第三部分介绍LabVIEW 在数据采集、仪器控制和通信等方面的应用。本书结构编排合理,运用大量实例阐述基本概念与编程难点,突出内容的系统性与实用性。为方便读者学习查阅,本书附带光盘按章节编排,提供了本书所有编程例子,并且列出了LabVIEW 程序错误代码表,供读者参考。
[6]李冰.虚拟仪器技术的研究[D].大庆:大庆石油学院,2005.
摘要:随着科学技术的进步,对测量技术的要求越来越高。电子测量技术在各个领域得到了越来越广泛的应用。传统的电子测量仪器由于其功能单一,体积庞大,己经很难满足实际测量工作中多样性、多功能的需要。以虚拟仪器为代表的新型测量仪器改变了传统仪器的思想,它们充分利用计算机强大的软硬件功能,把计算机技术和测量技术紧密结合起来,是融合了电子测量、计算机和网络技术的新型测量技术。特别是基于计算机平台的各种测量仪器由于成本低、使用方便等优点得到了更广泛的应用。虚拟仪器可以充分利用计算机的运算、存储和显示功能,因而在降低仪器成本的同时,使仪器的灵活性和数据处理能力大大提高,可以更方便的组建测试系统,更好的满足多种测量要求。虚拟仪器实际上就是一种基于计算机的自动化测试仪器系统。虚拟仪器作为计算机技术和现代仪器技术相结合的产物,实现了传统仪器测量理论和测量方法上的革命性突破。 虚拟数字示波器系统由信号采集、信号处理和结果显示三大部分构成,其中信号采集部分是由硬件实现,其它两部分都是由软件实现。我们所设计的虚拟数字示波器总体上包括数据采集、波形显示、频谱分析以及波形存储和回放等四大模块组成。它除了通用功能外,又具有普通示波器所没有的许多优点,如波形可存储为数据文件,以便进行永久保存、随时调用数据,进行波形实时显示、打印,其成本低廉,功能可根据应用的需要不断加强。 本文所选用的软件LabVIEW 是美国NI仪器公司的创新软件产品,也是应用最广泛、发展最快、功能最强的图形化软件开发环境。它具有开发周期短、运行速度快、可重用性、使用方便灵活等优点。
[7]张毅刚.虚拟仪器技术介绍[J].国外电子测量技术,2006,25(6):1-6
摘要:本文较为系统地介绍了虚拟仪器技术,主要内容包括:虚拟仪器的基本概念、组成及分类,基于不同总线的虚拟仪器特点,虚拟仪器软件及其规范。最后,对虚拟仪器技术未来的发展趋势进行了展望。
[8]李巍.LabVIEW 实现的小波变换及其在滤波中的应用[J].前沿技术,2010,29(3)
摘要:通过LabVIEW 的编程环境实现了Db4小波对信号的分解和重构,采用小波软阈值去噪法对信号去噪,并将其与Butterworth低通滤波器滤波效果进行了比较。试验证明小波软阈值去噪是一种有效的滤波方法。
[9]阮奇桢.我和LabVIEW (第二版)[M].北京:北京航空航天大学出版社,2012.
摘要:《我和LabVIEW :一个NI工程师的十年编程经验(第2版)》是作者阮奇桢在学习和使用LabVIEW 过程中的经验总结。书中由浅入深地对LabVIEW 最常用的功能和LabVIEW 学习过程中常见的问题进行了一一介绍。此外,对于 LabVIEW 帮助文档中没有涉及的内容,如LabVIEW 程序设计的原理、原则,如何选取最适合当前情景的编程方法,编程时的注意事项,LabVIEW 的学习方法等,本书都进行了较为详细的介绍。本书的特色之一在于紧密结合实例,对于提及的LabVIEW 功能,书中都配以编程实例来讲解。第2版除了修正书中的错误之处,还增添了对读者提问的解答以及新版本LabVIEW 的一些常用功能介绍。《我和LabVIEW :一个NI工程师的十年编程经验(第2版)》可作为大、中专院校通信、测控等相关专业的教学参考书,也可作为相关工程技术人员设计开发仪器或自动测试系统的技术参考书。
[10]陈国顺,张桐,郭阳宽等.精通LabVIEW 程序设计第二版[M].北京:电子工业出版社,2012.
摘要:《精通LabVIEW 程序设计(第2版)》的最大特色在于紧密结合实例,配以近100个编程实例来讲解LabVIEW 功能。《精通LabVIEW 程序设计(第2版)》还紧密结合高校的应用需求,结合高校教学要求来组织应用实例篇,同时还配备了章节习题和附录,非常适合教学和自学。LabVIEW 是一种非常优秀的图形化编程语言,广泛用于数据采集、仪器控制、测量分析和数据显示等应用领域,在高校应用普遍,在工程界广泛流行。《精通LabVIEW 程序设计(第2版)》分为基础入门篇、编程精通篇和应用实例篇三个部分。基础入门篇循序渐进地介绍了LabVIEW 的发展、特点、语法和开发环境等基础知识;编程精通篇深入浅出地讲述了VI设计、常用编程技术、常用库函数和VI、数据采集与仪器控制等编程方法;应用实例篇简练实用地讲述了近60个综合实例,涉及的应用领域有电子电路、模拟电子、数字电子、控制系统、数字信号处理等。