版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
#目錄實(shí)習(xí)內(nèi)容及其要求……………02AC6611多功能過(guò)程通道卡……………………02功能特點(diǎn)與技術(shù)指標(biāo)……………………02應(yīng)用方法和步驟……………03方案設(shè)計(jì)………………………03加熱器的過(guò)程特性………03加熱器溫度控制系統(tǒng)的實(shí)現(xiàn)方案………03AC6611和加熱器接線圖設(shè)計(jì)……………03控制程序的方案設(shè)計(jì)和模塊劃分…………04數(shù)據(jù)采集與輸出程序設(shè)計(jì)……………………04AC6611數(shù)據(jù)采集與溫度換算程序………04控制量與D/A代碼換算及輸出程序……05控制算法程序設(shè)計(jì)…………05顯示曲線的程序?qū)崿F(xiàn)……………………055.2帶死區(qū)PID算法06PID算法程序設(shè)計(jì)07控制程序的調(diào)試………………07主要調(diào)試內(nèi)容………………07調(diào)試方法……………………07調(diào)試步驟和結(jié)果……………08七PID參數(shù)的整定08整定方法……………………08整定結(jié)果及分析……………08八技術(shù)小結(jié)………………………08九參考文獻(xiàn)………………………09附錄……………10一、實(shí)習(xí)內(nèi)容及其要求實(shí)習(xí)目的:通過(guò)實(shí)訓(xùn),讓學(xué)生了解計(jì)算機(jī)控制系統(tǒng)的基本組成,提出計(jì)算機(jī)控制系統(tǒng)的設(shè)計(jì)思路,初步學(xué)會(huì)計(jì)算機(jī)控制系統(tǒng)軟硬件設(shè)計(jì)及調(diào)試的方法,具備技術(shù)實(shí)現(xiàn)能力;基本上能夠處理實(shí)踐過(guò)程中出現(xiàn)的問(wèn)題并提出解決辦法,進(jìn)一步提高學(xué)生的計(jì)算機(jī)應(yīng)用水平。實(shí)習(xí)內(nèi)容:通過(guò)溫度的設(shè)定值和反饋值,計(jì)算其偏差,并使用帶死區(qū)PID控制算法輸出控制信號(hào),整定PID參數(shù),使被控的溫度達(dá)到設(shè)定值。具體實(shí)訓(xùn)內(nèi)容包括AC6611過(guò)程卡的接線和測(cè)試、數(shù)據(jù)采集程序設(shè)計(jì)、PID算法程序設(shè)計(jì)、控制輸出程序設(shè)計(jì)、人機(jī)界面程序設(shè)計(jì)、PID參數(shù)整定、實(shí)訓(xùn)報(bào)告。要求:完成帶死區(qū)PID溫度控制系統(tǒng)的設(shè)計(jì)和調(diào)試過(guò)程。二、AC6611多功能過(guò)程通道卡AC6611是一款廉價(jià)通用A/D、D/A板,AD工作在查詢方式,采用PCI總線支持即插即用、無(wú)需地址跳線。AC6611具有16路單端模擬輸入、32路開(kāi)關(guān)量(16路輸入及16路輸出)、一路12位D/A。AC6611采用大規(guī)模可編程門陣列設(shè)計(jì),提高可靠性。功能特點(diǎn)與技術(shù)指標(biāo)模擬量模擬量輸入(A/D)A/D轉(zhuǎn)換器:120KHZ,12位A/D,ADS7816,A/D內(nèi)置采樣保持器。工作方式:軟件查詢。16路單端輸入,輸入阻抗:1MQ最大輸入耐壓電壓:<+12V/—5.5V,瞬時(shí)輸入耐壓:-25V-+30V連接器:DB25孔式輸入連接器。A/D最大通過(guò)率:70KHZ,輸入通道建立時(shí)間<8us。雙極性輸入范圍:“,單極性輸入范圍:5V、10V。輸入范圍跳線器選擇。5V對(duì)應(yīng)輸入幅度及精度如下表1所示:輸入系統(tǒng)精度(FSR)跳字0—10V0.1%1LSB
(2)模擬量輸出(D/A)1路12位DA,分辨率12位,精度:0.2%,最大輸出電流:5毫安。輸出零點(diǎn)誤差小于±10毫伏。輸出范圍:10伏、±10伏,跳線器選擇。0-5V0.1%±1.5LSB0-5V0.1%±1.5LSB-5V-+5V0.1%土1LSB輸出插座:DB25(孔)連接器。表1開(kāi)關(guān)量輸入/輸出16路開(kāi)關(guān)量輸入(2個(gè)8位),16路開(kāi)關(guān)量輸出(2個(gè)8位)TTL電平(兼容3伏邏輯)開(kāi)關(guān)量輸出復(fù)位后為輸出為低電平“0”。輸出高電壓>2.5V,低電壓<0.5V,最大輸出電流:8mA輸入電流:<0.1mA輸入高電壓門限:〉2V,低電壓:〈0.8V。輸入耐壓:高電平最大耐壓:8伏,低電平:-0.4伏。連接器:40腳扁平電纜插座。系統(tǒng)符合PCIV2.1標(biāo)準(zhǔn),供電:+5伏、+12伏、-12伏。AC6611占用64個(gè)I/O選通空間(自動(dòng)分配)。工作溫度:0-70°C,尺寸:12(W)X9(H)(厘米)應(yīng)用方法和步驟(1)AC6611與端子板接線如下圖1所示圖1連接:圖1安裝AC6611驅(qū)動(dòng),安裝步驟如下:1、關(guān)閉計(jì)算機(jī)的電源;2、將ac6611板卡插入PCI槽中;3、打開(kāi)計(jì)算機(jī)電源,啟動(dòng)Windows2000;4、Windows2000將會(huì)顯示找到新硬件,可按找到新硬件向?qū)нM(jìn)行下一步;5、選擇搜索適用與我的設(shè)備的驅(qū)動(dòng)程序(推薦),下一步;6、選擇驅(qū)動(dòng)所在目錄,進(jìn)行安裝(\ac6611\driver\);7、按找到新硬件向?qū)У奶崾具M(jìn)行下一步;8、Windows2000將顯示完成添加/刪除硬件向?qū)?,單擊完成即可完成安裝過(guò)程安裝AC6611的驅(qū)動(dòng)程序,安裝完成后需要運(yùn)用AC6611(靜態(tài))測(cè)試程序?qū)C6611板卡的功能進(jìn)行測(cè)試,以檢查AC6611卡是否完好和正確,測(cè)試程序界面如下圖2所示。設(shè)置好AC6611的模擬輸入范圍及DA量程跳線器,關(guān)掉PC機(jī)電源,將AC6611插入主機(jī)的任何一個(gè)PCI插槽中并將外部的輸入、輸出線連好。選擇輸入輸出范圍為0-10V,然后接入端子板,就可以連接對(duì)象的進(jìn)行采集和控制。在靜態(tài)測(cè)試完成后,就可以編程對(duì)AC6611進(jìn)行測(cè)試,其步驟如下:1)加載DLL;調(diào)用AC6611_CreateDevice()調(diào)用AC6611_AD();調(diào)用AC6611_DA();調(diào)用AC6611_DI();調(diào)用AC6611_DO();AC6611_CloseDeivce()。三、方案設(shè)計(jì)加熱器的過(guò)程特性加熱器的工作原理是把一個(gè)匝數(shù)較多的初級(jí)線圈和一個(gè)匝數(shù)較少的次級(jí)線圈裝在同一個(gè)鐵芯上。輸入與輸出的電壓比等于線圈匝數(shù)之比,同時(shí)能量保持不變。因此,次級(jí)線圈在低電壓的條件下產(chǎn)生大電流。我們這次做的死區(qū)PID溫度控制系統(tǒng)中,使用的加熱器其加熱范圍是o-ioo°c。在加熱器加熱的過(guò)程中,通過(guò)死區(qū)PID算法的控制,使其溫度穩(wěn)步地逼近設(shè)定值,并在允許的偏差范圍內(nèi)有較小的波動(dòng)。加熱器溫度控制系統(tǒng)的實(shí)現(xiàn)方案硬件上我們采用的是AC6611板卡、AC157接線板和一個(gè)專用加熱器。在軟件上我們采用的標(biāo)準(zhǔn)的PID控制算法對(duì)其進(jìn)行的控制輸出。從而有機(jī)的把軟硬件整合成為一個(gè)整體,構(gòu)成一個(gè)比較簡(jiǎn)易的加熱器溫度控制系統(tǒng)。AC6611和加熱器接線圖設(shè)計(jì)實(shí)驗(yàn)室用的加熱器是通過(guò)溫度傳感器,轉(zhuǎn)換成了標(biāo)準(zhǔn)的工業(yè)標(biāo)準(zhǔn)(4MA—20MA)。參照AC6611板卡手冊(cè),最大輸入耐壓電壓:<+12V/—5.5V,瞬時(shí)輸入耐壓:-25V-+30V,DB25孔式輸入連接器。輸入:雙極性輸入范圍:5V,單極性輸入幅度:5伏、10伏。為此我們選擇0—10V為益。所以AC6611和加熱器接線圖要滿足要求,可以做一個(gè)I/V變換在變送器的輸出端串一個(gè)500歐的電阻,板卡采集的電壓范圍就在2—10V,這樣在程序中做一個(gè)標(biāo)度變換就能實(shí)現(xiàn)溫度OC—100C的顯示。其接線圖如圖3所示。
圖3AC6611與加熱器的接線圖3.4控制程序的方案設(shè)計(jì)和模塊劃分控制程序的方案設(shè)計(jì)主要分為以下三點(diǎn):第一,界面設(shè)計(jì),界面如圖4所示第二,數(shù)據(jù)采集處理程序的設(shè)計(jì);第三,程序設(shè)計(jì)。圖4界面設(shè)計(jì)包括趨勢(shì)曲線,設(shè)定值,過(guò)程量,控制量的顯示,死區(qū)設(shè)定值的顯示以及PID參數(shù)整定值的顯示等。數(shù)據(jù)采集和處理程序設(shè)計(jì)包括AC6611數(shù)據(jù)采集程序、D/A輸出程序、標(biāo)度換算等程序設(shè)計(jì)。PID控制算法程序包括基本PID算法、死區(qū)控制等程序的設(shè)計(jì)。1)在趨勢(shì)曲線的顯示時(shí),我們分別用紅、藍(lán)、綠三種顏色的線條顯示SP、PV和MV的相應(yīng)實(shí)時(shí)值,MV值來(lái)自于PID算法的輸出。2)在編輯欄中我們可以修改死區(qū)PID控制算法相應(yīng)的參數(shù)P、I、D及死區(qū)的值。當(dāng)修改完成后,我們可以點(diǎn)擊確認(rèn)按鈕,將修改后的參數(shù)送入到算法程序中去。數(shù)據(jù)采集齊全后可點(diǎn)擊退出,結(jié)束運(yùn)算。四、AC6611數(shù)據(jù)采集與溫度換算程序AC6611數(shù)據(jù)采集與溫度換算程序AC6611數(shù)據(jù)采集第一個(gè)步驟調(diào)用動(dòng)態(tài)鏈接庫(kù),然后加入頭文件(一些函數(shù)的申明)。硬件連接好就直接調(diào)用AC6611_AD()函數(shù),就可以把板卡寄存器中的數(shù)據(jù)讀入電腦內(nèi)存中,提供給程序計(jì)算。溫度換算程序的設(shè)計(jì)要考慮到我們采集的數(shù)據(jù)是2—10V,而實(shí)際的溫度則是0—100度,如果要達(dá)到可視化的目的,必須做一個(gè)轉(zhuǎn)換算法:unsignedlongad_data;AC6611_AD(hDevice,14,&ad_data);//采集數(shù)值0-4095adv=ad_data*10.0/4095.0;//轉(zhuǎn)換為電壓PV=(adv-2.0)*100.0/(10.0-2.0);//轉(zhuǎn)換為溫度Edit12->Text=FloatToStrF(PV,2,3,4);//顯示輸出溫度4.2控制量與D/A代碼換算及輸出程序從圖5中可以看到,通過(guò)當(dāng)前溫度的數(shù)據(jù)采集,然后與設(shè)定值進(jìn)行比較,然后利用基本PID算法,就可得出控制量。圖5加熱器溫度控制圖控制量與D/A轉(zhuǎn)換代碼如下:void__fastcallTForm1::Timer1Timer(TObject*Sender){unsignedlongad_data;unsignedlongda;AC6611_AD(hDevice,14,&ad_data);//采集數(shù)值0-4095adv=ad_data*10.0/4095.0;//轉(zhuǎn)換為電壓PV=(adv-2.0)*100.0/(10.0-2.0);//轉(zhuǎn)換為溫度Edit12->Text=FloatToStrF(PV,2,3,4);//顯示輸出溫度En=SP-PV;if(fabs(En)>PID_DB)//PID死區(qū)功能{DeltaUn=q0*En+q1*En1+q2*En2;Un=Un1+DeltaUn;if(Un>100.0)Un=100.0;if(Un<0)Un=0;Un1=Un;En2=En1;En1=En;}elseUn=Un1;da=(unsignedshortint)(Un*4095.0/100.0);AC6611_DA(hDevice,da);}輸出程序包括PID參數(shù)設(shè)定顯示,量程顯示,設(shè)定溫度顯示,當(dāng)前溫度顯示,PID輸出顯示,為了避免重復(fù),這里只介紹PID參數(shù)設(shè)定顯示和設(shè)定溫度顯示程序,其程序如下:五、控制算法程序設(shè)計(jì)顯示曲線的程序?qū)崿F(xiàn)t1++;for(inti=0;i<479;i++){pvtrend[i]=pvtrend[i+1];pvtrend[479]=300*PV/(HS-LS);sptrend[i]=sptrend[i+1];sptrend[479]=300*SP/(HS-LS);mvtrend[i]=mvtrend[i+1];mvtrend[479]=300*Un/100.0;}Image2->Picture->LoadFromFile("bangtu.bmp");Image2->Canvas->Pen->Color=clRed;Image2->Canvas->Pen->Width=5;Image2->Canvas->MoveTo(35,294);Image2->Canvas->LineTo(35,294-SP*288/(HS-LS));Image2->Canvas->Pen->Color=clBlue;Image2->Canvas->MoveTo(55,294);Image2->Canvas->LineTo(55,294-PV*288/(HS-LS));Image2->Canvas->Pen->Color=clGreen;Image2->Canvas->MoveTo(70,294);Image2->Canvas->LineTo(70,294-Un*288/100.0);//繪制趨勢(shì)曲線Image1->Picture->LoadFromFile("qushi.bmp");Image1->Canvas->Pen->Width=1;Image1->Canvas->Pen->Color=clRed;Image1->Canvas->MoveTo(0,300);for(inti=0;i<480;i++)Image1->Canvas->LineTo(i,300-sptrend[i]);Image1->Canvas->Pen->Color=clBlue;Image1->Canvas->MoveTo(0,300);for(inti=0;i<480;i++)Image1->Canvas->LineTo(i,300-pvtrend[i]);Image1->Canvas->Pen->Color=clGreen;Image1->Canvas->MoveTo(0,300);for(inti=0;i<480;i++)Image1->Canvas->LineTo(i,300-mvtrend[i]);帶死區(qū)PID算法帶死區(qū)PID算法的控制框圖如圖6所示:圖6通過(guò)設(shè)定值與過(guò)程量的比較,產(chǎn)生一個(gè)偏差,若偏差在死區(qū)之外,則做基本PID運(yùn)算,若偏差在死區(qū)之內(nèi),則使PID輸出保持上一時(shí)刻輸出值不變。相應(yīng)算式為:e(k),當(dāng)r(k)-y(k)=e(k)>£P(guān)(k)=s0,當(dāng)r(k)-y(k)=e(k)<£V帶死區(qū)PID算法程序設(shè)計(jì)En=SP-PV;if(fabs(En)>PID_DB)//PID死區(qū)功能{DeltaUn=q0*En+q1*En1+q2*En2;Un=Un1+DeltaUn;if(Un>100.0)Un=100.0;if(Un<0)Un=0;Un1=Un;En2=En1;En1=En;}elseUn=Un1;q0=(100.0/P)*(1+TS/I+D/TS);q1=-(100.0/P)*(1+2*D/TS);q2=(100.0/P)*D/TS;其中,P為比例帶參數(shù),I為積分時(shí)間,D為微分時(shí)間。六、控制程序的調(diào)試主要調(diào)試內(nèi)容通道數(shù)據(jù)的采集以及輸出控制調(diào)試;曲線的顯示和棒圖顯示調(diào)試;PID控制算法調(diào)試。調(diào)試方法通道的數(shù)據(jù)采集調(diào)試主要是看A/D,D/A轉(zhuǎn)換是否正確,運(yùn)行程序,觀察輸出溫度變化,在加熱器未加熱之前,此時(shí)觀察到得溫度應(yīng)與室溫相差不大,否則就是A/D,D/A變換或標(biāo)度變換出現(xiàn)了問(wèn)題,應(yīng)再次檢查程序。曲線的顯示和棒圖顯示調(diào)試首先檢查曲線顯示和棒圖顯示的尺寸是否符合要求,按規(guī)定曲線顯示圖片尺寸應(yīng)為480*300,棒圖應(yīng)為100*300,運(yùn)行程序,觀察各曲線走勢(shì)是否正常,如不正常則檢查程序是否寫(xiě)對(duì),應(yīng)特別注意零點(diǎn)的變化,調(diào)整好各種曲線的顏色和粗細(xì)。PID控制算法調(diào)試主要驗(yàn)證PID算法是否正確,由于采用的是基本PID的增量式算法,如果發(fā)現(xiàn)算法錯(cuò)誤,對(duì)照書(shū)上進(jìn)行檢查即可,主要調(diào)試內(nèi)容在于死區(qū),為了進(jìn)行有效的調(diào)試,應(yīng)先使PID具有一定的輸出值,就是先設(shè)定一個(gè)值,使得偏差位于死區(qū)之外,然后檢查死區(qū)是否起作用,輸入一個(gè)設(shè)定值使偏差位于死區(qū)之內(nèi),觀察此時(shí)PID輸出。調(diào)試步驟和結(jié)果調(diào)試步驟應(yīng)先進(jìn)行硬件調(diào)試,后進(jìn)行軟件調(diào)試,硬件調(diào)試包括各種板卡,器件以及接線等的檢查,數(shù)據(jù)的采集,界面的布置等,軟件調(diào)試包括數(shù)據(jù)的轉(zhuǎn)換是否正確,曲線的繪制是否正確,數(shù)據(jù)是否可以正確顯示,算法是否正確等。調(diào)試好了之后,顯示結(jié)果應(yīng)是曲線顯示三根顏色不同的線,并與SP,PV,MV的值相對(duì)應(yīng),當(dāng)然,棒圖的變化也能夠反應(yīng)這些值的變化,要求設(shè)置的參數(shù)可以隨意設(shè)置這些功能全部正常實(shí)現(xiàn)。七、PID參數(shù)的整定PID比例積分微分各環(huán)節(jié)的特點(diǎn):(1)比例調(diào)節(jié)的特點(diǎn):1、調(diào)節(jié)作用快,系統(tǒng)一出現(xiàn)偏差,調(diào)節(jié)器立即將偏差放大K倍輸出;2、系統(tǒng)存在余差。K越小,過(guò)渡過(guò)程越平穩(wěn),但余差越大;K增大,余差將減小,但是不能完全消除余差,只能起到粗調(diào)作用,但是K過(guò)大,過(guò)渡過(guò)程易振蕩,K太大時(shí),就可能出現(xiàn)發(fā)散振蕩。(2)積分調(diào)節(jié)的特點(diǎn):積分調(diào)節(jié)作用的輸出變化與輸入偏差的積分成正比,積分作用能消除余差,但降低了系統(tǒng)的穩(wěn)定性,T1由大變小時(shí),積分作用由弱到強(qiáng),消除余差的能力由弱到強(qiáng),只有消除偏差,輸出才停止變化。(3)微分調(diào)節(jié)的特點(diǎn):微分調(diào)節(jié)的輸出是與被調(diào)量的變化率成正比,在引入微分作用后能全面提高控制質(zhì)量,但是微分作用太強(qiáng),會(huì)引起控制閥時(shí)而全開(kāi)時(shí)而全關(guān),因此不能把T2取的太大,當(dāng)T2由小到大變化時(shí),微分作用由弱到強(qiáng),對(duì)容量滯后有明顯的作用,但是對(duì)純滯后沒(méi)有效果。整定方法及結(jié)果分析(1)在整定過(guò)程中,感到經(jīng)驗(yàn)湊試法在實(shí)踐中最為實(shí)用。在整定參數(shù)時(shí),必須認(rèn)真觀察系統(tǒng)響應(yīng)情況,根據(jù)系統(tǒng)的響應(yīng)情況決定調(diào)整那些參數(shù)。觀察系統(tǒng)響應(yīng)效果,可以通過(guò)查看控制回路細(xì)目畫(huà)面中的實(shí)時(shí)趨勢(shì)曲線,衰減曲線最好是4:1,即前一個(gè)峰值與后一個(gè)峰值的比值為4:1。(2)根據(jù)整定方法整定得出一組比較好的參數(shù),PID中:16<P<20;5<TI<10;0.5<TD<5;從曲線圖中也可以看出加熱器也是一個(gè)帶慣性的一介對(duì)象。8、技術(shù)小結(jié)我在此次實(shí)訓(xùn)中認(rèn)識(shí)到這次實(shí)習(xí)更加的綜合一些,要用到以前學(xué)過(guò)的CB編輯器、C語(yǔ)言、《計(jì)算機(jī)控制技術(shù)》和《自動(dòng)控制原理》綜合知識(shí)。靈活運(yùn)用上面的只是,得到在實(shí)習(xí)中的經(jīng)驗(yàn),從而可以使我們的綜合應(yīng)用能力得到了提高。在實(shí)驗(yàn)和以后的工作中,認(rèn)識(shí)到外部硬件(板卡)與PC的底層硬件連接,windows操作系統(tǒng)對(duì)這兩部分的硬件通過(guò)硬件商提供的硬件驅(qū)動(dòng)和動(dòng)態(tài)鏈接庫(kù)實(shí)現(xiàn)數(shù)據(jù)交換,實(shí)際是windows與板卡的寄存器實(shí)現(xiàn)數(shù)據(jù)交換。當(dāng)然在實(shí)習(xí)中約到了很多困難,比如pv的值調(diào)整很慢,達(dá)到穩(wěn)定后仍然有波動(dòng),這里可能是PID參數(shù)的問(wèn)題,也有的是正常原因,因?yàn)闇囟群茈y控制在一個(gè)特定的溫度不變,仍有些波動(dòng)是正常的。最后完成了這次實(shí)訓(xùn),學(xué)到了很多東西,感到很有它的價(jià)值所在。參考文獻(xiàn)1】陸衛(wèi)忠.C++Builder程序設(shè)計(jì)教程.2版.北京.科學(xué)出版社,2009.2】于海生.計(jì)算機(jī)控制技術(shù).北京.機(jī)械工業(yè)出版社,2007.3】(荷)AndrewS.Tanenbaum.現(xiàn)代操作系統(tǒng).北京:機(jī)械工業(yè)出版社,2009【4】葉蓓華?數(shù)字控制技術(shù)[M].北京:清華大學(xué)出版社,2002.附錄:模塊及算法程序://#include<vcl.h>#pragmahdrstop#include"Unit1.h"http://#pragmapackage(smart_init)#pragmaresource"*.dfm"floatSP=6.0,PV=0.0,MV=0.0,SP_T=0;floatHS=10.0,LS=2.0,HL=7.5,LL=2.5;floatP=0.5,I=10,D=5,T=1.0,Tf=1.0;floatUk=0.0,Uk1=0.0,DeltaUk=0.0,DeltaUk1=1.0;floatEk=0.0,Ek1=0.0,Ek2=0.0;floata,q0,q1,q2;intpvtrend[480];intsptrend[480];intmvtrend[480];TForm1*Form1;//__fastcallTForm1::TForm1(TComponent*Owner):TForm(Owner){}//void__fastcallTForm1::FormCreate(TObject*Sender){hDLL=LoadLibrary("ac6611.dll");if(hDLL!=NULL)Label1->Caption="AC6611.dllloadok!";(FARPROC&)AC6611_CreateDevice=GetProcAddress(hDLL,"AC6611_CreateDevice");//創(chuàng)建驅(qū)動(dòng)句柄(FARPROC&)AC6611_CloseDevice=GetProcAddress(hDLL,"AC6611_CloseDevice");//關(guān)閉驅(qū)動(dòng)句柄(FARPROC&)AC6611_DI=GetProcAddress(hDLL,"AC6611_DI");//數(shù)字量輸入,port=0-1兩個(gè)通道,8位數(shù)據(jù)由DiData返回(FARPROC&)AC6611_DO=GetProcAddress(hDLL,"AC6611_DO");//數(shù)字量輸出,port=0-1兩個(gè)通道,8位數(shù)據(jù)由DoData輸出(FARPROC&)AC6611_DiBit=GetProcAddress(hDLL,"AC6611_DiBit");//數(shù)字量輸入,port=0-1兩個(gè)通道,指定位輸入(FARPROC&)AC6611_DoBit=GetProcAddress(hDLL,"AC6611_DoBit");//數(shù)字量輸出,port=0-1兩個(gè)通道,指定位輸出(FARPROC&)AC6611_DA=GetProcAddress(hDLL,"AC6611_DA");//DA輸出,0-4095(FARPROC&)AC6611_VoltageToDA=GetProcAddress(hDLL,"AC6611_VoltageToDA");(FARPROC&)AC6611_AD=GetProcAddress(hDLL,"AC6611_AD");〃通用AD采樣(FARPROC&)AC6611_AD_CHN=GetProcAddress(hDLL,"AC6611_AD_CHN");〃設(shè)置AD通道0-15(FARPROC&)AC6611_ADS=GetProcAddress(hDLL,"AC6611_ADS");//直接AD采樣,為單通道AD采樣設(shè)計(jì)(FARPROC&)AC6611_ADToVoltage=GetProcAddress(hDLL,"AC6611_ADToVoltage");//創(chuàng)建驅(qū)動(dòng),選//創(chuàng)建驅(qū)動(dòng),選擇第0塊卡if(hDevice!=-1){Label2->Caption="AC6611CardIsExist!";}else{Label2->Caption="AC6611CardIsnotExist!";}}//void__fastcallTForm1::Timer1Timer(TObject*Sender){unsignedlongad;unsignedlongda;/*AC6611_AD(hDevice,5,&ad);//tongdaoPV=ad*(HS-LS)/4095.0;Edit14->Text=FloatToStrF(PV,0,4,4);*/PV=StrToFloat(Edit14->Text);floatTemp=(PV-LS)*100/(HS-LS);SP_T=(SP-LS)*100/(HS-LS);Edit1->Text=FloatToStrF(Temp,0,4,4);Ek=SP-PV;DeltaUk=a*DeltaUk1+(1-a)*(q0*Ek+q1*Ek1+q2*Ek2);Uk=Uk1+DeltaUk;if(Uk>100.0)Uk=100.0;if(Uk<0)Uk=0;DeltaUk1=DeltaUk;Uk1=Uk;Ek2=Ek1;Ek1=Ek;da=(unsignedshortint)(Uk*4095.0/100.0);AC6611_DA(hDevice,da);MV=Uk;Edit15->Text=FloatToStrF(MV,0,4,4);for(inti=0;i<479;i++){pvtrend[i]=pvtrend[i+1];sptrend[i]=sptrend[i+1];mvtrend[i]=mvtrend[i+1];}pvtrend[479]=300*PV/(HS-LS);sptrend[479]=300*SP/(HS-LS);mvtrend[479]=300*MV/100.0;//繪制趨勢(shì)曲線Image1->Picture->LoadFromFile("qushi.bmp");Image1->Canvas->Pen->Width=1;Image1->Canvas->Pen->Color=clBlue;Image1->Canvas->MoveTo(0,300);for(inti=0;i<480;i++)Image1->Canvas->LineTo(i,300-sptrend[i]);if(Temp<30)Label27->Color=clFuchsia;if(30<Temp&&Temp<80)Label27->Color=clBlack;if(Temp>80)Label27->Color=clRed;if(Temp<30)Image1->Canvas->Pen->Color=clFuchsia;if(30<Temp&&Temp<80)Image1->Canvas->Pen->Color=clBlack;if(Temp>80)Image1->Canvas->Pen->Color=clRed;Image1->Canvas->MoveTo(0,300);for(inti=0;i<480;i++)Image1->Canvas->LineTo(i,300-pvtrend[i]);Image1->Canvas->Pen->Color=clGreen;Image1->Canvas->MoveTo(0,300);for(inti=0;i<480;i++)Image1->Canvas->LineTo(i,300-mvtrend[i]);Image2->Picture->LoadFromFile("bangtu.bmp");Image2->Canvas->Pen->Color=clRed;Image2->Canvas->Pen->Width=5;Image2->Canvas->MoveTo(35,294);Image2->Canvas->LineTo(35,294-SP*288/(HS-LS));if(Temp<30)Image2->Canvas->Pen->Color=clFuchsia;if(30<Temp&&Temp<80)Image2->Canvas->Pen->Color=clBlack;if(Temp>80)Image2->Canvas->Pen->Color=clBlack;Image2->Canvas->MoveTo(55,294);Image2->Canvas->LineTo(55,294-PV*288/(HS-LS));Image2->Canvas->Pen->Color=clBlue;Image2->Canvas->MoveTo(70,294);Image2->Canvas->LineTo(70,294-MV*288/100.0);}//void__fastcallTForm1::Button1Click(TObject*Sender){HS=StrToFloat(Edit3->Text);LS=StrToFloat(Edit4->Text);HL=StrToFloat(Edit5->Text);LL=StrToFloat(Edit6->Text);P=StrToFloat(Edit8->Text);I=StrToFloat(Edit9->Text);D=StrToFloat(Edit10->Text);Tf=StrToFloat(Edit12->Text);q0=(100.0/P)*(1+T/I+D/T);q1=-(100.0/P)*(1+2*D/T);q2=(100.0/P)*D/T;SP=StrToFloat(Edit13->Text);}//void__fastcallTForm1::Button2Click(TObject*Sender){Close();}//驅(qū)動(dòng)加載程序://#ifndefUnit1H#defineUnit1H//#include<Classes.hpp>#include<Controls.hpp>#include<StdCtrls.hpp>#include<Forms.hpp>#include<ExtCtrls.hpp>#include<Graphics.hpp>#include<ComCtrls.hpp>//classTForm1:publicTForm{__published://IDE-managedComponentsTTimer*Timer1;TPageControl*PageControl1;TTabSheet*TabSheet2;TLabel*Label1;TLabel*Label2;TImage*Image1;TLabel*Label4;TLabel*Label5;TLabel*Label6;TLabel*Label7;TLabel*Label8;TLabel*Label9;TLabel*Label10;TLabel*Label11;TLabel*Label12;TLabel*Label13;TLabel*Label14;TLabel*Label15;TLabel*Label17;TLabel*Label18;TLabel*Label19;TLabel*Label21;TLabel*Label22;TLabel*Label23;TLabel*Label24;TLabel*Label26;TLabel*Label27;TLabel*Label29;TImage*Image2;TLabel*Label16;TLabel*Label3;TButton*Button1;TEdit*Edit3;TEdit*Edit4;TEdit*Edit5;TEdit*Edit6;TEdit*Edit8;TEdit*Edit9;TEdit*Edit10
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024熟食市場(chǎng)調(diào)研與品牌推廣合作協(xié)議3篇
- 2024醫(yī)療器械生產(chǎn)委托合同及技術(shù)規(guī)范協(xié)議3篇
- 2023-2024年執(zhí)業(yè)藥師之中藥學(xué)綜合知識(shí)與技能練習(xí)題及答案二
- 2024年適用個(gè)人單位租車協(xié)議范例版B版
- 2023-2024年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)題庫(kù)(附答案)
- 2024版乳膠漆承包合同范本
- 2024版慈善捐贈(zèng)第三方代理協(xié)議版
- 2024版房屋買賣合同標(biāo)的
- 2024年版:基于物聯(lián)網(wǎng)技術(shù)的智能物流解決方案合同
- 2024年股份期權(quán)授予協(xié)議范本版B版
- 2023建筑業(yè)10項(xiàng)新技術(shù)
- 2023-2024學(xué)年二年級(jí)數(shù)學(xué)上冊(cè)期末樂(lè)考 非紙筆測(cè)試B方案 人教版
- 維修工作流程圖
- Y2-90S-4-三相異步電動(dòng)機(jī)的制作-課程設(shè)計(jì)報(bào)告
- 中式烹調(diào)工藝與實(shí)訓(xùn)(第三版) 課件 第10、11章 烹飪美學(xué)、菜肴創(chuàng)新
- 物業(yè)投訴處理培訓(xùn)課件
- 《春秋》導(dǎo)讀學(xué)習(xí)通章節(jié)答案期末考試題庫(kù)2023年
- 1.1、供應(yīng)商管理控制流程與風(fēng)險(xiǎn)控制流程圖
- 初二年級(jí)勞動(dòng)課教案6篇
- 箱變遷移工程施工方案
- 北師大版九年級(jí)數(shù)學(xué)下冊(cè)《圓的對(duì)稱性》評(píng)課稿
評(píng)論
0/150
提交評(píng)論