freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于網(wǎng)絡的虛擬儀器測試系統(tǒng)設計畢業(yè)論文(更新版)

2025-08-05 20:49上一頁面

下一頁面
  

【正文】 ********************數(shù)據(jù)的轉換***************************************** int j=0。i2000。 for(int i=0。preamble[6],amp。//************************************preamble的采集*************************************** viPrintf(/*oscillograph*/m_Session,:waveform:preamble?\n)。而該數(shù)據(jù)點的個數(shù)是由指令:waveform:points來進行設定的。而對于測量的結果的顯示,我是通過一個彈出式信息對話框的形式來進行的,這樣做比較的簡明清楚。安捷倫并不推薦這種方式,因為循環(huán)等待的時間是會變化的,促使你的程序的崩潰。一旦初始化正確,就可以進行數(shù)據(jù)的采集工作了。4 示波器模塊 Agilent 54622D 100MHz混合信號示波器介紹Agilent 54622D混合信號示波器(MSO)具有100MHz 的帶寬,200MS/S采樣率, 2MB通道的MegaZoom深存儲器以及2+16通道有2個模擬通道和16個數(shù)字通道,組合了示波器對信號的詳盡分析和邏輯分析儀的多通道定時測量能力。這樣就比較的清晰。其中下面的語句給我?guī)砹艘欢ǖ膯栴}:nID_Select_Modul=GetCheckedRadioButton(IDC_RADIO_BW,IDC_RADIO_FM)。 break。CheckWaveRadioButton()。break。break。}void CGENERATER::OnRadioRamp() { (FALSE)。我懷疑是這個原因,于是對混亂的ID進行的重新的排序。而且還出現(xiàn)了跟另外一組的單選按鈕出現(xiàn)了沖突。在彈出時,各個參數(shù)都有其初始值以方便用戶。}}MessageBox(Successfully!)。 viPrintf(/*funcgen*/,FUNC:SQU:DCYC %f\n,m_nDcycle)。 switch(nID_Select_Modul)//對用戶通過單選按鈕選擇的調制參數(shù)的判斷 { case IDC_RADIO_BW://無調制情況 viPrintf(/*funcgen*/,OUTPut:LOAD %s\n,m_nResistance)。 viQueryf(vi,Freq?\n,%t,m_sFreq)。:APPL:RAMP注意:函數(shù)viPrintf()和viScanf()都是單向的傳送命令和數(shù)據(jù),而函數(shù)viQueryf()則是雙向的傳送數(shù)據(jù)和命令??梢钥闯龈袷交钍且曰剀嚪鳛橛|發(fā)命令的,只有\(zhòng)n才能使命令有效,舍去將視為字符串處理。freq 2000。有了界面和思路之后就可以進行底下的編程操作了。也可以通過進入相應的模塊操作之后來對該按鈕進行屏蔽操作。 函數(shù)信號發(fā)生器的界面以及編程構思因為我要完成三個模塊的設計:33250A函數(shù)信號發(fā)生器,54622D示波器以及E1412A萬用表的設計工作,所以最初的設計是設計一個主界面,通過三個按鈕的點擊來分別進入不同的模塊如下圖所示:圖3-6后來通過考慮,感覺這樣的設計不夠人性化和可操作性,也不太符合實際情況。當IO接口配置完之后,就可以使用Agilent VISA或Agilent SICL庫對分配的儀器進行編程了。其他兩個組件則用的不多。play標準的I/O應用程序和儀器驅動。如下所示: 圖3-1如下面的例子:GPIB接口系統(tǒng)由裝由兩個82350GPIB卡的PC機和三臺GPIB儀器通過GPIB電纜進行連接。在這種情況下,就可以使用VISA的格式化IO或非格式化IO含糊來對消息基器件進行編程。在VISA中也學習了幾個接口的編程。當你關閉一個會話時,所有為會話分配的數(shù)據(jù)結構都會被釋放掉。在我后來的編程過程中,也基本上就用到了這幾個函數(shù)的功能。vi)。接下來就是去了解VISA I/O庫?,F(xiàn)在通過達200MSa/s的采樣率,12bit分辨率和64K點的存儲器深度,您可建立無限多種信號,以精確適應您的應用要求。n 當準備查詢時,使用函數(shù)viWaitOnEvent來檢查隊列事件。VISA允許應用程序在同一個會話中對一種事件類型安裝多個句柄。事件不會被傳遞,除非相應的事件被啟用。VISA提供了格式化和非格式化的程序。首先,你必須通過默認資源管理器的viOpenDefaultRM函數(shù)來建立一個會話。傳遞給viGetAttribute函數(shù)的指針必須指向那個屬性的準確類型:ViUInt16,ViInt32,等等。 VISA編程 在VISA的編程中需要了解VISA的一些機制: VISA的資源和屬性、會話使用、發(fā)送I/O命令、使用事件與句柄、捕抓錯誤等等。 Agilent VISA 是一個IO庫,可以用來開發(fā)符合VXIpp標準的IO應用軟件和儀器的驅動。通過 Visual C++,可以方便的設計程序。 圖1-2與硬件結構相對應,軟件結構可分為網(wǎng)絡測控系統(tǒng)控制主模塊,是系統(tǒng)控制的中樞,連接和控制各子模塊;虛擬信號源、虛擬萬用表和虛擬示波器等模塊,是控制相應臺式儀器,使其完全能處于遠程虛擬控制狀態(tài),給測控對象提供激勵信號,并監(jiān)視受控對象輸出特性變化;虛擬VXI儀器和信號調理模塊是控制SCXI和VXI硬件模塊儀器進行模擬量數(shù)據(jù)采集與開關量對象控制,包括數(shù)據(jù)處理;圖象采集模塊,;網(wǎng)絡通信模塊承擔不同總線模塊與主模塊之間的數(shù)據(jù)傳輸與通信,也是實現(xiàn)本測控系統(tǒng)與遠程用戶之間的控制與數(shù)據(jù)傳送。Agilent IO庫允許通過LAN進行儀器的控制操作??蛻魴C是用戶與系統(tǒng)的交互接口,提供一個用戶界面,完成用戶命令與數(shù)據(jù)的輸入,顯示服務器送回的結果。一個大的復雜的測試系統(tǒng)由各個子系統(tǒng)組成,每個子系統(tǒng)一般在一個單位的小范圍內,因此可建立局域網(wǎng),然后將每個局域網(wǎng)互聯(lián),形成企業(yè)測量系統(tǒng)。對于有些危險的、環(huán)境惡劣的不適合人員操作的數(shù)據(jù)采集工作可實行遠程采集,將采集的數(shù)據(jù)放在服務器中供用戶使用。用戶可根據(jù)測試的需要,自己設計所需要的儀器系統(tǒng),利用一種或多種功能的通用模塊,調用不同功能的軟件模塊,組成不同的儀器功能。1 基于網(wǎng)絡的虛擬儀器測試系統(tǒng) 概述隨著計算機技術、通信技術與儀器技術的不斷發(fā)展,使得虛擬儀器得到了進一步發(fā)展,虛擬儀器將計算機資源與儀器硬件、數(shù)字信號處理技術結合,把廠家定義儀器功能的方式轉變?yōu)橛捎脩糇约憾x儀器功能。重要的數(shù)據(jù)實行多機備份,提高了系統(tǒng)的可靠性。根據(jù)測試系統(tǒng)各部分所處的地理位置和覆蓋的范圍不同可構建局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)??蛻魴C程序和服務器程序可以運行在一臺計算機中,也可運行在兩臺或多臺計算機中,Client程序與Server程序相互協(xié)同處理,一個測試系統(tǒng)由一個或承擔不同任務的多個客戶機與一個或多個服務器組成。設計時需考慮網(wǎng)絡的帶寬要滿足傳輸要求,并減少網(wǎng)絡數(shù)據(jù)傳輸量。網(wǎng)關包含了LAN服務器軟件,LAN(TCP/IP)軟件以及用于和客戶機通訊和控制儀器的儀器驅動軟件。 Visual C++ 在眾多的程序語言中,Visual C++。如果你使用新的儀器或開發(fā)IO應用程序以及儀器驅動的話,也應該使用VISA。一臺網(wǎng)絡計算機能夠通過網(wǎng)絡訪問配置VISA地址譬如GPIB接口地址上的儀器。通過使用viSetAttribute函數(shù)來修改指定的會話、事件或查找列表的讀寫屬性。會話必須在默認的資源管理器中被首先打開,接著是你將會使用的每一種資源。當你為一個器件建立一個通訊會話時,通過使用VISA的I/O程序來啟動與該器件的通訊。事件類型包括服務請求,中斷和硬件觸發(fā)??梢允褂煤瘮?shù)viInstallHandler安裝事件句柄,而使用函數(shù)viEnableEvent來啟動一個或多個事件。為了使用隊列法來接收事件發(fā)生時的通知消息,步驟如下:n 使用函數(shù)viEnableEvent來使能一個或多個事件。當標準信號還不能滿足您的要求時,33250A可簡化生成任意波形的過程,并贈強這些自定義信號的性能。 通過查看“自動測試系統(tǒng)”課本上的例子,對自己編寫函數(shù)信號發(fā)生器的界面有了一定的模型和認識。//打開地址為22的GPIB器件viOpen(defaultRM, GPIB0::22::INSTR,VI_NULL,VI_NULL,amp。}這里涉及到了5個VISA函數(shù):viOpenDefaultRM,viOpen,viPrintf,viScanf,viClose。函數(shù)viClose是用于關閉每一個會話的。頭文件和庫文件的搜索路徑也可以進行更改:選擇ToolsOptions點擊Directories按鈕,就可以對頭文件和庫文件的路徑進行更改了。接著,消息基器件就會解釋SCPI命令。PC機和儀器之間的通訊是通過GPIB卡和GPIB電纜來實現(xiàn)的。Agilent VISA――Agilent Virtual Instrument Software Architecture(VISA)是一個開發(fā)符合VXIplugamp。我在三個模塊的編程過程中,經(jīng)常通過該組建來了解相關的信息。IO Config分配一個接口名字和一個邏輯單元數(shù)字給一個硬件接口,就象其他接口配置參數(shù)一樣。對VISA和IO庫以及其相關的組件有了一定的認識之后,通過網(wǎng)上和書本上的資料了解了函數(shù)信號發(fā)生器的基本功能和相關的參數(shù),我便開始了界面的設計以及編程的構思。建立會話后,將會把建立會話按鈕變?yōu)殛P閉會話按鈕,來進行會話的關閉操作。這是一個最基本的函數(shù)信號發(fā)生器模塊,具備基本的功能參數(shù)。在指令的測試過程中,也遇到了一些問題:如viPrintf(funcgen,func:shape tri。而當我在AM:SOUR?\n加上一個回車符后,就可以執(zhí)行正確了。TRG\n連接多個SCPI命令時,使用分號和冒號(冒號表示不同的命令系統(tǒng))如:OUTP:LOAD 50。如果以這種方式執(zhí)行的話,執(zhí)行的結果是m_sFreq和m_sVolt是同一個值,當把語句改為如下的形式的時候就正常了:Cstring m_sFreq,m_sVolt。通過GetCheckedRadioButton()函數(shù)獲得。 viPrintf(/*funcgen*/,VOLT:OFFS %f\n,m_nOffs)。 break。當用戶選擇調制方式的時候,會彈出對話框以提供用戶的輸入操作:圖3-10可以看出在該界面中共有四種調制方式,也是最基本的調制方式。我現(xiàn)在遇到的問題就是,已經(jīng)將單選按鈕組合在一起了,也能實現(xiàn)單選了,可是,單擊的波形,與設計的并不一樣,也就是各個單選按鈕之間的功能出現(xiàn)了紊亂。并沒有順序的進行ID的定義。}void CGENERATER::OnRadioFwave() { (TRUE)。 case IDC_RADIO_FWAVE:m_nBaseShape=SQU。 case IDC_RADIO_PULSE:m_nBaseShape=PULSE。//設置同步信號注意:下面這個是一個子程序,用來對用戶的選擇進行判斷,并將用戶選擇的波形的相應的參數(shù)傳遞給一個字符串變量中。 if(error!=VI_SUCCESS) {error_handler(/*funcgen*/m_Session,error)。上面的程序中對方波進行了特別的處理,因為占空比只適合方波,所以對方波進行另行的處理。我就利用基本波作為調制波,而通過另外一組單選按鈕來進行載波的配置。在我的函數(shù)信號發(fā)生器的主面板中還有復位按鈕和測試硬件連接情況的按鈕,一切從用戶的方便操作來進行考慮。示波器的初始化建立通道配置和標簽,起始電壓,觸發(fā)配置以及時間軸與采集類型。你可以置示波器為運行模式,并在你的程序中使用一個等待循環(huán)來確保在你進行測量之前示波器至少完成了一個采集工作。而用戶有時需要對示波器的參數(shù)進行更改,所以需要提供給用戶一個設置參數(shù)的對話框。通過指令:waveform:unsigned,:waveform:byteorder,:waveform:format 中的任意一個指令來對二進制數(shù)據(jù)進行格式化操作。 viPrintf(/*oscillograph*/m_Session,:DIGITIZE %s\n,)。preamble[5],amp。 unsigned char temp[2000]。 for(i=18。至于這個我采用了別人給我的一個類,通過該類我可以比較輕松的進行數(shù)據(jù)的顯示工作。k++) { [k]=(((float)temp[k]preamble[9])*preamble[7]+preamble[8])*m_Y。 =+20。于是,我開始接觸線程,并去了解線程,并通過書本上的例子的練習,加深了解以及和同學進行探討,終于將問題得以解決。 ()。 Agilent E1412A 通過閱讀Agilent E1412A的用戶使用手冊,了解到Agilent E1412A能進行高精度的測量。最簡單的測量是通過使用MEASURE命令來進行的,該命令用來配置函數(shù),啟動測量和置數(shù)據(jù)于緩沖區(qū)以便計算機利用IO命令的讀取。每個測量以LF(換行符)結束。這里給出了程序的部分代碼如下://這里對萬用表的輸入輸出以及采樣進行設置,而這些參數(shù)的值是通過用戶界面中的//控件進行傳遞的viPrintf(/*multimeter*/,SAMPLE:COUNT%s\n,m_nStr_Sample)。 if(m_nID==0) { MessageBox(請先選擇測量參數(shù)!,提示信息,MB_OK)。//通過函數(shù)viScanf()來讀取讀取數(shù)據(jù),并通過一個彈出式信息框對測量結果進行顯示 char buff[1
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1