技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于Delphi7.0的精密溫度控制儀數(shù)據(jù)采集系統(tǒng)的研制

基于Delphi7.0的精密溫度控制儀數(shù)據(jù)采集系統(tǒng)的研制

時間:2006-11-13 10:09:00來源:lvjing

導(dǎo)語:?WSH_A型精密溫度控制儀是我們自主研發(fā)的一種以微型計算機(jī)為核心的智能三點溫度控制儀器。
1.引 言 WSH_A型精密溫度控制儀(以下簡稱:溫控儀)是我們自主研發(fā)的一種以微型計算機(jī)為核心的智能三點溫度控制儀器。溫控儀可以與各種型號的熱電偶配接,實現(xiàn)高精度的溫度檢測與控制。其檢測精度為0.05%,控制精度可達(dá)0.1%,現(xiàn)已成功應(yīng)用于半導(dǎo)體生產(chǎn)行業(yè)的溫度控制中。在實際應(yīng)用過程中,用戶往往需要同時觀察多臺溫控儀的運行狀態(tài)并且記錄運行數(shù)據(jù)供分析使用。 本文介紹的精密溫度控制儀數(shù)據(jù)采集系統(tǒng)在Delphi7.0環(huán)境下實現(xiàn)了多臺溫控儀的監(jiān)測、數(shù)據(jù)存儲、溫度曲線繪制、歷史曲線、數(shù)據(jù)查詢、報表等功能,大大方便了用戶的管理要求,系統(tǒng)采用RS485通信,最多可同時監(jiān)測16臺溫控儀。 2.硬件結(jié)構(gòu)及系統(tǒng)組成 2.1溫控儀的硬件結(jié)構(gòu) 溫控儀的硬件結(jié)構(gòu)及通信模塊原理圖如圖1所示: 圖1 溫控儀功能原理圖 在MAX485后加保護(hù)繼電器輸出,繼電器采用系統(tǒng)電源5V供電,系統(tǒng)未上電或異常斷電時斷開通信模塊與網(wǎng)絡(luò)的連接,從而使整個網(wǎng)絡(luò)更加穩(wěn)定可靠[1]。 2.2系統(tǒng)組成 溫控儀具有光電隔離的RS485通信接口模塊,RS485具有傳輸距離遠(yuǎn)、抗干擾性好等特點,是工業(yè)現(xiàn)場中應(yīng)用較多的一種通信方式[4]。輸入給溫控儀的三點溫度模擬量經(jīng)過溫控儀內(nèi)部功能模塊轉(zhuǎn)換后送給上位機(jī)的串口。系統(tǒng)的連接圖如圖2所示: 圖2 通信系統(tǒng)結(jié)構(gòu)圖 上位機(jī)和溫控儀的通信方式采用廣播方式[4]。在運行過程中,上位機(jī)處于主動地位,溫控儀被動接收到上位機(jī)發(fā)送的命令后,判斷地址是否和本機(jī)地址相同,進(jìn)而決定是否與上位機(jī)進(jìn)行數(shù)據(jù)傳輸。上位機(jī)按照地址號順序讀完所有連接在總線上的溫控儀稱為一個讀周期[1]。 3.通信協(xié)議的制定及通信實現(xiàn) 為了提高上位機(jī)的實時性,應(yīng)盡量減小每個讀周期的通信信息量,制定通信協(xié)議的重點是合理安排讀命令字,使修改頻率高的信息在每個讀周期都進(jìn)行傳輸,而修改頻率低的信息只有在修改后才進(jìn)行傳輸。 3.1設(shè)置命令字 溫控儀數(shù)據(jù)采集系統(tǒng)需要檢測的信息按更新頻率分為: 〔1〕檢測參數(shù):一套設(shè)備中三個測點的當(dāng)前溫度值,溫控儀當(dāng)前運行段號、段運行時間、運行總時間,環(huán)境溫度和設(shè)定溫度、溫控儀當(dāng)前輸出控制量以及部分開關(guān)量狀態(tài)。這些參數(shù)修改頻率高,應(yīng)在每個讀周期內(nèi)進(jìn)行傳輸。 〔2〕控制參數(shù):PID控制參數(shù)、溫度修正參數(shù),采樣時間,溫度報警值,熱電偶類型,以及根據(jù)工藝要求所設(shè)定的20段溫度工藝曲線參數(shù)。這些參數(shù)修改頻率低,在修改后才需要進(jìn)行傳輸。 上位機(jī)和溫控儀發(fā)送數(shù)據(jù)采用廣播方式,上位機(jī)下傳命令均為6個字節(jié),其格式為: [#]+[XX](地址)+[XX]+$0D。 其中:第1字節(jié)為頭字節(jié),第2、3字節(jié)為溫控儀地址,第4、5字節(jié)表示具體讀取內(nèi)容,如[RE]為讀取當(dāng)前溫度值及控制量參數(shù);[CT]為讀取控制參數(shù);[PI]為讀取PID及修正參數(shù);[LT]為讀取20段溫度工藝曲線參數(shù)。 3.2設(shè)置命令字優(yōu)先級 設(shè)置[RE]為關(guān)鍵命令字,具有高優(yōu)先級,在每個讀周期中讀取各溫控儀的檢測參數(shù)。在溫控儀上傳數(shù)據(jù)中設(shè)置一個狀態(tài)標(biāo)志位[X],監(jiān)視對應(yīng)的溫控儀有無控制參數(shù)修改,同時用來表示其它命令字的優(yōu)先級。如果用戶修改了溫控儀的控制參數(shù),則置狀態(tài)標(biāo)志位為1,相應(yīng)讀控制參數(shù)命令字的優(yōu)先級變高,上位機(jī)發(fā)送讀控制參數(shù)命令字,溫控儀接收到上位機(jī)發(fā)送的讀控制參數(shù)命令字并確定上傳數(shù)據(jù)后復(fù)位狀態(tài)標(biāo)志位。 3.3通信過程 本系統(tǒng)在通信協(xié)議中設(shè)置關(guān)鍵命令字,把通信過程中常用的查詢工作方式變?yōu)橹袛喙ぷ鞣绞剑蟠筇岣吡讼到y(tǒng)工作效率,通信過程的流程圖如圖3所示: 圖3 通信流程圖 3.4使用MSComm控件實現(xiàn)串口通信 MSComm控件是Visual Basic中提供的一個串口控件,使用簡單、性能良好,編程時不需要考慮復(fù)雜的API函數(shù),是串口通信中經(jīng)常使用的控件。 MSComm提供了事件驅(qū)動方式和查詢方式兩種處理通信的方法。通信軟件編寫中,讀命令字的發(fā)送比較簡單,下位機(jī)返回數(shù)據(jù)的接收部分要謹(jǐn)慎處理,要根據(jù)實際情況選擇是用事件驅(qū)動方式還是查詢方式,事件驅(qū)動方式必需保證每次下位機(jī)返回的存放在接收緩沖區(qū)的數(shù)據(jù)長度等于RThreshold屬性的設(shè)定值,以便激發(fā)OnComm( ) 事件,如果下位機(jī)對上位機(jī)發(fā)送的不同命令返回的數(shù)據(jù)長度不同就必須選擇查詢方式接收數(shù)據(jù)[4]。 注意,用查詢方式接收數(shù)據(jù)時,在向輸出緩沖區(qū)發(fā)送完讀命令后,設(shè)置適當(dāng)時間的延時非常重要,一般可以用延時函數(shù)Sleep( )延時,并根據(jù)返回數(shù)據(jù)的長度設(shè)置合理的延時時間。 發(fā)送讀命令并延時合適時間后,輸入緩沖區(qū)就會返回對應(yīng)此命令的數(shù)據(jù),判斷數(shù)據(jù)是否正確的條件有三個:數(shù)據(jù)頭為[#];數(shù)據(jù)尾為$0D;數(shù)據(jù)長度等于通信協(xié)議規(guī)定的長度。 4.系統(tǒng)功能及軟件結(jié)構(gòu)設(shè)計 4.1系統(tǒng)功能 本系統(tǒng)根據(jù)生產(chǎn)中用戶的需求設(shè)計所要實現(xiàn)的功能。 〔1〕 實現(xiàn)對連接在總線上溫控儀的工作狀態(tài)的監(jiān)測,溫控儀的工作狀態(tài)有檢測狀態(tài)、控制狀態(tài)和故障狀態(tài)。 〔2〕 參數(shù)讀?。鹤x取每個溫控儀的檢測參數(shù)和控制參數(shù)并實現(xiàn)數(shù)據(jù)庫存儲及實時三點溫度曲線繪制。 〔3〕 實現(xiàn)歷史數(shù)據(jù)查詢并顯示歷史溫度曲線功能。 〔4〕 實現(xiàn)報表及數(shù)據(jù)導(dǎo)出功能。 4.2軟件結(jié)構(gòu)設(shè)計 本系統(tǒng)的軟件實現(xiàn)分為三部分:第一部分實現(xiàn)溫控儀數(shù)據(jù)的讀入、處理、傳輸;第二部分實現(xiàn)數(shù)據(jù)分類顯示、存儲、曲線繪制;第三部分實現(xiàn)歷史數(shù)據(jù)及溫度曲線查詢、報表打印等功能。各部分的重點工作如下: 〔1〕 數(shù)據(jù)讀入:根據(jù)對溫控儀不同數(shù)據(jù)的讀取頻率的不同寫成兩個子過程ReadTemperature()和ReadPIDQX(),ReadTemperature()過程發(fā)送關(guān)鍵命令字,讀檢測參數(shù),ReadPIDQX()過程用來讀取控制參數(shù),子過程的形式參數(shù)是溫控儀的地址。ReadTemperature()子過程核心代碼: procedure ReadTemperature (adress1,adress2:byte); var send_ReadTOrder:variant;//關(guān)鍵命令字用variant變量存儲 wendu_inputstring:string;//上傳的原始數(shù)據(jù)放在wendu_inputstring字符串里 InputLen,string_dingwei:integer;//數(shù)據(jù)長度和wendu_inputstring定位 Begin send_ReadTOrder:= VarArrayCreate([0,5], varByte); send_ ReadTOrder [0]:=$23; send_ ReadTOrder [3]:=$52; send_ ReadTOrder [1]:=adress1; send_ ReadTOrder [4]:=$45; send_ ReadTOrder [2]:=adress2; send_ ReadTOrder [5]:=$0D; if MainForm.MSComm.PortOpen then //如果串口已經(jīng)打開,則發(fā)送讀溫度命令 begin MainForm.mscomm.InBufferCount:=0; //清空輸入緩沖區(qū) MainForm.mscomm.OutBufferCount:=0;//清空輸出緩沖區(qū) MainForm.MSComm.Output:= send_ReadTOrder; //向輸出緩沖區(qū)發(fā)送讀溫度命令 sleep(600);//適當(dāng)延時 InputLen:=MainForm.MSComm.InBufferCount;//讀入輸入緩沖區(qū)里的返回數(shù)據(jù)長度 wendu_inputstring:=MainForm.MSComm.Input;//直接以ASCII碼形式接收數(shù)據(jù) string_dingwei:=pos(’*’,wendu_inputstring);//定位讀入的字符串 state:=copy(string_dingwei,wendu_inputstring) if(InputLen>=50)&&(copy(string_dingwei,wendu_inputstring)=’*’) &&( copy(string_dingwei+50,wendu_inputstring)=’ ’) then//注意入口條件,尤其是(InputLen>50)條件,50是通信協(xié)議中規(guī)定的返回數(shù)據(jù)的長度 Begin If (state==’1’)then Begin //發(fā)送ReadPIDQX()并做相應(yīng)數(shù)據(jù)處理 End else ……//處理數(shù)據(jù)并傳輸 End; end; 〔2〕 數(shù)據(jù)顯示及溫度曲線繪制:數(shù)據(jù)顯示部分使用專業(yè)工業(yè)控件Iocomp,曲線繪制采用Teechartpro6版本,數(shù)據(jù)庫為Access2003。繪制溫度曲線時,首先將溫控儀儲存的20段溫度工藝曲線以紅色畫出來,三點檢測溫度曲線則以藍(lán)、黃、綠三色畫出。注意圖像的縮放、托動等輔助功能不使用Teechart的自帶功能,加兩個Scrollbar控件,用Srollbar的postion屬性控制時間軸(溫度軸)的min屬性實現(xiàn)時間軸(溫度軸)的拖動,溫度和時間軸的步長可以自由設(shè)置,實現(xiàn)曲線在時間軸(溫度軸)上的縮放。系統(tǒng)的主界面如圖4所示: 圖4 系統(tǒng)主界面 〔3〕數(shù)據(jù)存取及歷史數(shù)據(jù)查詢:每個溫控儀的歷史數(shù)據(jù)記錄按其運行時間查詢,同時畫出運行時的20段溫度工藝曲線和三點的歷史溫度曲線。每次系統(tǒng)運行時,用getlocaltime()函數(shù)取系統(tǒng)當(dāng)前時間,格式為xxYxxMxxDxxHxxM作為數(shù)據(jù)庫的表名,此次運行記錄的數(shù)據(jù)都存在這個表里,這樣非常方便用戶的查詢,選擇儀表地址,就會在Listbox里顯示此儀表的所有歷史數(shù)據(jù)記錄,選擇要查詢的表名顯示記錄的數(shù)據(jù),同時將歷史曲線畫出,報表用Rave5制作[3],歷史數(shù)據(jù)也可以導(dǎo)出到Excel中編輯打印[2]。 5.結(jié)束語 本文所研制的實時數(shù)據(jù)采集系統(tǒng)配合WSH_A型精密溫度控制儀已經(jīng)應(yīng)用在半導(dǎo)體芯片生產(chǎn)的溫度控制中。在通信協(xié)議中設(shè)置關(guān)鍵命令字,把通信過程中通常使用的查詢工作方式變?yōu)橹袛喙ぷ鞣绞?,結(jié)構(gòu)的優(yōu)化使系統(tǒng)運行穩(wěn)定,實時性強(qiáng)。Teechart,Iocomp等第三方控件的靈活運用使界面顯示曲線繪制更加專業(yè),滿足了用戶需求,并取得了良好的經(jīng)濟(jì)效益。 6.參考文獻(xiàn) [1] 王媛婷,楊耿杰,郭謀發(fā). Delphi+MSComm控件開發(fā)串行通信程序 [J].工業(yè)控制,2004,7(2):8-11. [2] 賽奎春,陳紫鴻,宋坤.Delphi數(shù)據(jù)庫開發(fā)關(guān)鍵技術(shù)與實例應(yīng)用[M].北京:人民郵電出版社,2004.5 197-227. [3] 肖慶航,陸定淑.Delphi7數(shù)據(jù)庫開發(fā)教程[M].北京:清華大學(xué)出版社,2004.3 216-231. [4] 趙蘭濤,蘇彥華.Delphi串口通信技術(shù)與工程實踐[M].北京:人民郵電出版社,2004.6 56-77.

標(biāo)簽:

點贊

分享到:

上一篇:線路通尋線器的使用方法

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號