基于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ù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于C#的自動測試系統(tǒng)開發(fā),1,6/22/2020,引言,對現(xiàn)有基于C#語言的自動測試系統(tǒng)開發(fā)過程進(jìn)行分析 與基于LabVIEW語言的開發(fā)進(jìn)行對比 總結(jié)與建議,2,6/22/2020,目錄,儀器控制 程序編寫 總結(jié),目錄,儀器控制 程序編寫 總結(jié),儀器控制,一個完整的儀器控制系統(tǒng)除了包括計算機(jī)和儀器外,還必須建立儀器與計算機(jī)的通路以及上層應(yīng)用程序。通路包括總線和針對不同儀器的驅(qū)動程序,上層應(yīng)用程序用于發(fā)送控制命令。儀器控制包括儀器的數(shù)據(jù)采集、處理、分析、顯示和存儲。,5,6/22/2020,儀器控制,總線的選擇 獨立總線:T,16,6/22/2020,儀器控制,打開一個VISA會話 一個會話是

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

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

4、g.Text);,18,6/22/2020,儀器控制,發(fā)送數(shù)據(jù) 在創(chuàng)建了一個與儀器通信的會話之后,我們可以開始發(fā)送數(shù)據(jù)至該儀器,并讀回其響應(yīng)。在于基于消息的儀器的通信中最為常用的三項操作為查詢、寫入和讀取。查詢操作將一個命令寫入到一個儀器并讀回其響應(yīng)。在另一方面,寫入命令僅發(fā)送一個命令至儀器,而讀取命令從儀器讀取信息。下述代碼片斷展示了如何使用查詢操作:,19,6/22/2020,程序編寫,20,6/22/2020,程序編寫,21,6/22/2020,程序編寫,22,6/22/2020,程序編寫,23,6/22/2020,程序編寫,在C#編程處理中,編寫的windows應(yīng)用程序都依賴于OPP(

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

6、序編寫,對象建模技術(shù)、面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計共同構(gòu)成了系統(tǒng)設(shè)計的過程。,28,6/22/2020,程序編寫,29,6/22/2020,總結(jié),開發(fā)時間短,易用性高; 效率高; 實現(xiàn)并行; 工業(yè)控制系統(tǒng)首選,30,6/22/2020,C#調(diào)用labVIEW dll文件,DLL(動態(tài)鏈接庫)文件是Dynamic Link Library的縮寫形式,是一種允許程序共享執(zhí)行特殊任務(wù)所必需的代碼和其他資源的可執(zhí)行文件。其多數(shù)情況下是帶有DLL擴(kuò)展名的文件,但也可能是EXE或其他擴(kuò)展名。 動態(tài)鏈接提供了一種方法,使進(jìn)程可以調(diào)用不屬于其可執(zhí)行代碼的函數(shù)。這些函數(shù)的可執(zhí)行代碼位于一個DLL中,該DLL包含一

7、個或多個已被編譯、鏈接并與使用它們的進(jìn)程分開存儲的函數(shù)。,31,6/22/2020,C#調(diào)用labVIEW dll文件,函數(shù)和過程的代碼就在程序的exe文件中,該文件包含了運(yùn)行時所需的全部代碼。當(dāng)多個程序都調(diào)用相同函數(shù)時,內(nèi)存中就會存在這個函數(shù)的多個拷貝,這樣就浪費(fèi)了寶貴的內(nèi)存資源。而動態(tài)鏈接所調(diào)用的函數(shù)代碼并沒有被拷貝到應(yīng)用程序的可執(zhí)行文件中去,而是僅僅在其中加入了所調(diào)用函數(shù)的描述信息(往往是一些重定位信息)。僅當(dāng)應(yīng)用程序被裝入內(nèi)存開始運(yùn)行時,在Windows的管理下,才在應(yīng)用程序與相應(yīng)的DLL之間建立鏈接關(guān)系。當(dāng)要執(zhí)行所調(diào)用DLL中的函數(shù)時,根據(jù)鏈接產(chǎn)生的重定位信息,Windows才轉(zhuǎn)去執(zhí)

8、行DLL中相應(yīng)的函數(shù)代碼,32,6/22/2020,labVIEW打包dll文件,首先編寫一個vi,建立新的項目文件,右鍵點擊項目管理器中的程序生成規(guī)范,選擇共享庫(dll),彈出對dll文件進(jìn)行設(shè)置的對話框。,33,6/22/2020,labVIEW打包dll文件,34,6/22/2020,labVIEW打包dll文件,35,6/22/2020,labVIEW打包dll文件,36,6/22/2020,調(diào)用labVIEWdll文件,首先將先前生成Scale .DLL文件時,路徑下所有的文件全部復(fù)制粘帖到C#語言例程的文件夾下。打開程序,點擊項目屬性,在設(shè)置項里添加生成的dll文件的引用。,37,6/22/2020,調(diào)用

溫馨提示

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

評論

0/150

提交評論