石毅壯
(赤峰市農(nóng)牧業(yè)機械化研究推廣中心,內(nèi)蒙古 赤峰 024000)
在控制領域中,溫度的檢測與控制占有很重要的地位,溫度監(jiān)控在各個領域中都得到了廣泛的應用。本文實現(xiàn)的是一個溫度監(jiān)控系統(tǒng)的上位機系統(tǒng)設計,由VB 編程實現(xiàn)。通過RS-232 串口通信,上位機接收下位機在線采集的溫度數(shù)據(jù),進行實時顯示,同時根據(jù)溫度設定值,計算控制參數(shù),并傳遞給下位機進行溫度控制。串口通信采用mscomm32控件實現(xiàn),簡單方便。溫度曲線的實時顯示包括數(shù)字顯示和曲線顯示兩部分,不僅顯示當前溫度采樣值,同時顯示實時曲線,便于實現(xiàn)對溫度的實時監(jiān)控。
溫度監(jiān)控系統(tǒng)下位機采集檢測的溫度為本上位機提供了數(shù)據(jù),VB 軟件編程實現(xiàn)的人機對話界面將實現(xiàn)對這些數(shù)據(jù)的顯示、調(diào)節(jié)、趨勢圖、等處理功能,建立一個易于使用、易于管理的人機交互界面。
上位機設計的目的是對下位機檢測的數(shù)據(jù)進行后處理。VB 軟件編程實現(xiàn)的人機對話界面主要包括以下功能:
1)與溫度控制系統(tǒng)下位機進行數(shù)據(jù)通信。
2)實現(xiàn)溫度信息的顯示、調(diào)節(jié)、趨勢圖等處理功能。
VB 軟件編程實現(xiàn)的人機對話界面總體框圖如圖1所示。

圖1 人機對話界面總體框圖
上位機的主界面采用MDI菜單形式設計,通過下拉菜單,可以進行系統(tǒng)功能即與下位機進行串行通信,將接收到的溫度信息進行顯示、調(diào)節(jié)、刪除、趨勢圖表等操作。VB軟件編程實現(xiàn)的人機對話界面運行在PC 上,開發(fā)平臺采用Microsoft Visual Basic6.0軟件來實現(xiàn)操作。
本文采用Microsoft Visual Basic6.0 集成環(huán)境下對人機對話界面的進行設計。
為了使設計的人機對話界面方便、易懂,本文設計一個系統(tǒng)的主界面,在主界面上,基本能把所要實現(xiàn)的所有系統(tǒng)功能都顯示出來,即在主界面上就可以完成所有的操作。
主界面主要由窗體、菜單欄和實現(xiàn)具體功能的控件等組成。菜單欄是通過VB 中的菜單編輯器設計的,可以通過選擇菜單欄里的下拉菜單,選擇系統(tǒng)的附加小功能;系統(tǒng)的主要功能都是通過窗體中添加的各個控件來完成的。菜單編輯器包括三個區(qū)域:菜單屬性設置區(qū)、菜單編輯區(qū)、菜單列表區(qū),如圖2所示。

圖2 菜單編輯器“Serial”模塊設計
本文的“Serial”模塊主要是完成設置串口參數(shù)的功能,設置的串口參數(shù)包括串口通道、波特率、檢驗位、數(shù)據(jù)位和停止位,通過主界面的下拉菜單進入“Serial”模塊,進入“Serial”后就可以隨時改變串口通信參數(shù),簡單方便。同時還在“Serial”模塊中加入了串口引腳接線圖,增加了該功能的可讀性。在“Serial”模塊中一共添加了5 個Label 控件、1 個Frame 控件、1 個Command 控件和5 個Comb控件(復選框控件,用來選擇要剛改的參數(shù))。“Serial”模塊界面如圖3所示。

圖3“Serial”模塊界面
分別完成各項功能之后,為了使應用程序能夠脫離開發(fā)環(huán)境而直接在Windows 環(huán)境下運行,就必須將應用程序編譯成可執(zhí)行文件(.exe 文件)。
編譯方法是:依次選擇“文件”菜單的“生成工程1.exe”命令(這里的“工程1”是工程名),彈出“生成工程”對話框,選定保存位置,輸入可執(zhí)行文件的名字,單擊“確定”按鈕即可在指定位置建立一個可執(zhí)行文件。

對于一個上下位機都要采用的系統(tǒng)中,系統(tǒng)調(diào)試的成功當然是一個不可忽視的部分。只有系統(tǒng)調(diào)試正常,才能完成最終設計任務。上位機通過編譯、連接找出程序中的錯誤,當上位機程序中沒有錯誤通過編譯后,就與調(diào)試好的下位機系統(tǒng)進行聯(lián)調(diào)。上、下位機通過串口線連接起來,使用串口線把下位機和計算機COM1 串口連接起來,下位機的電路板加上5V 電源,然后運行VB 程序。首先單擊上位機系統(tǒng)的主界面中的聯(lián)接按鈕,當界面中的“通訊”指示燈變紅時,證明上下位機已經(jīng)聯(lián)接上了,即串口聯(lián)接成功。本文應該對水溫進行加熱,但由于水溫加熱速度慢,本文用燈泡代替水,并對其進行溫度監(jiān)控。
當上、下位機聯(lián)接好后,上位機主界面中的“當前溫度”位置就會顯示出溫度值,“接收數(shù)據(jù)”位置可顯示溫度值和溫度傳感器的序列號,溫度測試部分成功。然后我們上位機主界面設定一個溫度值,在“控溫”處打?qū)μ枺绻斍皽囟鹊陀谏衔粰C設定的溫度,上位機就會控制下位機對燈泡進行加熱,即打開繼電器,此時上位機界面的“開關狀態(tài)”指示燈變紅,且“溫度曲線”部分顯示上升曲線,這證明控制部分也是成功的。當溫度達到上位機設定的溫度值時,上位機控制下位機停止加熱,繼電器停止工作,“開關狀態(tài)”指示燈也會變黑。上、下位機的調(diào)試結果圖如圖4所示。

圖4 上、下位機調(diào)試結果圖
本文主要設計了基于單片機溫度控制系統(tǒng)的上位機,通過VB 軟件進行編程,設計了良好的人機對話界面,在上位機的人機對話界面上,設計了串口通信、溫度顯示、目標溫度值設定、曲線顯示等主要部分,還設計了附加小功能模塊、如“Help”模塊和“Sertal”模塊。
本文設計的控制系統(tǒng)實現(xiàn)了上、下位機聯(lián)調(diào)控制水溫,對水溫進行實時測量和控制,實現(xiàn)上位機與下位機的通信,完成溫度信息的上傳與溫度給定值的下傳;采用VB 語言編程對溫度信息管理系統(tǒng)的設計從而完成對水的溫度的進行顯示、調(diào)節(jié)、趨勢圖等功能,并使系統(tǒng)簡單、方便、易操作。上位機良好的人際對話界面使操作人員輕易的就可對系統(tǒng)進行操作。
[1] 李江全,張麗,岑紅蕾.Visual Basic 串口通信與測控應用技術實戰(zhàn)詳解[M].北京:人民郵電出版社,2007: 150-155.
[2] 陳紫紅,安劍,孫秀梅,等.Visual Basic 項目開發(fā)全程實錄[M].北京:清華大學出版社,2008: 115-124.
[3] 李懷明,等.Visual Basic 6.0 中文版參考詳解[M].北京:清華大學出版社,1999: 98-103.
[4] 馬壯,吳錚,王永強.基于VB 的PC 機與單片機串行通信系統(tǒng)研究與實現(xiàn)[J].唐山學院學報,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.