基于C#的自動測試系統(tǒng)開發(fā)._第1頁
基于C#的自動測試系統(tǒng)開發(fā)._第2頁
基于C#的自動測試系統(tǒng)開發(fā)._第3頁
基于C#的自動測試系統(tǒng)開發(fā)._第4頁
基于C#的自動測試系統(tǒng)開發(fā)._第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于C#的自動測試系統(tǒng)開發(fā) 內(nèi)部公開 ZTE Corporation. All rights reserved.引言對現(xiàn)有基于C#語言的自動測試系統(tǒng)開發(fā)過程進行分析與基于LabVIEW語言的開發(fā)進行對比總結(jié)與建議目錄 儀器控制 程序編寫 總結(jié)目錄 儀器控制 程序編寫 總結(jié) 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制一個完整的儀器控制系統(tǒng)除了包括計算機和儀器外,還必須建立儀器與計算機的通路以及上層應(yīng)用程序。通路包括總線和針對不同儀器的驅(qū)動程序,上層應(yīng)用程序用于發(fā)送控制命令。儀器控制包括儀器的數(shù)據(jù)采集、處理、分析、顯示和存儲。 內(nèi)部公開 ZTE C

2、orporation. All rights reserved.儀器控制總線的選擇 獨立總線:T&M專用總線-GPIB,也是應(yīng)用最早最廣泛的通用接口總線,穩(wěn)定性強,可靠性高,可為一個系統(tǒng)控制器提供多達15臺儀器的連接,連接長度小于20m。 用戶也可通過擴展設(shè)備來克服設(shè)備數(shù)和連線長度的限制。 232-485轉(zhuǎn)換器,只是電氣特性的轉(zhuǎn)換,不存在協(xié)議轉(zhuǎn)換。 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制基于消息的通信方式 收發(fā)的指令及數(shù)據(jù)都是高層次的ASCII字符串,儀器本身具有字符串解析功能。GPIB串口 內(nèi)部公開 ZTE Corporation. Al

3、l rights reserved.儀器控制可編程儀器標準命令SCPI針對基于消息通信的儀器旨在規(guī)范一套標準的命令集 以Tektronix TDS示波器為例: *IDN?-返回儀器標識; CH:PRO be?-查詢通道x的探頭衰減 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制SCPI語言使用層次化結(jié)構(gòu)“樹”形結(jié)構(gòu),每個“樹”命令都是以根層次命令開始,每個根層次命令下面又有許多層次命令。只有按照從樹根到葉子的完整路徑發(fā)送命令,儀器才能正確執(zhí)行相應(yīng)的操作命令。 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控

4、制VISA(虛擬儀器軟件架構(gòu)) 針對每一種硬件借口都要編寫不同的程序,制定一種新的標準,確保不同廠商、不同接口標準的儀器能互相兼容、可通信和數(shù)據(jù)交換,提供方便易用的驅(qū)動程序。實現(xiàn)程序與硬件I/O接口無關(guān)性與操作系統(tǒng)與編程語言無關(guān)能與大多數(shù)儀器總線連接,包括GPIB,串口等。用戶只需要面對統(tǒng)一的編程接口。 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制VISA .Net API是一個面向?qū)ο蟮慕涌冢梢唤M使用VISA與儀器通信的.Net類組成。您可以使用.

5、Net兼容的語言,如C#和Visual Basic .Net 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制 VISA .Net API是免費的NI-VISA驅(qū)動程序軟件的一部分。NI VISA可以從National Instrument VISA免費下載以與NI產(chǎn)品結(jié)合使用。為了安裝用于NI VISA的.Net支持程序,您需要在開發(fā)支持類別中選擇.Net框架語言支持,以包括.Net支持程序 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制添加到添加到VisaNSVisaNS類庫的引用類庫的引用為了創(chuàng)建C

6、#或Visual Basic .Net儀器控制應(yīng)用,需要從一個解決方案開始,在解決方案瀏覽器中,每個項目都擁有一個名為引用的類別,而各種引用便據(jù)此分類組織。為了使用VISA .Net API類庫,將NationalInstruments.Common與NationalInstruments.VisaNS引用添加到您的項目。NationalInstruments.Common命名空間包括各種為許多NI驅(qū)動程序所使用的常見方法和屬性。NationalInstruments.VisaNS命名空間包括面向VISA .Net API的方法和屬性。為了增加一個新的引用,右擊引用類別并選中添加引用。 內(nèi)部公

7、開 ZTE Corporation. All rights reserved.儀器控制 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制 將將VisaNSVisaNS命名空間導入到應(yīng)用命名空間導入到應(yīng)用當引用VisaNS類時,可以在項目中使用它們。通過導入VisaNS命名空間,可以免除鍵入的必要,從而更為直接地訪問對象。VisaNS命名空間的導入,可以通過將下行代碼添加到您的應(yīng)用程序的開始處完成:C#using NationalInstruments.VisaNS; 內(nèi)部公開 ZTE Corporation. All rights reserved.

8、儀器控制打開一個打開一個VISAVISA會話會話一個會話是自VISA .Net API到一項資源的一個連接或鏈接。VISA .Net API包含專為特殊應(yīng)用設(shè)計的不同的會話類。例如,MessageBasedSession類適用于通過發(fā)送和接收文本字符串形式的消息進行通信的儀器。與之相對的是,RegisterBasedSession類被用于與通過讀寫寄存器進行通信的儀器進行通信。創(chuàng)建一個新的MessageBasedSession的第一步便是將其聲明為我們的應(yīng)用程序中的一個變量。下述代碼演示了如何聲明一個新的MessageBasedSession:C#private MessageBasedSes

9、sion mbSession; 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制在聲明MessageBasedSession變量后,我們需要實例化一個MessageBasedSession對象。該方法實例化一個新的ResourceManager對象。這個新的ResourceManager對象包含一個名為Open(打開)的函數(shù),然后該函數(shù)實例化一個新的會話對象。最后,我們將新創(chuàng)建的會話對象映射到一個MessageBasedSession。下述代碼展示了如何在一行代碼中執(zhí)行這三項操作:C#mbSession = (MessageBasedSession)

10、ResourceManager.GetLocalManager().Open(resourceString.Text); 內(nèi)部公開 ZTE Corporation. All rights reserved.儀器控制發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)在創(chuàng)建了一個與儀器通信的會話之后,我們可以開始發(fā)送數(shù)據(jù)至該儀器,并讀回其響應(yīng)。在于基于消息的儀器的通信中最為常用的三項操作為查詢、寫入和讀取。查詢操作將一個命令寫入到一個儀器并讀回其響應(yīng)。在另一方面,寫入命令僅發(fā)送一個命令至儀器,而讀取命令從儀器讀取信息。下述代碼片斷展示了如何使用查詢操作: 內(nèi)部公開 ZTE Corporation. All rights reser

11、ved.程序編寫 內(nèi)部公開 ZTE Corporation. All rights reserved.程序編寫 內(nèi)部公開 ZTE Corporation. All rights reserved.程序編寫 內(nèi)部公開 ZTE Corporation. All rights reserved.程序編寫 內(nèi)部公開 ZTE Corporation. All rights reserved.程序編寫在C#編程處理中,編寫的windows應(yīng)用程序都依賴于OPP(面向?qū)ο蟪绦蛟O(shè)計)技術(shù) 內(nèi)部公開 ZTE Corporation. All rights reserved.程序編寫 內(nèi)部公開 ZTE Corpo

12、ration. All rights reserved.程序編寫從上述實例可以看出,整個設(shè)計過程都是基于對象的。即把一個控件作為一個對象來處理,涉及獨立的處理程序分別作用于這些對象。從而使整個對象獨立運行,減少它們之間的關(guān)聯(lián),真正實現(xiàn)了對象處理。 內(nèi)部公開 ZTE Corporation. All rights reserved.程序編寫面向?qū)ο缶幊谭椒▽W是C#編程的指導思想。使用C#進行編程時,應(yīng)該首先利用對象建模技術(shù)(OMT)來分析目標問題,抽象出相關(guān)對象的共性,對它們進行分類,并分析類之間的關(guān)系;然后再用類來描述同一類對象,歸納出類之間的關(guān)系。具體可分為面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計。 內(nèi)部

13、公開 ZTE Corporation. All rights reserved.程序編寫對象建模技術(shù)、面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計共同構(gòu)成了系統(tǒng)設(shè)計的過程。 內(nèi)部公開 ZTE Corporation. All rights reserved.程序編寫 內(nèi)部公開 ZTE Corporation. All rights reserved.總結(jié)開發(fā)時間短,易用性高;效率高;實現(xiàn)并行;工業(yè)控制系統(tǒng)首選 內(nèi)部公開 ZTE Corporation. All rights reserved.C#調(diào)用labVIEW dll文件DLL(動態(tài)鏈接庫)文件是Dynamic Link Library的縮寫形式,是一種允

14、許程序共享執(zhí)行特殊任務(wù)所必需的代碼和其他資源的可執(zhí)行文件。其多數(shù)情況下是帶有DLL擴展名的文件,但也可能是EXE或其他擴展名。動態(tài)鏈接提供了一種方法,使進程可以調(diào)用不屬于其可執(zhí)行代碼的函數(shù)。這些函數(shù)的可執(zhí)行代碼位于一個DLL中,該DLL包含一個或多個已被編譯、鏈接并與使用它們的進程分開存儲的函數(shù)。 內(nèi)部公開 ZTE Corporation. All rights reserved.C#調(diào)用labVIEW dll文件函數(shù)和過程的代碼就在程序的exe文件中,該文件包含了運行時所需的全部代碼。當多個程序都調(diào)用相同函數(shù)時,內(nèi)存中就會存在這個函數(shù)的多個拷貝,這樣就浪費了寶貴的內(nèi)存資源。而動態(tài)鏈接所調(diào)用的

15、函數(shù)代碼并沒有被拷貝到應(yīng)用程序的可執(zhí)行文件中去,而是僅僅在其中加入了所調(diào)用函數(shù)的描述信息(往往是一些重定位信息)。僅當應(yīng)用程序被裝入內(nèi)存開始運行時,在Windows的管理下,才在應(yīng)用程序與相應(yīng)的DLL之間建立鏈接關(guān)系。當要執(zhí)行所調(diào)用DLL中的函數(shù)時,根據(jù)鏈接產(chǎn)生的重定位信息,Windows才轉(zhuǎn)去執(zhí)行DLL中相應(yīng)的函數(shù)代碼 內(nèi)部公開 ZTE Corporation. All rights reserved.labVIEW打包dll文件首先編寫一個vi,建立新的項目文件,右鍵點擊項目管理器中的程序生成規(guī)范,選擇共享庫(dll),彈出對dll文件進行設(shè)置的對話框。 內(nèi)部公開 ZTE Corporation. All rights reserved.labVIEW打包dll文件 內(nèi)部公開 ZTE Corporation. All rights reserved.labVIEW打包dll文件 內(nèi)部公開 ZTE Corporation. All rights reserved.labVIEW打包dll文件 內(nèi)部公開 ZTE Corporation. All rights reserved.調(diào)用labVIEWdll文件首先將先前生成Scale .DLL文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論