電氣裝備實(shí)驗(yàn)一數(shù)據(jù)采集計(jì)算機(jī)控制實(shí)驗(yàn)_第1頁
電氣裝備實(shí)驗(yàn)一數(shù)據(jù)采集計(jì)算機(jī)控制實(shí)驗(yàn)_第2頁
電氣裝備實(shí)驗(yàn)一數(shù)據(jù)采集計(jì)算機(jī)控制實(shí)驗(yàn)_第3頁
電氣裝備實(shí)驗(yàn)一數(shù)據(jù)采集計(jì)算機(jī)控制實(shí)驗(yàn)_第4頁
電氣裝備實(shí)驗(yàn)一數(shù)據(jù)采集計(jì)算機(jī)控制實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、專業(yè):專業(yè):電氣工程與自動化姓名: _ _學(xué)號: 日期: 2015.5 地點(diǎn): 實(shí)驗(yàn)報(bào)告課程名稱: 電氣裝備計(jì)算機(jī)控制 指導(dǎo)老師:_ _成績:_實(shí)驗(yàn)名稱: 數(shù)據(jù)采集計(jì)算機(jī)控制 實(shí)驗(yàn)類型:_ _同組學(xué)生姓名: 一、實(shí)驗(yàn)?zāi)康暮鸵螅ū靥睿┒?、?shí)驗(yàn)內(nèi)容和原理(必填)三、主要儀器設(shè)備(必填)四、操作方法和實(shí)驗(yàn)步驟五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理六、實(shí)驗(yàn)結(jié)果與分析(必填)七、討論、心得一、實(shí)驗(yàn)?zāi)康?. 初步了解數(shù)據(jù)采集卡在電氣裝備中的應(yīng)用;2. 了解計(jì)算機(jī)在數(shù)據(jù)采集和處理方面的應(yīng)用;3. 采用C+ Builder對數(shù)據(jù)采集卡PCI1202進(jìn)行編程,控制實(shí)驗(yàn)數(shù)據(jù)的采集、數(shù)據(jù)的預(yù)處理以及系統(tǒng)的測量模式;4. 理解數(shù)據(jù)

2、采集系統(tǒng)的硬件原理;5. 掌握簡單的數(shù)據(jù)采集軟件編寫方法。二、實(shí)驗(yàn)內(nèi)容1. 通過上位機(jī)控制三相異步電機(jī)的運(yùn)行及停車;2. 使用數(shù)據(jù)采集系統(tǒng)進(jìn)行各路數(shù)據(jù)采集,對數(shù)據(jù)采集的結(jié)果進(jìn)行記錄和分析。三、實(shí)驗(yàn)原理上圖可作為本次實(shí)驗(yàn)的基本原理圖,可實(shí)現(xiàn)本次實(shí)驗(yàn)的各項(xiàng)要求。三相交流電源經(jīng)過接觸器連接到三相異步電動機(jī),為控制電機(jī)的運(yùn)行,必須控制三相交流電的接入與斷開,接觸器即可實(shí)現(xiàn)此項(xiàng)功能。因?yàn)橹鹘佑|器通強(qiáng)電,因此輸入上位機(jī)產(chǎn)生的信號經(jīng)過接口板輸出后首先要經(jīng)過中間繼電器,然后由中間繼電器控制主接觸器。另外,電路中并聯(lián)了三個電壓傳感器,串聯(lián)了三個電流傳感器,由此可以采集電機(jī)運(yùn)行過程中的電壓及電流信號,該信號經(jīng)數(shù)據(jù)

3、采集實(shí)驗(yàn)箱中的調(diào)理電路處理后送入PCI1202,經(jīng)過A/D及D/A轉(zhuǎn)換后在上位機(jī)運(yùn)行界面顯示,實(shí)現(xiàn)基本的數(shù)據(jù)采集。采集信號的顯示模式等均可通過程序進(jìn)行改變。四、實(shí)驗(yàn)步驟1. 根據(jù)實(shí)驗(yàn)內(nèi)容的要求,利用實(shí)驗(yàn)平臺各裝置設(shè)計(jì)硬件連接電路(可參照示例程序);2. 運(yùn)行C+ Builder軟件,熟悉該軟件的使用方法;3. 通過軟件平臺進(jìn)行編程、調(diào)試(可參照示例程序),實(shí)現(xiàn)對硬件電路的控制;4. 軟件調(diào)試成功后通過上位機(jī)運(yùn)行系統(tǒng),并對實(shí)驗(yàn)要求的數(shù)據(jù)進(jìn)行采集和記錄。五、實(shí)驗(yàn)例程數(shù)據(jù)輸入輸出、D/A、A/D低速連續(xù)采集基礎(chǔ)實(shí)驗(yàn). M_Function_1 demo. demo5 - for single boa

4、rd, demo6 - for two boardForm界面:其cpp文件程序段如下:程序段 eq oac(,1)#include #pragma hdrstop#include Unit2.h#include P1202.h#include P1202u.cpp#pragma package(smart_init)#pragma resource *.dfmTForm1 *Form1;Word TotalBoards;說明:該程序段包含相關(guān)頭文件說明與編譯預(yù)處理指令,同時定義Word型變量TotalBoards,用于計(jì)數(shù)板卡總數(shù)。程序段 eq oac(,2)_fastcall TForm1

5、:TForm1(TComponent* Owner) : TForm(Owner)說明:該程序段用于構(gòu)建窗體界面。_fastcall為快速調(diào)用約定。程序段 eq oac(,3)void _fastcall TForm1:FormCreate (TObject *Sender) /窗體初始化 Word RetValue; /定義一個類型變量 RetValue = P1202_DriverInit(&TotalBoards); /板卡驅(qū)動初始化函數(shù),檢測有幾個板卡,并賦給變量RetValue記錄返回值-錯誤代碼 if (RetValue != 0) ShowMessage(ErrorCode: +

6、 IntToStr(RetValue) + nDriver Initial Error!); Button1-Enabled = False; eSelect-Text = 0; /選擇哪個板卡,從0開始計(jì)數(shù),表示第一塊 eTotal-Text = IntToStr(TotalBoards); /一共有多少板卡 UpDown1-Max = (Word)(TotalBoards - 1); /有多少板卡,其值減1,因?yàn)閺?計(jì)數(shù) UpDown1-Min = 0; if (TotalBoards Enabled = False; eSelect-Enabled = False; 說明:該程序段為窗口

7、初始化函數(shù)。首先定義一個Word類型變量RetValue,然后調(diào)用板卡驅(qū)動初始化函數(shù)P1202_DriverInit(),檢測有幾個板卡,并將值賦給變量RetValue,記錄返回值。如果RetValue != 0,即出現(xiàn)錯誤代碼,則顯示錯誤信息,其中包含IntToStr()函數(shù)調(diào)用,用于將檢測到的總板卡數(shù)轉(zhuǎn)換為字符串顯示,同時按鈕Button1不使能。eSelect-Text用于板卡選擇,初始值賦為0表示從0開始計(jì)數(shù),即0表示第一個板卡。eTotal-Text用于記錄一共有多少板卡,所賦值為實(shí)際板卡總數(shù)。UpDown1-Max用于記錄板卡數(shù)計(jì)數(shù)最大數(shù)。UpDown1-Min用于記錄板卡計(jì)數(shù)最小

8、值,為0。如果板卡總數(shù)少于2,則不允許選用。程序段 eq oac(,4)void _fastcall TForm1:Button2Click(TObject *Sender)按鍵2點(diǎn)擊 Close();/關(guān)閉窗體說明:該程序段用于說明點(diǎn)擊按鈕Button2時的動作關(guān)閉窗體。程序段 eq oac(,5)void _fastcall TForm1:Button1Click(TObject *Sender)點(diǎn)擊按鍵1 Word Didata;/變量定義 Word RetValue, DF, DW, AC, Dodata, k; float DA; wAdNumber = (Word)StrToInt

9、(eC0AdNums-Text); DF = (Word)StrToInt(eC0DaFreq-Text); DW = (Word)StrToInt(eC0DaWave-Text); AC = (Word)StrToInt(eC0AdClock-Text);頻率 DA 振幅 = StrToFloat(eC0DaAmp-Text);以上賦值是函數(shù)的參數(shù),不用改 XMax-Caption = IntToStr(wAdNumber);最大量程 RetValue = P1202_ActiveBoard( (Word)StrToInt(eSelect-Text) );調(diào)用函數(shù)激活板卡,同時將值返回給re

10、tvalue if (RetValue != 0 )如果返回值錯誤 ShowMessage(AnsiString)Active Borad Error ! + nErrorCode: + IntToStr(RetValue); return; Dodata = (Word) StrToInt(0 x + eC0DO-Text);把變量變成16進(jìn)制word類型。賦給DODATA RetValue = P1202_Do(Dodata); /傳送一16 位的值到Digital Output輸出 if (RetValue != 0 ) ShowMessage(AnsiString)Digital Ou

11、tput Error ! + nErrorCode: + IntToStr(RetValue); return; RetValue = P1202_Di(&Didata); /函數(shù)會從Digital Input 讀取16 位數(shù) if (RetValue != 0 ) ShowMessage(AnsiString)Digital Input Error ! + nErrorCode: + IntToStr(RetValue); return; eC0DI-Text = IntToHex(Didata,4);RetValue = P1202_M_FUN_1(DF, DW, DA, AC, wAdN

12、umber, 0, fAdBuf, -10, 10); /連續(xù)平滑的A/D,D/A轉(zhuǎn)換 if (RetValue != 0 ) ShowMessage(AnsiString)M_Fun_1 Error! + nErrorCode: + IntToStr(RetValue) ); return; DrawWaveF( -5, 5, fAdBuf, 0, wAdNumber, C0Image ); /連續(xù)的監(jiān)視數(shù)據(jù) lbC0Log-Items-Clear(); for (k=0;kItems-Add( FloatToStr(fAdBufk) );說明:該程序段用于說明點(diǎn)擊按鈕Button1時的動作

13、監(jiān)視并采集數(shù)據(jù),根據(jù)采集到的數(shù)據(jù)繪制波形。部分說明見以上注釋。程序段 eq oac(,6)void _fastcall TForm1:FormClose(TObject *Sender, TCloseAction &Action)/點(diǎn)擊窗體關(guān)閉按鈕 P1202_DriverClose;/關(guān)閉板卡說明:該程序段用于關(guān)閉板卡。完整控制程序如下:#include #include #pragma hdrstop#include Unit2.h#include P1202.h#include P1202u.cpp#pragma package(smart_init)#pragma resource *

14、.dfmTForm1 *Form1;Word TotalBoards;_fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owner)void _fastcall TForm1:FormCreate窗體初始化(TObject *Sender) Word RetValue; RetValue = P1202_DriverInit(&TotalBoards); if (RetValue != 0) ShowMessage(ErrorCode: + IntToStr(RetValue) + nDriver Initial Error!); Butto

15、n1-Enabled = False; eSelect-Text = 0; eTotal-Text = IntToStr(TotalBoards); UpDown1-Max = (Word)(TotalBoards - 1); UpDown1-Min = 0; if (TotalBoards Enabled = False; eSelect-Enabled = False;void _fastcall TForm1:Button2Click(TObject *Sender) void _fastcall TForm1:Button2Click(TObject *Sender) Close();

16、void _fastcall TForm1:Button1Click(TObject *Sender) Word Didata; Word RetValue, DF, DW, AC, Dodata, k; float DA; wAdNumber = (Word)StrToInt(eC0AdNums-Text); DF = (Word)StrToInt(eC0DaFreq-Text); DW = (Word)StrToInt(eC0DaWave-Text); AC = (Word)StrToInt(eC0AdClock-Text); DA = StrToFloat(eC0DaAmp-Text);

17、 XMax-Caption = IntToStr(wAdNumber); RetValue = P1202_ActiveBoard( (Word)StrToInt(eSelect-Text) );if (RetValue != 0 ) ShowMessage(AnsiString)Active Borad Error ! + nErrorCode: + IntToStr(RetValue); return; Dodata = (Word) StrToInt(0 x + eC0DO-Text);RetValue = P1202_Do(Dodata); if (RetValue != 0 ) Sh

18、owMessage(AnsiString)Digital Output Error ! + nErrorCode: + IntToStr(RetValue); return; RetValue = P1202_Di(&Didata);if (RetValue != 0 ) ShowMessage(AnsiString)Digital Input Error ! + nErrorCode: + IntToStr(RetValue); return; eC0DI-Text = IntToHex(Didata,4);RetValue = P1202_M_FUN_1(DF, DW, DA, AC, w

19、AdNumber, 0, fAdBuf, -10, 10); if (RetValue != 0 ) ShowMessage(AnsiString)M_Fun_1 Error! + nErrorCode: + IntToStr(RetValue) );void _fastcall TForm1:Button2Click(TObject *Sender) Close();void _fastcall TForm1:Button1Click(TObject *Sender) Word Didata; Word RetValue, DF, DW, AC, Dodata, k; float DA; w

20、AdNumber = (Word)StrToInt(eC0AdNums-Text); DF = (Word)StrToInt(eC0DaFreq-Text); DW = (Word)StrToInt(eC0DaWave-Text); AC = (Word)StrToInt(eC0AdClock-Text); DA = StrToFloat(eC0DaAmp-Text); XMax-Caption = IntToStr(wAdNumber); RetValue = P1202_ActiveBoard( (Word)StrToInt(eSelect-Text) );if (RetValue !=

21、0 ) ShowMessage(AnsiString)Active Borad Error ! + nErrorCode: + IntToStr(RetValue); return; Dodata = (Word) StrToInt(0 x + eC0DO-Text);RetValue = P1202_Do(Dodata); if (RetValue != 0 ) ShowMessage(AnsiString)Digital Output Error ! + nErrorCode: + IntToStr(RetValue); return; RetValue = P1202_Di(&Didat

22、a);if (RetValue != 0 ) ShowMessage(AnsiString)Digital Input Error ! + nErrorCode: + IntToStr(RetValue); return; eC0DI-Text = IntToHex(Didata,4);RetValue = P1202_M_FUN_1(DF, DW, DA, AC, wAdNumber, 0, fAdBuf, -10, 10); if (RetValue != 0 ) ShowMessage(AnsiString)M_Fun_1 Error! + nErrorCode: + IntToStr(

23、RetValue) );return; return; DrawWaveF( -5, 5, fAdBuf, 0, wAdNumber, C0Image ); lbC0Log-Items-Clear(); for (k=0;kItems-Add( FloatToStr(fAdBufk) );void _fastcall TForm1:FormClose(TObject *Sender, TCloseAction &Action) P1202_DriverClose; 六、實(shí)驗(yàn)結(jié)果記錄圖1 單相時測繪得到的電壓波形圖中尖頂出現(xiàn)的原因是電機(jī)啟動時產(chǎn)生較大的沖擊電壓。圖2 三相時測繪得到的電壓波形圖中

24、波形缺了一相的原因可能是一通道損壞。七、注意事項(xiàng)1. 連線檢查無誤后方可上電,接線盡量用短線;2. 因?yàn)楫惒诫姍C(jī)高壓直接啟動容易過流報(bào)警,所以可將交流輸入電壓調(diào)至160V左右;3. 主接觸器線圈工作時需要220V交流電源(三相輸出電壓U、V、W為可調(diào)電壓,其下方三個輸出電壓U、V、W為不可調(diào)電壓,其任意兩相之間線電壓均為380V,每一相對地相電壓為220V,因此可選擇其中一相作為主接觸器電源,切不可用兩相之間的線電壓!)4.數(shù)字隔離端子板配有多個繼電器,這些繼電器的通斷由數(shù)碼管顯示,上位機(jī)輸入的數(shù)字量可以由數(shù)碼管以對應(yīng)的二進(jìn)制格式表示,因此應(yīng)該弄清實(shí)驗(yàn)中使用的端子板繼電器對應(yīng)哪些數(shù)字為通,哪些數(shù)字為斷。5. 實(shí)驗(yàn)中未出現(xiàn)過流過壓報(bào)警時,電機(jī)的通斷電通過上位機(jī)軟件實(shí)現(xiàn)。八、思考與聯(lián)系1. 異步電機(jī)

溫馨提示

  • 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

提交評論