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

正文內(nèi)容

基于cbuilder的實(shí)時(shí)過程監(jiān)控系統(tǒng)的設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-23 16:47 本頁面
 

【文章內(nèi)容簡介】 要消耗大量的時(shí)間與精力,而且要有非常強(qiáng)的專業(yè)知識(shí)。本系統(tǒng)的設(shè)計(jì)在開發(fā)界面過程中大量采用了多種組件組合的技術(shù),第三方組件也得到了大量的使用。這樣,程序員有了一條快速開發(fā)監(jiān)控程序的捷徑,同時(shí)開發(fā)的用戶界面也具有比較好的可視效果,可謂一舉兩得。本系統(tǒng)中用到的第三方組件主要有:IOCOMP,RAIZE,COMPONENTS(簡稱COM)等。下面就使用的COM組件做簡單介紹。 COM組件的功能及優(yōu)點(diǎn) COM(ponent)(COM組件)是微軟公司開發(fā)的一種新的軟件開發(fā)技術(shù),目的是為了使計(jì)算機(jī)工業(yè)的軟件生產(chǎn)更加符合人類的行為方式。組件實(shí)際上是一些小的二進(jìn)制可執(zhí)行程序,它由以Win 32動(dòng)態(tài)連接庫(DLL)或可執(zhí)行文件(EXE)形式發(fā)布的可執(zhí)行代碼所組成。遵循COM規(guī)范編寫出來的組件將能夠滿足對(duì)組件架構(gòu)的所有要求。它的優(yōu)點(diǎn)主要表現(xiàn)在:⑴、可以給應(yīng)用程序,操作系統(tǒng)以及其他組件提供服務(wù); ⑵、自定義的COM組件可以在運(yùn)行時(shí)刻同其他組件連接起來構(gòu)成某個(gè)應(yīng)用 程序;⑶、COM組件可以動(dòng)態(tài)的插入或卸出應(yīng)用;即使兩個(gè)對(duì)象(比如C++Builder和Matlab)使用不同語言來編寫的,他們可以用COM標(biāo)準(zhǔn)來進(jìn)行通信。[1] 實(shí)際應(yīng)用中,為充分發(fā)揮Matlab的優(yōu)點(diǎn),程序員總是將它與其他編程語言整合使用,本文就是將Matlab與C++Builder整合在一起使用,首先在Matlab中制作COM組件,然后C++Builder安裝使用生成的COM組件。 COM 。使用它可以方便的制作出自己想要的COM組件,以支持其他編程語言對(duì)組件的調(diào)用。有利于實(shí)現(xiàn)Matlab與其他編程語言的混合編程。首先要在Matlab中安裝COM Builder。這個(gè)比較簡單,通常在安裝Matlab過程中選中COM Builder即可實(shí)現(xiàn)。然后要設(shè)置Matlab的編譯環(huán)境。這是因?yàn)镸atlab COM Builder在編譯生成COM組件的時(shí)候需要借助于外部的編譯器,所以設(shè)置編譯環(huán)境是必要的。COM Builder支持Borland C++ Builder 6編譯器,設(shè)置使用外部編輯器的具體步驟可參考文獻(xiàn)【3】。 本系統(tǒng)中,軟件部分是實(shí)時(shí)過程監(jiān)控系統(tǒng)的核心部分,為了便于工作人員現(xiàn)場監(jiān)控、操作,設(shè)計(jì)更加友好的用戶界面是很有必要的。用戶界面的主要任務(wù)就是對(duì)從現(xiàn)場采集到的數(shù)據(jù)要求從計(jì)算機(jī)屏幕上以圖形、曲線的形式實(shí)時(shí)顯示出來,同時(shí)盡可能的顯示既完整又簡潔的圖形與數(shù)字。上文中簡單介紹到C++Buldler采用了一種可視化的編程環(huán)境,即提供了組件(VCL),我們不再以代碼的形式創(chuàng)建應(yīng)用程序,從而能夠更加直觀地進(jìn)行程序的開發(fā)和圖形化程序的開發(fā)。在本系統(tǒng)應(yīng)用程序界面部分的開發(fā)過程中,我們不僅用到了C++Builder本身自帶的控件,也應(yīng)用了大量的第三方控件。用戶界面上的主要內(nèi)容有手動(dòng)/自動(dòng)開關(guān)、設(shè)定算法處理方式、參數(shù)設(shè)置等。下面以鍋爐溫度和鍋爐液位控制界面為例來說明用戶界面的具體功能,如圖41所示: 圖41 溫度控制界面上圖中用戶界面包括三部分:有鍋爐溫度、曲線顯示和控制面板。鍋爐溫度部分主要是實(shí)時(shí)顯示當(dāng)前鍋爐溫度與當(dāng)前加熱電壓,同時(shí)顯示溫度設(shè)定值和高溫報(bào)警。曲線顯示部分主要顯示鍋爐溫度、加熱電壓和設(shè)定值三條曲線,分別用紅、藍(lán)、黃三種顏色繪制。控制面板部分有包括手動(dòng)控制面板和自動(dòng)控制面板。這兩個(gè)控制面板由左側(cè)手動(dòng)/自動(dòng)開關(guān)控制,手動(dòng)控制可以實(shí)現(xiàn)認(rèn)為的設(shè)定馬達(dá)頻率和馬達(dá)控制周期。自動(dòng)控制面板可以實(shí)現(xiàn)對(duì)PID的設(shè)置。其中PID采用積分分離PID算法和抗飽和積分PID算法,其具體原理將在下一章節(jié)中作出解釋。鍋爐液位控制界面如圖42所示: 圖42 鍋爐液位控制系統(tǒng) 鍋爐液位與鍋爐溫度的控制界面類似,都是三部分組成。但控制面板部分除了由手動(dòng)/自動(dòng)開關(guān)控制外,還增加了馬達(dá)控制。鍋爐液位與抽水馬達(dá)的頻率有關(guān),完成控制面板。下面就幾個(gè)方面的實(shí)現(xiàn)做關(guān)于程序方面的介紹。⑴、手動(dòng)控制與自動(dòng)控制初始化的程序如下: if(MessageDlg(真的要打開/關(guān)閉馬達(dá)嗎?,mtConfirmation, TMsgDlgButtons() mbYes mbNo, 0) == mrYes) { MDPL=0。 iKnob1Position=MDPL。 //馬達(dá)頻率 ,馬達(dá)頻率調(diào)節(jié) iAnalogOutput1Value=MDPL。 //數(shù)字輸出 iSwitchLed1Active=!iSwitchLed1Active。//轉(zhuǎn)換馬達(dá)開關(guān)狀態(tài) iLedRound6Active= iSwitchLed1Active。 //馬達(dá)指示燈跟蹤顯 示狀態(tài) MDKG=iSwitchLed1Active。 if(MDKG)//初始化馬達(dá)按鈕開關(guān) { RzPanel30Enabled=true。 //手動(dòng)/自動(dòng)開關(guān) iSwitchLever1RepaintAll()。 //手動(dòng)/自動(dòng)開關(guān)按鈕重繪 if(!AutoCtrl)//初始化控制面板 { RzGroupBox10Enabled=true。 //手動(dòng)控制面板 iKnob1RepaintAll()。 RzGroupBox11Enabled=false。 //自動(dòng)控制面板 } else { RzGroupBox10Enabled=false。 iKnob1RepaintAll()。 RzGroupBox11Enabled=true。 }//手動(dòng)自動(dòng)的控制板開關(guān) } else //馬達(dá)按鈕關(guān) { RzPanel30Enabled=false。 //手動(dòng)/自動(dòng)開關(guān)關(guān)閉 iSwitchLever1RepaintAll()。 RzGroupBox10Enabled=false。 iKnob1RepaintAll()。 RzGroupBox11Enabled=false。 } unsigned char nGp4=0xff。 //中斷向量 if (MDKG)nGp4=nGp4amp。0xfe。 else nGp4=nGp4|0x01。 //馬達(dá)開關(guān)的開閉,中斷向量的值不同 if(Win32Platform==VER_PLATFORM_WIN32_WINDOWS)DO6403All(PC6403ADD,0xff,0xff,0xff,nGp4)。// }本程序告知若馬達(dá)開關(guān)打開則可以進(jìn)行手動(dòng)/自動(dòng)開關(guān)調(diào)節(jié),關(guān)閉則收/自動(dòng)調(diào)節(jié)禁止。⑵、下面舉例說明手動(dòng)控制面板如何進(jìn)行人為設(shè)置馬達(dá)頻率與馬達(dá)控制周期,具體程序如下: if (iAnalogOutput1Value!=MDPL) //MDKZL 馬達(dá)控制量 { MDPL=iAnalogOutput1Value。 //設(shè)定值賦值給馬達(dá)頻率 iKnob1Position=MDPL。// 顯示馬達(dá)頻率 } MDCtrlTime=RzNumericEdit2Value。//設(shè)定周期(毫秒)賦值給馬達(dá)控制周期 iThreadTimers1Enabled2=false。 iThreadTimers1Interval2=MDCtrlTime。 if(Win32Platform==VER_PLATFORM_WIN32_WINDOWS)iThreadTimers1Enabled2=true。這樣就可以實(shí)現(xiàn)手動(dòng)設(shè)置馬達(dá)頻率與馬達(dá)控制周期。⑶、在圖31中為實(shí)現(xiàn)數(shù)據(jù)顯示的程序: Str=FormatFloat(,GLSW)。/將GLSW的數(shù)值即鍋爐水溫賦值給str RzLEDDisplay7Caption=Str。 //顯示鍋爐水溫?cái)?shù)字 St
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1