版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
主講人:劉利
上海交通大學機電控制研究所交通大學控制課程系列
機械、動力、車輛專業(yè)選修課當前第1頁\共有106頁\編于星期五\0點第五章數(shù)據(jù)采集與儀器驅(qū)動5.1數(shù)據(jù)采集與控制系統(tǒng)構(gòu)成5.2數(shù)據(jù)采集VI的組織結(jié)構(gòu)5.3基于NI的DAQ系統(tǒng)的實現(xiàn)5.4非NI的DAQ系統(tǒng)的實現(xiàn)本章小結(jié)
6/16/2023當前第2頁\共有106頁\編于星期五\0點5.1數(shù)據(jù)采集、控制系統(tǒng)的構(gòu)成
采用基于PC的數(shù)據(jù)采集(dataacquisition,DAQ)、控制系統(tǒng)來完成實驗室研究和工業(yè)控制中的測控任務(wù)的方案配置是:
工控機+數(shù)據(jù)采集/控制卡+VB/VC/LabView編程,即:數(shù)據(jù)采集/控制卡:完成一般測試儀器的數(shù)據(jù)采集和控制功能,工控機系統(tǒng):完成一般測試儀器的數(shù)據(jù)分析、計算、顯示、輸出等功能。6/16/2023當前第3頁\共有106頁\編于星期五\0點數(shù)據(jù)采集控制系統(tǒng)的組成6/16/2023當前第4頁\共有106頁\編于星期五\0點模擬信號的數(shù)字化處理數(shù)據(jù)采集的核心過程就是將連續(xù)的模擬信號轉(zhuǎn)換成離散的數(shù)字信號采樣點太多,會占用大量內(nèi)存單元;采樣點太少,會使模擬信號的某些信息被丟失,出現(xiàn)失真現(xiàn)象6/16/2023當前第5頁\共有106頁\編于星期五\0點數(shù)據(jù)采集卡
數(shù)據(jù)采集卡的組成:①多路開關(guān):將各路信號輪流切換到放大器的輸入端,實現(xiàn)多參數(shù)多路信號的分時采集。②放大器:將前一級多路開關(guān)切換進入待采集信號放大(或衰減)至采樣環(huán)節(jié)的量程范圍內(nèi)。通常實際系統(tǒng)中放大器為增益可調(diào)的放大器,設(shè)計者可根據(jù)輸入信號不同的幅值選擇不同的增益倍數(shù)。
③采樣/保持器:取出待測信號在某一瞬時的值(即實現(xiàn)信號的時間離散化),并在A/D轉(zhuǎn)換過程中保持信號不變。如被測信號變化很緩慢可不用采樣/保持器。6/16/2023當前第6頁\共有106頁\編于星期五\0點④A/D轉(zhuǎn)換器:輸入的模擬量轉(zhuǎn)化為數(shù)字量輸出,并完成信號幅值的量化。隨著電子技術(shù)的發(fā)展,目前通常將采樣/保持器同A/D轉(zhuǎn)換器集成在一塊芯片上。以上四個部分都處在PC計算機的前向通道,完成對信號數(shù)據(jù)的采集、放大及模/數(shù)轉(zhuǎn)換任務(wù)。6/16/2023當前第7頁\共有106頁\編于星期五\0點需要注意的兩個問題1、是否使用Buffer?2、是否使用外觸發(fā)啟動、停止或同步操作?緩沖(Buffers):
緩沖指的是PC內(nèi)存的一個區(qū)域(不是數(shù)據(jù)采集卡上的FIFO緩沖),它用來臨時存放數(shù)據(jù)。使用BufferI/O的情況:需要采集或產(chǎn)生許多樣本,其速率超過了實際顯示、存儲到硬件,或?qū)崟r分析的速度。需要連續(xù)采集或產(chǎn)生AC數(shù)據(jù)(>10樣本/秒),并且要同時分析或顯示某些數(shù)據(jù)。采樣周期必須準確、均勻地通過數(shù)據(jù)樣本。6/16/2023當前第8頁\共有106頁\編于星期五\0點不使用BufferI/O的情況:數(shù)據(jù)組小,如每秒只從兩個通道之一采集一個數(shù)據(jù)點。需要縮減存儲器的開支。觸發(fā)(Triggering):觸發(fā)涉及初始化、終止或同步采集事件的任何方法。軟件觸發(fā):可以直接用軟件,例如使用布爾面板控制去啟動/停止數(shù)據(jù)采集。硬件觸發(fā):讓板卡上的電路管理觸發(fā)器,控制采集事件的時間分配,有很高的精確度。6/16/2023當前第9頁\共有106頁\編于星期五\0點下列情況使用軟件觸發(fā):
用戶需要對所有采集操作有明確的控制。事件定時不需要非常準確。下列情況使用硬件觸發(fā):采集事件定時需要非常準確。用戶需要削減軟件開支。采集事件需要與外部裝置同步。6/16/2023當前第10頁\共有106頁\編于星期五\0點輸入信號類型
不同信號的測量對采集系統(tǒng)的要求是不同的。輸入信號的種類:信號所運載信息很廣泛的,比如:狀態(tài)(state)、速率(rate)、電平(level)、形狀(shape)、頻率成分(frequencycontent)。根據(jù)信號運載信息方式的不同,可以將信號分為模擬或數(shù)字信號。數(shù)字(二進制)信號:開關(guān)信號、脈沖信號。模擬信號:直流、時域、頻域信號。6/16/2023當前第11頁\共有106頁\編于星期五\0點6/16/2023當前第12頁\共有106頁\編于星期五\0點1、數(shù)字信號開關(guān)信:信號運載的信息與信號的瞬間狀態(tài)有關(guān)。脈沖信號:信號包括一系列的狀態(tài)轉(zhuǎn)換,信息就包含在狀態(tài)轉(zhuǎn)化發(fā)生的數(shù)目、轉(zhuǎn)換速率、脈沖寬度。2、模擬信號模擬直流信號:靜止的或變化非常緩慢的模擬信號。直流信號最重要的信息是幅度.常見的直流信號有溫度、流速、壓力、應(yīng)變等采集系統(tǒng)在采集模擬直流信號時,需要有足夠的精度以正確測量信號電平,由于直流信號變化緩慢,用軟件計時就夠了,不需要使用硬件計時。6/16/2023當前第13頁\共有106頁\編于星期五\0點模擬時域信號
模擬時域信號的運載信息:電平隨時間的變化(波形形狀的特性,如斜度、峰值等),比如心臟跳動信號、視頻信號。測量時域信號的采集系統(tǒng)包括:一個A/D轉(zhuǎn)換器:A/D的分辨率要足夠高,保證采集數(shù)據(jù)的精度,帶寬要足夠高,用于高速率采樣;一個采樣時鐘電路:精確的采樣時鐘,用于以精確的時間間隔采樣;一個觸發(fā)器:觸發(fā)器使測量在恰當?shù)臅r間開始。6/16/2023當前第14頁\共有106頁\編于星期五\0點模擬頻域信號
模擬頻域信號與時域信號類似,然而,從頻域信號中提取的信息是基于信號的頻域內(nèi)容,而不是波形隨時間變化的特性。比如聲音信號、地球物理信號、傳輸信號等。用于測量一個頻域信號的系統(tǒng)必須有一個A/D、一個簡單時鐘和一個用于精確捕捉波形的觸發(fā)器。系統(tǒng)必須有必要的分析功能,用于從信號中提取頻域信息。為了實現(xiàn)這樣的數(shù)字信號處理,可以使用應(yīng)用軟件或特殊的DSP硬件來迅速而有效地分析信號。6/16/2023當前第15頁\共有106頁\編于星期五\0點信號連接方式
1、輸入信號的參考點:接地信號、浮動信號接地信號:輸入信號的一端直接接地,它的參考點是系統(tǒng)地(如建筑物的地或大地);最常見的接地信號是通過電源插座接入的設(shè)備。浮動信號:輸入信號是不連接到建筑物地等絕對參考點的電壓信號,浮動信號源常見的有:電池及其供電設(shè)備、熱電偶、變壓器等設(shè)備。6/16/2023當前第16頁\共有106頁\編于星期五\0點2、差分測量系統(tǒng)輸入信號的正負極分別接入兩個通道,所有輸入信號各自有自己的參考點。6/16/2023當前第17頁\共有106頁\編于星期五\0點3、參考地單端測量系統(tǒng)(RSE)用于測試浮動輸入信號。被測信號一端接模擬輸入通道,另一端(信號參考點)與系統(tǒng)地AIGND連接。6/16/2023當前第18頁\共有106頁\編于星期五\0點4、無參考地單端測量系統(tǒng)(NRSE)
它的一端接模擬輸入通道,另一端接一個公用參考端AISENSE,這個參考端電壓不一定于測量系統(tǒng)地AIGND相等。6/16/2023當前第19頁\共有106頁\編于星期五\0點數(shù)據(jù)采集卡的基本性能指標
數(shù)據(jù)采集卡的主要性能指標:1、模擬信號輸入部分
①
模擬輸入通道數(shù)。該參數(shù)表明數(shù)據(jù)采集卡所能夠采集的最多的信號路數(shù)。
②
信號的輸入方式。一般待采集信號的輸入方式有:l
單端輸入:即信號的其中一個端子接地。l
差動輸入:即信號兩端均浮地。l
單極性:信號幅值范圍為[0,A],A為信號最大幅值。l
雙極性:信號幅值范圍為[–A,A]。6/16/2023當前第20頁\共有106頁\編于星期五\0點③
模擬信號的輸入范圍(量程):
一般根據(jù)信號輸入特性的不同(單極性輸入還是雙極性輸入)有不同的輸入范圍。如對單極性輸入,典型值為0~10V,對雙極性輸入,典型值為–5V~5V。④
放大器增益:⑤
模擬輸入阻抗:采集卡固有參數(shù),一般不由用戶設(shè)置。6/16/2023當前第21頁\共有106頁\編于星期五\0點混疊干擾圖中采樣頻率500Hz,5個正弦波的頻率分別為100Hz,200Hz,300Hz,375Hz和400Hz。因為100Hz,200Hz的信號頻率小于fs/2,可以由離散信號還原出原始的正弦波連續(xù)信號。而300Hz,375Hz和400Hz的信號頻率都大于fs/2,故離散信號重構(gòu)原信號時形成了頻率不同于原信號頻率的信號,即混疊干擾
采樣速率:式中N為多通道數(shù)據(jù)采集系統(tǒng)的通道數(shù)。6/16/2023當前第22頁\共有106頁\編于星期五\0點位數(shù)b:
A/D轉(zhuǎn)換器輸出二進制數(shù)的位數(shù)。當輸入電壓由U=0增至滿量程值U=UH時,一個八位(b=8)A/D的數(shù)字輸出由八個“0”變?yōu)榘藗€“1”,共計變化2b個狀態(tài),故A/D轉(zhuǎn)換器產(chǎn)生一個最低有效位數(shù)字量的輸出改變量,相應(yīng)的輸入量Umin=1LSB=q(量化值)可由下式計算:分辨率:指數(shù)據(jù)采集卡可分辨的輸入信號最小變化量。
2023/6/16當前第23頁\共有106頁\編于星期五\0點采集卡基本參數(shù)以NI公司的PCI-6071E多功能采集卡為例,介紹采集卡的一般參數(shù):模擬輸入:64路單端/32路雙端,輸入范圍:±10V分辨率:12位采樣頻率:最高1.25M模擬輸出:2路,12位,1M,輸出范圍:±10V數(shù)字I/O:8路計數(shù)器:2路,24位,基準時鐘20MHz或100KHz6/16/2023當前第24頁\共有106頁\編于星期五\0點數(shù)據(jù)采集卡的參數(shù)設(shè)置
要使數(shù)據(jù)采集卡正確地實現(xiàn)數(shù)據(jù)采集的功能,必須根據(jù)實際測量的需要對一些參數(shù)進行正確設(shè)置。待設(shè)置的參數(shù)主要有數(shù)據(jù)采集卡的設(shè)備號、地址碼,此外,還有如下設(shè)置。1、模擬信號輸入部分①設(shè)置信號的輸入方式。單端輸入還是雙端輸入,單極性信號還是雙極性信號等。②選擇增益。根據(jù)輸入信號幅值范圍和分辨率的要求進行增益選擇。③選擇量程。根據(jù)輸入信號是單極性還是雙極性,相應(yīng)選擇合適的量程。6/16/2023當前第25頁\共有106頁\編于星期五\0點2、A/D轉(zhuǎn)換部分①設(shè)定信號輸入通道號。②設(shè)定采樣點數(shù)。③設(shè)定采樣速率。④采樣結(jié)果的輸出方式。采樣結(jié)果可放在一個數(shù)組中,也可放在某一緩沖區(qū)中。⑤采樣觸發(fā)方式。一般分外觸發(fā)、定時觸發(fā)、軟件觸發(fā)等3、D/A轉(zhuǎn)換部分①模擬信號的輸出通道號。②模擬信號的輸出幅值。此參數(shù)應(yīng)設(shè)置在標稱滿量程范圍內(nèi)。③刷新速率。該參數(shù)決定所產(chǎn)生的模擬信號波形的“光滑度”。最快刷新速率的倒數(shù)即為響應(yīng)時間。6/16/2023當前第26頁\共有106頁\編于星期五\0點5.2DataAcquisitionVI的組織結(jié)構(gòu)
在LabVIEW平臺,用軟件驅(qū)動I/O接口數(shù)據(jù)采集卡,實現(xiàn)數(shù)據(jù)采集分以下兩種情況:
LabVIEW支持的數(shù)據(jù)采集卡:如NI公司自行生產(chǎn)的各類數(shù)據(jù)采集卡,可利用LabVIEW自帶的驅(qū)動函數(shù)驅(qū)動。設(shè)計者只需正確設(shè)置輸入?yún)?shù)就可實現(xiàn)數(shù)據(jù)采集的任務(wù),而不需編寫代碼程序。LabVIEW不支持的數(shù)據(jù)采集卡:可利用LabVIEW的代碼嵌入功能(CIN模塊)等來實現(xiàn)采集卡的軟件驅(qū)動。6/16/2023當前第27頁\共有106頁\編于星期五\0點
LabVIEW數(shù)據(jù)采集模塊的分類
LabVIEW的功能模板(FunctionsPalette)提供了DataAcquisition驅(qū)動數(shù)據(jù)采集卡DAQ子模板,該子模板提供了六個子模塊,如圖所示。6/16/2023當前第28頁\共有106頁\編于星期五\0點DataAcquisition子模板上的圖標及名稱6/16/2023當前第29頁\共有106頁\編于星期五\0點A/D部分易用函數(shù)中級函數(shù)高級函數(shù)實用函數(shù)6/16/2023當前第30頁\共有106頁\編于星期五\0點(1)易用函數(shù)
1.波形輸入AIAcquireWaveform.vi圖標及端口參數(shù)(單通道單點采樣)6/16/2023當前第31頁\共有106頁\編于星期五\0點2多波形圖標及其輸入、輸出端口參數(shù)
6/16/2023當前第32頁\共有106頁\編于星期五\0點(2)中級函數(shù)
1.AIConfig.vi圖標及其輸入、輸出端口參數(shù)
6/16/2023當前第33頁\共有106頁\編于星期五\0點2.AIStart.vi圖標及其輸入、輸出端口參數(shù)
6/16/2023當前第34頁\共有106頁\編于星期五\0點3.AIRead.vi圖標及其輸入、輸出端口參數(shù)
6/16/2023當前第35頁\共有106頁\編于星期五\0點4.AIClear.vi圖標及其輸入、輸出端口參數(shù)
6/16/2023當前第36頁\共有106頁\編于星期五\0點LabVIEW中的模擬輸入6/16/2023當前第37頁\共有106頁\編于星期五\0點連續(xù)模擬輸入6/16/2023當前第38頁\共有106頁\編于星期五\0點連續(xù)模擬輸入需要注意,程序讀取數(shù)據(jù)的速度要不慢于設(shè)備往緩沖區(qū)中存放數(shù)據(jù)的速度,這樣才能保證連續(xù)運行時,緩沖區(qū)中的數(shù)據(jù)不會溢出??梢酝ㄟ^調(diào)節(jié)以下3個參數(shù)來達到上述要求:buffersize(緩存的大?。﹕canrate(采樣速率)numberofscanstoreadatatime(每次讀取的樣本數(shù))連續(xù)采集的程序模型為:6/16/2023當前第39頁\共有106頁\編于星期五\0點連續(xù)模擬輸入程序?qū)嵗?/16/2023當前第40頁\共有106頁\編于星期五\0點LabVIEW中的模擬輸出6/16/2023當前第41頁\共有106頁\編于星期五\0點連續(xù)模擬輸出有兩種形式的連續(xù)模擬輸出:第一種就是在模擬輸出之前,將數(shù)字信號寫入緩沖區(qū)中,然后設(shè)備連續(xù)不斷地將緩沖區(qū)中的數(shù)據(jù)通過DAC重復(fù)輸出。這種連續(xù)模出執(zhí)行效率很高,但是需要寫入的數(shù)字信號必須是整周期的,不然輸出模擬信號將會不連續(xù),在使用上不夠靈活。6/16/2023當前第42頁\共有106頁\編于星期五\0點第二種方式:
在設(shè)備將緩沖區(qū)中數(shù)據(jù)輸出的同時,不斷地將數(shù)字信號寫入緩沖區(qū)中,這種方式在編程上比較復(fù)雜,但是靈活性比較高,只要保證這一次寫入緩沖區(qū)的數(shù)字信號和上次是連續(xù)的就行,不需要每次寫入的信號是整周期的。6/16/2023當前第43頁\共有106頁\編于星期五\0點LabVIEW中的數(shù)字I/O一般情況下,數(shù)字I/O按照TTL邏輯電平設(shè)計,其邏輯低電平在0到0.7V之間,高電平在3.4到5.0V之間;在硬件設(shè)備上,多路(Line)數(shù)字I/O組成一組后被稱為端口(Port)。一個端口由多少個數(shù)字通路組成是依據(jù)其設(shè)備而定的,在多數(shù)情況下8個數(shù)字通路組成一個端口;在LabVIEW中對數(shù)字I/O的操作非常簡單,可以對整個端口進行操作,也可以對端口中的一路或多路同時進行操作。6/16/2023當前第44頁\共有106頁\編于星期五\0點5.3基于的NIDAQ系統(tǒng)的實現(xiàn)
I/O接口設(shè)備Lab–PC–1200型數(shù)據(jù)采集卡的軟件驅(qū)動
連續(xù)信號的采集與顯示演示儀。
1.功能描述該信號的采集演示儀可以采集和顯示一路信號,參數(shù)為:頻率范圍:0~10kHz。幅值范圍:0.1~6V。采用Lab–PC–1200型卡,信號由第0通道輸入。6/16/2023當前第45頁\共有106頁\編于星期五\0點2.設(shè)計步驟在編寫VI之前,需在Measurement&Automation驅(qū)動軟件下,進行相關(guān)參數(shù)的設(shè)置。設(shè)置完畢后,進入LabVIEW進行前面板和流程圖的設(shè)計。
1)參數(shù)設(shè)置AI設(shè)置項:因為輸入信號幅值在0.1~6V,故選模擬信號輸入方式為有參考地單端輸入;量程為0~10V。6/16/2023當前第46頁\共有106頁\編于星期五\0點(a)前面板連續(xù)信號的采集與顯示演示儀6/16/2023當前第47頁\共有106頁\編于星期五\0點連續(xù)信號的采集與顯示演示儀(b)流程圖6/16/2023當前第48頁\共有106頁\編于星期五\0點幾種簡單的測試程序流程模型程序邏輯簡單,容易設(shè)計和理解1、順序測試程序的模型當前第49頁\共有106頁\編于星期五\0點2、數(shù)據(jù)采集和后續(xù)工作并行執(zhí)行的模型數(shù)據(jù)采集的速度一般來說高于處理和存儲的速度。當新數(shù)據(jù)被采集來,上次的數(shù)據(jù)可能還沒處理完呢。所以可以先把每次采集到的來不及處理的數(shù)據(jù)放在緩存里。當前第50頁\共有106頁\編于星期五\0點3、并行執(zhí)行每一任務(wù)的模型所有的任務(wù)同時運行:采集新的數(shù)據(jù)、處理上一次采到的數(shù)據(jù),顯示保存上一次處理好的數(shù)據(jù)。在這個模型下,要注意第一次循環(huán)運行時處理的數(shù)據(jù),和循環(huán)頭兩次運行顯示存儲的數(shù)據(jù)是無效的,實際循環(huán)終止條件式也要考慮到,采集的數(shù)據(jù)再兩次循環(huán)后才被保存下來。當前第51頁\共有106頁\編于星期五\0點5.4使用NIDAQ設(shè)備和LabVIEW構(gòu)造PID控制系統(tǒng)
PID是根據(jù)系統(tǒng)誤差利用比例/微分/積分計算出控制量進行控制。
1.PID控制系統(tǒng)結(jié)構(gòu)圖
6/16/2023當前第52頁\共有106頁\編于星期五\0點
2.PID控制算法P比例控制器:輸出僅與誤差成正比,即u(t)=Kpε(t),對誤差的反應(yīng)很快,但總是存在一個穩(wěn)態(tài)誤差。提高Kp值使穩(wěn)態(tài)誤差減小,還能夠增加系統(tǒng)的快速性;但使系統(tǒng)的穩(wěn)定程度變差。
I積分控制器:輸出與誤差信號的積分成正比,只要誤差還存在,就會不斷輸出,直到等于零,以達到消除穩(wěn)態(tài)誤差的目的。但積分必將影響系統(tǒng)的快速動態(tài)性能,對于一些系統(tǒng)會出現(xiàn)超調(diào)過大的現(xiàn)象。D微分控制器:輸出與誤差信號的變化率成正比,能預(yù)見誤差的變化趨勢,產(chǎn)生超前的控制作用。它僅對動態(tài)過程作用,通常不單獨使用。而且微分控制對噪聲干擾有放大作用,過強地調(diào)節(jié)微分項對系統(tǒng)抗干擾能力不利。
6/16/2023當前第53頁\共有106頁\編于星期五\0點3.LabVIEW中使用的PID控制工具包
安裝LabVIEWPIDControlTookit,即可在FunctionsPalette上選擇ControlDesign&Simulation,該工具包由10個VI組成。6/16/2023當前第54頁\共有106頁\編于星期五\0點PID.vi
利用PID.vi即可搭建一個簡單的PID控制器,在該vi的輸入端給入PID的3個參數(shù)值(PIDgains),系統(tǒng)反饋值(processvariable),實際期望值(setpoint)以及微分時間(dt),便能得到需要的輸出值(output)。該vi還能控制輸出值的范圍。6/16/2023當前第55頁\共有106頁\編于星期五\0點PIDAdvanced.vi:為專家PID設(shè)計的vi,增加了一些高級的功能,如可以設(shè)定期望值的范圍(setpointrange),手動控制(manualcontrol),線性化(linearity)等功能。PIDAutotuning.vi:為需要自整定的PID系統(tǒng)設(shè)計的,在給出一些基本要求后,具有自整定的功能PIDLead/Lag.vi:可以對PID控制器前端由系統(tǒng)反饋來的輸入信號做動態(tài)補償。PIDSetpointProfile.vi:可以在期望值間斷性變化時使其變得平滑。6/16/2023當前第56頁\共有106頁\編于星期五\0點PIDControlInputFilter.vi:一個五階的低通濾波器,放在PID控制器的processvariable前端,可以濾去小于采樣率十分之一的輸入值。PIDGainSchedule.vi:寫入幾組增益參數(shù),并給出條件,執(zhí)行時當輸入信號達到條件,便使用對應(yīng)的一組參數(shù)給入到PID控制器的PIDGains上。PIDOutputLimiter.vi:對PID控制器輸出信號的變化速率進行控制,以保證外部接受控制信號部件的安全。PIDEGUto%.vi和PID%toEGU.vi:對實際數(shù)值和其在設(shè)定工程單元范圍內(nèi)占的百分比進行轉(zhuǎn)換。6/16/2023當前第57頁\共有106頁\編于星期五\0點6/16/2023當前第58頁\共有106頁\編于星期五\0點5.5非NI公司的DAQ系統(tǒng)的實現(xiàn)1、直接調(diào)用LabVIEW驅(qū)動操作圖標
2、直接調(diào)用LabVIEW的端口操作圖標;
3、調(diào)用動態(tài)連接庫;
4、利用CIN圖標調(diào)用C語言驅(qū)動程序;6/16/2023當前第59頁\共有106頁\編于星期五\0點直接調(diào)用LabVIEW驅(qū)動操作圖標(研華)
6/16/2023當前第60頁\共有106頁\編于星期五\0點6/16/2023當前第61頁\共有106頁\編于星期五\0點直接調(diào)用LabVIEW的端口InPort/OutPort.Vi
LabVIEW中有兩個可直接訪問底層設(shè)備的圖標,即InPort.vi和OutPort.vi。分別完成從設(shè)備的物理地址直接讀取和輸出數(shù)據(jù)的功能。6/16/2023當前第62頁\共有106頁\編于星期五\0點InPort.vi、OutPort.vi圖標端口參數(shù)設(shè)置
1.InPort.vi圖標及其端口參數(shù)設(shè)置6/16/2023當前第63頁\共有106頁\編于星期五\0點該函數(shù)完成從指定地址讀取一個字節(jié)或一個字的操作,其輸入、輸出口參數(shù)及其含義為:輸入端口:
registeraddress:U32型。數(shù)據(jù)讀入端口的物理地址。readabyteoraword:Boolean型。當該值為True時,讀取一個字;當該值為False時,讀取一個字節(jié)。默認值為False。
輸出端口:value:U16型。該值是從指定端口讀取的字(或字節(jié))。6/16/2023當前第64頁\共有106頁\編于星期五\0點OutPort.vi圖標及其端口參數(shù)設(shè)置
該函數(shù)完成向指定地址寫入一個字或字節(jié)的操作。其輸入端口參數(shù)及其含義為:6/16/2023當前第65頁\共有106頁\編于星期五\0點
CLF(CallLibraryFunctionNode)
調(diào)用庫函數(shù)節(jié)點
Labview可以與多種類的編程語言進行混合開發(fā),通過Labview中兩類外部接口節(jié)點調(diào)用外部代碼.調(diào)用庫函數(shù)節(jié)點:調(diào)用外部動態(tài)鏈接庫DLL文件中的函數(shù);代碼接口節(jié)點:調(diào)用外部c語言代碼,CLF節(jié)點最為常用,配合其他C語言編譯器基本上可以取代CIN節(jié)點6/16/2023當前第66頁\共有106頁\編于星期五\0點動態(tài)鏈接庫DLL可以理解為一種存儲函數(shù)、變量或類的倉庫,供調(diào)用者使用。它具有這樣的特點:動態(tài)鏈接庫不用被包含在調(diào)用程序體內(nèi),而是在執(zhí)行時根據(jù)需要動態(tài)地加載或卸載,這樣不僅可以減少調(diào)用程序文件的體積,還可以增強調(diào)用的靈活性,并節(jié)省內(nèi)存占用量。DLL文件的創(chuàng)建與具體編程語言和編譯器無關(guān),可以便用VC、VB也可以使用Labview編寫DLL文件,只要遵守統(tǒng)一的DLL接口和調(diào)用規(guī)范,就可正常使用。動態(tài)鏈接庫DLL的特點6/16/2023當前第67頁\共有106頁\編于星期五\0點使用CLF節(jié)點調(diào)用windowsAPI函數(shù)實例
設(shè)計步驟:(1)新建一個空.vi并保存為“CLPAPI函數(shù).vi”,向框圖內(nèi)拖入一個CLF節(jié)點,在其右鍵菜單中選擇“配置.”項,彈出配置對話框;6/16/2023當前第68頁\共有106頁\編于星期五\0點(2)單擊對話框“函數(shù)”頁面中“庫名或路徑”框右側(cè)的打開文件按鈕,選揮“C:\WINDOWS\system32\user32d11”文件,LabVIEW會自動搜出該DLL中所包含的所有函數(shù),只需在“函數(shù)名”下拉列表今選擇即可。本例中選擇名為“MessageBoxA,的函數(shù),用于彈出一個標標準的Windows消息框。右側(cè)的“線程”單選框選為“在UI線程中運行’,“調(diào)用規(guī)范”單選框選為”stdcall(WINAPI)”。6/16/2023當前第69頁\共有106頁\編于星期五\0點(3)對話框“參數(shù)”頁面用于配置函數(shù)參數(shù),需根據(jù)所調(diào)用函數(shù)的原型來進行配置,由MSDN可知:MessageBoxA函數(shù)的原型:
IntMessageBoxA(HWNDhwnd,LpcTSTRlptext,LpcTsTRlpcaption,Uintwtype)其各個參數(shù)具體含義為
hwnd:創(chuàng)建消息框的父窗口的句柄,若為NuLL則沒有父窗口1pText:消息框牛的字符串.1pcaPtton:消息框標題Mtype:用于指定消息框所顯示圖標和按鈕的控制參數(shù)。(6/16/2023當前第70頁\共有106頁\編于星期五\0點使用該頁面中的右側(cè)下拉列表和左側(cè)的各個按鈕,將返回值和各個參數(shù)類型設(shè)置為:
Returetype:類型=數(shù)值,數(shù)據(jù)類型=無符號32位整型
hwnd:類型=數(shù)值,數(shù)據(jù)類型=無符號32拉整型,傳遞=值
1PText:類型=字符串,數(shù)據(jù)類型=C字符串指針
1pcaption:類型=字符串,數(shù)據(jù)類型=字符串指針
uType:類型=數(shù)值,數(shù)據(jù)類型=無符號32位整型,傳遞=值其他選項均使用默認值。(4)對話框“回調(diào)”頁面用于指定調(diào)用方式,在此使用默認配置即可。全部配置好之后單擊‘確定”按鈕進行確認,可以看到CLF節(jié)點增添了一些連接端子表示新添的參數(shù),添加適當?shù)某A炕蜃兞窟B接至各個參數(shù)。6/16/2023當前第71頁\共有106頁\編于星期五\0點5.5.4CIN(CodeInterfaceNode)CIN的設(shè)計步驟:(1)確定CIN圖標的輸入、輸出參數(shù)個數(shù)和數(shù)據(jù)類型。(2)生成C源代碼編輯格式文件。(3)在編輯格式文件中的規(guī)定位置(/*EnterYourCodeHere*/)填寫實現(xiàn)某種測量功能的C源代碼,生成最終的C源代碼文件。(4)在LabVIEW指定的環(huán)境下編譯步驟(3)中生成的C源代碼文件,并生成可執(zhí)行文件。(5)調(diào)用CIN的功能菜單將生成的可執(zhí)行文件載入CIN圖標。這樣就基本形成了一個具備某種功能的CIN圖標。6/16/2023當前第72頁\共有106頁\編于星期五\0點CIN圖標的調(diào)用及參數(shù)設(shè)置初始化時的CIN圖標如圖所示。CIN圖標中表格狀圖案的每一行代表一個參數(shù),左側(cè)為參數(shù)的輸入值,右側(cè)為CIN運行后該參數(shù)的返回值。參數(shù)1輸入口參數(shù)1返回值的輸出口有些情況下,有的參數(shù)只能作為輸出值,而沒有對應(yīng)的輸入。如實現(xiàn)c=a+b運算時,c是CIN的運行結(jié)果,它只能是輸出值,沒有對應(yīng)的輸入值,這時應(yīng)當將其對應(yīng)的輸入口置為無效。方法是,把鼠標放在相應(yīng)的輸入口,用鼠標右擊CIN圖標,彈出快捷菜單,從中選擇OnlyOutput項,則該輸入口變暗,表明其無效無效a返回值b返回值CIN輸出b輸入值a輸入值6/16/2023當前第73頁\共有106頁\編于星期五\0點生成C源代碼編輯格式文件(*.C文件)代碼框架
CIN圖標的快捷菜單中選擇Create.CFile…項,會彈出一個文件存儲對話框,鍵入文件名
則生成LabVIEW的C語言代碼框架;然后用任意一種文本編輯器將它打開。該C文件的代碼框架為*CINsourcefile*/注釋#include"extcode.h"CINMgErrCINRun(float64*a,float64*b,float64*c);函數(shù)聲明CINMgErrCINRun(float64*a,float64*b,float64*c) 函數(shù)體{
/*ENTERYOURCODEHERE*/填入C語言源代碼
returnnoErr; }6/16/2023當前第74頁\共有106頁\編于星期五\0點*.C文件源代碼的編譯
下面介紹在VC++集成環(huán)境下編譯*.C源代碼的具體步驟。(1)新建一個DLL工程文件,命名為Add。打開VC++開發(fā)平臺,執(zhí)行File>>New操作。①進行選項:win32DynamicLinkLibrary。②添加工程文件名:Add。③location:填寫工程文件的存放路徑。也可以采用其默認路徑D:\MicrosoftVisualStudio\MyProjects\。最后形成工程文件add.cpp。6/16/2023當前第75頁\共有106頁\編于星期五\0點(2)向工程文件中添加cin.obj、labview.lib、lvsb.lib、lvsbmain.def四個文件。執(zhí)行Project>>AddtoProject>>Files…操作,向工程文件添加上述四個文件。這四個文件在LabVIEW安裝路徑下的cintools文件夾下的win32子文件夾中。(3)向工程文件中添加上面的*.C源代碼文件add.c。添加方法同(2)。(4)*.C源代碼文件編譯前的設(shè)置。由菜單項Project>>Setting…打開設(shè)置對話框,逐項設(shè)置。①
Settingfor選項設(shè)置。AllConfiguration。②
C/C++標簽頁設(shè)置。用鼠標左擊C/C++標簽頁按鈕,逐項設(shè)置。6/16/2023當前第76頁\共有106頁\編于星期五\0點l
Category:由下拉菜單選擇為Preprocessor。Additionalincludedirectories:添加LabVIEW的cintools文件夾的路徑。假設(shè)LabVIEW安裝路徑為d:\LabVIEW,則在Additionalincludedirectories處添加路徑d:\LabVIEW\cintools\。l
Category:由下拉菜單另選為CodeGeneration。Strictmemberalignment:設(shè)置為1Byte。Userun-timelibrary:設(shè)置為MultithreadedDLL。6/16/2023當前第77頁\共有106頁\編于星期五\0點③CustomBuild標簽頁設(shè)置。用鼠標左擊CustomBuild標簽頁,逐項設(shè)置。l
Commands:輸入命令行如下:d:\labview\cintools\win32\lvsbutil$(TargetName)–d“$(WkspDir)\$(OurDir)”(假設(shè)LabVIEW的安裝路徑為:d:\labview。)l
Outputs:輸入命令行如下:$(OutDir)$(TargetName).lsb6/16/2023當前第78頁\共有106頁\編于星期五\0點(5)添加C源代碼程序??稍赪orkspacewizard窗口中雙擊add.c,打開源文件添加C源代碼。如果已經(jīng)添加過,則繼續(xù)下一步。(6)編譯*.C源代碼文件。在主菜單Build下選擇Compileadd.c選項,則進行add.c程序的編譯,如有語法等錯誤,則給出錯誤提示,按提示修改程序,重新編譯。重復(fù)這一過程,直至沒有錯誤。(7)生成可執(zhí)行文件。在主菜單Build下選擇BuildAdd.dll選項,即生成可執(zhí)行文件Add.lsb,同時生成如Add.dll等所需的全部文件6/16/2023當前第79頁\共有106頁\編于星期五\0點1.裝載可執(zhí)行文件到CIN圖標回到LabVIEW流程圖窗口,窗口中CIN圖標的快捷菜單如左圖所示。從中選擇LoadCodeResource…項,即彈出一個Chooseacoderesourcefile對話框,如右圖所示。按照Add.工程文件存入的路徑尋找Debug目錄下的Add.lsb文件,然后點擊“打開”按鈕,于是Add.lsb文件就裝入CIN圖標中。至此,就完成了CIN的全部設(shè)計過程,可運行程序。6/16/2023當前第80頁\共有106頁\編于星期五\0點5.5.3應(yīng)用舉例
用CIN圖標實現(xiàn)對HY–1232數(shù)據(jù)采集卡的驅(qū)動5.3.1HY–1232數(shù)據(jù)采集卡簡介
HY–1232是一種IBM–PCXT/AT總線兼容的數(shù)據(jù)采集卡,其主要性能指標如下:
32路單端模擬輸入通道;
A/D分辨率為12bit;1路模擬輸出通道;D/A分辨率為12bit;D/A輸出上電清零;模擬輸入電壓范圍:5V;模擬輸出電壓范圍:5V或0~+5V;軟件觸發(fā)方式;數(shù)據(jù)傳輸方式采用軟件查詢方式和中斷方式。6/16/2023當前第81頁\共有106頁\編于星期五\0點HY–1232數(shù)據(jù)采集卡工作原理
對于HY–1232數(shù)據(jù)采集卡,在選通某模擬信號輸入通道的同時即啟動了該路的A/D轉(zhuǎn)換。當A/D轉(zhuǎn)換完成時,采集卡上的轉(zhuǎn)換完成位寄存器的最高位(D7)被置為“1”。用軟件查詢方式查詢該寄存器的D7位,當查詢到該位為“1”時,即表明采樣已結(jié)束,可將12bit的數(shù)據(jù)讀入計算機內(nèi)存中。如果采用中斷方式,則在A/D轉(zhuǎn)換完成后,采集卡會自動向計算機發(fā)出中斷請求信號。在中斷服務(wù)程序內(nèi),將12bit數(shù)據(jù)讀入計算機內(nèi)存。6/16/2023當前第82頁\共有106頁\編于星期五\0點HY–1232數(shù)據(jù)采集卡中采用的是12位A/D轉(zhuǎn)換器,轉(zhuǎn)換完畢的12位二進制數(shù)中的低八位AD7、AD6…AD1、AD0存放在低八位緩沖寄存器中,其高四位AD11、AD10、AD9、AD8存放在高四位緩沖寄存器中。
HY–1232數(shù)據(jù)采集卡有32路單端模擬輸入通道,由八位輸入通道選擇寄存器低六位(C4、C3、C2、C1、C0)的二進制狀態(tài)字選擇被測信號的輸入通道。例如,選擇第4通道輸入信號的二進制狀態(tài)字為00100。表5-1列入了各寄存器的讀/寫操作功能與占用地址。6/16/2023當前第83頁\共有106頁\編于星期五\0點表5–1HY–1232數(shù)據(jù)采集卡板基地址分配與寄存器讀/寫操作功能6/16/2023當前第84頁\共有106頁\編于星期五\0點采集卡參數(shù)設(shè)置
(1)確定采集卡的板基地址。板基地址是CPU分配給采集卡內(nèi)存空間的首地址。首地址后面的內(nèi)存空間供采集卡內(nèi)部寄存器分配使用。
HY–1232數(shù)據(jù)采集卡板基地址的可選范圍為:200H~3FFH(512~1023)。通常選0x280,即280H(640)。
(2)確定信號的輸入方式。選擇設(shè)置信號是單端輸入還是雙端輸入,單極性信號還是雙極性信號。HY–1232數(shù)據(jù)采集卡只有32路單端輸入一種方式,故不需要用戶來設(shè)置。6/16/2023當前第85頁\共有106頁\編于星期五\0點(3)設(shè)置信號的輸入范圍。根據(jù)輸入信號幅值范圍和分辨率的要求進行選擇。HY–1232數(shù)據(jù)采集卡信號輸入范圍不可選,只能為–5V~+5V,且內(nèi)部的放大器增益固定為1。
(4)確定采樣觸發(fā)方式。一般分外觸發(fā)、定時觸發(fā)、軟件觸發(fā)等幾種方式。但對于HY–1232采集卡,只有軟件觸發(fā)一種方式,即在往輸入通道寄存器寫入所選通道號的同時即觸發(fā)了A/D轉(zhuǎn)換。6/16/2023當前第86頁\共有106頁\編于星期五\0點(5)A/D轉(zhuǎn)換結(jié)束的判斷。對于HY–1232采集卡分查詢方式和中斷方式兩種。
(6)采樣速率的設(shè)置。對于有些數(shù)據(jù)采集卡(如Lab–PC–1200卡),用戶可在其最大采樣速率范圍內(nèi)進行選擇設(shè)置,以滿足實際的需要。但HY–1232數(shù)據(jù)采集卡的采樣速率是固定的,用戶不可選。
(7)設(shè)置信號輸入通道。在0~31可選范圍內(nèi)選擇。
(8)設(shè)置一次采集點數(shù)。6/16/2023當前第87頁\共有106頁\編于星期五\0點圖2HY–1232數(shù)采卡單點數(shù)據(jù)采集程序流程圖采集程序流程圖與編程要點1.流程圖HY–1232數(shù)采卡單點數(shù)據(jù)采集程序流程圖如圖2所示。6/16/2023當前第88頁\共有106頁\編于星期五\0點2.數(shù)據(jù)采集程序HY–1232數(shù)據(jù)采集卡采集一個點的C源程序如下:#include<dos.h>#include<conio.h>#include<stdio.h>voidmain(void){intbasea,channel;floatvalue,IO,hi;6/16/2023當前第89頁\共有106頁\編于星期五\0點basea=0x280;/*板基地址設(shè)為640*/printf(“Inputchannelnumber:”); /*設(shè)置采集通道號*/scanf(“%d”,&channel);outp(base,channel); /*往輸入通道寄存器寫入所選通道號,并觸發(fā)A/D轉(zhuǎn)換*/do/*查詢A/D轉(zhuǎn)換完成寄存器的最高位,若為1,則表明A/D換結(jié)束,否則繼續(xù)查詢*/while(!(inp(basea+5)&0x80));lo=inp(base+1); /*讀入A/D結(jié)果的低八位*/hi=inp(base+2)/*讀入A/D結(jié)果的高四位value=((lo+hi&0xf)*256)-2047)*10.0/4096;/*合并后,再將A/D轉(zhuǎn)換的二進制結(jié)果轉(zhuǎn)換成對應(yīng)的模擬量值*/getch();}6/16/2023當前第90頁\共有106頁\編于星期五\0點3.編程要點說明
1)?outp(x,y)和inp(x)函數(shù)
C語言接口函數(shù)①
outp(x,y)函數(shù)的功能是把函數(shù)y送入端口地址為x的寄存器中。
outp(base,channel)是把通道號channel(程序中是由前面板控件設(shè)置)送入地址為base的輸入通道選擇寄存器,并啟動該通道的A/D轉(zhuǎn)換。
②inp(x)函數(shù)的功能是從端口地址為x的寄存器中讀取二進制數(shù)據(jù)。inp(base+1)從地址為base+1的低八位寄存器讀取A/D轉(zhuǎn)換結(jié)果。inp(base+2)從地址為base+2的高四位寄存器讀取A/D轉(zhuǎn)換結(jié)果二進制數(shù)的高四位,并清除A/D完成位寄存器和中斷請求信號。inp(base+5)從地址為base+5的完成位寄存器讀取完成標志位I/O顯示值,當IO=0時,表示A/D轉(zhuǎn)換未完成;當IO=1時,表示A/D轉(zhuǎn)換完畢。
6/16/2023當前第91頁\共有106頁\編于星期五\0點
3)A/D轉(zhuǎn)換結(jié)果的合并及工程運算
hi&oxf是將A/D結(jié)果高四位(二進制數(shù))轉(zhuǎn)化為十六進制數(shù),(hi&oxf)*256則將十六進制數(shù)轉(zhuǎn)化為十進制數(shù),lo+(hi&0xf)*256將數(shù)據(jù)合并為一個十進制數(shù)。這里,被測信號的輸入范圍設(shè)置為-5V~+5V,HY–1232卡的分辨率為12位,則量化值Q為10.0/4096(V),而十進制數(shù)也需減去滿量程的一半:4096/2=2048,由于十進制數(shù)從0開始,故滿量程的一半是2047。因此,用value=((lo+hi&oxf)*256)-2047)*10.0/4096就可以將A/D輸出的二進制數(shù)轉(zhuǎn)換為與模擬輸入電壓相對應(yīng)的電壓值。
例如,若hi=1011、lo=11010011,那么hi&oxf=0xb,
(hi&oxf)*256=11*266,lo+(hi&oxf)*256=(27+26+24+21+20+11*256=3027,則采集卡的模擬輸入電壓為
value=(3027-2047)*10.0/4096=2.3926V6/16/2023當前第92頁\共有106頁\編于星期五\0點3具體設(shè)計方法
1.模擬信號采集系統(tǒng)功能描述使用CIN實現(xiàn)非LabVIEW支持的HY–1232數(shù)據(jù)采集卡的驅(qū)動。要求在LabVIEW下利用HY–1232采集卡實現(xiàn)一個模擬信號(200Hz的正弦波)的采集和波形顯示。要求采樣點數(shù)、板基地址和通道號可設(shè)。
2.設(shè)計提示
1)前面板設(shè)計數(shù)字控件1:用來設(shè)置HY–1232數(shù)據(jù)采集卡的板基地址。基地址basea的數(shù)據(jù)類型選為U16(因為HY–1232的基地址最大為3FFH),默認值設(shè)為640(即0x280)。數(shù)字控件2:用來設(shè)置信號的輸入通道。通道號channel的數(shù)據(jù)類型選為U8(因為HY–1232的模擬輸入通道為0~31),默認值為0,數(shù)據(jù)范圍為0~31。數(shù)字控件3:用來設(shè)置采樣點數(shù)。總采樣點數(shù)samples的數(shù)據(jù)類型為32,默認值設(shè)為100。6/16/2023當前第93頁\共有106頁\編于星期五\0點模擬信號采集程序前面板6/16/2023當前第94頁\共有106頁\編于星期五\0點2)流程圖設(shè)計
(1)放置CIN圖標,并設(shè)置圖標的輸入、輸出參數(shù)個數(shù)及數(shù)據(jù)類型。①
調(diào)用路徑。由Functions>>Advanced>>CodeInterfaceNode路徑調(diào)入CodeInterfaceNode。②
參數(shù)設(shè)置。本例中,CIN圖標有三個輸入?yún)?shù)——basea、channel、samples和一個輸出參數(shù)Waveform。Waveform是一個double型數(shù)組,用于存放采集結(jié)果。參數(shù)數(shù)據(jù)類型的選擇與前面板一致。6/16/2023當前第95頁\共有106頁\編于星期五\0點CIN圖標屬性對話框(2)?C源代碼文件的生成選擇如圖4所示的CIN圖標快捷菜單選項中的Create.cFile選項,生成C源代碼格式文件(*.C文件)。6/16/2023當前第96頁\共有106頁\編于星期五\0點本例生成的格式文件內(nèi)容如下:/**CINsourcefile*/??#include"extcode.h"/**typedefs*/typedefstruct{ int32dimSize; float64arg1[1];6/16/2023當前第97頁\共有106頁\編于星期五\0點 }TD1;typedefTD1**TD1Hdl;
CINMgErrCINRun(uInt16*basea,uInt8*channel,int32*samples,TD1HdlWaveform);
CINMgErrCINRun(uInt16*basea,uInt8*channel,int32*samples,TD1HdlWaveform){
/*ENTERYOURCODEHERE*/
returnnoErr; }6/16/2023當前第98頁\共有106頁\編于星期五\0點從上面生成的代碼可以看到,因為定義的CIN圖標輸出參數(shù)是數(shù)組型的,而LabVIEW向CIN傳遞數(shù)組類數(shù)據(jù)時,用的是句柄handle。傳遞數(shù)組的句柄結(jié)構(gòu)是這樣定義的:typedefstruct{ int32dimSize;/*數(shù)組尺寸*/ float64arg1[1];/*數(shù)組首地址指針*/ }TD1;typedefTD1**TD1Hdl;對于一個有n個元素的一維數(shù)組,用dimsize函數(shù)表示為dimsize=n。對于一個m×n的二維數(shù)組a[m][n],
用dimSize函數(shù)表示為dimSize[0]=m,dimSize[1]=n。6/16/2023當前第99頁\共有106頁\編于星期五\0點(3)填寫C源代碼將HY–1232的C語言采集程序填入到上面的C源代碼框架中。最終完成的C源代碼文件(sampdata.c文件)如下:
(注:設(shè)計者自行添加的語句為黑斜體,其余為自動生成的語句)/**CINsourcefile*/#include"extcode.h" /*自動生成*/#include"hosttype.h"
/*調(diào)用了系統(tǒng)及功能函數(shù),因此添加此頭文件*/#include"dos.h" /*調(diào)用了C語言中的inp()
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 硫酸鋅施工單位廉政合同
- 古鎮(zhèn)陶藝店租賃協(xié)議
- 交通運輸行業(yè)人員租賃合同
- 停車場水電布線協(xié)議
- 市政資源拓展房屋拆遷施工合同
- 通信項目經(jīng)理聘用合同年薪制
- 培訓機構(gòu)租賃合同模板
- 商務(wù)樓大堂清潔維護協(xié)議
- 食品添加劑廠自來水安裝合同
- 網(wǎng)絡(luò)技術(shù)研發(fā)合作協(xié)議
- 2023屆上海市嘉定區(qū)初三中考物理一模試卷+答案
- 中國古典文獻學(全套)
- 業(yè)委會關(guān)于小區(qū)物業(yè)公司解除物業(yè)服務(wù)合同的函
- “統(tǒng)計與概率”在小學數(shù)學教材中的編排分析
- xx中心小學綜合實踐基地計劃模板(完整版)
- 安規(guī)考試題庫500題(含標準答案)
- 2022年度個人政治素質(zhì)考察自評報告三篇
- NB∕T 13007-2021 生物柴油(BD100)原料 廢棄油脂
- 肺結(jié)核患者管理結(jié)案評估表
- 2021離婚協(xié)議書電子版免費
- 《班主任工作常規(guī)》課件
評論
0/150
提交評論