基于Labview的员工管理系统.doc

上传人:最*** 文档编号:1137700 上传时间:2019-10-08 格式:DOC 页数:38 大小:801.50KB
返回 下载 相关 举报
基于Labview的员工管理系统.doc_第1页
第1页 / 共38页
基于Labview的员工管理系统.doc_第2页
第2页 / 共38页
基于Labview的员工管理系统.doc_第3页
第3页 / 共38页
点击查看更多>>
资源描述
_2015届毕业设计说明书 基于LabVIEW的员工管理系统设计 院 、 部: 电气与信息工程学院 学生姓名: 郝睿 指导教师1: 王晓丽 职称 助教 指导教师2: 洪俊 职称 讲师 专 业: 通信工程 班 级: 通信1102 完成时间: 2015年6月 -可编辑修改-摘 要 网络信息技术的发展改善了传统工作模式,使大众的工作学习和日常生活方式发生极大的转变,企事业办工软件等也越加科学化、自动化。面对增加的管理难度,传统的有纸化管理模式已不能很好的胜任,因而以计算机硬件为平台的信息管理系统孕育而生。它把员工数据信息的收集和管理都放在了一个简洁便捷的系统上,用户使用它时,可以把该系统通过互联网无缝的与其他系统连接起来,实现数据互通,有效利用现有资源并提升工作效率。 设计将以虚拟仪器技术作为基础,利用LabVIEW开发出一款员工管理系统。在LabVIEW的基础上,结合Virtual Instrument服务器引用技术,树形控件来建立一套员工管理系统,对员工信息中的姓名、年龄和职称等数据进行科学管理,真正实现人事管理的无纸化、信息化和便捷化,方便工作人员进行相关管理操作,提高效率。 论文将对虚拟仪器的开发环境进行简要说明,并通过设计员工管理系统的思路过程简单介绍基于LabVIEW的程序编程过程。员工信息管理系统以VI服务器引用控件作为数据服务器,树形结构控件作为显示界面。根据该系统要实现的功能,分模块对密码系统、人员管理系统、信息编辑录入系统等进行单独设计。确定各部分能实现预期的功能后把它们组成一体,完成员工管理系统的设计,并对其进行测试。 关键词:员工信息管理;虚拟仪器;模块化设计-可编辑修改-ABSTRACTThe development of network information technology improves the traditional working mode, making the publics work, studies and daily life styles change greatly. Office softwares of enterprises and institutes are also tending to be more scientific and automatic. In the face of the increasing difficulty of management, traditional modes of paper management modes are not qualified, so the information management system based on computer hardware platform is born. It puts collection and management of all the data in a simple and convenient system. When users use it, they can link this system with other systems seamlessly through the Internet, realizing data sharing, effective use of existing resources and improve the work efficiency.In this design, we take virtual instrument technology as a development environment to develop the personnel information management system based on LabVIEW. Combined with Virtual Instrument servers on the basis of LabVIEW, we used technologies and tree control to establish a set of personnel information management system to manage the name, age and title of personnel information data scientifically, realizing paperless, informationize and convenient personnel management which can make managers do related work more convenient and reduce the workload. In this paper, we introduced the virtual instrument software and development environment in detail and briefly introduced the process of development and programming based on LabVIEW according to the concrete example of designing personnel management system. The personnel information management system takes reference controls of VI server as the data server and takes the tree structure control as a real space. According to the functions which this system aims to realize, we designed the password system, the personnel management system, the information edit inputting system separately. Finally, we integrated the modules after ensuring that each module can realize earmarked function,finish the design of the staff management system, and to test it. Key words:personnel information management;virtual instrument;modular design目 录1 绪论11.1 选题目的和意义11.2 国内外研究动态21.3 研究内容2 1.3.1 设计工作安排2 1.3.2 本文各章节介绍32 虚拟仪器及LabVIEW简介42.1 虚拟仪器的概念42.2 LabVIEW的发展和特点42.3 LabVIEW的设计流程53 系统介绍及总体设计方案63.1 总体设计方案及技术指标6 3.1.1 系统结构设计6 3.1.2 技术指标73.2 前面板功能介绍7 3.2.1 登录界面8 3.2.2 员工管理界面83.3 本章小结94 系统的模块化程序设计104.1 系统开发软件环境104.2 登录模块设计114.3 员工管理模块设计12 4.3.1 载入人员模块13 4.3.2 删除人员模块14 4.3.3 添加人员模块15 4.3.4 导出人员模块16 4.3.5 查询人员模块174.4 功能模块的整合184.5 子VI的创建18 4.5.1 定义子VI属性19 4.5.2 系统主要子VI的创建及说明194.6 本章小结235 系统测试与分析245.1 登录界面测试245.2 导入员工测试245.3 搜索员工测试255.4 添加员工测试265.5 删除系统测试26结束语28参考文献29致 谢32-可编辑修改-1 绪论1.1 选题目的和意义 21世纪,在计算机网络技术和信息技术得到飞速发展后,企事业单位办公系统越加科学化、高效化和便捷化,这些改变使得现代都市里长期处于繁忙的人们的工作与生活得到了便捷。信息化和规范化的工作方式已是企事业单位高效利用资源,提高效率的首要目标1。当下尚有一部分企事业的员工管理处于人工手动管理阶段,不但效率低浪费社会资源,还经常因为管理人员的疏忽而出现错误,进而有可能造成一定经济损失。因而很多单位急切需求关于信息管理的软件系统,用来帮助实现信息管理办公的自动化与科学化,提高工作效率。员工信息管理系统正是在这种大趋势下孕育而生的一种自动化办公应用解决方案,其主要目的是提高工作效率,让工作人员从繁琐的有纸化办公中解脱。它能帮组企事业单位有效科学地进行员工信息的管理,主要功能包括员工信息的导入和导出,在系统操作上集数据的输入、查询、导出、删除等功能为一体2。 正因为好多企事业单位发现了员工信息管理系统的优点,越来越多企事业开始使用,它也因此得到广泛普及。课题选择利用美国NI公司的LabVIEW图形化设计软件设计一款员工管理系统。该管理系统能够对员工的数据信息进行管理操作,为工作人员提供一款操作便捷、可靠性高、界面简洁和便于使用的工具。该管理系统可对员工信息的各种数据进行统一操作处理,使数据的显示变得条理清晰,提高日常办公效率,减少数据处理的复杂度3。 作为一款行业内领先的工业标准图形编程平台,美国NI公司的LabVIEW是专门为程序员与工程师而设计的图形直观化编程平台,它可通过软件与各种不同功能的硬件模块、测量设备及计算机组成一体,建立一套虚拟仪器系统4。LabVIEW所代表的虚拟仪器技术在优点上表现为可根据用户需求,自定义仪器结构功能,且设计过程简单,转换灵活。从二十世纪八十年末代成功问世以来,世界各国各地的程序设计人员都已把LABVIEW图形化编程软件应用在工业产品设计中的每个环节,从而缩短了产品研发周期。利用LABVIEW虚拟仪器技术所提供的各种控件能够满足任何项目的开发需求,能使以往复杂的编程变得简单直观,程序员能腾出更多时间在实验项目运行、信息采集和结果分析上,并不是像以往耗费许多精力编写复杂的文本程序、构造实验环境5。1.2 国内外研究动态 在欧美,自美国NI公司的虚拟仪器技术在1986年问世后,一向是西方各国信息化测试、智能化控制领域的研究重点和应用前沿6。进入21世纪后,西方许多科教强国的各种自动测控研究部门都研制了众多的虚拟仪器开发平台,但相比之下,依然是NI公司的LabVIEW图形化编程软件使用最为广泛。如今虚拟仪器技术在国外已经大量运用于科学教育、军备建设、航空航天和生物医学等众多领域,与此同时,它在国外也发展成为一种新的产业,并且产业总值正逐年上涨7。 在中国内地,作为国家引进最新兴的先进技术项目之一,21世纪初,虚拟仪器技术曾被列入“十五”期间重点支助项目。最初我国是从引进吸收NI公司产品开始对虚拟仪器技术进行研究的,目前我国对虚拟仪器技术的研究已迈入自主开发阶段,在虚拟仪器相关领域已经取得可喜成绩,如拥有完全知识产权的“一体化虚拟仪器”是一种不同于西方虚拟仪器的先进技术8。此外,在北京正负电子对撞机改造工程中,我国工程师们也曾使用虚拟仪器技术对其慢控制系统的总体框架进行设计。随着我国经济发展模式从资源消耗型到环境友好型的迈入,企业工厂的技术升级也加快了步伐,先进工业仪器设备的需求量更加巨大。在此基础上,我国虚拟仪器行业产值在以后将大幅持续增长。在对虚拟仪器的普及工作中,目前国内许多知名高校,如清华大学、复旦大学、国防科技大学、中国科技大学等多所高校都为虚拟仪器设置单独的课程与专业,并展开了对虚拟仪器技术领域的研究、开发9。作为21世纪信息化测试与自动化控制领域的主要研究方向,虚拟仪器的出现使得人们对传统仪器的概念、结构和模式的认识发生了转变。随着社会发展和科技进步,各行各业越来越注重效率,尤其是企事业单位,而最为方便高效的员工管理系统使用也越来越广泛,但这些员工管理系统开发较复杂,因此利用LabVIEW的直观化和易用性来开发一款员工管理系统很有必要。1.3 研究内容1.3.1 设计工作安排 (1)课题将利用LabVIEW设计一款员工管理系统,根据课题要求可知,需结合LabVIEW中的字符串控件、HashTable、树形控件以及程序结构等,利用LabVIEW实现系统各子VI的创建,并完成员工管理系统的开发工作。 (2)在设计中,计划目标是设计一个具备密码登录、人员类别管理、信息录入输出等功能的较基础的员工管理系统。通过设计重点研究树形控件的使用和在员工管理系统中的应用,学会事件结构、条件结构、While结构、Case结构以及VI服务器的使用。 (3)根据系统要实现的功能,明确设计思路,化复杂为简单,分模块对密码系统、人员管理系统、信息编辑录入系统等进行单独设计,其中密码系统模块预计要使用到字符串控件及循环结构,人员管理和信息编辑录入系统将重点利用VI服务器对数据进行储存调用。最后确定各模块能实现拟定功能后把各模块组成一体,进行调试书写程序说明。1.3.2 本文各章节介绍 第一章,主要介绍论文的研究背景,分析员工管理系统的现状和发展,并且对论文涉及的虚拟仪器技术的国内外发展状况进行介绍,最后对整篇论文的章节进行安排。 第二章,针对研究重点详细介绍虚拟仪器技术以及LabVIEW。虚拟仪器作为本次设计依赖的开发平台,该章节将涉及虚拟仪器的基本概念以及LabVIEW的简介等。 第三章,主要进行了基于LabVIEW的员工管理系统总体设计方案和对员工管理系统的功能操作进行介绍。首先是提出本次设计的总体设计方案,给出原理框图,并分步对各模块进行简单说明,其次介绍系统在LabVIEW环境下的技术指标。最后详细介绍员工管理系统登录界面的如何使用登录,以及登录成功后如何在信息管理界面进行相应操作。 第四章,首先在该章节将说明软件开发环境,对编程环境、数据操作、设计形式以及结构等进行介绍。 其次在上一章的基础上详细介绍如何使用各循环结构,对登录模块、导入数据模块、搜索模块、查询模块以及删除模块如何利用各种循环和控件进行说明,以及如何在事件结构中把各模块构建于一体,给出各模块的原理框图并对设计思路进行述说,对每个模块涉及到的子VI大致提及其功能,并说明如何完成前面板的设置。 最后在完成了四个模块的详细介绍后,本章节将对第四章涉及的子模块进行详细说明,附上各模块的设计框图并给出设计思路。 第五章,针对整个已设计出雏形的员工管理系统进行功能测试,完善并完成系统的设计工作,对测试结果进行分析。2 虚拟仪器及LabVIEW简介2.1 虚拟仪器的概念 以计算机作为使用平台,由用户设定虚拟的操控界面,测控功能通过软件来实现的这种仪器系统称为虚拟仪器10。与传统的测试仪器相比,虚拟仪器更为便捷。虚拟仪器技术改变了传统仪器由设备制造商定义其功能的传统模式,它使用户能充分发挥自己才智和创造力11。用户可根据需要,开发出符合用户个性化需求的仪器系统。LabVIEW图形化编程软件作为虚拟仪器的代表,是美国NI公司开发的虚拟仪器平台12。它是当前使用最为普及、发展速度最快、模块功能及其强大的图形化编程平台之一,其特点表现在两个方面: (1)传统仪器只能通过硬件来实现测控,而LabVIEW则通过软件编程,实现同实体设备具备的测控功能13。 (2)虚拟的仪器前面板。传统仪器的面板上都是物理按键与显示屏,须通过手动才能进行操作。控件方面,LabVIEW前面板上的控件和传统仪器控件无任何差别;外形上,LabVIEW的控件与传统的及其类似14;原理上,相对于传统仪器的物理过程,LabVIEW控件的操作对应着相应的软件程序,通过程序实现功能。2.2 LabVIEW的发展和特点 NI公司于二十世纪八十年代末年推出了LabVIEW 1.0,目前最新的为2014版本。二十多年来,在工程师不断改善下,LabVIEW的功能模块更加完备,它可运行于多种系统,比如Macintosh、Windows和Linux等。作为一种具有丰富功能的编程平台,LabVIEW在众多研究机构和工业界所广泛采用。 LabVIEW软件设计的程序有前面板和后面板两部分。前面板就是虚拟仪器的操控面板,由形象化的控件组成的,可实现对传统仪器中的各种按钮与显示器的模拟,用户可在前面板展现包括参数设置、菜单及结果显示等。后面板就是程序编程框图,相当于文本编程中的程序代码。后面板的控件与前面板对象相互对应,程序框图中的数据流对应于前面板对象的相关操作。采用图形化方式的编程,使设计更加明了高效。 LabVIEW作为一款成功的虚拟仪器编程软件, 它有着许多特点,如:采用图形化编程语言,开发效率高,支持多种仪器和数具采集卡硬件的驱动,调试、查错能力强大,支持多种操作系统,网络通信功能强大等。2.3 LabVIEW的设计流程 LabVIEW设计主要分为四步进行: (1)编写程序流程图:流程图是一个流程问题的图形化解决方案,就是VI的图形化源程序,相当于传统开发软件的程序源代码15。在LabVIEW中前面板和后面板程序框图可以随时切换,当切换至程序框图时,流程图有相应的端口与前面板对象对应,完成这一步后可在功能模块中根据设计要去使用合适的节点、函数和控件等并放置在后面板程序中,按照一定的顺序将这些端口连接,完成一个程序的设计; (2)定制VI的图标:用户编写的任何VI程序的默认图标显示在前后面板的右上角。作为VI的标识符,在设计程序的子VI中设计一个新的图标时会用到图标编辑器16,自定义后的程序图标不但在使用时方便识别,也可以以子VI形式被其他VI程序调用; (3)前面板设计:前面板是当程序编程完成后展现给设计人员的使用界面,展示形式为图形虚拟化,前面板界面只有用户设置输入和显示面板两个大类,其特点是模拟了传统仪器的操控界面。此外,前面板还主要用来对程序的界面进行美化,以给用户简洁明了的使用环境; (4)程序的运行和调试:任何一种语言编写的程序都需要调试后才可正常无误运行。在LabVIEW编程环境中,当程序运行时可以通过语法找错、高亮执行、探针及断点等技巧对程序进行调试工作。若设计VI程序时存在连接或语法的错误,面板菜单栏中的运行按钮将以灰色折断的箭头显示,此时程序是由于错误是无法执行的。这时点击箭头,系统会弹出对话框并显示错误信息列表,用户可以利用它方便地对程序就行修改。3 系统介绍及总体设计方案 在系统方案的确定中,根据系统应用的需要和特点,开发一个基于LabVIEW的员工管理系统。系统结构主要包括登录认证部分和以数据处理为主的员工信息管理部分。针对员工信息实现数据导入,搜素以及后续的导出删除等基本功能,该员工信息管理系统具备简单,功能完善,操作便捷等特点。3.1 总体设计方案及技术指标 当前主流的程序开发环境有MicrosoftVisualStudio.NET,SunJava,BorlandDelphi等。VisualStudio.NET对Windows系统兼容性好;Java可以支持多种环境及操作系统平台;而Delphi则可在Windows系统下快速开发C/S结构程序,具有多方成熟的控件完善系统开发。而数据处理系统则有Oracle和Access等。Oracle功能齐全,稳定性好,而Access简单快速、便捷易用。 设计将采用LabVIEW开发环境,结合LabVIEW自带的服务器功能实现数据调用,针对员工信息管理系统的方案规划、系统功能分析、系统设计及系统实现等各个阶段17,论述LabVIEW的使用要点,实现过程中存在的难点分析及其解决方案。3.1.1 系统结构设计 图1是基于LabVIEW的员工信息管理系统的设计流程图。图1 总体设计结构框图 上图是一个分步执行控制系统,根据课题总体设计要求,其结构由登录系统、管理员界面、普通用户界面、导入系统、搜索系统、添加系统、删除系统、存储数据以及显示界面等九个部分构成。登录系统是整个员工管理系统的开端,只有通过登录系统并完成认证后才可进行员工管理界面其他操作,它为整个系统提供保护作用;管理员界面和普通用户界面都是员工管理系统的操作界面,两个界面在功能上略有差别,通过这两个界面,用户可进行导入导出、查询和删除操作,同时,它们也是整个管理系统的核心,通过对前面板界面的美化,可实现该系统界面友好,操作便捷的任务目标;对于导入、搜索、添加和删除系统,通过构建这四个功能模块,用户可完成对数据的操作,如果说是用户界面是核心,那这四个系统则共同构成整个管理系统的根基。在流程上,首先通过导入系统输入数据,然后在有数据的基础之上才可以完成搜索、添加和删除数据的操作,其中导入系统重点运用文件对话框控件,其余的操作主要利用HashTable;在完成上述的一些操作后,要对数据进行存储,所以需要建立数据存储模块,这里主要运用LabVIEW自带的VI服务器引用实现存储和调用功能;最后是显示界面,在整个管理系统中,数据的显示需要一个显示窗口,这里将使用前面板的树形显示控件来实现这一功能。 系统的工作过程是程序运行后,在登录界面输入指定信息并验证,系统弹出相应的员工管理界面,利用文件对话框导入员工信息再通过树形控件显示结果,此后数据的其他操作则先使用VI服务器引用功能调用数据,然后使用哈希表完成相关操作,最后再把数据返回到服务器中进程存储。3.1.2 技术指标 根据方案论述及课题要求,为实现员工管理系统的功能,对系统的性能提出要求,其具体的功能指标如下: (1)实时处理:一次导入数据完成后,可对所得数据进行实时操作处理; (2)界面友好:在简单的阅读使用说明后便可对系统进行使用,界面美观简洁; (3)功能完善:可对数据进行输入输出、添加和删除等操作,能够实现市面上管理系统的基本功能; (4)结果输出:根据需要对系统生成的数据采集和处理生成员工信息报告,并可以以特定文档输出到计算机。3.2 前面板功能介绍 功能介绍部分将分别对登录界面和员工管理界面进行操作的简要说明,方便读者了解该系统的使用,同时也让读者明确该管理系统的构成。3.2.1 登录界面 图2所示是系统登录界面,用户进入管理系统后最先进入该界面。图2 登录界面 通过LabVIEW进入系统后,最先弹出的是登录认证界面,用户需要输入正确登录才可进入员工管理界面。在点击运行按钮后,便可以使用。登录认证界面的面板包括身份类型、用户名和密码三个选择输入口,以及登录结果和系统等待时间显示窗口。系统设计可以选择管理员和普通用户登录,用户选择好身份类型后,再填写用户名和密码,如果身份类型、用户名和密码全都正确,点击登录按钮便可进入人员管理界面。如果上述三项有一个错误,登录结果窗口便会显示错误,提醒用户进行检查,直到正确为止。3.2.2 员工管理界面 如图3所示,这是用户名和密码验证正确后弹出的员工管理界面。图3 员工管理界面 用户在登录界面登陆成功后,弹出的窗口便是员工管理系统。系统分为管理员界面和普通用户界面18,其主要区别在于,相比于管理员界面,普通用户界面不能进行删除员工信息的操作。在员工管理系统界面,上部分有四个选项卡,分别是导入、搜索、添加和删除员工(普通用户界面没有删除员工选项卡)。下部分是信息显示窗口,这里可以查看员工信息。 每次重启该系统,如果在显示窗口没有员工信息,用户首先需要在导入员工界面,点击导入按钮选择已有的用于保存员工信息的文档,点击确定后便导入数据。在此过程中,系统会弹出窗口,用户可以选择保留已有员工信息或者将其移除。导入成功后信息便会在显示结果窗口显示。 在导入数据后,用户需要在庞大的员工信息中快速查找某各特定员工的信息,可以点击搜索员工选项卡,输入员工的编号,点击查询按钮便可得到结果,此外,点击导出按钮,用户也可对该员工的信息进行导出。 在添加员工选项卡中,可以添加员工的编号、姓名、年龄、性别以及职称等信息,在相应的位置输入合适的数据后,点击添加按钮即可完成添加操作。添加的人员信息将保存已导入的数据上。如果用户没有导出,则下次使用时该员工信息不会被保存。 为了限制普通用户对员工信息的删除修改,系统有管理员界面。输入正确的管理员帐号和密码后,进入管理员特有的管理系统界面中,用户可以进行员工信息的删除操作,这里是需要输入被删除信息的员工编号,再点击删除按钮即可,操作简单。此外,用户如果需要退出管理系统或者切换用户,点击停止按钮即可。3.3 本章小结 根据员工信息管理系统的预定功能要求,分析目前主流的员工管理系统的设计方案,在此基础上采用以LabVIEW为开发环境设计管理系统,并给出系统的功能指标。采用模块化设计对系统进行设计。同时也介绍了LabVIEW的开发流程,对系统的功能和操作进行了简要说明。4 系统的模块化程序设计 系统的的软件结构程序的开发及运行维护均在LabVIEW中实现,具有强大的通用性,通过对系统的登录系统和员工管理系统,以及管理界面的输入输出、添加、删除等模块进行模块化设计,极大的缩短了系统的开发周期,提高工作效率19。系统操作简单,功能扩展灵活,可以根据用户的需求在现有系统上添加和删除不同的功能。4.1 系统开发软件环境 (1)开发环境员工管理系统在LabVIEW的开发环境如下, 前控制面板:树形显示,选项卡控件,文件路径,开关等。 程序设计结构:For,While,Case,条件结构,顺序结构等。 程序设计原则:算术,字符串,布尔运算,子程序,多数据类型结构等。 程序所需控件:值,文件对话框,捆绑,普通对话框等。 数据采集:VI服务器引用,HashTable,树形,属性节点等。 程序检测:设置断点,单步运行VI,帮助窗口,使用探针等。 使用LabVIEW编程时可以考虑常规的设计语言的语法细则限制。在程序设计过程中,是可以先将所需的功能控件从菜单中拖拽并放置在前后面板的适当位置,然后用连线在程序框图里将各功能控件和模块的端口连接,以此实现数据间的传输;LabVIEW里众多的控件和函数有强大的功能,可简单操作便可实现高级的文件导入导出、数据处理、数据存储功能以及数据的查询的功能。 (2)数据操作 LabVIEW作为一款图形化开发软件,和Mastercam、Cimatron、PowerMILL等软件一样,进行数据的操作是最基本的。在LabVIEW中,用户能使用几乎所有的数据类型与数据运算,并且它还拥有一些特殊的数据类型。 数据类型 用户编写一段程序都需掌握数据类型,在LabVIEW中不同类型的数据由特定的图标、颜色和线型的连接组成来区别,并且不同的数据类型和数据结构的存储是不同的。用户调用适当类型的数据不仅能减少对内存的占用,还有效提高了程序性能。 数据运算 LabVIEW具有及其强大的数据运算能力。LabVIEW不仅包含基本的运算符,如关系运算符、算术运算符和逻辑运算符等,还有许多函数节点。与其他通过文本编程的软件不同,LabVIEW是图形化一款编程软件,它不考虑文本编程时的运算符优先级和结合性概念,这给编程人员减少了很多的工作负担。 (3)程序设计形式与结构 程序结构是所有计算机编程的基础,LabVIEW最为一款图形化编程软件也不例外。绝大部分C语言的程序结构可以在LabVIEW中实现,比如For循环,While循环和事件结构等。程序设计的结构可用多种形式,用户可通过自定义子VI在多个程序中使用,程序也可以在相关设置后多任务同步运行。 (4)图形化显示数据信息 能够以图形表格的形式来展示数据信息是LabVIEW的一个重要特点,从图表中可以得出数据的变化,这使虚拟仪器的前面板有着美观简洁,显示清晰的特点。LabVIEW提供了很多图形显示与操作控件,比如选项卡控件,树形显示。选项卡控件主要用来为开发人员提供前面板测控功能,以对后面板程序进行运行调控。而树形显示控件则是将程序采集的数据以树形形式在前面板显示,实现对数据的显示功能。4.2 登录模块设计 登录模块的设计框图如图4所示,它由最外围的While循环结构,中间层次的事件结构和内层的条件结构构成。图4 登录模块设计框图 While循环结构用于将整个登录程序循环执行,当循环满足某种条件时退出或继续运行。使用该循环可保证用户可随时验证登录。在图左上方的手表图标为等待(ms)函数,它可限制程序循环运行时该线程对计算机CPU的占用,良好的程序应该包含该等待函数。图左下方连接I图标的显示控件则用来显示说明当前循环次数,它可作为系统已运行事件在前面板显示。 事件结构顾名思义,就是仅当某指定事件发生时,程序才作出该事件的相关响应,该结构可使多个程序的组成变得简单,并降低对计算机CPU的资源占用。用户在写入用户名和密码后点击登陆后输出“真”值,事件结构里的登陆程序作出响应,执行内层的条件结构循环。当点击停止时输出“假”值,则执行停止事件,程序停止工作。 条件结构用于在某种特定情况下执行某段特定程序,使用条件结构能使程序选择性的执行。该登录系统设计中包含两个条件结构,其中外层条件结构可实现“管理员”和“普通用户”的身份类型选择,当用户选择管理员登录时,外层循环执行“管理员”程序。当用户名和密码正确时,执行内层条件结构,通过字符串控件在窗口显示登录成功,并执行Main1.vi,该子VI即是员工信息管理系统。如果用户名或密码错误,则返回“假”值,通过字符串控件输出登录失败信息。同理,当用户选择普通用户时执行相同的流程,不过这里最终执行Main2.vi,它区别Main1.vi于该管理系统没有删除功能。4.3 员工管理模块设计 相比登录界面的设计,员工管理的设计就显得复杂。首先最外层使用While循环,用于管理程序的连续执行,当点击停止时程序终止;中层循环使用事件结构,分别为载入人员、删除、添加、导出和查询人员五个事件,当点击前面板控件上的某个选项时,后面板作出响应响应,执行特定事件,通过这几个事件构成整个系统的核心,能够实现系统预定功能;内层循环则主要使用了条件结构,通过条件结构判定某些控件输出结果的“真”“假”,再执行“真”“假”值所对应的特定程序。 对于系统的功能设计,同样采用模块化编程,这里将按照事件结构的“事件”分别对其设计流程及思想进行详细介绍:4.3.1 载入人员模块 如图5所示,这是实现载入人员信息功能的设计框图。图5 载入人员设计框图 在最外层的条件结构中,重点使用了文件对话框,它可显示一个对话框,用于指定文件路径或目录。这里放置一个对话框,可实现从计算机硬盘里选择一个存储员工信息的文件。如果在选择文件后,判断值为“真”,则进入第二层条件结构,否则不执行。 在第二层条件结构中,上部分使用了顺序结构,它可将放置于里面的程序按照从左往右的方向依次执行。在顺序结构里,通过读取、关闭文件控件和文件控件的使用,将输出值送入,实现输入员工信息功能。同时在该循环内里的条件结构使用编辑树形控件项:删除项方法和EmptyHashTable.vi共同实现清空员工信息; 在下部分的For循环结构里,先把通过读取文本文件控件输出的值输入StringToEmployee.vi,完成将输入的员工信息字符串转化为员工信息簇,然后再把数据送到SerachEmployee.vi、AddEmployeeToTree.vi以及InsertEmployee.vi。其中,SerachEmployee.vi用于在员工簇中查找指定编号的员工信息,如果成功,返回员工信息和他的所有下级编号。AddEmployeeToTree.vi用于把员工信息插入到树形控件里。InsertEmployee.vi用于插入某员工信息到哈希表。最后把输出值送入到格式化写入字符串控件,通过与单按钮对话框的使用,实现显示“成功导入%d条数据”,完成载入人员信息操作。4.3.2 删除人员模块 删除人员模块设计框图如图6所示。图6 删除人员设计框图 在该模块的事件结构里,首先将VI服务器引用与树形控件:删除项连接,以达到在树形控件里删除指定项的功能。接下来要做的工作是查找指定删除项,这里需利用SerachEmployee.vi查找指定员工,如果值为真,即存在指定员工,则输出值进入下部分条件结构里的DeleteEmployee.vi中,该子VI用于从员工哈希表中删除指定编号的员工。如果成功,输出员工信息和他的所有直接下级编号数组。如果无法查找到员工信息,输出值为“假”,通过对话框控件显示“该员工不存在”,此外当没有删除指定员工所属下级时,也会提示删除失败。 在上部分循环结构里,主要实现以树形显示删除结果。程序设计流程是先通过按名称解除捆绑控件和创建数组控件的连接实现返回指定名称的簇元素以及向数组插入控件中添加元素。同样,循环结构里需用SerachEmployee.vi查找指定员工,然后将输出结果送入数组插入控件,如果值为真,将于TraverseInEmployeeHashTable.vi输出的值共同流向新的数组插入控件。其中TraverseInEmployeeHashTable.vi作用是以广度遍历查找输入的人员编号及其所属下级信息。最后,通过For循环里的AddEmployeeToTree.vi和格式转换控件把数值输入到树形控件并显示。4.3.3 添加人员模块 如图7所示,该图是添加人员信息模块的设计框图。图7 添加人员设计框图 在最外层条件结构连接一个布尔控件,当点击控件时输出“真”值,外层循环开始执行。在循环内部,放置一个代表员工编号的v32型数值常量输入控件,与SerachEmployee.vi连接,用来查找编号,SerachEmployee.vi连接一个条件结构的布尔输入端子,同时也要建立一个代表直接上级编号的v32型数值常量输入控件并与该循环相连。通过两个连接的输出值,可判定该员工是否已存在。如果值为“假”,说明该员工不存在,可继续添加。这时需要再建立三个条件结构,并依次嵌套,为方便说明,对其分别称为循环1、循环2和循环3. 循环1主要用来接收上述循环的输出值,如果值为“真”则运行循环1内的程序。该循环内,建立一个捆绑控件,设置为“按名词捆绑”并对其进行属性设置,包含编号、姓名、性别、职称、学历信息编码、工作年限、工龄以及直接上级编号。其中代表员工编号的输入控件与该捆绑控件的编号项相连,代表直接上级的输入控件与该捆绑控件的直接上级编号相连。此外,把该捆绑控件与GetEmployeeInfoCluster.vi连接,该子VI可输出员工信息簇结构型,可用于Bundle生成员工信息簇。在捆绑控件的输出端则分别连接CheckEmployee.vi与循环2,这里的CheckEmployee.vi主要对员工信息簇进行有效性检查。 在接收循环1送出的值后,如果循环2值为“真”则进入循环2里的InsertEmployee.vi,以实现插入员工信息到哈希表。并且在插入成功后,真值传入循环3,显示导入成功,否者显示导入失败;如果循环2值为“假”,则由CheckEmployee.vi输出值,通过单按钮对话框显示错误。4.3.4 导出人员模块 如图8所示,该图为导出人员信息模块的设计框图。图8 该部分使用了五个条件结构和两For循环,条件结构1用来开始执行导出工作,条件结构2查询员工编号,条件结构3则是选择导出路径,条件结构4和5主要将员工信息数据以特定格式进行输出。本节同样将分别介绍各条件结构的设计思路: 条件结构1,该结构通过连接一个布尔按钮来执行导出工作,首先按下布尔按钮,向循环结构输出“真”值,开始执行循环内程序。 条件结构2,在这个循环结构外放置一个值属性控件和SerachEmployee.vi,并且值属性控件向SerachEmployee.vi输出值,这两个的构建可以实现在员工哈希表中查找指定编号的员工信息。然后如果查找到员工信息,则输出值为“真”,执行循环内程序,否则无法执行。 条件结构3,在这里放置一个文件对话框,对话框左边连接一个字符串常量,用来固定导出文件的格式,右边连接条件结构3,并在循环内放置打开/创建/替换文件控件,将其路径与文件对话框的路径相连,属性再设置为只写和用确定来替换和创建,通过以上构建可完成对输出文件的属性设置。 条件结构4、5,按照原理图所示的设计放置控件和循环结构可实现将员工信息按照字符串常量内的格式向计算机输出数据。其中,For循环1内的EmployeeToString.vi和左边的TraverseInEmployeeHashTable.vi可实现构造所有下属的信息内容,主要方式是在广度遍历方式查找员工信息并将信息转换为输出字符串,员工信息将按照特定格式输出。For循环2内由SerachEmployee.vi输出值到EmployeeToString.vi,通过查找指定编号的员工信息并将信息输出,这可以构造直接下属的信息内容。最后,放置一个格式化写入字符串控件,在输出端连接特定格式的字符串常量。按照以上设计即可完成导出数据的功能。4.3.5 查询人员模块 查询人员模块的设计框图如图9所示。图9 查询人员设计框图 在查询人员模块的设计中,重点是通过VI服务器引用,可以调用已有的数据,然后以树形控件来显示数据。具体流程是在条件结构1外添加树形控件,设置属性为删除项方法,然后输入端连接VI服务器引用,输出端连接循环结构。同时在该循环结构的布尔端子连接布尔控件,便可开始执行查询工作。 在条件结构2中,最先建立一个I32型的人员编号输入控件,并将输出端连接SerachEmployee.vi,以实现按照编号进行人员查找,如果输出值为“真”,则执行条件结构2里的程序。其中SerachEmployee.vi输出的真值一条通过创建数组控件流向条件结构三,并将数据插入数组控件。另一条则先流向按名称解除捆绑控件,通过该控件可返回指定名称的簇元素,在这里,直接上级编号数据流向SerachEmployee.vi,编号数据流向TraverseInEmployeeHashTable.vi,最后两条数据通过数组插入控件合并到一起,并传输到AddEmployeeToTree.vi,利用此子VI将查询到的数据送入树形控件以显示。另外,按名词解除捆绑控件中的编号的数据流一条通过十进制转换控件,也将值输出到树形控件,并且数值与AddEmployeeToTree.vi的输出值相匹配,完成查询直接上级编号及所属编号的功能。如果无法找到员工,输出值为“假”,并通过单按钮对话框显示“该人员不存在”。4.4 功能模块的整合 图10为系统各模块的整合设计,主要使用了事件结构。图10 各模块整个设计思路 在完成各个功能模块的初步构建后,需要将各模块整个到一起,形成完整的员工管理系统,这里采用的思路是使用事件结构,事件结构等价于C语言里的if.else.语句或者switch语句,使用它可实现在点击某个选项后进行某段程序的功能。 此外,要实现员工管理系统的界面设计,需要提供选项卡控制面板、导入按钮、显示窗口等。 关于选项卡,这里可以在前面板中的控件新式容器,再选择选项卡即可,放置在前面板后进行相关数据绑定等设置即可完成员工管理系统的选项卡制作。同样,在控件新式列表、表格和树中,选择树形便可以树形结构来构成显示窗口,将其放置在前慢板后,右击属性对其进行相关设置,完成界面的美化。 在所有的前面板窗口设置好以后,如果需要对面板颜色就行修改美化,可点击查看工具选版,选着画笔即可涂色。4.5 子VI的创建 LabVIEW中的使用多个SubVI可以构建功能丰富的程序。在LabVIEW图形化编程环境中,对于大型程序的开发,图形控件之间的连线会占据较大的屏幕控件,且连线错综复杂,此时开发人员不可能把所有的程序都放在一个VI的程序框图中实现。因此绝大多少情况下,需要把程序分模块来实现,这就是创建子VI的意义。 实际上任何VI都可以作为SubVI被其他VI程序调用,这时候只需在对普通VI定义连接端子和图标。对于如何创建VI图标,只需要双击右上角的图标即可,通过VI图标编辑器编辑VI图标,可方便在主程序框图中辨别子VI功能20。在为VI建立连线端子,相当于设置函数参数,同样点击右上角的图标,选择连线端子,根据需要完成端子设置后,该VI就成为一个具有输入端和输出端的控件,保存后用户可以随着在任何VI中调用它。4.5.1 定义子VI属性 (1)可重入子VI:在默认情况下,多个程序内如果都调用相同的子VI,那么些程序是不能同时运行的。但很多情况下,程序设计人员希望调用的子VI是互不影响的,能够同时运行多个程序。这时需要用到可重入的子VI。图11 设置VI的可重入属性 在子VI的主菜单中,选择文件VI属性,选择执行弹出对话框。在窗口选中重入执行复选框即可,如图11所示。 (2)设置子VI调用属性:在本次设计中,当用户在登录界面成功登录后,会弹出人员管理界面,要实现这个功能比较简单,这里只要用VI的调用属性即可。在主VI中右击子VI图标,选中调用设置会弹出如图12的对话框。在选中如图所示的复选框后,就可以实现对话框功能。图12 设置子VI调用属性4.5.2 系统主要子VI的创建及说明 该设计所开发的员工管理界面的设计工作较为复杂,通过为其创建一些通用的子VI可以减轻工作量,同时也使得分析主程序变得更加容易。在第四章曾提到EmployeeHashTable.vi、StringToEmployee.vi及SerachEmployee.vi等子VI,为了更好的说明程序设计思路,接下来将对部分子VI进行介绍: (1)GetEmployeeInfoCluster、EmptyHashTable和InsertEmployee子VI GetEmployeeInfoCluster.vi的设计框图如图13所示。图13 GetEmployeeInfoCluster.vi 该子VI的主要功能是对员工HashTable进行操作,包括查询、插入、删除和清空。在设计该VI时,着重利用首次调用函数控件,该控件功能是验证是否第一次调用子VI,当按下运行按钮并第一次调用,才返回“真”值。此外,用HashTable来装载员工信息数组,通过两个初始化数组函数的使用为员工信息数组初始化。 另外,对于该子VI,按照如图14和15所示的方法,再添加一些控件后构建成EmptyHashTable.vi和InsertEmployee.vi,这两个子VI的功能分别是实现情况员工信息HashTable和插入某员工信息到HashTable。 图14 EmptyHashTable.vi 图15 InsertEmployee.vi (2)StringToEmployee子VI StringToEmployee.vi设计框图如图16所示。图16 StringToEmployee.vi 创建如图16所示的程序,该子VI的目的是将输入的员工信息字符串转化为员工信息Cluster,如果输入的字符串不符合格式要求,将在Error out的source中说明。在本VI的设计中,Input String用字符串输出控件字符,在条件结构内放置索引数组控件、StringArrayToEmployee.vi和簇常量控件完成字符串转换为Cluster。 (3)SerachEmployee子VI 如图17所示,这个子VI是在GetEmployeeInfoCluster.vi的输入端和输出端连接图中所示控件常量后构成的,通过构建该VI,可以在HashTable中查找指定编号的员工信息。如果成功,返回员工信息和他的所有下级编号。图17 SerachEmployee.vi (4)AddEmployeeToTree子VI 如图18所示,这是AddEmployeeToTree.vi的设计原理图,该子VI基本使用在主程序任何模块,它主要功能是将员工信息插入到Tree中去。图18 AddEmployeeToTree.vi 在本VI的设计流程中,一是先将员工信息按名称解除捆绑,然后通过格式化写入字符串把信息格式化为文本,将文本信息创建数组。二是将员工信息利用“直接上级编号”解除捆绑,再把数值转换为十进制组成的字符串,最后和第一条一起把数组输入到树形控件。 (5)CheckEmployee子VI 图19所示为CheckEmployee.vi的设计框图。图19 CheckEmployee.vi 为了使程序具有检查数据的功能,需要建立一个
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板表格


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!