石毅壯
(赤峰市農(nóng)牧業(yè)機(jī)械化研究推廣中心,內(nèi)蒙古 赤峰 024000)
在控制領(lǐng)域中,溫度的檢測(cè)與控制占有很重要的地位,溫度監(jiān)控在各個(gè)領(lǐng)域中都得到了廣泛的應(yīng)用。本文實(shí)現(xiàn)的是一個(gè)溫度監(jiān)控系統(tǒng)的上位機(jī)系統(tǒng)設(shè)計(jì),由VB 編程實(shí)現(xiàn)。通過RS-232 串口通信,上位機(jī)接收下位機(jī)在線采集的溫度數(shù)據(jù),進(jìn)行實(shí)時(shí)顯示,同時(shí)根據(jù)溫度設(shè)定值,計(jì)算控制參數(shù),并傳遞給下位機(jī)進(jìn)行溫度控制。串口通信采用mscomm32控件實(shí)現(xiàn),簡(jiǎn)單方便。溫度曲線的實(shí)時(shí)顯示包括數(shù)字顯示和曲線顯示兩部分,不僅顯示當(dāng)前溫度采樣值,同時(shí)顯示實(shí)時(shí)曲線,便于實(shí)現(xiàn)對(duì)溫度的實(shí)時(shí)監(jiān)控。
溫度監(jiān)控系統(tǒng)下位機(jī)采集檢測(cè)的溫度為本上位機(jī)提供了數(shù)據(jù),VB 軟件編程實(shí)現(xiàn)的人機(jī)對(duì)話界面將實(shí)現(xiàn)對(duì)這些數(shù)據(jù)的顯示、調(diào)節(jié)、趨勢(shì)圖、等處理功能,建立一個(gè)易于使用、易于管理的人機(jī)交互界面。
上位機(jī)設(shè)計(jì)的目的是對(duì)下位機(jī)檢測(cè)的數(shù)據(jù)進(jìn)行后處理。VB 軟件編程實(shí)現(xiàn)的人機(jī)對(duì)話界面主要包括以下功能:
1)與溫度控制系統(tǒng)下位機(jī)進(jìn)行數(shù)據(jù)通信。
2)實(shí)現(xiàn)溫度信息的顯示、調(diào)節(jié)、趨勢(shì)圖等處理功能。
VB 軟件編程實(shí)現(xiàn)的人機(jī)對(duì)話界面總體框圖如圖1所示。
圖1 人機(jī)對(duì)話界面總體框圖
上位機(jī)的主界面采用MDI菜單形式設(shè)計(jì),通過下拉菜單,可以進(jìn)行系統(tǒng)功能即與下位機(jī)進(jìn)行串行通信,將接收到的溫度信息進(jìn)行顯示、調(diào)節(jié)、刪除、趨勢(shì)圖表等操作。VB軟件編程實(shí)現(xiàn)的人機(jī)對(duì)話界面運(yùn)行在PC 上,開發(fā)平臺(tái)采用Microsoft Visual Basic6.0軟件來實(shí)現(xiàn)操作。
本文采用Microsoft Visual Basic6.0 集成環(huán)境下對(duì)人機(jī)對(duì)話界面的進(jìn)行設(shè)計(jì)。
為了使設(shè)計(jì)的人機(jī)對(duì)話界面方便、易懂,本文設(shè)計(jì)一個(gè)系統(tǒng)的主界面,在主界面上,基本能把所要實(shí)現(xiàn)的所有系統(tǒng)功能都顯示出來,即在主界面上就可以完成所有的操作。
主界面主要由窗體、菜單欄和實(shí)現(xiàn)具體功能的控件等組成。菜單欄是通過VB 中的菜單編輯器設(shè)計(jì)的,可以通過選擇菜單欄里的下拉菜單,選擇系統(tǒng)的附加小功能;系統(tǒng)的主要功能都是通過窗體中添加的各個(gè)控件來完成的。菜單編輯器包括三個(gè)區(qū)域:菜單屬性設(shè)置區(qū)、菜單編輯區(qū)、菜單列表區(qū),如圖2所示。
圖2 菜單編輯器“Serial”模塊設(shè)計(jì)
本文的“Serial”模塊主要是完成設(shè)置串口參數(shù)的功能,設(shè)置的串口參數(shù)包括串口通道、波特率、檢驗(yàn)位、數(shù)據(jù)位和停止位,通過主界面的下拉菜單進(jìn)入“Serial”模塊,進(jìn)入“Serial”后就可以隨時(shí)改變串口通信參數(shù),簡(jiǎn)單方便。同時(shí)還在“Serial”模塊中加入了串口引腳接線圖,增加了該功能的可讀性。在“Serial”模塊中一共添加了5 個(gè)Label 控件、1 個(gè)Frame 控件、1 個(gè)Command 控件和5 個(gè)Comb控件(復(fù)選框控件,用來選擇要?jiǎng)偢牡膮?shù))?!癝erial”模塊界面如圖3所示。
圖3“Serial”模塊界面
分別完成各項(xiàng)功能之后,為了使應(yīng)用程序能夠脫離開發(fā)環(huán)境而直接在Windows 環(huán)境下運(yùn)行,就必須將應(yīng)用程序編譯成可執(zhí)行文件(.exe 文件)。
編譯方法是:依次選擇“文件”菜單的“生成工程1.exe”命令(這里的“工程1”是工程名),彈出“生成工程”對(duì)話框,選定保存位置,輸入可執(zhí)行文件的名字,單擊“確定”按鈕即可在指定位置建立一個(gè)可執(zhí)行文件。
對(duì)于一個(gè)上下位機(jī)都要采用的系統(tǒng)中,系統(tǒng)調(diào)試的成功當(dāng)然是一個(gè)不可忽視的部分。只有系統(tǒng)調(diào)試正常,才能完成最終設(shè)計(jì)任務(wù)。上位機(jī)通過編譯、連接找出程序中的錯(cuò)誤,當(dāng)上位機(jī)程序中沒有錯(cuò)誤通過編譯后,就與調(diào)試好的下位機(jī)系統(tǒng)進(jìn)行聯(lián)調(diào)。上、下位機(jī)通過串口線連接起來,使用串口線把下位機(jī)和計(jì)算機(jī)COM1 串口連接起來,下位機(jī)的電路板加上5V 電源,然后運(yùn)行VB 程序。首先單擊上位機(jī)系統(tǒng)的主界面中的聯(lián)接按鈕,當(dāng)界面中的“通訊”指示燈變紅時(shí),證明上下位機(jī)已經(jīng)聯(lián)接上了,即串口聯(lián)接成功。本文應(yīng)該對(duì)水溫進(jìn)行加熱,但由于水溫加熱速度慢,本文用燈泡代替水,并對(duì)其進(jìn)行溫度監(jiān)控。
當(dāng)上、下位機(jī)聯(lián)接好后,上位機(jī)主界面中的“當(dāng)前溫度”位置就會(huì)顯示出溫度值,“接收數(shù)據(jù)”位置可顯示溫度值和溫度傳感器的序列號(hào),溫度測(cè)試部分成功。然后我們上位機(jī)主界面設(shè)定一個(gè)溫度值,在“控溫”處打?qū)μ?hào),如果當(dāng)前溫度低于上位機(jī)設(shè)定的溫度,上位機(jī)就會(huì)控制下位機(jī)對(duì)燈泡進(jìn)行加熱,即打開繼電器,此時(shí)上位機(jī)界面的“開關(guān)狀態(tài)”指示燈變紅,且“溫度曲線”部分顯示上升曲線,這證明控制部分也是成功的。當(dāng)溫度達(dá)到上位機(jī)設(shè)定的溫度值時(shí),上位機(jī)控制下位機(jī)停止加熱,繼電器停止工作,“開關(guān)狀態(tài)”指示燈也會(huì)變黑。上、下位機(jī)的調(diào)試結(jié)果圖如圖4所示。
圖4 上、下位機(jī)調(diào)試結(jié)果圖
本文主要設(shè)計(jì)了基于單片機(jī)溫度控制系統(tǒng)的上位機(jī),通過VB 軟件進(jìn)行編程,設(shè)計(jì)了良好的人機(jī)對(duì)話界面,在上位機(jī)的人機(jī)對(duì)話界面上,設(shè)計(jì)了串口通信、溫度顯示、目標(biāo)溫度值設(shè)定、曲線顯示等主要部分,還設(shè)計(jì)了附加小功能模塊、如“Help”模塊和“Sertal”模塊。
本文設(shè)計(jì)的控制系統(tǒng)實(shí)現(xiàn)了上、下位機(jī)聯(lián)調(diào)控制水溫,對(duì)水溫進(jìn)行實(shí)時(shí)測(cè)量和控制,實(shí)現(xiàn)上位機(jī)與下位機(jī)的通信,完成溫度信息的上傳與溫度給定值的下傳;采用VB 語言編程對(duì)溫度信息管理系統(tǒng)的設(shè)計(jì)從而完成對(duì)水的溫度的進(jìn)行顯示、調(diào)節(jié)、趨勢(shì)圖等功能,并使系統(tǒng)簡(jiǎn)單、方便、易操作。上位機(jī)良好的人際對(duì)話界面使操作人員輕易的就可對(duì)系統(tǒng)進(jìn)行操作。
[1] 李江全,張麗,岑紅蕾.Visual Basic 串口通信與測(cè)控應(yīng)用技術(shù)實(shí)戰(zhàn)詳解[M].北京:人民郵電出版社,2007: 150-155.
[2] 陳紫紅,安劍,孫秀梅,等.Visual Basic 項(xiàng)目開發(fā)全程實(shí)錄[M].北京:清華大學(xué)出版社,2008: 115-124.
[3] 李懷明,等.Visual Basic 6.0 中文版參考詳解[M].北京:清華大學(xué)出版社,1999: 98-103.
[4] 馬壯,吳錚,王永強(qiáng).基于VB 的PC 機(jī)與單片機(jī)串行通信系統(tǒng)研究與實(shí)現(xiàn)[J].唐山學(xué)院學(xué)報(bào),2008,21(4): 124-132.
[5] FAWZI A.RADWAN and TERRY W.Martin.Real- time Monitoring and Controlling of an Allen-bradley SLC 500 through the internet.[J] Restrictions apply.2009,19(7): 387-392.