基于VB6的PC機與多臺單片機通信的應(yīng)用在庫房管理系統(tǒng)中,傳統(tǒng)的方法是通過干濕度表、雙金屬式測量計等檢測器材進行人工測量,然后對不符合溫度、濕度等要求的庫房進行通風(fēng)、去濕、降溫等工作。這種人工方式效率低、誤差大,隨機事件難以預(yù)料,使庫房管理質(zhì)量得不到很好的保證。本文所論述的系統(tǒng)是一個用于制藥廠倉庫的監(jiān)控和管理系統(tǒng),上位機(PC機)除負責(zé)對下位機(MCS—51單片機)進行監(jiān)管和控制外,還用于采集下位機傳送的數(shù)據(jù)進行數(shù)
基于VB6的PC機與多臺單片機通信的應(yīng)用
在庫房管理系統(tǒng)中,傳統(tǒng)的方法是通過干濕度表、雙金屬式測量計等檢測器材進行人工測量,然后對不符合溫度、濕度等要求的庫房進行通風(fēng)、去濕、降溫等工作。這種人工方式效率低、誤差大,隨機事件難以預(yù)料,使庫房管理質(zhì)量得不到很好的保證。本文所論述的系統(tǒng)是一個用于制藥廠倉庫的監(jiān)控和管理系統(tǒng),上位機(PC機)除負責(zé)對下位機(
MCS—
51單片機)進行監(jiān)管和控制外,還用于采集下位機傳送的數(shù)據(jù)進行數(shù)據(jù)庫化管理,另外,上位機還可以對庫房藥品入庫、出庫、有效期、交易方式等信息進行管理,并可用實時曲線和報表的形式查詢。下位機(MCS-51單片機。MCS-51單片機及其外圍設(shè)備我們稱之為庫機)負責(zé)收集庫房中溫度、濕度、煙霧等信息并傳給上位機。此系統(tǒng)可使辦公人員坐在辦公室里對遠在幾百米之位的庫房進行監(jiān)控和管理,不但使辦公人員從繁重的體力勞動中解放出來,而且使庫房管理快速準確,提高了企業(yè)的管理水平和辦公自動化水平。
2 系統(tǒng)構(gòu)成及工作原理
PC機里安裝著用VB6編寫的倉庫管理系統(tǒng),作為前臺操作系統(tǒng)。系統(tǒng)的數(shù)據(jù)庫格式采用VB數(shù)據(jù)庫格式,也稱為本地數(shù)據(jù)庫,這類數(shù)據(jù)庫文件使用與 MicroSoft Access相同的格式,數(shù)據(jù)的存取利用VB6的ADO控件通過MicroSoft Jet (Joint Engineering Technology) 數(shù)據(jù)庫引擎,速度快工作效率高。此管理系統(tǒng)包括進庫藥品、進庫日期、出庫藥品、出庫日期、經(jīng)手人等的查詢,以及藥品過期提示等。另外還把庫機傳送來的數(shù)據(jù)實時顯示并存放在本地硬盤中,以便查詢和打印。后臺系統(tǒng)是一個上位機與多臺下位機通信的通信系統(tǒng),多臺下位機不斷從倉庫采集溫度、濕度、煙霧等數(shù)據(jù)傳給上位機,PC機進行實時顯示,并可以設(shè)置溫度、濕度、煙霧、等參數(shù),單片機根據(jù)設(shè)定參數(shù)來控制倉庫里的去濕、降溫和報警系統(tǒng),從而使庫房達到預(yù)定的環(huán)境。如果庫房內(nèi)環(huán)境與設(shè)定環(huán)境不符,單片機就會喚醒降溫、去濕設(shè)備,把倉庫內(nèi)參數(shù)鎖定在預(yù)定的范圍之內(nèi),如發(fā)生火災(zāi)、被盜等意外事件,單片機就會驅(qū)動火災(zāi)、防盜報警系統(tǒng),并把信號傳給上位機,使其在屏幕上作出顯示。
3 PC機與單片機之間的通信
3.1 通信方式的實現(xiàn)
PC機與單片機之間的通信是通過串行口來實現(xiàn)的(如圖2)。由于單片機系統(tǒng)電平是TTL電平,與標注RS-
232C不兼容,又考慮到通信距離,我們采用
Maxim公司生產(chǎn)的
Max485芯片將TTL電平轉(zhuǎn)化為RS-485標準,然后再進行RS-485與RS-232之間的轉(zhuǎn)換,再與PC機的串口連接。這種轉(zhuǎn)換方式延長了通信的距離,最長可達
1200米,提高了系統(tǒng)的可行性。
3.2 通信協(xié)議及程序設(shè)計思想
本系統(tǒng)由于是一臺上位機和多臺下位機,所以要給下位機設(shè)置一個通信代碼,為簡單起見,取0~
255之間的任意四個即可。當(dāng)PC機欲與某個單片機通信時,便向所有單片機發(fā)出通信代碼。單片機在接到代碼后與自己的代碼進行核對,如果一致則向PC機發(fā)出回應(yīng),開始通信,
其它的單片機繼續(xù)采集和傳輸數(shù)據(jù)。