找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 33412|回復: 14
打印 上一主題 下一主題
收起左側

基于LabVIEW的密碼登錄系統(tǒng)設計文檔

  [復制鏈接]
跳轉到指定樓層
樓主
ID:227302 發(fā)表于 2017-8-12 18:53 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

基于LabVIEW 的密碼登錄系統(tǒng)設計

摘要

大多數(shù)的LabVIEW 程序需要設計用戶登錄系統(tǒng),同時密碼登錄系統(tǒng)設計完成可以嵌入其他各種軟件中應用十分廣泛。本設計主要是設計密碼登錄程序,當輸入密碼和用戶名后分別對密碼和用戶名進行核對,當用戶名或密碼輸入錯誤時顯示錯誤提示并提醒重新輸入,輸入正確時提示正確登錄。

通過這次畢業(yè)設計,可以發(fā)現(xiàn)與傳統(tǒng)測量儀器相比,虛擬儀器開放、靈活,可與計算機同步發(fā)展,可靈活地與網絡及其周邊設備實現(xiàn)互聯(lián);同時,虛擬儀器具有傳統(tǒng)儀器所無法比擬的強大信號處理能力,因為虛擬儀器可以充分利用計算機強大的軟件資源。

密碼登錄系統(tǒng)的設計采用條件結構對密碼和用戶名進行核對,采用文件I/O函數(shù)對數(shù)據(jù)存儲和讀取進行設計,整個系統(tǒng)上采用循環(huán)結構控制運行與停止。系統(tǒng)設計完成后可以加入其他的很多軟件中進行用戶登錄的應用,非常簡便,應用前景廣大。

目錄


引言              1

1章  緒論              2

1.1  學術背景及理論與實際意義              2

1.2  國內外的發(fā)展概況及存在的問題              2

1.3 本課題的來源和應解決的問題或研究的主要內容              3

2密碼登錄系統(tǒng)程序設計              5

2.1 課題研究總體方案設計              5

2.2  課題研究內容各部分的設計              7

    2.2.1  循環(huán)結構程序設計              7

    2.2.2  用戶名及密碼核對程序              8

    2.2.3  “退出”系統(tǒng)事件設計              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  系統(tǒng)程序總流程圖              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 登錄次數(shù)程序設計14

圖2-13 修改密碼程序設計后面板15

圖2-14 修改密碼程序設計前面板15

圖3-1  系統(tǒng)總體程序事件“0”              16

圖3-2  系統(tǒng)總體程序事件“1”              17

圖3-3  登錄系統(tǒng)前面板              17

圖3-4  用戶名輸出錯誤流程圖              18

圖3-5  用戶名輸入錯誤程序前面板              18

圖3-6 密碼輸入錯誤流程圖              19

圖3-7 密碼輸入錯誤和登陸成功前面板              19

圖3-8  添加用戶后登錄界面              19

引  言

National Instruments(美國國家儀器有限公司)在業(yè)界率先提出“虛擬儀器”(Virtual Instrumentation)概念至今已有15年了。在這15年里,NI逐步改變了全世界工程師和科學家們對于測量和自動化的方法。今天,全世界的工程師和科學家們正在成千上萬個應用系統(tǒng)中使用“虛擬儀器技術”,從而達到縮短開發(fā)時間、提高產品品質并降低生產成本的共同目的。同時,虛擬儀器技術也正逐漸趨于成熟和完善的境界。  

    虛擬儀器系統(tǒng)的基本構架包括功能強大的軟件、模塊化的測量硬件及標準商業(yè)科技(如個人計算機和網際網絡)。虛擬儀器技術包含了專為控制應用設計的軟件及針對不同頻率與精確度范圍的通用測量硬件,因此,工程師可以在測試或控制應用中自行定義測量功能。這些軟硬件工程工具能緊密地與開放式的商業(yè)計算機平臺整合使用,充分利用不斷進步的計算機科技以獲取高效率、高性能及低成本的利益。同時,其應用范圍極其廣泛,從汽車到消費電子,從石油到燃料能源,橫跨數(shù)百個工業(yè)領域。

    關于本畢業(yè)設計基礎是在個人計算機上安裝LabVIEW 軟件,根據(jù)有關條件結構的使用方法可以預想當用戶名和密碼核對正確后系統(tǒng)可以成功運行。在很多軟件中,開始必須加入密碼登錄系統(tǒng),只有成功登錄才能運行軟件;否則無法進入軟件,因此密碼登錄系統(tǒng)的設計是非常重要的,為軟件奠定了基礎。

第1章  緒論

1.1  學術背景及理論與實際意義

    課題的學術背景及理論與實際意義:與傳統(tǒng)測量儀器相比,虛擬儀器技術有著許多自己獨特的特點與優(yōu)勢,以下列出其一部分特點:

①虛擬儀器具有開發(fā)與維護費用低的特點。

②虛擬儀器具有傳統(tǒng)儀器所無法比擬的強大信號處理能力。因為虛擬儀器可以充分利用計算機強大的軟件資源,對信號靈活地進行計算、分析、判斷、處理、顯示或輸出等。

③虛擬儀器由用戶自定義儀器功能, 而傳統(tǒng)儀器一經設計、制造完成后, 就很難改變。

④虛擬儀器具有技術更新周期短的特點,大約為1-2年。

⑤虛擬儀器開放、靈活,可與計算機同步發(fā)展,可靈活地與網絡及其周邊設備實現(xiàn)互聯(lián)。

虛擬儀器的突出成就不僅是可以利用PC機組建成為靈活的虛擬儀器,更重要的是它可以通過各種不同的接口總線,組建不同規(guī)模的自測試系統(tǒng)。它可以藉不同的接口總線的溝通,將虛擬儀器、帶接口總線的各種電子儀器或各種插件單元,調配并組建成為中小型甚至大型的自動調試系統(tǒng)。

采用LabVIEW 設計用戶登錄系統(tǒng)可以有效地保護私有數(shù)據(jù);其次,保護程序本身,配置軟件使用權限,可以將非專業(yè)操作人員“拒于”系統(tǒng)之外,避免由于使用者誤操作引起的系統(tǒng)崩潰。密碼系統(tǒng)主要是防止非授權用戶的非法進行,只有合法的用戶在驗證后才能進行測試和其它一些操作,比如查看數(shù)據(jù)等,增加系統(tǒng)和測試數(shù)據(jù)的安全性。同時,這種密碼登錄系統(tǒng)可以嵌入其他軟件程序,應用十分廣泛簡便。

1.2  國內外的發(fā)展概況及存在的問題

課題在國內外的發(fā)展概況及存在的問題:近年來,世界各國的虛擬儀器公司開發(fā)了不少虛擬儀器開發(fā)平臺軟件,以便使用者利用這些儀器公司提供的開發(fā)平臺軟件組建自己的虛擬儀器或測試系統(tǒng),并編制測試軟件。最早和最具影響的開發(fā)軟件,是NI公司的LabVIEW 軟件和LABWINDOWS/CVI開發(fā)軟件。LabVIEW 采用圖形化編程方案,是非常實用的開發(fā)軟件。LabWindows/CVI是為熟悉C語言的開發(fā)人員準備的、在Windows環(huán)境下的標準ANSIC開發(fā)環(huán)境。[2]

當今虛擬儀器的系統(tǒng)開發(fā)采用的總線包括傳統(tǒng)的RS232串行總線、GP-IB通用接口總線、VXI總線,以及已經被PC機廣泛采用的USB通用串行總線和IEEE 1394總線(即FIREWIER,也叫做火線)。世界各國的公司,特別是美國NI公司,為使虛擬儀器能夠適應上述各種總線的配置,開發(fā)了大量的軟件以及適應要求的硬件(插件),可以靈活地組建不同復雜程度的虛擬儀器自動測試系統(tǒng)。

National Instruments(美國國家儀器有限公司)在業(yè)界率先提出“虛擬儀器”(Virtual Instrumentation)概念至今已有15年了。在這15年里,NI逐步改變了全世界工程師和科學家們對于測量和自動化的方法。今天,全世界的工程師和科學家們正在成千上萬個應用系統(tǒng)中使用“虛擬儀器技術”,從而達到縮短開發(fā)時間、提高產品品質并降低生產成本的共同目的。同時,虛擬儀器技術也正逐漸趨于成熟和完善的境界。

虛擬儀器系統(tǒng)的基本構架包括功能強大的軟件、模塊化的測量硬件及標準商業(yè)科技(如個人計算機和網際網絡)。虛擬儀器技術包含了專為控制應用設計的軟件及針對不同頻率與精確度范圍的通用測量硬件,因此,工程師可以在測試或控制應用中自行定義測量功能。這些軟硬件工程工具能緊密地與開放式的商業(yè)計算機平臺整合使用,充分利用不斷進步的計算機科技以獲取高效率、高性能及低成本的利益。同時,其應用范圍極其廣泛,從汽車到消費電子,從石油到燃料能源,橫跨數(shù)百個工業(yè)領域。[7]

隨著計算機技術、儀器技術和網絡通信技術的不斷完善,虛擬儀器將向以下五個方向發(fā)展:(1)外掛式虛擬儀器:PC-DAQ式虛擬儀器是現(xiàn)在比較流行的虛擬儀器系統(tǒng),但是,由于基于PCI總線的虛擬儀器在插入DAQ時都需要打開機箱等,比較麻煩,而且,主機上的PCI插槽有限,再加上測試信號直接進入計算機,各種現(xiàn)場的被測信號對計算機的安全造成很大的威脅,同時,計算機內部的強電磁干擾對被測信號也會造成很大的影響,故以USB接口方式的外掛式虛擬儀器系統(tǒng)將成為今后廉價型虛擬儀器測試系統(tǒng)的主流。

  • PXI型高精度集成虛擬儀器測試系統(tǒng)PXI系統(tǒng)高度的可擴展性和良好的兼容性,以及比VXI系統(tǒng)更高的性價比,將使它成為未來大型高精度集成測試系統(tǒng)的主流虛擬儀器平臺。
  • 網絡化虛擬儀器盡管Internet技術最初并沒有考慮如何將嵌入式智能儀器設備連接在一起,不過NI等公司已開發(fā)了通過Web瀏覽器觀測這些嵌入式儀器設備的產品,使人們可以通過Internet操作儀器設備。根據(jù)虛擬儀器的特性,我們能夠方便地將虛擬儀器組成計算機網絡。利用網絡技術將分散在不同地理位置不同功能的測試設備聯(lián)系在一起,使昂貴的硬件設備、軟件在網絡上得以共享,減少了設備重復投資。由此可見,網絡化虛擬儀器將具有廣泛的應用前景。
  • 虛擬儀器技術的標準化:VI的標準化研究主要是在硬件平臺的標準化和軟件模塊的標準化。目前,PCI、VXI、PXI等規(guī)范已基本實現(xiàn)了標準化,但在觸發(fā)方式、同步、延時、不同通道的共用時基等方面還未實現(xiàn)標準化,這將影響其在不同平臺上的互換性和移植性,也將影響虛擬儀器軟件模塊的標準化。將在一個標準化硬件平臺上運行的軟件按功能特點分成一系列的軟件模塊,這些軟件模塊也需要像硬件模塊那樣,由專門的VI開發(fā)人員設計,并形成行業(yè)標準(如電壓表模塊、函數(shù)發(fā)生器模塊、示波器模塊等)。使用戶可以像購買硬件模塊那樣購買軟件模塊。1998年成立的IVI(Inter changeable Virtual Instrument)基金會是最終用戶、系統(tǒng)集成商和儀器制造商的一個開放的聯(lián)盟。IVI組織把儀器分成一系列的子類(如示波器、數(shù)字萬用表、任意波形發(fā)生器、開關及電源等),并按照某一子類儀器最通用的特征和功能來為該子類儀器制定規(guī)范。IVI制定的VI統(tǒng)一規(guī)范提升了VI驅動軟件標準化的水平。

    (5)虛擬儀器技術硬件的軟件化:硬件軟件化是通過軟件編程的方法改變硬件模塊的結構,以完成不同功能及性能指標,依靠硬件的柔性來增強其適應性和靈活性。FPGA和CPLD(Complex Programmable Logic Device)等器件在VI系統(tǒng)中的應用,使系統(tǒng)開發(fā)人員可在生產現(xiàn)場直接根據(jù)系統(tǒng)的要求定義和修改邏輯功能,具有設計靈活、制作及上市快速的特點。如NI公司生產的NI 5911/5912就是一種采用柔性精度技術的產品  

課題的來源和應解決的主要問題或研究的主要內容:該設計的主要問題是實現(xiàn)用戶登錄以及當用戶名及密碼輸入正確、用戶名輸入錯誤、密碼輸入錯誤時候的設計。
1.3  本課題的來源和應解決的問題或研究的主要內容

本課題研究的是利用LabVIEW 設計一個用戶使用的密碼登錄系統(tǒng),該設計的主要解決的問題是對輸入的用戶名和密碼進行核對以及對整個設計進行修改。

    對用戶名和密碼的核對我采用條件結構以及對比函數(shù)來進行。在整個程序設計上我采用while循環(huán)結構來控制系統(tǒng)的運行與停止,采用事件結構對系統(tǒng)的登錄和退出事件進行設計。程序上加有添加用戶子VI程序設計,用于創(chuàng)建新的用戶數(shù)據(jù)以及對數(shù)據(jù)用戶進行存儲,這里應用了文本文件的創(chuàng)建。當輸入用戶名和密碼時需要將文本文件中創(chuàng)建的用戶數(shù)據(jù)提取出來進行核對,這里使用文本文件的調用方法。


第2章  密碼登錄系統(tǒng)程序設計
2.1  課題研究總體方案設計
    該設計的主要設計問題是對用戶名和密碼的核對,對此我們采用條件分支結構:分支結構左邊框上是一個輸入端子,該端子中心有一個問號,稱為選擇器端子;上邊框上是分支選擇器標簽,分支結構選擇器端子的輸入值是由與它相連的輸入控件對象決定的。分支結構的數(shù)據(jù)的輸入和輸出是通過隧道來實現(xiàn)的,向分支結構的一個分支提供數(shù)據(jù)時,這個數(shù)據(jù)對于所有的分支都是有效的,其他分支都可以使用這個輸入數(shù)據(jù)。輸出隧道必須從每一個case中得到明確的輸入值,否則程序無法運行,也可以為沒有連接的分支定義一個默認輸出值。分支結構的子框圖是堆疊在一起的,單機標簽左邊和右邊的增量、減量按鈕將使當前顯示框圖在堆疊起來的多個框圖中進行一次前后切換;單機分支選擇器標簽右端的向下黑色箭頭,將彈出所有已定義的標簽列表,可以利用這個列表在多個子框圖之間實現(xiàn)快速跳轉。
核對程序由堆疊在一起的三個子框圖,框圖里設置了默認的用戶名和密碼,以及一個用來實現(xiàn)用戶名輸入的事件框,用以實現(xiàn)用戶名的輸入;框圖中設置了一個用來實現(xiàn)密碼輸入的事件框,用以實現(xiàn)密碼的輸入;最里面子框圖的“真”分支標簽設置了一個選擇開關盒登陸成功的事件框。當用戶名和密碼輸入都與程序設置的用戶名和密碼一致時,系統(tǒng)將會顯示登陸成功。
其次就是如何進行用戶添加,這里運用了子VI創(chuàng)建設計。對用戶數(shù)據(jù)的添加我采用了文件I/O函數(shù)操作中的創(chuàng)建文本文件,將數(shù)據(jù)創(chuàng)建成字符串數(shù)組,通過寫入“文本文件函數(shù)”添加到文本文件中。
關于添加的用戶數(shù)據(jù)讀取我采用了文本文件中的“讀取文本文件函數(shù)”通過行讀取出來,再通過“索引數(shù)組”函數(shù)將讀取的數(shù)組分成一個個元素,進入系統(tǒng)進行操作。

運行程序時,當用戶點擊“登錄”按鈕后,程序將會對比用戶名和密碼與用戶名和密碼輸入欄的內容,如果都相同,則登陸成功;否則將返回錯誤提示。系統(tǒng)總體流程框圖如下圖2-1所示。


圖2-1 系統(tǒng)程序總流程圖(詳見附件)

2.2  課題研究內容各部分的設計

2.2.1  循環(huán)結構程序設計

    LabVIEW 為設計密碼登錄系統(tǒng)提供了非常方便的一種結構—事件結構。事件結構就是當某一指定的事件發(fā)生時,就會執(zhí)行相應框圖中的程序。它包括一個或多個子程序框圖或事件分支,結構執(zhí)行時,僅有一個子程序框圖或分支在執(zhí)行。事件結構可等待直至事件發(fā)生,并執(zhí)行相應條件分支,處理該事件。時間輸出對應于使用的控制時間。[3]

    首先創(chuàng)建一個while循環(huán)結構,while循環(huán)是一種先執(zhí)行后判斷條件的循環(huán)程序,它沒有規(guī)定的循環(huán)次數(shù),但總是含有一個條件接線端。While循環(huán)運行時,先重復執(zhí)行循環(huán)中的代碼,直到條件接線端滿足所規(guī)定的邏輯條件后才退出循環(huán),即while循環(huán)總是至少執(zhí)行一次。

    While循環(huán)有兩個固定的數(shù)據(jù)窗口,分別為計數(shù)接線端和條件接線端。其中計數(shù)接線端用來輸出已經執(zhí)行循環(huán)的次數(shù),循環(huán)次數(shù)默認從“0”開始計數(shù),以后每循環(huán)一次累加一次;條件接線端口用于控制循環(huán)是否繼續(xù)執(zhí)行,在條件接線端的快捷菜單上有兩種控制方式,這里選擇“真(T)時停止”。[11]

    在while循環(huán)結構中添加事件結構,在前面板上添加一個布爾—確定按鈕,連線事件結構邊框左上角的“事件超時”接線端,指定事件結構等待事件發(fā)生的時間,以毫秒為單位。默認值為-1,即永不超時。“事件數(shù)據(jù)節(jié)點”位于每個事件分支結構的左邊框內側,該節(jié)點用于識別事件發(fā)生時LabVIEW 返回的數(shù)據(jù)。依據(jù)為個事件分支配置的事件,該節(jié)點可顯示事件結構每個分支中不同的數(shù)據(jù)。另外鼠標右鍵點擊事件結構的邊框選擇編輯本分支所處理的事件,跳出如下圖2-2所示窗口。

圖2-2 事件“0”編輯

    對事件“0”做出如圖選擇,然后在前面板上添加兩個字符串輸入控件編輯為用戶名和密碼,以及兩個數(shù)值顯示控件編輯為用戶名長度和密碼長度用于顯示輸入的用戶名和密碼占用長度。

2.2.2  用戶名及密碼核對程序

用戶名核對

    首先對用戶名進行核對,在后面板 上添加對比函數(shù)中的“=?”函數(shù)連接用戶名輸入控件及設定的用戶名字符串常量用于核對用戶名,在事件結構中添加一個條件結構。條件結構包括兩個或兩個以上子程序框圖或條件分支,每次只能顯示一個子程序框圖,并且每次只執(zhí)行一個條件分支,輸入值將決定執(zhí)行的子程序框圖。條件結構類似于文本編程語言中的switch語句或if...then...else語句。對比函數(shù)輸出端連接條件結構左邊框上的“分支選擇器”,“分支選擇器”是條件的輸入端口,連線至“分支選擇器”接線端的值可以是布爾型、字符串型、整型、枚舉類型或錯誤簇,用于確定要執(zhí)行的分支。在使用條件結構時,“分支選擇器”接線端的數(shù)據(jù)類型必須與“選擇器標簽”中的數(shù)據(jù)類型一致,否則LabVIEW 會報錯。[12]程序設計如下圖2-3所示。


圖2-3 用戶名核對框圖(詳見附件)

    若用戶名輸入錯誤,則在“假”的條件結構中輸出“用戶名輸入錯誤,請重新輸入”。用布爾函數(shù)中的假常量連接圓形指示燈,布爾假常量可以通過點擊變換為布爾真常量。在這里用布爾假常量連接指示燈,是為了在用戶名輸入錯誤時控制前面板的圓形指示燈不發(fā)光來提醒用戶輸入錯誤要重新輸入,程序框圖如下圖2-4所示。


圖2-4 用戶名核對“假”條件結構框圖(詳見附件)

密碼核對

    若用戶名輸入正確,則進入密碼核對模塊。同樣使用對比函數(shù)“=?”連接輸入的密碼和設定的密碼字符串常量用來核對密碼。在后面板上添加一個字符串—字符串長度函數(shù),字符串函數(shù)左端輸入的是字符串;右端輸出的是輸入的字符串占用的字節(jié)長度,連接入數(shù)值顯示控件中。在條件結構中再添加一個條件結構,對比函數(shù)輸出端連接條件結構的“分支選擇器”,程序框圖如下圖2-5所示。


圖2-5 密碼核對框圖(詳見附件)

    若密碼輸入錯誤則執(zhí)行“假”分支,假分支中添加字符串常量函數(shù)輸出“密碼輸入錯誤,請重新輸入”,這里為和用戶名核對程序的“假”分支區(qū)別,采用布爾函數(shù)中的“真”常量,將其與布爾函數(shù)中的“非”函數(shù)連接,然后將輸出端接入圓形指示燈的輸入端來控制指示燈的亮與滅,程序框圖如下圖2-6所示。


圖2-6 密碼核對“假”條件結構框圖(詳見附件)

    若密碼輸出正確則執(zhí)行“真”條件分支,在“真”分支中用字符串常量函數(shù)輸出“登錄成功!”“歡迎進入!”,用字符串連接函數(shù)連接兩個字符串接入字符串顯示函數(shù)中用于顯示登錄結果,用布爾真常量連接圓形指示燈當輸入正確時控制燈亮起來提醒登陸者,程序框圖如下圖2-7所示。


圖2-7 用戶名和密碼核對正確輸出框圖(詳見附件)

2.2.3  “退出”系統(tǒng)事件設計

    程序設計到這之后,在前面板上添加一個布爾—退出按鈕,右擊事件結構邊框,選擇“添加事件分支”,給新建事件結構編輯,在這里“事件源”選擇退出按鈕;“事件”選擇不能選擇“鍵按下”,選擇鍵按下的話系統(tǒng)無法正常運行,應此選擇“值改變”事件。

     將“退出”按鈕連接到while的“條件接線端口”,用于控制循環(huán)的停止時間,當鍵按下時退出系統(tǒng)程序運行;用布爾“假”常量連接圓形指示燈,當退出時燈滅提示未運行程序;同時用空字符串連接字符串顯示控件,當退出時清空重置登錄結果中的顯示,程序框圖如下圖2-8所示。


圖2-8 事件“退出”程序框圖(詳見附件)

2.3添加用戶子VI設計

LabVIEW中的子VI類似于編程語言中的子程序,通過構建和使用子VI能方便的實現(xiàn)LabVIEW的層次化和模塊化編程,把復雜的編程問題劃分成為多個簡單的任務,使程序結構變得更加清晰、層次更加分明、程序更加易讀、調試更加方便。一個子VI相當于一個程序,而子VI節(jié)點相當于子程序的調用語句,而不是子VI本身。子VI的控件和函數(shù)從調用該VI的程序框圖中接收數(shù)據(jù),并將數(shù)據(jù)返回至程序。用LabVIEW 語言開發(fā)程序時,可以和C語言一樣采用從頂向下的設計方法,用戶每創(chuàng)建一個VI程序,都可以將其作為上一級VI的子VI節(jié)點來調用,實現(xiàn)模塊化編程。[5]

在前面板添加一個“添加用戶”布爾按鈕,在后面板添加一個事件結構控制“添加用戶”的開始與停止。添加用戶程序中首先在桌面上創(chuàng)建一個空文本文件,前面板上添加用戶名和密碼輸入控件,使用創(chuàng)建數(shù)組函數(shù)將輸入的字符串改成數(shù)組。將數(shù)組連接到“寫入文本文件函數(shù)”文件接線端。再將其輸入創(chuàng)建的文本文件中。這里使用“打開/創(chuàng)建/替換文件函數(shù)”和“設置文件位置”函數(shù),在打開文件函數(shù)右端的文件路徑接線端創(chuàng)建常量,將創(chuàng)建的文本文件全路徑輸入進去;將操作創(chuàng)建成“create”常量;將權限創(chuàng)建成“write”常量。通過事件結構和while循環(huán)控制“添加用戶”的開始與停止。

將“添加用戶”設置為子VI時點開前面板右上角的圖表編輯器,刪除原有圖標并通過文本編輯輸入漢字“添加用戶”。接著就是設置連接器端口,連接器作為一個編程接口,為子VI定義輸入、輸出端口數(shù)和這些端口的接線端類型。這些輸入輸出端口相當于編程語言中的形式參數(shù)和結果返回語句。當調用VI節(jié)點是,子VI輸入端子接收從外部控件或其他對象傳輸?shù)礁鱾端子的數(shù)據(jù),經子VI內部處理后又從子VI輸出端子輸出結果,傳送給子VI 外部賢淑空間,或作為輸入數(shù)據(jù)傳送給后面的程序。一般情況下,VI只有設置了連接器端口才能做為子VI使用,如果不對其進行設置,則調用的只是一個獨立的VI程序,不能改變其輸入參數(shù)也不能顯示或傳輸其運行結果。如果需要對子VI節(jié)點進行輸入輸出,那么就需要在連接器面板中有相應的連線端子。[8]可以通過選擇VI的端子數(shù)并為每個端子指定對應的前面板控件或指示器以定義連接器。連接器的設置分兩個步驟:一是要創(chuàng)建連接器端口,包括定義端口的數(shù)目和排列形式;二是要定義連接器端口和控件及指示器的關聯(lián)關系,包括建立連接和定義接線端類型。這里我需要兩個輸入端口,選擇正確的模式,然后通過查看—工具選板,點擊“正在連線”選項,鼠標轉化為連線狀態(tài)。左鍵單擊選中的控件,控件周圍會出現(xiàn)虛線框,表示控件已被選中。把鼠標移至連接器圖標,左鍵單擊其中一個端口,此時端口由白色變?yōu)槌壬,表示連接器端口與控件已建立起連接。如果白色端口變?yōu)楹谏驔]變色則表示連接器與控件關聯(lián)失敗,需要再次進行關聯(lián)。[6]程序框圖前面板如下圖2-9所示。

圖2-9 “添加用戶”前面板

    設置文件位置函數(shù)用于指定數(shù)據(jù)寫入的位置。自端子指定文件標記,即數(shù)據(jù)開始存放的位置。當自端子創(chuàng)建常量時,顯示的是一個枚舉常量,當選擇start項表示在文件起始處設置文件標記,當選擇end項時表示在文件末尾處設置文件標記,當選擇current項表示在當前文件標記處設置文件標記。偏移量用于指定文件標記的位置與自指定位置的距離。VI多次運行后在進行數(shù)據(jù)存儲時,通常會把上一次運行時的數(shù)據(jù)覆蓋,為防止數(shù)據(jù)丟失,需要把每次運行VI時產生的數(shù)據(jù)資料添加到原數(shù)據(jù)資料上去,這就要使用設置文件位置函數(shù)。[4]這里的自端子創(chuàng)建為start,程序框圖后面板如下圖2-10所示。

圖2-10 “添加用戶”后面板

2.4  讀取用戶程序設計

這里是為了讀取存入文本文件中的新用戶名與新密碼,將其與輸入的用戶名和密碼進行核對。這里首先選擇“打開創(chuàng)建替換文件函數(shù)”,在文件路徑接線端創(chuàng)建路徑常量輸入創(chuàng)建得文本文件的全路徑;將操作接線端常量創(chuàng)建為“open”;將權限接線端常量創(chuàng)建為“read-only”。將其與“讀取文本文件函數(shù)”連接用來讀取文件,計數(shù)端子可以指定函數(shù)讀取的字符串或行數(shù)的最大值。[10]如計數(shù)端子輸入小于1,讀取文本文件函數(shù)將讀取整個文件。很多函數(shù)節(jié)點都有錯誤輸出和錯誤輸入功能,其數(shù)據(jù)類型為簇,它有三個作用:(1)用于檢查錯誤信息,如果一個節(jié)點發(fā)生錯誤,該節(jié)點的錯誤輸出就會返回一個錯誤信息。這個錯誤信息傳遞到下一個節(jié)點那個節(jié)點就不運行,只是將錯誤信息繼續(xù)傳遞下去。 (2)通過將一個節(jié)點的錯誤輸出與另一個節(jié)點的錯誤輸入連接可以指定程序執(zhí)行順序。起到一個數(shù)據(jù)流的作用。(3)錯誤輸出端輸出的簇信息可以作為其他事件的觸發(fā)事件。[1]這里運行時是整列整列讀取的,我們這里要按行讀取,要右擊“讀取文本文件函數(shù)”,選中“讀取行”選項。同時,連接上“關閉文件”函數(shù),用來關閉讀取文件。然后,將輸出的文本創(chuàng)建成數(shù)組,這里采用“創(chuàng)建數(shù)組”函數(shù),然后將輸出端通過“索引數(shù)組”來分離創(chuàng)建的數(shù)組的用戶名和密碼。這里的程序設計如下圖2-11所示。

圖2-11 讀取文件程序設計框圖

    程序設計最后我添加了一個數(shù)值顯示控件用于顯示登錄次數(shù),用戶每登錄一次顯示控件中的數(shù)值就會加1,這里采用加1函數(shù)用于給初始次數(shù)加1,否則會從0開始,程序設計如下圖2-12所示。

         a) 登錄次數(shù)前面板                   b)登錄次數(shù)后面板設計

圖2-12 登錄次數(shù)程序設計

2.5  修改密碼子VI程序設計

    當用戶遺忘了登錄密碼時,這里設計的VI主要是對添加的新用戶進行密碼更改。兩次輸入密碼,首先核對兩次輸入的密碼是否相同,若是不同則輸出“兩次密碼輸入不一致,請重新輸入”,接入單按鈕對話框,跳出顯示。若是輸入相同則通過讀取文本程序將文本文件中的用戶數(shù)據(jù)提取出來創(chuàng)建成數(shù)組,同時新輸入的用戶名和密碼創(chuàng)建成數(shù)組,接著運用“替換數(shù)組子集”將新輸入的數(shù)據(jù)替換文本文件中的數(shù)據(jù)。輸出的數(shù)組運用“索引數(shù)組”函數(shù)索引成子數(shù)組,接著通過“寫入文本文件函數(shù)”、“設置文件位置”將修改的密碼存儲到文本文件中。完成后將字符串常量“密碼修改成功,請確認”輸入到單按鈕對話框中。這里同樣用while循環(huán)結構和事件結構來控制程序的開始與退出,程序框圖設計如下圖2-13和圖2-14所示。

圖2-13 修改密碼程序設計后面板

圖2-14 修改密碼程序設計前面板



第3章  課題研究運行結果的分析

3.1  課題研究的可行性

3.1.1  各部分程序的連接

這里是將各部分程序連接起來,首先將讀取文件程序與用戶名和密碼核對程序連接,將用戶名輸入控件和讀取文件中的用戶名對比,對比函數(shù)接入條件函數(shù)的分支選擇器:1、如果不同則進入“假”分支,然后將輸入的用戶名與設定的用戶名進行核對,如果不同則輸入“用戶名輸入錯誤,請重新輸入”;相同則對密碼進行核對,如果錯誤則輸出密碼輸入錯誤提示,正確則輸出登錄成功提示。2、如果相同則進入密碼核對程序,將輸入的密碼與在文本文件中讀取出來的密碼對比,若相同則顯示登錄成功的提示,如果不同則輸出密碼輸入錯誤提示。其次添加事件分支,在新事件分支中將子VI“添加用戶”加入進去,這里通過函數(shù)選板上“選擇VI”來添加,將添加用戶按鈕加入進去用來控制子VI的運行。

    該畢業(yè)設計運行程序時首先進入循環(huán)結構開始對系統(tǒng)循環(huán)進行計數(shù);然后開始執(zhí)行事件結構“0”,即登錄事件。先對輸入的用戶名進行核對,如果輸入錯誤則在登錄結果的字符串顯示控件中顯示“用戶名輸入錯誤,請重新輸入”;輸入正確即進行密碼核對,輸入錯誤則在登錄結果中顯示“密碼輸入錯誤,請重新輸入”,同時圓形指示燈不亮。若輸入正確則在登錄結果中顯示“登陸成功!”“歡迎進入!”兩個字符串。密碼登錄系統(tǒng)設計總體框圖前面板和后面板如下圖3-1、圖3-2和圖3-3所示。

圖3-1 系統(tǒng)總體程序事件“0”

圖3-2 系統(tǒng)總體程序事件“1”
圖3-3 登錄系統(tǒng)前面板

3.2  課題研究運行分析

當用戶名輸入錯誤時,系統(tǒng)程序運行輸出用戶名輸入錯誤的提示,這里的流程框圖如下圖3-4所示。

圖3-4 用戶名輸出錯誤流程圖

    用戶名輸入錯誤前面板如下圖,如圖顯示,用戶名輸入為一個漢字,占用字節(jié)長度為2,圓形指示燈顯示為“滅”提示輸入錯誤,登錄結果也輸出錯誤提示如圖3-5所示。

圖3-5 用戶名輸入錯誤程序前面板

當密碼輸入錯誤時,系統(tǒng)程序運行輸出密碼輸入錯誤的提示,這里的流程框圖如下圖3-6所示。

圖3-6 密碼輸入錯誤流程圖

    密碼輸入錯誤前面板如下圖a),密碼輸入4個字符,占用長度顯示為4,圓形指示燈顯示為“滅”來提醒用戶,登錄結果中輸出密碼輸入錯誤提示。當用戶名和密碼都核對正確后,前面板如下圖b),登錄結果中顯示登錄正確的提示,同時圓形指示燈變亮提示登陸成功,如圖3-7所示。

                a) 密碼錯誤                         b)登錄成功

圖3-7 密碼輸入錯誤和登陸成功前面板

     下面我們進行添加用戶操作,首先點擊“添加用戶”按鈕,然后會彈出子VI的前面板,我們輸入用戶名“許文華”和密碼“123456@xwh”,點擊確定就會將用戶名和密碼寫入文本文件中,接著點擊取消退出子VI系統(tǒng)。然后在登錄界面輸入用戶名和密碼就能登錄成功,前面板如下圖3-8所示。

圖3-8 添加用戶后登錄界面

結論與展望

通過本次畢業(yè)設計,我對LabVIEW 的軟件設計有了更深的了解。由于平時上課大家都是學習理論,沒有實際設計系統(tǒng)的經驗,雖然上課的時候老師說過許多關于LabVIEW 的應用,也有過LabVIEW 的實驗課程,但除此之外我們課后幾乎沒有實際接觸過、應用過這個軟件,對它完全不熟悉,剛開始拿到畢業(yè)設計題目時并不知道該怎么做。但是通過對LabVIEW 課本的詳細瀏覽以及對有關LabVIEW 的參考文獻的查閱,我終于把畢業(yè)設計做出來了,我發(fā)現(xiàn)LabVIEW 軟件非常的簡便實用。通過這次畢業(yè)設計我學會了虛擬儀器設計的基本步驟和基本方法,提高了自己的動手能力,對此我非常高興,總之這次畢業(yè)設計中我受益匪淺。

但是想要更好的使用LabVIEW ,我還需要更加熟悉與練習LabVIEW 的高級編程,例如對數(shù)據(jù)采集的配置,數(shù)據(jù)庫的創(chuàng)建及連接,LabVIEW 的網絡通信以及數(shù)據(jù)庫的管理等等。LabVIEW 在數(shù)據(jù)采集方面做得尤為成功,而采集到的大量信息需要進行保存與讀取,所以一定要對LabVIEW 熟練操作,以及網絡讀取,未來社會是互聯(lián)網時代,數(shù)據(jù)采集與網絡傳輸為遠程測控提供重要手段,要想在未來測控界有所發(fā)展,掌握好LabVIEW 是必不可少的。

通過最近一段時間對登錄系統(tǒng)整個程序的研究和分析,自己已經獲得了相當大的收獲,程序中大量運用事件結構,屬性節(jié)點和數(shù)組函數(shù),結果使得實現(xiàn)的功能很強大,結構設計得也很美觀,給人很大興趣和激勵。看完這個大程序,自己也認識到以后在設計龐大的程序時,要先設計好框架,清楚各個程序之間的邏輯關系,再添加具體的功能,我也看到自己在使用數(shù)組函數(shù)的時候很生疏,以后要多練習。

    看到自己能夠設計出和平時用的一樣的登錄系統(tǒng),心里甚是興奮,如果自己能夠完全掌握屬性節(jié)點,調用節(jié)點,數(shù)據(jù)庫的使用,隊列和狀態(tài)圖,那么我將能設計出更強功能的應用程序,自己將對LabVIEW 語言產生更濃厚的興趣。加油,爭取下一次干的更漂亮。

本次設計的不足主要是未創(chuàng)建關于數(shù)據(jù)庫的設計,數(shù)據(jù)庫的建立是通過Microsoft sql server來創(chuàng)建,由于Microsoft sql server安裝失敗無法應用,課題的完善方向主要是數(shù)據(jù)庫方向。密碼登錄系統(tǒng)設計完成可以嵌入其他各種軟件中應用十分廣泛。

密碼登錄系統(tǒng)的進一步設計將會使其用戶數(shù)據(jù)的存儲,用戶數(shù)據(jù)的改變和添加用戶數(shù)據(jù)以及數(shù)據(jù)庫的管理上更加實用方便。系統(tǒng)設計完善后嵌入其他應用程序中可以對其他程序實行密碼登錄,防止用戶信息數(shù)據(jù)的泄露,保護用戶安全使用程序。



致謝

畢業(yè)設計的過程中,我遇到了不少的難題,但最終我還是戰(zhàn)勝難題,取得了成功這很大一部分都要歸功于指導老師馬曉瑜和同學們。要是沒有老師的指導和同學之間的相互交流與學習,我的畢業(yè)設計不會做到這種程度。在此,我向我的指導老師和同學們致以感謝,同時也感謝學校給我們提供了這樣良好的實驗平臺和實踐機會。

                                          作者:許鳴

                                               2017年6月8



參考文獻
[1]李洪剛,張素萍.基于單片機和LabVIEW 的多路數(shù)據(jù)采集系統(tǒng)設計[J].國外電子測量技術,2014,33(4):62-67
[2]王英紅,秦化渤,閆芳,康偉.LabVIEW 虛擬儀器開發(fā)平臺及其應用分析[J].遼寧:遼寧工學院學報,2004,24(5):16-18
[3]周鵬,許鋼,馬曉瑜,汪石農,張明艷編著.精通LabVIEW 信號處理[M].北京:清華大學出版社,2013.
[4]孫秋野,柳昂,王云爽編著.LabVIEW 8.5快速入門與提高[M].西安:西安交通大學出版社,2009.

[5]楊樂平.LabVIEW 程序設計應用[M].北京:電子工業(yè)出版社,2001.

[6]李冰.虛擬儀器技術的研究[D].大慶:大慶石油學院,2005.

[7]張毅剛.虛擬儀器技術介紹[J].國外電子測量技術,2006,25(6):1-6

[8]李巍.LabVIEW 實現(xiàn)的小波變換及其在濾波中的應用[J].前沿技術,2010,29(3)

[9]阮奇楨.我和LabVIEW (第二版)[M].北京:北京航空航天大學出版社,2012.

[10]陳國順,張桐,郭陽寬等.精通LabVIEW 程序設計第二版[M].北京:電子工業(yè)出版社,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 :一種實驗室自動化和測量的編程環(huán)境,美國國家儀器公司的LabVIEW 是一種圖形化編程語言,它的根源在于自動化控制和數(shù)據(jù)采集。其圖形化的代表性,類似于過程流程圖,它為科學家和工程師提供一個直觀的編程環(huán)境,在過去20年中成熟歷程中,這個語言已經成為一個通用的編程環(huán)境。 LabVIEW 具有幾個關鍵功能,使其成為自動化環(huán)境中的不錯選擇,這些包括簡單的網絡通信,通用通信協(xié)議(RS232,GPIB等)的交鑰匙實現(xiàn),用于過程控制和數(shù)據(jù)擬合的強大的工具集,快速簡便的用戶界面構建和高效的代碼執(zhí)行環(huán)境。[13]我們討論語言的優(yōu)點,并提供一個內部編寫的示例應用程序套件,用于集成和控制自動化平臺。
NI LabVIEW 背景:LabVIEW ,其代表實驗室虛擬儀器工程工作臺是1986年由National Instruments(Austin,TX)首次發(fā)布的圖形編程語言。LabVIEW 中實現(xiàn)了一個數(shù)據(jù)流范式,其中的代碼不是寫入,而是繪制或表示與流程圖圖形相似的程序執(zhí)行將下面節(jié)點連接在一起的連接器線。每個功能或程序都存儲為具有三個主要組件的虛擬儀器(VI):前面板本質上是一個包含輸入和控件的表單,并且可以在運行時顯示,其代碼以圖形方式編輯和表示的框圖,以及連接器窗格,當VI嵌入作為子VI時,其作為VI的接口。
NI LabVIEW 作為自動化和儀器儀表的一個平臺:我們創(chuàng)造臺式儀表和綜合自動化系統(tǒng)的經驗已驗證了我們選擇的LabVIEW 是一種適當?shù)墓ぞ摺abVIEW 可以快速開發(fā)適用于臺式應用和較大集成系統(tǒng)的功能豐富的應用。在很多場合,我們發(fā)現(xiàn)項目要求會被錯誤的定義或者隨著新的測量方法或新的檢測方法的發(fā)展而改變。[14]它有幾個特別的特點使該語言成為一個有用的自動化的環(huán)境在創(chuàng)建應用控制,儀器儀表整合,管理流程,和數(shù)據(jù)采集等方面:  
交鑰匙工程的測量和控制功能:LabVIEW 最初是為高級科學家和工程師開發(fā)的。這種語言包括一整套豐富的過程控制和數(shù)據(jù)分析功能,以及COM,NET和共享DLL的支持。除此之外,可為包括RS232,GPIB和TCP / IP在內的各種通信協(xié)議提供交鑰匙解決方案?刂平Y構如定時While循環(huán),允許從各種硬件接口(如PCI,USB和PXI)進行同步和定時數(shù)據(jù)采集。
DataSocket技術及VI服務器:使用多個控制計算機部署集成系統(tǒng)需要自動化控制應用程序與遠程計算機上存在的儀器驅動程序進行遠程通信,憑借有利的技術如VI服務器和DSTP(數(shù)據(jù)插口調動協(xié)議)實現(xiàn)無縫網絡通信,LabVIEW 支持分布式架構。DSTP是一個類似于基于傳輸控制協(xié)議/網際協(xié)(TCP/IP)HTTP的應用層協(xié)議。Data sockets允許遠程計算機之間的基本讀及寫的功能和簡單傳輸數(shù)據(jù)。通過VI服務器技術,可以使存放在遠程計算機上的虛擬儀器就像是存放在本地計算機上一樣進行功能調用。可以將Datasockets和VI服務器配置為控制訪問權限。
簡單的用戶界面(UI)的實現(xiàn):除了常見的界面控件(如文本框,菜單環(huán)和復選框)之外,LabVIEW 還提供了一整套豐富的UI控件(開關,發(fā)光二極管,儀表,數(shù)組控制等)與實驗室設備相關。這些起源于LabVIEW S的實驗室根源,有助于開發(fā)接口,讓科學家們清楚地了解一個系統(tǒng)的狀態(tài)。LsbVIEW支持用戶界面的概念,包括子面板(類似于多文檔界面),分割條和XControls(類似于OCX控件)。
多線程編程環(huán)境:LabVIEW 的固有并行環(huán)境在控制實驗室設備上是極為有益的.功能可以由多個連續(xù)的While循環(huán),其中一個循環(huán)是迅速采集數(shù)據(jù),另一個以循環(huán)以一個比較慢的速度處理數(shù)據(jù)。在其他語言實施這樣一個范式需要為每個進程觸發(fā)一個獨立的線程函數(shù),并開發(fā)邏輯來管理同步。通過定時while循環(huán),多個獨立的while循環(huán)可以很容易地在一個理想的時期和階段進行同步的過程。LabVIEW 允許調用相同功能的多個實例,每個實例保留自己的數(shù)據(jù)空間。例如,我們可以將Mean VI的許多實例拖放到框圖上,并且它們將彼此并行運行。為了在數(shù)據(jù)流環(huán)境中同步或執(zhí)行控制流程,LabVIEW 還提供了諸如隊列,信號量和通知功能等功能。
基于虛擬儀器的可重構邏輯虛擬儀器的出現(xiàn)是測量儀器發(fā)展歷史上的一場革命。它充分利用最新的計算機技術來實現(xiàn)和擴展儀器的功能,用計算機屏幕可以簡單地模擬大多數(shù)儀器的調節(jié)控制面板,以各種需要的形式表達并且輸出檢測結果。[15]用計算機軟件實現(xiàn)大部分信號的分析和處理,完成大多數(shù)控制和檢測功能。用戶通過應用程序將一般的通用計算機與功能化模塊硬件結合起來,通過友好的界面來操作計算機,就像在操作自己定義,自己設計的單個儀器,可完成對被測量的采集、分析、判斷、控制、顯示、數(shù)據(jù)存儲等。虛擬儀器較傳統(tǒng)儀器的優(yōu)點:
(1)融合計算機強大的硬件資源,突破了傳統(tǒng)儀器在數(shù)據(jù)處理,顯示,存儲等方面的限制,大大增強了傳統(tǒng)儀器的功能。
  • 利用計算機豐富的軟件資源,實現(xiàn)了部分儀器硬件的軟件化,節(jié)省了物 質資源,增加了系統(tǒng)靈活性。通過軟件技術和相應數(shù)值算法,實時,直接地對測試數(shù)據(jù)進行各種分析與處理,通過圖形用戶界面技術,真正做到界面友好、人機交互。
(3)虛擬儀器的硬件和軟件都具有開放性,模塊化,可重復使用及互換性等特點。因此,用戶可根據(jù)自己的需要,選用不同廠家的產品,使儀器系統(tǒng)的開發(fā)更為靈活,效率更高,縮短系統(tǒng)組建時間。傳統(tǒng)的儀器是以固定的硬件和軟件資源為基礎的specific 系統(tǒng),這使得系統(tǒng)的功能和應用程序由制造商定義。這些儀器都是復雜的系統(tǒng),因此它們變得昂貴而且難以操作和管理。個人電腦在許多科技領域的廣泛應用使其為測量儀器的執(zhí)行搭建了一個理想的硬件和軟件平臺,通過增加一個簡單的數(shù)據(jù)采集系統(tǒng),個人計算機可以仿真任何儀器。因為它們沒有獨自占有和訪問硬件和軟件資源,所以以這種方式產生的儀器被稱為虛擬儀器。不同的儀器只要對該軟件重新編程就可以在同一硬件中實現(xiàn)。虛擬儀器呈現(xiàn)了大量的優(yōu)勢,其中最重要的就是由于硬件和軟件資源的重用性降低了成本。上述特點及虛擬儀器的不斷發(fā)展和個人電腦降價使虛擬儀器成為傳統(tǒng)儀器的一個有價值的替代。 然而,也有兩個主要因素限制了虛擬儀器的應用。一方面,數(shù)據(jù)捕獲的減少將放緩速度,因為一般用途的電腦普遍常用的操作系統(tǒng)并不面向實時應用。 另一方面,數(shù)據(jù)采集系統(tǒng)不是應用導向系統(tǒng)而是一個通用的系統(tǒng)。因此重點是由通用硬件更換可重構數(shù)據(jù)采集系統(tǒng)來加強虛擬儀器。

附錄B主要參考文獻的題錄及摘要

[1]李洪剛,張素萍.基于單片機和LabVIEW 的多路數(shù)據(jù)采集系統(tǒng)設計[J].國外電子測量技術,2014,33(4):62-67
摘要:以8位高速、低功耗微控制器STC12C5A60S2為硬件控制核心,以LabVIEW  2012為上位機軟件開發(fā)平臺,設計了一個多路數(shù)據(jù)采集系統(tǒng)。由下位機單片機對多路模擬信號量進行數(shù)據(jù)采集,通過串口將采集的模擬量信息上傳到上位機,上位機LabVIEW 對采集的數(shù)據(jù)進行存儲、顯示及處理、分析,實現(xiàn)了多路模擬量的實時監(jiān)測。經實際驗證,該系統(tǒng)運行情況良好。該系統(tǒng)設計具有較強的通用性,稍加修改即可應用到其他實際系統(tǒng)設計中,具有一定的參考價值和實用性。
[2]王英紅,秦化渤,閆芳,康偉.LabVIEW 虛擬儀器開發(fā)平臺及其應用分析[J].遼寧:遼寧工學院學報,2004,24(5):16-18
摘要:闡述了LabVIEW 、虛擬儀器測試技術、LabVIEW  FPGA預展系統(tǒng)及其特點,對LabVIEW 虛擬儀器開發(fā)平臺的各種優(yōu)點及其在實際中的應用進行了研究和分析,以便有效地豐富和完善LabVIEW 虛擬儀器開發(fā)平臺,進一步開發(fā)和探索這一優(yōu)秀的開放式開發(fā)平臺的應用,使之更加廣泛地應用于社會生活的各個領域。
[3]周鵬,許鋼,馬曉瑜,汪石農,張明艷編著.精通LabVIEW 信號處理[M].北京:清華大學出版社,2013.
摘要:周鵬、許鋼、馬曉瑜、汪石農、張明艷編著的《精通LabVIEW 信號處理》主要講述LabVIEW 在電子信息技術尤其是在信號處理方面的應用。LabVIEW 除了可以使用戶獨立地完成電子信息類諸如模擬電路、數(shù)字電路等專業(yè)基礎課和專業(yè)課的計算和實驗學習外,還可以與信號與系統(tǒng)、通信原理、數(shù)字信號處理、數(shù)字圖像處理等課程很好地結合,甚至完成電子信息類、測控類專業(yè)的綜合大實驗或畢業(yè)設計等任務,加深對抽象專業(yè)知識的直觀理解,培養(yǎng)分析問題和解決問題的能力。
[4]孫秋野,柳昂,王云爽編著.LabVIEW 8.5快速入門與提高[M].西安:西安交通大學出版社,2009.
摘要:《LabVIEW 8.5快速入門與提高》從入門的角度循序漸進地講解了LabVIEW 8.5的基本應用技術,通過理論與實例相結合的方式,深入淺出地介紹了LabVIEW 8.5的使用方法和技巧。大量詳實的例子都給出了具體的創(chuàng)建過程和程序具體的運行過程,使讀者在學習中感到輕松易懂。
全書共分12章,每個章節(jié)都配有實例,讀者可以快捷地掌握LabVIEW 8.5的基礎知識和編程方法!禠abVIEW 8.5快速入門與提高》適用于各個領域的工程技術人員。

[5]楊樂平.LabVIEW 程序設計應用[M].北京:電子工業(yè)出版社,2001.

摘要:本書以最新LabVIEW 7 Express版本為對象,系統(tǒng)介紹了LabVIEW 程序設計的基本概念、關鍵技術和實際應用的專門知識。本書內容分為三大部分,第一部分介紹虛擬儀器的基本概念、圖形化編程語言基本原理與特點、LabVIEW 編程環(huán)境;第二部分系統(tǒng)介紹LabVIEW 程序設計的語法規(guī)則、程序結構和基本編程技巧;第三部分介紹LabVIEW 在數(shù)據(jù)采集、儀器控制和通信等方面的應用。本書結構編排合理,運用大量實例闡述基本概念與編程難點,突出內容的系統(tǒng)性與實用性。為方便讀者學習查閱,本書附帶光盤按章節(jié)編排,提供了本書所有編程例子,并且列出了LabVIEW 程序錯誤代碼表,供讀者參考。

[6]李冰.虛擬儀器技術的研究[D].大慶:大慶石油學院,2005.

摘要:隨著科學技術的進步,對測量技術的要求越來越高。電子測量技術在各個領域得到了越來越廣泛的應用。傳統(tǒng)的電子測量儀器由于其功能單一,體積龐大,己經很難滿足實際測量工作中多樣性、多功能的需要。以虛擬儀器為代表的新型測量儀器改變了傳統(tǒng)儀器的思想,它們充分利用計算機強大的軟硬件功能,把計算機技術和測量技術緊密結合起來,是融合了電子測量、計算機和網絡技術的新型測量技術。特別是基于計算機平臺的各種測量儀器由于成本低、使用方便等優(yōu)點得到了更廣泛的應用。虛擬儀器可以充分利用計算機的運算、存儲和顯示功能,因而在降低儀器成本的同時,使儀器的靈活性和數(shù)據(jù)處理能力大大提高,可以更方便的組建測試系統(tǒng),更好的滿足多種測量要求。虛擬儀器實際上就是一種基于計算機的自動化測試儀器系統(tǒng)。虛擬儀器作為計算機技術和現(xiàn)代儀器技術相結合的產物,實現(xiàn)了傳統(tǒng)儀器測量理論和測量方法上的革命性突破。 虛擬數(shù)字示波器系統(tǒng)由信號采集、信號處理和結果顯示三大部分構成,其中信號采集部分是由硬件實現(xiàn),其它兩部分都是由軟件實現(xiàn)。我們所設計的虛擬數(shù)字示波器總體上包括數(shù)據(jù)采集、波形顯示、頻譜分析以及波形存儲和回放等四大模塊組成。它除了通用功能外,又具有普通示波器所沒有的許多優(yōu)點,如波形可存儲為數(shù)據(jù)文件,以便進行永久保存、隨時調用數(shù)據(jù),進行波形實時顯示、打印,其成本低廉,功能可根據(jù)應用的需要不斷加強。 本文所選用的軟件LabVIEW 是美國NI儀器公司的創(chuàng)新軟件產品,也是應用最廣泛、發(fā)展最快、功能最強的圖形化軟件開發(fā)環(huán)境。它具有開發(fā)周期短、運行速度快、可重用性、使用方便靈活等優(yōu)點。

[7]張毅剛.虛擬儀器技術介紹[J].國外電子測量技術,2006,25(6):1-6

摘要:本文較為系統(tǒng)地介紹了虛擬儀器技術,主要內容包括:虛擬儀器的基本概念、組成及分類,基于不同總線的虛擬儀器特點,虛擬儀器軟件及其規(guī)范。最后,對虛擬儀器技術未來的發(fā)展趨勢進行了展望。

[8]李巍.LabVIEW 實現(xiàn)的小波變換及其在濾波中的應用[J].前沿技術,2010,29(3)

摘要:通過LabVIEW 的編程環(huán)境實現(xiàn)了Db4小波對信號的分解和重構,采用小波軟閾值去噪法對信號去噪,并將其與Butterworth低通濾波器濾波效果進行了比較。試驗證明小波軟閾值去噪是一種有效的濾波方法。

[9]阮奇楨.我和LabVIEW (第二版)[M].北京:北京航空航天大學出版社,2012.

摘要:《我和LabVIEW :一個NI工程師的十年編程經驗(第2版)》是作者阮奇楨在學習和使用LabVIEW 過程中的經驗總結。書中由淺入深地對LabVIEW 最常用的功能和LabVIEW 學習過程中常見的問題進行了一一介紹。此外,對于 LabVIEW 幫助文檔中沒有涉及的內容,如LabVIEW 程序設計的原理、原則,如何選取最適合當前情景的編程方法,編程時的注意事項,LabVIEW 的學習方法等,本書都進行了較為詳細的介紹。本書的特色之一在于緊密結合實例,對于提及的LabVIEW 功能,書中都配以編程實例來講解。第2版除了修正書中的錯誤之處,還增添了對讀者提問的解答以及新版本LabVIEW 的一些常用功能介紹!段液蚅abVIEW :一個NI工程師的十年編程經驗(第2版)》可作為大、中專院校通信、測控等相關專業(yè)的教學參考書,也可作為相關工程技術人員設計開發(fā)儀器或自動測試系統(tǒng)的技術參考書。

[10]陳國順,張桐,郭陽寬等.精通LabVIEW 程序設計第二版[M].北京:電子工業(yè)出版社,2012.

摘要:《精通LabVIEW 程序設計(第2版)》的最大特色在于緊密結合實例,配以近100個編程實例來講解LabVIEW 功能!毒↙abVIEW 程序設計(第2版)》還緊密結合高校的應用需求,結合高校教學要求來組織應用實例篇,同時還配備了章節(jié)習題和附錄,非常適合教學和自學。LabVIEW 是一種非常優(yōu)秀的圖形化編程語言,廣泛用于數(shù)據(jù)采集、儀器控制、測量分析和數(shù)據(jù)顯示等應用領域,在高校應用普遍,在工程界廣泛流行。《精通LabVIEW 程序設計(第2版)》分為基礎入門篇、編程精通篇和應用實例篇三個部分;A入門篇循序漸進地介紹了LabVIEW 的發(fā)展、特點、語法和開發(fā)環(huán)境等基礎知識;編程精通篇深入淺出地講述了VI設計、常用編程技術、常用庫函數(shù)和VI、數(shù)據(jù)采集與儀器控制等編程方法;應用實例篇簡練實用地講述了近60個綜合實例,涉及的應用領域有電子電路、模擬電子、數(shù)字電子、控制系統(tǒng)、數(shù)字信號處理等。


以上圖文下載(word格式 可編輯):
基于labivew的密碼登錄系統(tǒng)設計.docx (482.61 KB, 下載次數(shù): 173)



評分

參與人數(shù) 1黑幣 +70 收起 理由
admin + 70 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:256590 發(fā)表于 2018-1-7 14:29 | 只看該作者
樓主辛苦了,正好用上了
回復

使用道具 舉報

板凳
ID:292328 發(fā)表于 2018-3-15 15:25 | 只看該作者
樓主有沒有程序?
回復

使用道具 舉報

地板
ID:279195 發(fā)表于 2018-7-5 19:56 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

5#
ID:422995 發(fā)表于 2018-11-8 14:38 | 只看該作者
感謝樓主分享~
回復

使用道具 舉報

6#
ID:451799 發(fā)表于 2018-12-21 20:53 | 只看該作者
厲害
回復

使用道具 舉報

7#
ID:501512 發(fā)表于 2019-4-10 21:56 | 只看該作者
很好的資料
回復

使用道具 舉報

8#
ID:509546 發(fā)表于 2019-4-11 13:06 | 只看該作者
很不錯的東西
回復

使用道具 舉報

9#
ID:410655 發(fā)表于 2019-5-6 20:12 | 只看該作者
看看,最近在做注冊和登入的頁面
回復

使用道具 舉報

10#
ID:564399 發(fā)表于 2019-6-17 11:28 | 只看該作者
怎么好多圖沒有啊
回復

使用道具 舉報

11#
ID:723938 發(fā)表于 2020-4-7 12:05 | 只看該作者
很實用
回復

使用道具 舉報

12#
ID:857198 發(fā)表于 2021-1-9 09:37 | 只看該作者
程序為會寫,但文檔我寫不出來
回復

使用道具 舉報

13#
ID:941921 發(fā)表于 2021-6-22 14:17 | 只看該作者
為什么有些圖片看不到呢
回復

使用道具 舉報

14#
ID:865707 發(fā)表于 2022-2-28 15:25 | 只看該作者
有源程序嗎

回復

使用道具 舉報

15#
ID:1088623 發(fā)表于 2023-7-16 10:41 | 只看該作者
感謝分享,超詳細的教程
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表