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

正文內(nèi)容

基于網(wǎng)絡(luò)虛擬儀器測試系統(tǒng)的設(shè)計-文庫吧資料

2025-03-31 12:46本頁面
  

【正文】 DC)==IDC_RADIO_FWAVE) { viPrintf(/*funcgen*/,FUNC %s\n,m_nBaseShape)。//設(shè)置同步信號CheckWaveRadioButton()。 switch(nID_Select_Modul)//對用戶通過單選按鈕選擇的調(diào)制參數(shù)的判斷 { case IDC_RADIO_BW://無調(diào)制情況 viPrintf(/*funcgen*/,OUTPut:LOAD %s\n,m_nResistance)。下面列出了函數(shù)信號發(fā)生器的部分執(zhí)行代碼://這是一個switch語句,對用戶的調(diào)制方式的判斷,其中nID_Select_Modul保存的是用//戶選擇的調(diào)制方式的ID。這也表示SCPI查詢命令不允許執(zhí)行多個,只能一條一條的執(zhí)行,否則,最后的結(jié)果會是以最后一條查詢指令的結(jié)果。viQueryf(vi,Volt?\n,%t,m_sVolt)。 viQueryf(vi,Freq?\n,%t,m_sFreq)。SetDlgItemText(ID1,m_sVolt)。 viQueryf(vi,Volt?\n,%t,m_sVolt)。在我的測試命令以及組合發(fā)送命令過程中,我遇到這樣的問題:Cstring m_sFreq,m_sVolt。:APPL:RAMP注意:函數(shù)viPrintf()和viScanf()都是單向的傳送命令和數(shù)據(jù),而函數(shù)viQueryf()則是雙向的傳送數(shù)據(jù)和命令。OUTP:LOAD INF\n 又如:TRIG:SOUR BUS?!璡n可以看出執(zhí)行指令都加上了回車符(對于象這樣的一串執(zhí)行指令,也可以在末尾加\n來執(zhí)行――只是需要使用分號來進(jìn)行隔開,用逗號和空格均不行)下面是復(fù)位按鈕的執(zhí)行代碼: 圖3-9原理是通過向儀器發(fā)送IDN的SCPI指令根據(jù)函數(shù)返回值來進(jìn)行判斷,并給出相關(guān)的信息提示用戶。FREQ freq\n。可以看出格式化命令是以回車符作為觸發(fā)命令的,只有\(zhòng)n才能使命令有效,舍去將視為字符串處理。注意:該語句是沒有錯誤,但是好像就沒有起到預(yù)期的效果。譬如,下面一條語句:viQueryf(funcgen,AM:SOUR?,buf)。這條指令就有問題,只能顯示三角波,但是后面的參數(shù)就沒有根據(jù)我的指定來進(jìn)行顯示。freq 2000。在函數(shù)信號發(fā)生器的編程過程中,經(jīng)常需要用到這個函數(shù),還有格式化輸入函數(shù):viScanf()。譬如,如果希望產(chǎn)生一個正弦波,則輸入下面的語句既可:viPrintf(funcgen,function :shape sin\n)。我于是參看了33250A 80MHz的函數(shù)/任意波形發(fā)生器的電子資料以及網(wǎng)上關(guān)于該儀器的操作的SCPI指令。有了界面和思路之后就可以進(jìn)行底下的編程操作了。基本上界面是根據(jù)信號發(fā)生器的信號的產(chǎn)生過程及順序以及編程的思路來進(jìn)行安排的,界面的定型也就意味著自己的編程思路已經(jīng)基本成型了!下面是自己的編程思路結(jié)構(gòu):進(jìn)入模塊各個參數(shù)初始化用戶對參數(shù)的手動設(shè)置正弦波,無調(diào)制等的設(shè)置執(zhí)行命令硬件的測試和復(fù)位操作成功或失敗給出提示信息返回操作界面給出提示信息失敗成功以上就是我的函數(shù)信號發(fā)生器的編程思想和設(shè)計思路。從整體上看,符合人們的操作習(xí)慣。函數(shù)信號發(fā)生器模塊的界面如下:圖3-8在該模塊中可以完成幾種基本波形的產(chǎn)生以及各種基本的調(diào)試功能:正弦波,三角波,方波,鋸齒波,任意波等;調(diào)幅,調(diào)頻,脈沖調(diào)制,頻移鍵控;可以修改頻率,幅度,偏置以及占空比;可以配置輸出阻抗何同步信號。也可以通過進(jìn)入相應(yīng)的模塊操作之后來對該按鈕進(jìn)行屏蔽操作。會話是否成功的建立會給出提示信息,以確保用戶的正確操作和使用。開始是,建立會話是處于屏蔽狀態(tài),通過查找資源按鈕來進(jìn)行資源的查找工作,并將查找到的資源一一的列在列表框中。從主界面上可以一目了然的知道軟件的功能。 函數(shù)信號發(fā)生器的界面以及編程構(gòu)思因為我要完成三個模塊的設(shè)計:33250A函數(shù)信號發(fā)生器,54622D示波器以及E1412A萬用表的設(shè)計工作,所以最初的設(shè)計是設(shè)計一個主界面,通過三個按鈕的點擊來分別進(jìn)入不同的模塊如下圖所示:圖3-6后來通過考慮,感覺這樣的設(shè)計不夠人性化和可操作性,也不太符合實際情況。圖3-5對PCI接口82350和82341ISA接口的配置也是類似。在出現(xiàn)的窗口中設(shè)置VISA 接口名字,SICL接口名字,邏輯單元以及總線地址。圖3-3譬如對GPIB(82357USB)接口進(jìn)行配置,為了對82357USB/GPIB接口進(jìn)行配置,啟動IO Config組件,并在左邊的有效接口類型中選中GPIB 82357USB to GPIB如下圖:圖3-4如果在你的系統(tǒng)中有多個82357接口,則在配置窗口中會顯示出來。當(dāng)IO接口配置完之后,就可以使用Agilent VISA或Agilent SICL庫對分配的儀器進(jìn)行編程了。這個信息在VISA程序中被函數(shù)viOpen作為一個參數(shù)進(jìn)行調(diào)用或在SICL程序中被函數(shù)iopen進(jìn)行調(diào)用。IO Config組件使用的目的是將一個唯一的軟件接口名字和一個硬件接口聯(lián)系起來。了解了IO庫的介紹性知識,隨后又對如何利用IO庫對接口進(jìn)行配置的章節(jié)進(jìn)行的閱讀。其他兩個組件則用的不多。也可以通過它來了解到連接的相關(guān)情況。而VISA助手則是一個應(yīng)用程序,可以控制和與VXI,GPIB以及Serial儀器進(jìn)行通訊。四個IO配置組建中的IO配置是被Agilent IO庫用來對儀器的IO硬件接口進(jìn)行配置。play標(biāo)準(zhǔn)的I/O應(yīng)用程序和儀器驅(qū)動。兩個庫為Agilent VISA 和Agilent SICL。從Agilent IO 的安裝向?qū)DF電子資料中了解到了相關(guān)的知識點,也知道了該庫的重要作用。這樣VISA庫就可以對其進(jìn)行尋址操作了,如下圖:圖3-2而其他的接口類型的配置與連接也是大同小異。如下所示: 圖3-1如下面的例子:GPIB接口系統(tǒng)由裝由兩個82350GPIB卡的PC機和三臺GPIB儀器通過GPIB電纜進(jìn)行連接。下面是一個關(guān)于GPIB接口的示意圖:一臺裝有多個GPIB卡(PCI和ISA)的PC機和通過GPIB電纜與GPIB卡相連的多臺GPIB儀器組成。因此,只有通過寄存器的PEEK和POKE命令直接對器件的寄存器進(jìn)行編程。VISA提供兩個不同的方法對寄存器進(jìn)行編程:高級內(nèi)存函數(shù)或低級內(nèi)存函數(shù)。在這種情況下,就可以使用VISA的格式化IO或非格式化IO含糊來對消息基器件進(jìn)行編程。當(dāng)使用VISA時,你利用VISA的輸出函數(shù)來發(fā)送SCPI命令。你必須知道你所要進(jìn)行的編程的儀器時基于消息基還是寄存器基的VXI器件。通過這三種接口可以對GPIB和VXI器件進(jìn)行編程。在VISA中也學(xué)習(xí)了幾個接口的編程。換一種方法是,直接添加庫到你的工程文件夾中。對VC編譯器配置如下:選擇ProjectSettings并選擇C/C++按鈕,從類型列表中選擇Code Generation,從運行庫列表中選擇MultiThreaded using DLL。通過閱讀VISA手冊,懂得如何配置VC參數(shù)從而可以正常的進(jìn)行操作。當(dāng)你關(guān)閉一個會話時,所有為會話分配的數(shù)據(jù)結(jié)構(gòu)都會被釋放掉。而函數(shù)viPrintf和viScanf這兩個函數(shù)在用的編程中的比例是最多的,我發(fā)送SCPI指令就是通過這兩個函數(shù)來進(jìn)行的。這個函數(shù)初始化資源管理器,并返回該會話的指針。這個函數(shù)很重要,因為你如果需要跟一個器件通訊,就必須通過該函數(shù)來進(jìn)行會話的建立。在我后來的編程過程中,也基本上就用到了這幾個函數(shù)的功能。//關(guān)閉會話viClose(defaultRM)。//讀取結(jié)果printf(Instrument identification string: %s\n, buf)。//初始化器件viPrintf(vi, *IDN?\n)。vi)。defaultRM)。//變量的聲明char buf [256] = {0}。如下給出的程序: 這個例子程序的功能是查詢GPIB器件的型號,并輸出結(jié)果。接下來就是去了解VISA I/O庫。并通過閱讀了解了遠(yuǎn)程控制儀器的方法(通過VISA I/O庫對輸入輸出操作的支持,并使用該儀器的SCPI-standard mand for programmable instrument命令來對儀器進(jìn)行相關(guān)的操作。所以,上網(wǎng)去搜索關(guān)于該型號的資源。(可編程) 時鐘基準(zhǔn)外部鎖定范圍10MHz177。~+360176。1%設(shè)置值177。現(xiàn)在通過達(dá)200MSa/s的采樣率,12bit分辨率和64K點的存儲器深度,您可建立無限多種信號,以精確適應(yīng)您的應(yīng)用要求。標(biāo)準(zhǔn)輸出包括正弦波、方波、斜波、噪聲波、sin(x)/x、真流和其它波形。直接數(shù)字合成技術(shù)能獲得穩(wěn)定、精確和低失真的輸出信號。如果指定的事件沒有發(fā)生,應(yīng)用程序掛起直至指定的事件發(fā)生或指定的超時時間到來。n 當(dāng)準(zhǔn)備查詢時,使用函數(shù)viWaitOnEvent來檢查隊列事件。 當(dāng)你的應(yīng)用程序捕需要及時相應(yīng)時,隊列法通常被使用。VISA指出,句柄的調(diào)用的順序是后進(jìn)先出的順序。每次調(diào)用添加到前面的句柄列表中。VISA允許應(yīng)用程序在同一個會話中對一種事件類型安裝多個句柄。當(dāng)使能事件發(fā)生時,安裝的事件句柄會被調(diào)用。當(dāng)事件發(fā)生時,有兩種方式來接收通知消息:函數(shù)回調(diào)法和隊列法 當(dāng)一個事件需要立即相應(yīng)時,可以使用回調(diào)函數(shù)法。因此,你只能使用函數(shù)ViEnableEvent來使用隊列機制。事件不會被傳遞,除非相應(yīng)的事件被啟用。 事件是那些需要你的應(yīng)用程序關(guān)注的特指事件。通過非格式化I/O,數(shù)據(jù)并不進(jìn)行格式化或相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)被存在數(shù)據(jù)緩沖器中,因此是接口的通訊得到最大的優(yōu)化。VISA提供了格式化和非格式化的程序。你如果關(guān)閉默認(rèn)的資源管理器會話,則所有被該會話打開的會話將會被關(guān)閉。接下來,你利用viOpen函數(shù)對指定的資源打開一個會話。你僅需要打開默認(rèn)資源管理器一次就可以了。首先,你必須通過默認(rèn)資源管理器的viOpenDefaultRM函數(shù)來建立一個會話。 而關(guān)于會話,會話其實是一個通訊通道。如果ViString被返回,你必須分配一個數(shù)組和傳遞那個數(shù)組的指針給那個返回的數(shù)值。傳遞給viGetAttribute函數(shù)的指針必須指向那個屬性的準(zhǔn)確類型:ViUInt16,ViInt32,等等。有只讀和讀寫的屬性。你可以使用屬性來決定資源或會話的狀態(tài)或設(shè)置資源或會話為指定的狀態(tài)。對于一個完善的VISA系統(tǒng),VISA定義完全符合VXI即插即用聯(lián)盟的規(guī)范的六種資源類可以被執(zhí)行。 VISA編程 在VISA的編程中需要了解VISA的一些機制: VISA的資源和屬性、會話使用、發(fā)送I/O命令、使用事件與句柄、捕抓錯誤等等。在Windows NT中,對VXI接口支持的VISA僅能運行在Agilent 嵌入式的VXI控制器產(chǎn)品中。C,C++和Visual Basic在這些系統(tǒng)中都被支持。因此,不同廠商開發(fā)的應(yīng)用軟件可以在同一個系統(tǒng)中運行。 Agilent VISA 是一個IO庫,可以用來開發(fā)符合VXIpp標(biāo)準(zhǔn)的IO應(yīng)用軟件和儀器的驅(qū)動。 如果你想在你的應(yīng)用程序中使用VXIpp儀器驅(qū)動或者是想是自己開發(fā)的IO應(yīng)用軟件或儀器驅(qū)動能符合VXIpp的標(biāo)準(zhǔn),就需要使用VISA。Agilent IO庫由兩個部分組成:VISA和SICL。 IDE的集成開發(fā)環(huán)境界面IDE就是Integrated Development Enviroment的縮寫,是將程序代碼的編寫(editor)、編譯(Compiler)、執(zhí)行(execution)以及糾錯(debug)等功能匯集一身的單一整合性的界面,提供程序開發(fā)過程所需要的相關(guān)或擴展服務(wù),讓用戶只需要通過此環(huán)境便可以輕松完成程序工程。通過 Visual C++,可以方便的設(shè)計程序。Visual C++,給用戶的開發(fā)以很大的靈活性。2 開發(fā)工具和Agilent VISA庫介紹 Visual C++。下面的第三章至第五章介紹的就是函數(shù)信號發(fā)生器、示波器以及萬用表模塊的設(shè)計和具體的編程。 圖1-2與硬件結(jié)構(gòu)相對應(yīng),軟件結(jié)構(gòu)可分為網(wǎng)絡(luò)測控系統(tǒng)控制主模塊,是系統(tǒng)控制的中樞,連接和控制各子模塊;虛擬信號源、虛擬萬用表和虛擬示波器等模塊,是控制相應(yīng)臺式儀器,使其完全能處于遠(yuǎn)程虛擬控制狀態(tài),給測控對象提供激勵信號,并監(jiān)視受控對象輸出特性變化;虛擬VXI儀器和信號調(diào)理模塊是控制SCXI和VXI硬件模塊儀器進(jìn)行模擬量數(shù)據(jù)采集與開關(guān)量對象控制,包括數(shù)據(jù)處理;圖象采集模塊,;網(wǎng)絡(luò)通信模塊承擔(dān)不同總線模塊與主模塊之間的數(shù)據(jù)傳輸與通信,也是實現(xiàn)本測控系統(tǒng)與遠(yuǎn)程用戶之間的控制與數(shù)據(jù)傳送?;窘Y(jié)構(gòu)如圖:圖1-1LAN軟件結(jié)構(gòu):該結(jié)構(gòu)中,包含了LAN客戶軟件和LAN軟件(TCP/IP)(用于訪問服務(wù)器—gateway)。反饋的信息包括數(shù)據(jù)和狀態(tài)等表明操作是否成功的信息。LAN軟件使用計算機的C/S模式,這種模式使得應(yīng)用程序(客戶)可以不用執(zhí)行所有的工作,相反,客戶機可以向另一臺儀器(服務(wù)器)發(fā)出某種請求。Agilent IO庫允許通過LAN進(jìn)行儀器的控制操作。第二,要保證數(shù)據(jù)在服務(wù)器和客戶機、客戶機間可靠的傳輸。C/S模式是一種開放式系統(tǒng)的協(xié)同處理工作模式。在一個測試系統(tǒng)
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1