基于VB6.0的港口運料系統(tǒng)設(shè)計
摘要:針對港口貨船的焦炭稱量問題,設(shè)計基于Visual Basic6.0的港口運料系統(tǒng)。上位機通過RS 232串口發(fā)出控制命令,控制下位機(散料秤)稱量貨物,再把數(shù)據(jù)實時返回到上位機,實現(xiàn)上位機和下位機的實時通信和上位機對下位機的控制。為了使得系統(tǒng)在工業(yè)控制應(yīng)用中的功能更加完善,上位機還具備訪問數(shù)據(jù)庫、實時更新數(shù)據(jù)庫以及打印報表等功能。
關(guān)鍵詞:VB6.0;港口運料系統(tǒng);RS 232;串行通信
港口作為一個繁忙裝卸貨物的地方,往往聯(lián)系著一個區(qū)域或工廠的經(jīng)濟發(fā)展和生產(chǎn),為了搬運貨物的效率和減輕人的勞動負擔(dān),通過電腦自動控制的方法來實現(xiàn)貨船貨物的準(zhǔn)確稱量。本文基于Visual Basic6.0設(shè)計出一套港口運料系統(tǒng),運用港口運料系統(tǒng)可以實現(xiàn)在控制室完成焦炭的稱量和打印報表等一系列操作,不僅節(jié)省了人力物力,而且具有操作簡便和高效準(zhǔn)確的特點。
1 系統(tǒng)硬件設(shè)計方案
港口運料系統(tǒng)的基本設(shè)計方案是通過上位機的Visual Basic6.0編寫控制主程序,使用串行通信控件MSComm,通過RS 232傳輸線傳輸控制信號,總體結(jié)構(gòu)分為上、下位機。上位機主要包括工控計算機,下位機分別是6臺散料秤。工控計算機主要完成數(shù)據(jù)的匯集和加工,以下位機采集的數(shù)據(jù)為輸入,以統(tǒng)計加工后的數(shù)據(jù)為輸出(即報表,包括原始記錄單、焦炭計量對比表和計量單)。下位機主要完成數(shù)據(jù)的實時采集,以稱量的焦炭數(shù)據(jù)為輸入(記錄下每一秤的數(shù)據(jù)),以稱量的實時數(shù)據(jù)和記錄的累計量為輸出。上位機和下位機之間通過串口連接,實際的運行中,通信距離往往大于15 m而使得RS 232的通信受到限制,可使用RS 485傳輸設(shè)備,它的通信距離可達1 200 m,完全可以滿足大多數(shù)港口的通信距離要求。使用泓格的I-7000系列的7520模塊轉(zhuǎn)換RS 232和RS 485之間的信號標(biāo)準(zhǔn)電位。
2 監(jiān)控軟件系統(tǒng)框架
港口運料系統(tǒng)采用VB多窗口模式組織,菜單操作使界面簡單直觀。系統(tǒng)功能共分4部分:系統(tǒng)管理、系統(tǒng)工具、系統(tǒng)查看和退出,系統(tǒng)結(jié)構(gòu)如圖1所示。
3 系統(tǒng)的具體設(shè)計和實現(xiàn)
系統(tǒng)軟件主要分為4個模塊,包括:通信模塊、數(shù)據(jù)庫模塊、邏輯控制模塊、操作界面模塊,總體結(jié)構(gòu)如圖2所示。
3.1 通信模塊設(shè)計
通信部分主要涉及的功能有:
(1)系統(tǒng)通信管理。用戶通過友好人機界面設(shè)置通信的參數(shù),包括使用的串口號、傳輸?shù)牟ㄌ芈省鬏斝r烆愋偷?,并對通信線路進行查錯。
(2)主控界面上對下位機的操作。用戶通過主控界面對散料秤的操作,由通信模塊傳遞給下位機,并由下位機控制散料秤稱重;稱重得到實時數(shù)據(jù)、累計重量以及秤編號、報警信息等參數(shù)傳輸?shù)缴衔粰C。關(guān)鍵代碼如下:
在港口運料系統(tǒng)中,上位機首先設(shè)定了一個發(fā)送的數(shù)組:
Dim outbytebur(1 To 7)As Byte
同時,上位機也設(shè)置了一個byte型的動態(tài)數(shù)組,供接收數(shù)據(jù)使用:
Dim inbytebuf()As Byte
如果選擇一號稱斗,相應(yīng)的關(guān)鍵代碼為:
所有發(fā)送字節(jié)的校驗碼
bcc=tmpbytebuf(1)Xor tmpbytebuf(2)Xor tmpbytebuf(3)Xor tmpbytebuf(4)Xor tmpbytebuf(5)Xor tmpbytebuf(6)
發(fā)送命令字節(jié)
tmpbytebuf(7)=bcc
MSComm1.OutBufferCount=0
MSComm1.Output=tmpbytebuf
MSComm1.InBufferCount=0
延時以便接收數(shù)據(jù)
Modulel.timedelay(50)
這里用到了VB6.0開發(fā)環(huán)境中的MSComm通信控件,利用它可以方便地進行計算機串口的通信管理。
3.2 數(shù)據(jù)庫模塊設(shè)計
數(shù)據(jù)庫模塊主要負責(zé)對下位機提取到數(shù)據(jù)和用戶的一些相關(guān)信息數(shù)據(jù)進行存儲,備份,整理等工作。數(shù)據(jù)庫模塊主要涉及的功能有:
(1)存儲下位機傳送到上位機的數(shù)據(jù)以及船號、品名等相關(guān)信息;
(2)存儲系統(tǒng)用戶的設(shè)置和用戶登錄的管理信息;
(3)歷史數(shù)據(jù)查詢和打印。關(guān)鍵代碼如下所示:
3.3 邏輯控制模塊設(shè)計
控制模塊主要功能是通過軟件實現(xiàn)上位機對下位機的控制,全局把握系統(tǒng)的運行。包括如何顯示數(shù)據(jù),存取數(shù)據(jù)及相關(guān)報表的制作和打印等。該模塊功能就是將系統(tǒng)中的界面,數(shù)據(jù)庫等模塊有機的結(jié)合在一起。程序流程圖如圖3所示。
3.4 操作界面模塊設(shè)計
操作界面模塊主要是為了實現(xiàn)軟件的友好人機界面,使軟件操作人員能方便地操作整個系統(tǒng)。操作界面不僅方便操作,清晰地顯示數(shù)據(jù),而且具有動畫效果。使用戶更加方便地了解系統(tǒng)運行的過程。港口運料系統(tǒng)的主控界面如圖4所示。
4 結(jié)語
利用VB6.0開發(fā)港口運料系統(tǒng)的設(shè)計方案,分別介紹了其硬件設(shè)計方案,系統(tǒng)軟件的通信技術(shù),數(shù)據(jù)庫管理和界面設(shè)計。該系統(tǒng)具有界面友好,操作簡單,數(shù)據(jù)處理方便等優(yōu)點,已經(jīng)應(yīng)用于某港口焦炭運料項目,大大降低了港口工人的勞動強度,并且可以擴展應(yīng)用于廠礦、倉庫等貨物裝卸,具有良好的應(yīng)用前景。
評論