




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GFRP筋-重晶石防輻射混凝土粘結(jié)性能試驗研究
- 關(guān)漢卿《救風(fēng)塵》的電視劇改編研究
- 創(chuàng)客大賽培訓(xùn)
- 兒童肺炎合并心衰補(bǔ)液診療要點
- 肺患者健康宣教
- 家庭科學(xué)教育實施策略
- 頤和園介紹課件
- 健康傳播常用方法
- 小班培訓(xùn)詐騙案例分享
- 預(yù)防要先行班會課件
- 中國移動公開競聘考試題庫(含答案)
- DLT 572-2021 電力變壓器運(yùn)行規(guī)程
- HJ 636-2012 水質(zhì) 總氮的測定 堿性過硫酸鉀消解紫外分光光度法
- 成都市2022級(2025屆)高中畢業(yè)班摸底測試(零診)數(shù)學(xué)試卷(含答案)
- 社會主義核心價值觀融入幼兒園班級管理課程教學(xué)探索
- 《公平競爭審查條例》微課
- 四年級下冊混合計算400題及答案
- 餐廳值班管理培訓(xùn)
- OQC出貨檢驗技能培訓(xùn)
- 旅游產(chǎn)業(yè)行業(yè)分析
- 2024年四川成都市第八人民醫(yī)院人員招聘13人歷年高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
評論
0/150
提交評論