電氣裝備實驗二計算機控制系統(tǒng)設(shè)計_第1頁
電氣裝備實驗二計算機控制系統(tǒng)設(shè)計_第2頁
電氣裝備實驗二計算機控制系統(tǒng)設(shè)計_第3頁
電氣裝備實驗二計算機控制系統(tǒng)設(shè)計_第4頁
電氣裝備實驗二計算機控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

專業(yè):電氣工程與自動化

試驗匯報姓名:_______________

學(xué)號:________________

課程名稱:電氣裝備計算機控制指導(dǎo)老師:成績:

試驗名稱:電氣裝備計算機控制系統(tǒng)設(shè)計試驗類型:同組學(xué)生姓名:

一、試驗?zāi)咳丈缀鸵?guī)定(必填)二試驗內(nèi)容和原理(必填)

三、重要儀器設(shè)備(必填)四、操作措施和試驗環(huán)節(jié)

五、試驗數(shù)據(jù)記錄和處理六、試驗成果與分析(必填)

七、討論、心得

試驗二電氣裝備計算機控制系統(tǒng)設(shè)計

一、試驗?zāi)康?/p>

1、理解數(shù)據(jù)采集系統(tǒng)的I硬件原理,理解數(shù)據(jù)采集卡的技術(shù)指標(biāo)和驅(qū)動函數(shù);

2、掌握PCI1202數(shù)據(jù)采集卡獲取數(shù)據(jù)口勺措施,數(shù)據(jù)采集軟件編寫的措施;

3、掌握計算機控制技術(shù),學(xué)會電氣裝備計算機控制系統(tǒng)的軟件和硬件設(shè)計,熟悉控制系統(tǒng)

日勺調(diào)試措施。

二、試驗內(nèi)容

I、使用數(shù)據(jù)采集系統(tǒng)進行各路數(shù)據(jù)采集,對數(shù)據(jù)采集的成果進行記錄和分析;

2、運用采集卡數(shù)據(jù)輸入輸出功能設(shè)計一種簡易控制三相異步電機正反轉(zhuǎn)的控制系統(tǒng)。

三、試驗原理

在電氣裝備等各個應(yīng)用領(lǐng)域都存在著數(shù)據(jù)采集、存儲、處理與控制問題,常常需要對電

流、電壓、溫度、壓力、流量、位移等模擬量進行采集,通過模/數(shù)(A/D)轉(zhuǎn)換,數(shù)據(jù)處

理,最終把成果顯示出來或者進行對應(yīng)的控制處理。

數(shù)據(jù)采集系統(tǒng)口勺信號采集部分一股包括信號輸入和調(diào)理(信號衰減/放大與濾波)、采樣

/保持、模/數(shù)(A/D)轉(zhuǎn)換、數(shù)據(jù)存儲(RAM)等,再通過接口傳播到計算機,由計算機進

行信號的分析處理和顯示,

三相異步電機的轉(zhuǎn)子是被定子H勺三相繞組通入三相交流電產(chǎn)生的旋轉(zhuǎn)磁場拖動的,三相

繞組合成I內(nèi)旋轉(zhuǎn)磁場向哪個方向轉(zhuǎn),轉(zhuǎn)子就向哪個方向轉(zhuǎn)。因此,只要將三相電源線的任意

兩根線換接,電機定子的旋轉(zhuǎn)磁場就被變化廣,那么電機轉(zhuǎn)子的轉(zhuǎn)動方向也將跟隨旋轉(zhuǎn)磁場

的方向變化。

調(diào)

數(shù)據(jù)采集主電路及控制電路試驗接線圖

四、試驗環(huán)節(jié)

1.研究并設(shè)計電機的數(shù)據(jù)采集及控制主電路;

2.根據(jù)設(shè)計H勺電路完畢試驗系統(tǒng)口勺硬件接線;

3.通過軟件平臺進行編程、調(diào)試實現(xiàn)對三相異步電機的數(shù)據(jù)采集及正反轉(zhuǎn)控制;

4.在實現(xiàn)最簡控制電路的基礎(chǔ)上進行擴展,如增長電機過壓保護、過流保護、繼電器互鎖

等功能。(選做探究)

五、試驗例程

程序段①

//--------------------------------------------------------------------------------

/include<vcl.h>

#pragmahdrstop

#includeHUnit2.h"

#include”P1202.h”

#include"P1202u.cppn

//--------------------------------------------------------------------------------

#pragmapackage(smart_init)

#pragmaresource"*.dfm"

TForm1*Form1;

WordTotalBoards;

闡明:該程序段包括有關(guān)頭文獻(xiàn)闡明與編譯預(yù)處理指令,同步定義Word型變量Tota舊oards,

用于計數(shù)板卡總數(shù)。

程序段②

//..........................................................................................................

—fastcallTForm1::TForml(TComponcnt*Owner)

:TForm(Owner)

{

)

void_fastcallTForm1::FormCreate(TObject4Sender)

{

WordRetValue;〃定義一種類型變量

RetValue=PI202_DriverInit(&TotalBoards);〃板卡驅(qū)動初始化函數(shù),檢測有幾種板卡,

并賦給變量RetValue記錄返回值-錯誤代碼

if(RetValue!=0)

(

ShowMessagc("ErrorCode:"+IntToStr(RctValuc)

+"\nDriverInitialError!!");

Buttonl->Enablcd=False;

)

eSelect->Text="0M;〃選擇哪個板卡,從0開始計數(shù),表達(dá)第一一塊

?Total>Toxt=IntToStr(TotalBoards);〃?共有多少板卡

UpDown1->Max=(Word)(TotalBoards-1);〃有多少板卡,其值減1,由于從0計

數(shù)

UpDown1->Min=0;

if(TotalBoards<2)〃若板卡數(shù)少于2,不容許選用

(

UpDown1->Enabled=False;

eSelect->Enabled=False;

)

)

闡明:該程序段為窗口初始化函數(shù)及P1202驅(qū)動初始化。首先定義一種Word類型變量

RetValue,然后調(diào)用板卡驅(qū)動初始化函數(shù)P1202_Drive而讓(),檢測有幾種板卡,并將宣賦

給變量RetValue,記錄返回值。假如RetValue!=0,即出現(xiàn)錯誤代碼,則顯示錯誤信息,

其中包括IntToStr。函數(shù)調(diào)用,用于將檢測到的總板卡數(shù)轉(zhuǎn)換為字符串顯示,同步按鈕

Buttonl不使能。eSelect->Text用于板卡選擇,初始值賦為0表達(dá)從。開始計數(shù),即0表達(dá)第

一種板EeTotal-Text用于記錄一共有多少板卡,所賦值為實際板K總數(shù)。UpDown1->Max

用于記錄板卡數(shù)計數(shù)最大數(shù)。UpDown1->Min用于記錄板k計數(shù)最小值,為0。假如板k總

數(shù)少于2,則不容許選用。

程序段③

void_fastcallTForml::Button2Click(TObject*Sender)

(

Close。;〃關(guān)閉窗體

}

//-----------------------------------------------------

闡明:該程序段用于闡明Button2按鍥功能,即關(guān)閉窗體。

程序段④

void_fastcallTForm1::Button1Click(TObject*Sender)

{

WordRetValue,DF,DW,AC,Dodata,k;

floatDA;

wAdNumber=(Word)StrToInt(eCOAdNums->Text);

DF=(Word)S(rToInt(eCODaFreq->Text);

DW=(Word)StrToInt(eCODaWave->TextK

AC=(Word)StrToInl(eCOAdClock->Texl);

DA=S(rToFloat(eCODaAmp->Text);

for(k=0;k<=31;k++)

wChannel[k]=0;

wConflgCodetk]=0;

)

wChannel[0]=1;

wChannel[l]=1;

wChannel[2]=1;

XMax->Caplion=IrtToStr(wAdNumber);

XMax2->Caplion=XMax->Caption;

XMax3->Caplion=XMax->Caption;

RetValue=P1202_ActivcBoard((Word)StrToInt(3Sclcct->Tcxt));調(diào)用函數(shù)激活板

卡,同步將值返回給retvalue

if(RetValue!=0)假如返回值錯誤

(

ShowMessage((AnsiString),,ActiveBoradError!!"+"XnErrorCode:"+

IntToStr(RetValue));

return;

Dodata=0x2;

RetValue=PI202_Do(Dodata);〃傳送一16位時值到DigitalOutput輸出if

(RetValue!=0)

(

ShowMessage((AnsiString),'DigitalOutputError!!"+"\nErrorCode:"+

IntToStr(RetValue));

return;

}

RetValue=P1202_M_FUN_3(DF,DW,DA,AC,wAdNumber,wChannel,wConfigCode,

fAdBuf,-IO.10);〃持續(xù)平滑H勺A/D,D/A轉(zhuǎn)換

if(RetValue!=0)

{

ShowMessage((AnsiString)"M_Fun_3Error!!"4"\nEiToi-Code:"+

IntToStr(RetValue));

return;

)

DrawWaveF(-5,5,fAdBuf,0,wAdNumber,COImageO);

DrawWaveF(-5,5,fAdBuf,wAdNumber,wAdNumber,COImagel);

DrawWaveF(-5,5,fAdBuf,wAdNumber*2,wAdNumber,C0Image2);

〃持續(xù)的監(jiān)視數(shù)據(jù)

lbCOLog->Items->Clear();

for(k=0;k<=wAdNun)ber-l;k++)〃根據(jù)采集臥J數(shù)據(jù)畫波形

lbCOLog->Ilems->Add((AnsiString)"ChO:"+FloaclbStr(fAdBuflk]).SubString(1,5)

+"ChI:"+Floa(ToStr(fAdBufTwAciNumber+

kl).SubString(1.5)

+"Ch2:"+FloatToStr(fAdBuf[wAdNumber*2+

k]).SubString(l,5)

);

)

//.....................................................

闡明:該程序段用于闡明Button1按鍵功能及實現(xiàn)。動態(tài)監(jiān)視并采集數(shù)據(jù),根據(jù)采集到的數(shù)

據(jù)繪制波形。部分闡明見以上注釋。

程序段⑸

void_fastcallTForml::FormClose(TObject*Sender,TCIoseAction&Action)

{

P1202_DrivcrClosc;

)

//-----------------------------------------------------

闡明:該程序段用于P1202驅(qū)動關(guān)閉動作。

程序段⑥

void_fastcallTForml::Button3Click(TObjcct*Scndcr)

WordRetValue,DF,DW,AC,Dodata,k;

floatDA;

wAdNumber=(Word)StrToInl(eCOAdNums->Text);

DF=(Word)StrToInt(eCODaFreq->Text);

DW=(Word)StrToInt(eCODaWave->Text>;

AC=(Word)StrToInt(eCOAdClock->Text);

DA=StrToFloat(eCODaAmp->Text);

for(k=0;k<=31;k++)

{

wChannel[k]=0;

wConfigCodefkl=0;

)

wChanncl[0]=1;

wChanncl[lJ=1;

wChanncl[2J=1;

〃設(shè)定輸出到analogoutputChannelIChannel2^Channel3.

XMax->Caption=IrtToSlr(wAdNumber);

XMax2->Caption=XMax->Caption;

XMax3->Caption=XMax->Caption;

RetValue=Pl202_ActiveBoard((Word)StrToInt(eSelect->Text));

if(RetValue!=0)

(

ShowMessage((AnsiString)"ActiveBoradError!!"+"\nErrorCode:"+

IntToStr(RetValue));

return:

)

Dodata=0x4;

RctValuc=P1202_Do(Dodata);

if(RetValue!=0)

(

ShowMessage((AnsiString),'DigitalOutputError!!"+"\nErrorCode:n+

In(ToS(r(RetValue));

return;

)

RetValue=PI202_M_FUN_3(DF,DW,DA,AC,wAdNumber,wChannel,wConfigCode,

fAdBuf,-IO,10);

if(RctValuc!=0)

ShowMessage((AnsiSlring),'M_Fun_lError!!"+"\nErrorCode:"+

InlToStr(RetValue));

return;

}

DrawWaveF(-5,5,fAdBuf,0,wAdNunber,COImageO);

DrawWaveF(-5.5.fAdBuf.wAdNumber.wAdNumber.COImagel):

DrawWaveF(-5.5,fAdBuf,wAdNumber*2,wAdNumber,C0Image2);

lbCOLog->Items->Clear();

for(k=0;k<=wAdNumbcr-1;k++)

lbCOLog->kems->Add((AnsiString)"ChO:"+FloatToStr(fAdBunk]).SubString(1,5)

+"ChI:"+Floa(ToStr(fAdBuflwAdNumber+

k]).SubSlring(l.5)

+"Ch2:"+FloatToStr(fAdBufTwAdNumber*2+

kl).SubString(1.5)

);

I

//...............................................................

闡明:該程序段功能與程序段④功能類似,描述Button3按鍵功能,動態(tài)監(jiān)視并采集數(shù)據(jù),

根據(jù)采集到口勺數(shù)據(jù)繪制波形。

程序段⑦

void_fastcallTForml::Button4Click(TObject*Sender)

(

WordRetValue,DF,DW,AC,Dodata,k;

floatDA;

wAdNumber=(Word)SlrToInl(eCOAdNums->Texi);

DF=(Word)StrToInt(eCODaFreq->Tex();

DW=(Word)StrToInt(eCODaWave->Text>;

AC=(Word)StrToInt(eCOAdClock->Text);

DA=StrToFloat(eCODaAmp->Text);

for(k=0;k<=31;k++)

wChannellk]=0;

wContlgCode[k]=0;

wChannel[0]=1;

wChannelf1]=1;

wCliamicl[21-1;

XMax->Caption=Ir.tToStr(wAdNumber);

XMax2->Caption=XMax->Caption;

XMax3->Caption=XMax->Caption;

RetValue=P1202_ActiveBoard((Word)StrToInt(2Selcct->Tcxt));

if(RetValue!=0)

{

ShowMessage((AnsiString)"ActiveBoradError!!"+"\nErrorCode:"+

IntToStr(RetValue));

return;

)

D(xlata=0x0;

RetValue=P1202_Do(Dodata);

if(RetValue!=0)

{

ShowMessage((AnsiString),'DigitalOutputError!!"+"WErrorCode:"+

IntToStr(RetValue));

return;

RetValue-P1202_M_FUN_3(DF,DW,DA.AC,wAdNuinbci,wCliamicl,wCuufigCudc,

fAdBuf,-10,10);

if(RetValue!=0)

(

ShowMessage((AnsiString),'M_Fun_lError!!"-+"\nErrorCode:"+

IntToStr(Re(Value));

return;

}

DrawWaveF(-5.5.fAdBuf.0.wAdNunbcr.COImagcO):

DrawWaveF(-5,5,fAdBuf,wAdNumber,wAdNumber,COImagel);

Dra\vWaveF(-5.5,fAdBuf.wAdNumber*2,wAdNumber,C0Image2);

lbCOLog->Items->Clear();

for(k=0;k<=wAdNumbcr-1;k++)

lbCOLog->Itcms->Add((AnsiString)"ChO:"+FloatToStr(fAdBuf[k]).SubString(1,5)

+"ChI:"+FloatToStr(fAdBuf[wAdNumber+

k]).SubString(l,5)

+"Ch2:"+Floa(ToStr(fAdBufIwAdNumber*2+

k]).Substring。.5)

);

}

//-

闡明:該程序段功能與程序段④功能類似,描述Button4按鍵功能,動態(tài)監(jiān)視并采集數(shù)據(jù),

根據(jù)采集到H勺數(shù)據(jù)繪制波形。

完整代碼如下:

//--------------------------------------------------------------------------------

#include<vcl.h>

#pragmahdrstop

include"Unit2.h"

#include"P1202.h"

include"PI202u.cpp"

//--------------------------------------------------------------------------------

#pragmapackage(smarl_init)

#pragmaresource

TForm1*Form1;

WordTotalBoards;

//--------------------------------------------------------------------------------

_fastcallTForm1::TForm1(TComponent*Owner)

:TForm(Owner)

UpDown1->Enablcd=False;

eSclcct->Enablcd=False;

//■

void_fastcallTFonn1::Button2Click(TObjcct*Scndcr)

Close();

//■

void_fastcallTForm1::Bun()n1Click(TOhject*Sender)

WordRctValue,DF,DW,AC,Dodata,k;

floatDA;

wAdNumber=(Woid)StrToInt(eCOAdNums->Text);

DF=(Word)StrToInt(eCODaFreq->Text);

DW=(Word)StrToInt(cCODaWavc->Tcxt);

AC=(Word)StrToInt(cCOAdClock->Tcxt);

DA=StrToFloat(eC()DaAmp->Text);

Dodata=0x2;

RetVaiue=P1202_Do(Dodata);

if(RetValue!=0)

(

ShowMessage((AnsiStnng)HDigitalOutputError!!"+"XnErrorCode:"+

IntToStr(RetVaiue));

return;

)

RetValue=P1202_M_FUN_3(DF,DW,DA,AC,wAdNumber,wChannel,

wConfigCodc,fAdBuf,-10,10);

if(RetValue!=0)

(

ShowMessage((AnsiString)"M_Fun_3Error!!"+n\nErrorCode:"+

IntToStr(RetValue));

return;

}

DrawWavcF(-5,5,fAdBuf,0,wAdNumbcr,COlmagcO);

DrawWavcF(-5,5,fAdBuf,wAdNumbcr,wAdNumbcr,COlmagc));

wAdNunibcr=(Word)StrToInt(cCOAdNums->Tcxt)

DF=(Word)StrToInt(eCODaFreq->Text);

DW=(Word)StrToInt(eCODaWave->Text);

AC=(Word)StrToInl(eCOAdClock->Text);

DA=SlrToFloat(eCODaAmp->Texl);

for(k=0;k<=31;k++)

wChannel[k]=0;

wConfigCodelk]=0;

wChannelfO]=1;

wChannelfH=1;

wChannel[2]=1;

XMax->Caplion=IntToStr(wAdNumber);

XMax2->Cap(ion=XMax->Caplion;

XMax3->Caption=XMax->Caption;

RctValuc=P1202_ActivcBoard((Word)StrToInt(cSclcct->Tcxt));

if(RetValue!=())

DrawWavcF(-5,5,fAdBuf,wAdNumbcr,wAdNumbcr,COImagcl);

DrawWavcF(-5,5,fAdBuf,wAdNumber*2,wAdNumber,COImagc2);

lbCOLog->Items->Clear();

for(k=0;k<=wAdNumber-1;k++)

lbCOLog->Items->Add((AnsiString)"ChO:"+FloatToStr(fAdBuf[k]).SubString(1,5)

+Chi:"+FloatToStr(fAdBuf[wAdNumbcr+

k]).Substring。,5)

+"Ch2:"+FloatToStr(fAdBuf[wAdNumber*2+

kJ).SubString(l,5)

);

)

//--------------------------------------------------------------------------------

void_fastcallTFonn1::Button4Click(TObjcct*Scndcr)

(

WordRetValue,DF,DW,AC,Dodata,k;

floatDA;

wAdNumber=(Word)StrToInt(cCOAdNums->Tcxt);

DF=(Word)StrToInt(cC()DaFrcq->Tcxt);

DW=(Word)StrToInt(eCODaWave->Text);

Dodata=0x0;

RctValuc=P1202_Do(Dodata);

if(RetValue!=0)

(

ShowMessage((AnsiSlring),'Digi(alOutputError!!"+"\nErrorCode:"+

IniToSti(RetValue)),

return;

)

RetValue=P1202_M_FUN_3(DF,DW,DA,AC,wAcNumber,wChannel,wConfigCode,

fAdBuf,-10,10);

if(RctValuc!=0)

{

ShowMessage((AnsiString),'M_Fun_lError!!"+"XnErrorCode:'1+

七、試驗成果記錄

1LDeao9匚但區(qū)

100

反轉(zhuǎn)

停止

pataLogDaFreqDeWaveAdClock

ChOt1.928Chi:1.5960)2:0.2245000|7200

ChO:1.206Chi:2.C0162:1.665

ChOt-0.32Ch1:1.0nCh21.892AdNum3DaiVnp

CH>-1.73Ch1:0.E1Ch2:0.871

cw>.i94rw.1rn?nRR?no

電機正轉(zhuǎn)時三相電壓波形

De>o9日回國

TotalBoards

正轉(zhuǎn)退出

SelectBoard

助匕Log

CHJ-1.97Ch1:-1.4JCh2:-004

ChO-140Ch1:-1.95Ch2:-1.56

Ch0t0083Ch1:-125Ch2-194

ChO1621Chi:0.354Ch2-1.15

CH)1911Ch11774Ch70454

電機反轉(zhuǎn)時三相電壓波形

DCBO9。回

TotalBoards

正轉(zhuǎn)I退出

SelectBoard

100

反轉(zhuǎn)

Z\C

Da匕LogDaWaveAdCbck

CH).0.76CW.190Ch2:-1.85

CH).0825CM:057Ch2180

ChO1857Ch1:1.066Ch2:041AdNumsDMmg

ChO1

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論