基于LabVIEW 的密码登录系统设计
摘要
大多数的LabVIEW 程序需要设计用户登录系统,同时密码登录系统设计完成可以嵌入其他各种软件中应用十分广泛。本设计主要是设计密码登录程序,当输入密码和用户名后分别对密码和用户名进行核对,当用户名或密码输入错误时显示错误提示并提醒重新输入,输入正确时提示正确登录。
通过这次毕业设计,可以发现与传统测量仪器相比,虚拟仪器开放、灵活,可与计算机同步发展,可灵活地与网络及其周边设备实现互联;同时,虚拟仪器具有传统仪器所无法比拟的强大信号处理能力,因为虚拟仪器可以充分利用计算机强大的软件资源。
密码登录系统的设计采用条件结构对密码和用户名进行核对,采用文件I/O函数对数据存储和读取进行设计,整个系统上采用循环结构控制运行与停止。系统设计完成后可以加入其他的很多软件中进行用户登录的应用,非常简便,应用前景广大。
目录
引言 1
第1章 绪论 2
1.1 学术背景及理论与实际意义 2
1.2 国内外的发展概况及存在的问题 2
1.3 本课题的来源和应解决的问题或研究的主要内容 3
第2章密码登录系统程序设计 5
2.1 课题研究总体方案设计 5
2.2 课题研究内容各部分的设计 7
2.2.1 循环结构程序设计 7
2.2.2 用户名及密码核对程序 8
2.2.3 “退出”系统事件设计 11
2.3添加用户子VI设计 11
2.4 读取用户程序设计 13
2.5 修改密码子VI程序设计 14
第3章 课题研究运行结果的分析 16
3.1 课题研究的可行性 16
3.1.1 各部分程序的连接 16
3.2 课题研究运行分析 17
结论与展望 20
致谢 21
参考文献 22
附录 23
附录A外文文献及译文23
附录B主要参考文献的题录及摘要28
插图清单
图2-1 系统程序总流程图 6
图2-2 事件“0”编辑 7
图2-3 用户名核对框图 8
图2-4 用户名核对“假”条件结构框图 9
图2-5 密码核对框图 9
图2-6 密码核对“假”条件结构框图 10
图2-7 用户名和密码核对正确输出框图 10
图2-8 事件“退出”程序框图 11
图2- 9 “添加用户”前面板 12
图2-10 “添加用户”后面板 13
图2-11 读取文件程序设计框图 14
图2-12 登录次数程序设计14
图2-13 修改密码程序设计后面板15
图2-14 修改密码程序设计前面板15
图3-1 系统总体程序事件“0” 16
图3-2 系统总体程序事件“1” 17
图3-3 登录系统前面板 17
图3-4 用户名输出错误流程图 18
图3-5 用户名输入错误程序前面板 18
图3-6 密码输入错误流程图 19
图3-7 密码输入错误和登陆成功前面板 19
图3-8 添加用户后登录界面 19
National Instruments(美国国家仪器有限公司)在业界率先提出“虚拟仪器”(Virtual Instrumentation)概念至今已有15年了。在这15年里,NI逐步改变了全世界工程师和科学家们对于测量和自动化的方法。今天,全世界的工程师和科学家们正在成千上万个应用系统中使用“虚拟仪器技术”,从而达到缩短开发时间、提高产品品质并降低生产成本的共同目的。同时,虚拟仪器技术也正逐渐趋于成熟和完善的境界。
虚拟仪器系统的基本构架包括功能强大的软件、模块化的测量硬件及标准商业科技(如个人计算机和网际网络)。虚拟仪器技术包含了专为控制应用设计的软件及针对不同频率与精确度范围的通用测量硬件,因此,工程师可以在测试或控制应用中自行定义测量功能。这些软硬件工程工具能紧密地与开放式的商业计算机平台整合使用,充分利用不断进步的计算机科技以获取高效率、高性能及低成本的利益。同时,其应用范围极其广泛,从汽车到消费电子,从石油到燃料能源,横跨数百个工业领域。
关于本毕业设计基础是在个人计算机上安装LabVIEW 软件,根据有关条件结构的使用方法可以预想当用户名和密码核对正确后系统可以成功运行。在很多软件中,开始必须加入密码登录系统,只有成功登录才能运行软件;否则无法进入软件,因此密码登录系统的设计是非常重要的,为软件奠定了基础。
1.1 学术背景及理论与实际意义
课题的学术背景及理论与实际意义:与传统测量仪器相比,虚拟仪器技术有着许多自己独特的特点与优势,以下列出其一部分特点:
①虚拟仪器具有开发与维护费用低的特点。
②虚拟仪器具有传统仪器所无法比拟的强大信号处理能力。因为虚拟仪器可以充分利用计算机强大的软件资源,对信号灵活地进行计算、分析、判断、处理、显示或输出等。
③虚拟仪器由用户自定义仪器功能, 而传统仪器一经设计、制造完成后, 就很难改变。
④虚拟仪器具有技术更新周期短的特点,大约为1-2年。
⑤虚拟仪器开放、灵活,可与计算机同步发展,可灵活地与网络及其周边设备实现互联。
虚拟仪器的突出成就不仅是可以利用PC机组建成为灵活的虚拟仪器,更重要的是它可以通过各种不同的接口总线,组建不同规模的自测试系统。它可以藉不同的接口总线的沟通,将虚拟仪器、带接口总线的各种电子仪器或各种插件单元,调配并组建成为中小型甚至大型的自动调试系统。
采用LabVIEW 设计用户登录系统可以有效地保护私有数据;其次,保护程序本身,配置软件使用权限,可以将非专业操作人员“拒于”系统之外,避免由于使用者误操作引起的系统崩溃。密码系统主要是防止非授权用户的非法进行,只有合法的用户在验证后才能进行测试和其它一些操作,比如查看数据等,增加系统和测试数据的安全性。同时,这种密码登录系统可以嵌入其他软件程序,应用十分广泛简便。
1.2 国内外的发展概况及存在的问题
课题在国内外的发展概况及存在的问题:近年来,世界各国的虚拟仪器公司开发了不少虚拟仪器开发平台软件,以便使用者利用这些仪器公司提供的开发平台软件组建自己的虚拟仪器或测试系统,并编制测试软件。最早和最具影响的开发软件,是NI公司的LabVIEW 软件和LABWINDOWS/CVI开发软件。LabVIEW 采用图形化编程方案,是非常实用的开发软件。LabWindows/CVI是为熟悉C语言的开发人员准备的、在Windows环境下的标准ANSIC开发环境。[2]
当今虚拟仪器的系统开发采用的总线包括传统的RS232串行总线、GP-IB通用接口总线、VXI总线,以及已经被PC机广泛采用的USB通用串行总线和IEEE 1394总线(即FIREWIER,也叫做火线)。世界各国的公司,特别是美国NI公司,为使虚拟仪器能够适应上述各种总线的配置,开发了大量的软件以及适应要求的硬件(插件),可以灵活地组建不同复杂程度的虚拟仪器自动测试系统。
National Instruments(美国国家仪器有限公司)在业界率先提出“虚拟仪器”(Virtual Instrumentation)概念至今已有15年了。在这15年里,NI逐步改变了全世界工程师和科学家们对于测量和自动化的方法。今天,全世界的工程师和科学家们正在成千上万个应用系统中使用“虚拟仪器技术”,从而达到缩短开发时间、提高产品品质并降低生产成本的共同目的。同时,虚拟仪器技术也正逐渐趋于成熟和完善的境界。
虚拟仪器系统的基本构架包括功能强大的软件、模块化的测量硬件及标准商业科技(如个人计算机和网际网络)。虚拟仪器技术包含了专为控制应用设计的软件及针对不同频率与精确度范围的通用测量硬件,因此,工程师可以在测试或控制应用中自行定义测量功能。这些软硬件工程工具能紧密地与开放式的商业计算机平台整合使用,充分利用不断进步的计算机科技以获取高效率、高性能及低成本的利益。同时,其应用范围极其广泛,从汽车到消费电子,从石油到燃料能源,横跨数百个工业领域。[7]
随着计算机技术、仪器技术和网络通信技术的不断完善,虚拟仪器将向以下五个方向发展:(1)外挂式虚拟仪器:PC-DAQ式虚拟仪器是现在比较流行的虚拟仪器系统,但是,由于基于PCI总线的虚拟仪器在插入DAQ时都需要打开机箱等,比较麻烦,而且,主机上的PCI插槽有限,再加上测试信号直接进入计算机,各种现场的被测信号对计算机的安全造成很大的威胁,同时,计算机内部的强电磁干扰对被测信号也会造成很大的影响,故以USB接口方式的外挂式虚拟仪器系统将成为今后廉价型虚拟仪器测试系统的主流。
(5)虚拟仪器技术硬件的软件化:硬件软件化是通过软件编程的方法改变硬件模块的结构,以完成不同功能及性能指标,依靠硬件的柔性来增强其适应性和灵活性。FPGA和CPLD(Complex Programmable Logic Device)等器件在VI系统中的应用,使系统开发人员可在生产现场直接根据系统的要求定义和修改逻辑功能,具有设计灵活、制作及上市快速的特点。如NI公司生产的NI 5911/5912就是一种采用柔性精度技术的产品
本课题研究的是利用LabVIEW 设计一个用户使用的密码登录系统,该设计的主要解决的问题是对输入的用户名和密码进行核对以及对整个设计进行修改。
对用户名和密码的核对我采用条件结构以及对比函数来进行。在整个程序设计上我采用while循环结构来控制系统的运行与停止,采用事件结构对系统的登录和退出事件进行设计。程序上加有添加用户子VI程序设计,用于创建新的用户数据以及对数据用户进行存储,这里应用了文本文件的创建。当输入用户名和密码时需要将文本文件中创建的用户数据提取出来进行核对,这里使用文本文件的调用方法。
运行程序时,当用户点击“登录”按钮后,程序将会对比用户名和密码与用户名和密码输入栏的内容,如果都相同,则登陆成功;否则将返回错误提示。系统总体流程框图如下图2-1所示。
图2-1 系统程序总流程图(详见附件)
2.2 课题研究内容各部分的设计
2.2.1 循环结构程序设计
LabVIEW 为设计密码登录系统提供了非常方便的一种结构—事件结构。事件结构就是当某一指定的事件发生时,就会执行相应框图中的程序。它包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序框图或分支在执行。事件结构可等待直至事件发生,并执行相应条件分支,处理该事件。时间输出对应于使用的控制时间。[3]
首先创建一个while循环结构,while循环是一种先执行后判断条件的循环程序,它没有规定的循环次数,但总是含有一个条件接线端。While循环运行时,先重复执行循环中的代码,直到条件接线端满足所规定的逻辑条件后才退出循环,即while循环总是至少执行一次。
While循环有两个固定的数据窗口,分别为计数接线端和条件接线端。其中计数接线端用来输出已经执行循环的次数,循环次数默认从“0”开始计数,以后每循环一次累加一次;条件接线端口用于控制循环是否继续执行,在条件接线端的快捷菜单上有两种控制方式,这里选择“真(T)时停止”。[11]
在while循环结构中添加事件结构,在前面板上添加一个布尔—确定按钮,连线事件结构边框左上角的“事件超时”接线端,指定事件结构等待事件发生的时间,以毫秒为单位。默认值为-1,即永不超时。“事件数据节点”位于每个事件分支结构的左边框内侧,该节点用于识别事件发生时LabVIEW 返回的数据。依据为个事件分支配置的事件,该节点可显示事件结构每个分支中不同的数据。另外鼠标右键点击事件结构的边框选择编辑本分支所处理的事件,跳出如下图2-2所示窗口。
对事件“0”做出如图选择,然后在前面板上添加两个字符串输入控件编辑为用户名和密码,以及两个数值显示控件编辑为用户名长度和密码长度用于显示输入的用户名和密码占用长度。
2.2.2 用户名及密码核对程序
用户名核对
首先对用户名进行核对,在后面板 上添加对比函数中的“=?”函数连接用户名输入控件及设定的用户名字符串常量用于核对用户名,在事件结构中添加一个条件结构。条件结构包括两个或两个以上子程序框图或条件分支,每次只能显示一个子程序框图,并且每次只执行一个条件分支,输入值将决定执行的子程序框图。条件结构类似于文本编程语言中的switch语句或if...then...else语句。对比函数输出端连接条件结构左边框上的“分支选择器”,“分支选择器”是条件的输入端口,连线至“分支选择器”接线端的值可以是布尔型、字符串型、整型、枚举类型或错误簇,用于确定要执行的分支。在使用条件结构时,“分支选择器”接线端的数据类型必须与“选择器标签”中的数据类型一致,否则LabVIEW 会报错。[12]程序设计如下图2-3所示。
若用户名输入错误,则在“假”的条件结构中输出“用户名输入错误,请重新输入”。用布尔函数中的假常量连接圆形指示灯,布尔假常量可以通过点击变换为布尔真常量。在这里用布尔假常量连接指示灯,是为了在用户名输入错误时控制前面板的圆形指示灯不发光来提醒用户输入错误要重新输入,程序框图如下图2-4所示。
密码核对
若用户名输入正确,则进入密码核对模块。同样使用对比函数“=?”连接输入的密码和设定的密码字符串常量用来核对密码。在后面板上添加一个字符串—字符串长度函数,字符串函数左端输入的是字符串;右端输出的是输入的字符串占用的字节长度,连接入数值显示控件中。在条件结构中再添加一个条件结构,对比函数输出端连接条件结构的“分支选择器”,程序框图如下图2-5所示。
若密码输入错误则执行“假”分支,假分支中添加字符串常量函数输出“密码输入错误,请重新输入”,这里为和用户名核对程序的“假”分支区别,采用布尔函数中的“真”常量,将其与布尔函数中的“非”函数连接,然后将输出端接入圆形指示灯的输入端来控制指示灯的亮与灭,程序框图如下图2-6所示。
若密码输出正确则执行“真”条件分支,在“真”分支中用字符串常量函数输出“登录成功!”“欢迎进入!”,用字符串连接函数连接两个字符串接入字符串显示函数中用于显示登录结果,用布尔真常量连接圆形指示灯当输入正确时控制灯亮起来提醒登陆者,程序框图如下图2-7所示。
2.2.3 “退出”系统事件设计
程序设计到这之后,在前面板上添加一个布尔—退出按钮,右击事件结构边框,选择“添加事件分支”,给新建事件结构编辑,在这里“事件源”选择退出按钮;“事件”选择不能选择“键按下”,选择键按下的话系统无法正常运行,应此选择“值改变”事件。
将“退出”按钮连接到while的“条件接线端口”,用于控制循环的停止时间,当键按下时退出系统程序运行;用布尔“假”常量连接圆形指示灯,当退出时灯灭提示未运行程序;同时用空字符串连接字符串显示控件,当退出时清空重置登录结果中的显示,程序框图如下图2-8所示。
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.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.1 课题研究的可行性
3.1.1 各部分程序的连接
这里是将各部分程序连接起来,首先将读取文件程序与用户名和密码核对程序连接,将用户名输入控件和读取文件中的用户名对比,对比函数接入条件函数的分支选择器:1、如果不同则进入“假”分支,然后将输入的用户名与设定的用户名进行核对,如果不同则输入“用户名输入错误,请重新输入”;相同则对密码进行核对,如果错误则输出密码输入错误提示,正确则输出登录成功提示。2、如果相同则进入密码核对程序,将输入的密码与在文本文件中读取出来的密码对比,若相同则显示登录成功的提示,如果不同则输出密码输入错误提示。其次添加事件分支,在新事件分支中将子VI“添加用户”加入进去,这里通过函数选板上“选择VI”来添加,将添加用户按钮加入进去用来控制子VI的运行。
该毕业设计运行程序时首先进入循环结构开始对系统循环进行计数;然后开始执行事件结构“0”,即登录事件。先对输入的用户名进行核对,如果输入错误则在登录结果的字符串显示控件中显示“用户名输入错误,请重新输入”;输入正确即进行密码核对,输入错误则在登录结果中显示“密码输入错误,请重新输入”,同时圆形指示灯不亮。若输入正确则在登录结果中显示“登陆成功!”“欢迎进入!”两个字符串。密码登录系统设计总体框图前面板和后面板如下图3-1、图3-2和图3-3所示。
3.2 课题研究运行分析
当用户名输入错误时,系统程序运行输出用户名输入错误的提示,这里的流程框图如下图3-4所示。
图3-4 用户名输出错误流程图
用户名输入错误前面板如下图,如图显示,用户名输入为一个汉字,占用字节长度为2,圆形指示灯显示为“灭”提示输入错误,登录结果也输出错误提示如图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
[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
附录B主要参考文献的题录及摘要
[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个综合实例,涉及的应用领域有电子电路、模拟电子、数字电子、控制系统、数字信号处理等。
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |