寧芬 周慶華 唐立軍 鄧敏 羅雪倫 王廣鵬



摘要:基于LabVIEW開發環境與Access數據庫構建了一個虛擬實驗教學系統。該系統應用教育電子身份號(e2ID)實現系統用戶的實名制,基于LabSQL訪問Access數據庫的方法實現了用戶登錄與管理功能,并采用可擴展的實驗模塊設計。以信號調制解調實驗為例介紹了實驗模塊的設計與實現。
關鍵詞:LabVIEW; LabSQL;虛擬實驗;登錄管理
中圖分類號 TP311.56 文獻標識碼:A
A virtual experiment teaching system based on LabVIEW and Access
NING Fen, ZHOU Qinghua, TANG Lijun, DENG Min, LUO Xuelun, WANG Guangpeng
(School of Physical & Electronic Science, Changsha University of Science & Technology, Hunan 410114, China)
Abstract: The paper builds a virtual experiment teaching system based on the LabVIEW development environment and Access database. The system applied educational electronic identity(e2ID)to realize system users real-name system. Realized the function of the user login and management based on the method of LabSQL accessing Access database. Meanwhile, taking signal demodulation experiment as an example, this paper also presents the design and implementation of experiment module.
Key words: LabVIEW; LabSQL; virtual experiment; log management
0 引 言
實驗是教學系統中不可或缺的一個重要環節,能夠培養學生的實際操作能力,推動學生系統完善地構建自身知識體系。然而,實體實驗需要的儀器設備在數量逐年遞增的同時,投資也日趨緊張,多數高校都難以全面滿足儀器設備附加的教學實驗要求,同時在實體實驗操作時也會出現實驗設備老化,實驗時間多方受限等各種情況[1]。因此,虛擬儀器應時而生,吸引了學界的關注與重視。虛擬儀器是基于計算機的軟硬件測試平臺,不僅能替代傳統儀器,而且具備低成本、性能更新時效快、應用方案靈活等優點,從而在信息領域的教學、實驗、研究等領域呈現出卓越潛力與優勢。
LabVIEW是美國國家儀器公司(National Instruments.NI)推出的一種用圖標編程來代替文本編程的G語言,通過圖標來創建應用程序框圖[2]。相較于傳統的編程軟件,其開發效率更高,同時內部設定的擴展函數庫還為編程用戶們提供了眾多的功能實施便利。基于如上背景所述,本課題即以LabVIEW2014為開發平臺,研發提出了一個虛擬實驗教學系統[3]。實踐證明,系統優點在于高端強大的實時性和交互性,以及良好的可擴展性,因為具有一定的實用推廣價值。
1 虛擬實驗教學系統總體框架
虛擬實驗教學系統的設計采用模塊化設計思想,根據系統的功能實現劃分登錄模塊和實驗模塊。圖1則為虛擬實驗教學系統總體框架。
系統應用教育電子身份號(e2ID)實現系統用戶的實名制。e2ID是教育管理部門根據個人基礎信息和隨機數生成的標識碼,可以在設定用戶實名制的同時保障用戶的隱私[4]。e2ID用戶在通過身份驗證后才能夠使用系統各項功能,這樣不僅保護了系統的私有數據,也給整個實驗教學系統程序提供了安全屏障作用[5]。用戶登錄后,可以查看以往實驗的成績、并選擇實驗自行開啟操作演練,實驗完成后還可將實驗結果的分析報告進行保存和提交。此外,還可以對系統提出建議,管理員會實施可行性改進處理。管理員還能適時增加實驗操作的例程設置,使實驗選擇不至于局限,從而開拓加強系統學習應用領域中學生才能的廣泛發揮和展現空間。
特別指出的是,LabVIEW內部有大量的用于信號處理的分析函數,因此尤其適合《信號與系統》、《數字信號處理》和《通信原理》等課程的虛擬實驗項目開發,本系統的實驗模塊采用可擴展設計,并以信號調制解調實驗為例介紹實驗模塊的設計與實現。
2 用戶登錄與管理模塊的設計與實現
2.1 LabVIEW與數據庫
用戶可以創建一個登錄系統來實現數據庫的訪問,但是LabVIEW本身并不具備數據庫訪問功能,通常利用其擴展工具包來解決這一問題。研究可知,常規情況下可使用以下5種方式實現LabVIEW與數據庫的連接。具體論述如下。
1)利用NI公司的附加工具包LabVIEW SQL Toolkit進行數據庫的訪問;該工具包集成了一系列的高級功能模塊,這些模塊封裝了大多數的數據庫操作和一些高級的數據庫訪問功能[5]。不僅功能強大,操作簡單,而且也不需要學習SQL語法,但卻需要額外購買,價格昂貴,將會增加系統成本。
2)利用LabVIEW的ActiveX功能,調用Microsoft ADO控件,選用SQL語言實現數據庫的訪問;使用這種方法需要用戶對Microsoft ADO控件以及SQL語言有頗深的了解,并且需要從底層經由復雜的編程才能獲得實現,這對于大多數用戶來說也是不現實的[6]。
3)通過調用動態鏈接庫 ( dynamic link library ,DLL) 實現數據庫訪問,先編寫 DLL,再利用LabVIEW的調用庫函數節點(calling function node ,CLFN) 調用此 DLL訪問數據庫。該方法的執行過程需要配合以復雜繁瑣的編程,因而不利于非專業編程人員設定功能的預期達成。
4)利用中間文件存取數據。先將數據暫時存放在開發平臺中的文件夾,待仿真結束后再用專門的軟件工具將數據導入到數據庫中。這種方法過過程操作繁復,并不利于使用。
5)利用第三方開發的免費工具包LabSOL來進行數據庫的訪問。LabSQL進行數據庫訪問實際是利用Microsoft ADO和SQL語言將繁雜的低層操作通過封裝來生成實現的。也就是, 將其轉換為許多對應的 LabSQL Vis,簡單易用。
綜上分析比較可得,本文設計的數據庫訪問是采用免費的工具包LabSOL來支持實現的。因其不僅能免費獲取,應用簡單便捷,同時,幾乎還可以對任何類型數據庫設計配備查詢或操作,實用性強,為教學系統研發提供理想工具。本文采用的是access數據庫。在使用LabSQL之前.首先需要在windows操作系統的控制面板中,調用“ODBC數據源管理器”創建的Access類型的MDB數據庫。
在登錄系統中很多時候都要用到數據庫連接,因此將其作為一個獨立的VI,首先創建connection對象,然后利用ADO Connection Open.vi建立與數據庫的有效連接,“DSN=mydb”,并調用SQL獲取數據庫中的全部信息,最后引用ADO Connection Close.vi關閉與數據庫之間的連接。
2.2 用戶權限
用戶登錄系統中設置有用戶權限,分別為管理員用戶和普通用戶。進一步地,管理員用戶登錄后的主界面包括“實驗操作”“用戶管理”“修改密碼”“退出管理”等功能項目,而登錄賬號的權限是普通用戶,此時“用戶管理”這個事件結構屬性將設置為不可見,從而將不會具有“用戶管理”這一項功能操作。
2.3 用戶登錄
用戶登錄與管理系統的主程序利用事件結構,分別建立“用戶登錄”“用戶名”“用戶密碼” “進入系統”“用戶管理”“修改密碼”“退出系統”等7個子事件。用戶登錄程序框圖如圖2所示。
利用用戶名和用戶密碼進行用戶登錄。如果用戶名、密碼和數據庫的數據匹配,則進入登陸后主界面;反之如果用戶名、密碼和數據庫的數據并不匹配,系統將出現“您輸入的用戶名或密碼錯誤,請重新輸入”的錯誤提示。
用戶登錄后主界面如圖3所示,除了基本的功能按鍵,主界面的左邊顯示有用戶的基本信息,包括“用戶名”、“用戶權限”、“登錄次數”以及上次登錄的時間。
2.4 用戶管理
管理員用戶點擊用戶管理,程序會打開“用戶管理”主界面,界面內容如圖4所示。能夠對數據庫建立相關操作,其功能實現分別有“增加用戶”、“刪除用戶”、“退出管理”進行用戶增減。同時,雙擊用戶就能轉入編輯,不僅能對用戶名密碼進行編輯,還能對其用戶權限開展監控修改。當點擊退出管理時,能直接跳到圖2主界面。用戶管理的功能實現也是通過事件結果,和用戶登錄系統的編程方式類似。
至此,已經實現了一個基本的用戶登錄管理系統。本程序采用了LabVIEW程序開發中常用的模塊化結構,將程序分為主程序和子程序,兩者之間相互嵌入并連接,形成一個完整的用戶登錄管理系統。
還需提及,在程序的主界面有修改密碼這一類項,單擊“修改密碼”,程序將調用“輸新密碼”子VI,在此程序設定中,采用了條件結構,具體就是利用SQL命令“請輸入你的新密碼=‘”修改密碼,只有當輸入2次的密碼完全一致時,才能符合條件“真”更新數據庫。而后延時100ms,將會彈出程序框圖中的字樣“密碼修改成功,請記住新密碼”。普通用戶若要修改密碼時,可直接在此處執行修改;而當普通用戶忘記了密碼,則需聯系管理員來協商修改密碼。
3 實驗模塊的設計與實現
本文將實驗進行模塊化設計,利用事件結構實現子程序的調用,使實驗模塊操作更加簡潔容易。系統的實驗模塊采用可擴展設計,可在實驗模塊上增加任意課程所需的虛擬實驗,強化教學系統實驗教學的廣闊適用性。登錄管理模塊與實驗模塊之間的控制表現為核心與從屬的關系,通過主界面單擊“實驗操作”,能進入虛擬實驗操作界面。同時各模塊之間又存在相互獨立性,實驗模塊可進行分離的擴展設計。下面將以信號調制解調實驗為例介紹實驗模塊的設計與實現全過程。
調制解調,是調制和解調的合稱。本調制解調實驗限定采用4種調制方式,分別為振幅調制(AM 調制)、雙邊帶調制(DSB調制)、單邊帶調制(SSB 調制)、殘留邊帶調制(VSB 調制)。振幅調制就是雙邊帶調制,即將調制信號疊加直流后再與載波相乘的調制方式,如果在振幅調制中不疊加直流分量,便得到功率利用效應頗佳雙邊帶調制方法[7]。此外,還有單邊帶調制方法——僅傳輸雙邊帶信號的一個邊帶(上邊帶或下邊帶)調制,及殘留邊帶調制方法——不像單邊帶調制那樣,將產生的雙邊帶已調信號的其中一個邊帶完全濾掉,而是逐漸切割,使其中一小部分得以殘留。殘留邊帶調制既解決了DSB 調制所出現的占用頻帶寬的問題,又克服了SSB 調制中邊帶濾波器難以達到理想濾波器的缺點。
調制解調虛擬實驗的LabVIEW編程主要利用條件結構,通過旋鈕的2、3、4、5來切換AM 調制、DSB調制、SSB 調制、VSB 調制等不同調制方式。同時,為了方便教學,在實驗操作面板附加配備了說明信息和使用說明2個按鈕,其中內嵌了兩個不同的文本子VI,點擊這2個按鈕,就會呈現此實驗的基本知識和實驗原理,以及操作實驗流程等詳細的內容信息,能夠清晰助益學生對知識及實驗主題的掌控與理解。在實驗報告中寫下相關結論,點擊實驗報告保存按鈕,就會在報告中生成實驗圖像,生成一份完整的實驗報告。調制解調實驗的界面操作如圖6所示,其LabVIEW 程序框圖如圖7所示。
4 結束語
本文基于LabVIEW開發環境與Access數據庫構建了一個完整的虛擬實驗教學系統。通過對LabVIEW的編程與數據庫技術的分析,采用LabSQL訪問Access數據庫的方法實現了用戶登錄與管理功能,從而提高系統的安全性,方便用戶操作。本文最后還展示了實驗模塊中信號調制解調虛擬實驗的設計與實現。此實驗突破傳統的理論教學,通過虛擬仿真,便利同學觀察調制解調的波形,加深學生對理論知識的理解,提高學生的實踐素養和綜合技能。
LabVIEW已成為近幾年虛擬儀器開發的首選開發軟件,易學易用、功能強大。利用LabVIEW設計的虛擬仿真實驗,在教學上,能通過仿真配合理論知識講述,改善授課的效率和學生的接受能力,課后學生能通過仿真實驗開展自主學習和研討,獨立的實驗則使學生能夠增進解決問題中的發散思維,這樣更能激發學生對課程知識的熱情和探索欲,提升創造力與創新意識。本文的設計實踐也為此后研究進展提供了一個可借鑒的有益思路。
參考文獻
[1]陳昌鑫,馬英卓,代月松,等.基于LabVIEW的虛擬實驗系統設計[J]. 電子科技,2011,24(7):85-87.
[2]程麗平. 基于LabVIEW的虛擬實驗教學系統開發[J]. 中國科技信息,2012(20):84-85.
[3]劉明珠,劉雨晴,喬季軍,等. 基于LabVIEW的通信原理虛擬實驗平臺的設計[J]. 實驗技術與管理,2015,32(4):123-126,160.
[4]許美玲,李春茂,褚召偉,等. 基于LabVIEW的用戶登錄數據庫系統[C] //2010電工理論與新技術學術年會論文集.重慶:重慶市電機工程學會,2010:104-106.
[5]萬文略,崔冰波. LabVIEW在測控系統登錄與管理中的應用[J]. 自動化儀表,2012,33(4):30-34.
[6]張淑敏,畢麗紅,馬艷芳.基于LabVIEW的數據庫管理系統[J]. 工業控制計算機,2010,23(9):5-6.
[7] 朱燕,曹磊,王慶春,等. 基于LabVIEW的模擬調制解調系統設計[J]. 現代電子技術,2012,35(7):183-186.