談宏華,宋學(xué)賢,王科敏
(武漢工程大學(xué)電氣信息學(xué)院,湖北 武漢 430074)
現(xiàn)代化的物流倉(cāng)庫(kù)和工廠儲(chǔ)物倉(cāng)庫(kù)規(guī)模大,數(shù)量多,而且環(huán)境條件的要求高,倉(cāng)庫(kù)的日常管理直接影響到儲(chǔ)備物資的使用壽命和工作可靠性.倉(cāng)庫(kù)管理的首要問題是加強(qiáng)倉(cāng)庫(kù)的溫度和濕度監(jiān)測(cè)工作,并根據(jù)監(jiān)測(cè)倉(cāng)庫(kù)環(huán)境狀況實(shí)時(shí)調(diào)整倉(cāng)庫(kù)的溫度、濕度,光照等環(huán)境因素以使之處于合適的范圍內(nèi),保證儲(chǔ)備物資的最佳儲(chǔ)存環(huán)境.LabVIEW是一種由美國(guó)國(guó)家儀器(NI)公司研制開發(fā)的程序開發(fā)環(huán)境,它使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式[1].
本文是采用LabVIEW結(jié)合IPC(Industrial Personal Computer)作為上位機(jī)監(jiān)控系統(tǒng),用單片機(jī)作為下位機(jī)采集溫、濕度傳感器信號(hào)處理和傳輸終端,工控機(jī)通過串口RS232與下位機(jī)進(jìn)行通信,然后LabVIEW程序?qū)⑾挛粰C(jī)送來的數(shù)據(jù)進(jìn)行相應(yīng)處理,并發(fā)出相應(yīng)的控制指令,控制各個(gè)倉(cāng)庫(kù)的溫濕度控制設(shè)備的運(yùn)行,達(dá)到維持倉(cāng)庫(kù)穩(wěn)定的環(huán)境條件的目的.
采用LabVIEW結(jié)合PC機(jī)作為上位機(jī)監(jiān)控系統(tǒng),利用傳感器檢測(cè)各個(gè)倉(cāng)庫(kù)環(huán)境參數(shù),利用單片機(jī)對(duì)采集溫濕度傳感器的信號(hào)進(jìn)行標(biāo)準(zhǔn)化處理,同時(shí)單片機(jī)接收PC機(jī)指令,直接輸出倉(cāng)庫(kù)設(shè)備的操作指令[2].此系統(tǒng)中,單片機(jī)和傳感器組成信號(hào)采集模塊,PC機(jī)與單片機(jī)采用RS485和RS232通信協(xié)議進(jìn)行上下位機(jī)通訊,組成一個(gè)有PC機(jī)和單片機(jī)協(xié)調(diào)控制的多CPU系統(tǒng)網(wǎng)絡(luò),其系統(tǒng)結(jié)構(gòu)原理圖如圖1所示.
圖1 系統(tǒng)結(jié)構(gòu)原理圖Fig.1 Structural schematics of system
系統(tǒng)檢測(cè)溫度范圍為-30℃~50℃,監(jiān)測(cè)精度為0.5℃,濕度檢測(cè)范圍為10%~95%RH,監(jiān)測(cè)精度為1%.系統(tǒng)采用10秒鐘間隔采樣方式監(jiān)測(cè)環(huán)境的溫濕度,并將實(shí)時(shí)監(jiān)測(cè)到的溫、濕度數(shù)據(jù)存入數(shù)據(jù)庫(kù)中生成數(shù)據(jù)報(bào)表.為了適應(yīng)不同物資所要求的環(huán)境條件的不同,系統(tǒng)可以人為設(shè)定環(huán)境溫度范圍和濕度范圍.溫度和濕度范圍值設(shè)定以后,當(dāng)系統(tǒng)監(jiān)測(cè)到環(huán)境溫度和濕度超出這一設(shè)定的范圍時(shí),系統(tǒng)啟動(dòng)聲光報(bào)警并自動(dòng)啟動(dòng)倉(cāng)庫(kù)里的降溫設(shè)備進(jìn)行降溫、啟動(dòng)通風(fēng)機(jī)進(jìn)行除濕處理,當(dāng)溫度和濕度恢復(fù)到設(shè)定范圍內(nèi)時(shí)聲光報(bào)警自動(dòng)解除.其工作原理圖如圖2所示.
圖2 工作原理圖Fig.2 Working schematics
運(yùn)行LabVIEW程序的工控機(jī),一方面作為倉(cāng)庫(kù)環(huán)境監(jiān)控的人機(jī)交互界面,另一方面利用其強(qiáng)大的運(yùn)算處理能力對(duì)監(jiān)測(cè)的環(huán)境數(shù)據(jù)進(jìn)行分析處理,控制倉(cāng)庫(kù)的降溫和除濕設(shè)備運(yùn)行.為實(shí)現(xiàn)各個(gè)倉(cāng)庫(kù)自動(dòng)控制和監(jiān)控的實(shí)時(shí)性,本系統(tǒng)運(yùn)用PID控制算法設(shè)計(jì)監(jiān)控程序,對(duì)環(huán)境數(shù)據(jù)進(jìn)行采集和倉(cāng)庫(kù)設(shè)備進(jìn)行智能控制,其控制策略原理圖如圖3所示.
圖3 控制策略原理圖Fig.3 Control algorithm schematics
利用LabVIEW設(shè)計(jì)的監(jiān)控界面如圖4所示.系統(tǒng)可以實(shí)現(xiàn)以下功能:(1) 溫濕度實(shí)時(shí)數(shù)據(jù)曲線顯示;(2) 溫濕度數(shù)據(jù)存儲(chǔ);(3) 溫濕度報(bào)警;(4) 輸出命令控制降溫除濕設(shè)備.
圖4 人機(jī)交互界面Fig.4 Interactive interface
程序設(shè)計(jì)步驟:首先調(diào)用“儀器IO>串口>VISA配置串口函數(shù)>VISA讀取函數(shù)”將單片機(jī)與工控機(jī)的通信通道建立起來.然后將串口過來的數(shù)據(jù)進(jìn)行相應(yīng)的處理,包括數(shù)據(jù)的曲線顯示、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理.曲線顯示利用前面板的“波形圖控件”,數(shù)據(jù)存儲(chǔ)用“database函數(shù)”.程序查詢?cè)O(shè)定了時(shí)間段、數(shù)據(jù)屬性等查詢條件,在前面板的下拉列表中設(shè)定查詢條件即可完成數(shù)據(jù)查詢,查詢后的數(shù)據(jù)以表格和圖表的形式回放[3].具體程序?qū)崿F(xiàn)如圖5所示,數(shù)據(jù)查詢程序如圖6所示.
程序采用LabVIEW軟件設(shè)計(jì),依據(jù)系統(tǒng)的設(shè)計(jì)需要和實(shí)際應(yīng)用,系統(tǒng)程序流程如圖7所示.開啟系統(tǒng)后,首先設(shè)置系統(tǒng)初始化使系統(tǒng)處于備運(yùn)行狀態(tài),操作員發(fā)出啟動(dòng)指令系統(tǒng)即開始運(yùn)行進(jìn)入工作狀態(tài).后臺(tái)程序的主要工作:(1) 系統(tǒng)對(duì)采集卡的各個(gè)通道進(jìn)行定時(shí)循環(huán)檢測(cè),檢測(cè)到溫度和濕度等數(shù)據(jù)變量是將其存入程序寄存器,以待主程序調(diào)用[4].(2)工控機(jī)通過設(shè)計(jì)的主算法程序?qū)⒓拇嫫鞯牟杉臄?shù)據(jù)變量運(yùn)用定制的算法進(jìn)行處理計(jì)算然后輸出到采集卡的出口端,控制降溫通風(fēng)除濕設(shè)備.(3)工控機(jī)在處理數(shù)據(jù)的同時(shí)也會(huì)將數(shù)據(jù)存儲(chǔ)在系統(tǒng)數(shù)據(jù)庫(kù)中已備將來調(diào)用.(4)系統(tǒng)出現(xiàn)異常和人員操作停止指令,系統(tǒng)停止運(yùn)行.
圖5 實(shí)時(shí)監(jiān)控程序圖Fig.5 Real-time monitoring program
圖6 數(shù)據(jù)查詢程序Fig.6 Data querying program
圖7 程序流程圖Fig.7 Program flow chart
下位機(jī)系統(tǒng)包括單片機(jī)、溫度信號(hào)采集模塊、濕度信號(hào)采集模塊、降溫和通風(fēng)設(shè)備控制模塊四個(gè)組成部分[5].單片機(jī)作為下位機(jī)系統(tǒng)的數(shù)據(jù)處理和通訊核心,是鏈接終端設(shè)備和工控機(jī)的橋梁,溫、濕度傳感器是系統(tǒng)數(shù)據(jù)采集終端,降溫和通風(fēng)設(shè)備是維持倉(cāng)庫(kù)環(huán)境條件正常的直接調(diào)節(jié)作用機(jī)構(gòu)[6].下位機(jī)系統(tǒng)結(jié)構(gòu)圖如圖8所示.
圖8 下位機(jī)系統(tǒng)結(jié)構(gòu)圖Fig.8 System Structure FIG of next bit plane
DS18B20傳感器獨(dú)特的一線接口方式,具有一條信號(hào)線多點(diǎn)通訊的能力,簡(jiǎn)化了分布式溫度傳感應(yīng)用.可用數(shù)據(jù)供電,電壓范圍為3.0 V至5.5 V.測(cè)溫范圍較廣,從-55~125 ℃,精度達(dá)到0.5 ℃.它提供9至12位一線接口,數(shù)據(jù)傳輸和硬件連接很方便,用途很廣,包括空調(diào)環(huán)境控制、感測(cè)建筑物內(nèi)溫設(shè)備或機(jī)器,并進(jìn)行過程檢測(cè)和控制.DS18B20用在本系統(tǒng)中完全可以滿足要求.溫度傳感器的硬件連接如圖9所示,Rx和Tx分別與單片機(jī)相應(yīng)的端口鏈接構(gòu)成溫度采集通路.DS18B20與單片機(jī)鏈接后,其監(jiān)測(cè)的溫度值對(duì)應(yīng)輸出的數(shù)字量如表1所示.
表1 DS18B20部分?jǐn)?shù)據(jù)表Table 1 DS18B20 part of the data table
圖9 溫度信號(hào)采集電路原理圖Fig.9 Schematic circuit diagram for temperature signal acquisition
采用的HS1101型溫度傳感器是HUMIREL公司生產(chǎn)的相對(duì)濕度傳感器,它基于獨(dú)特工藝的電容元件設(shè)計(jì).濕度傳感器應(yīng)用典型外圍電路設(shè)計(jì)思路:將濕度傳感器HS1101置于555為核心的振蕩電路中,將電容的變化值轉(zhuǎn)換成電壓的頻率信號(hào),微處理器直接采集頻率信號(hào),其應(yīng)用電路如圖10所示.
HS1101作為一個(gè)變化的電容器,連接在555的1和6引腳.HS1101的等效電容通過R3和R2充電達(dá)到其電壓上限(近似于0.67VCC,時(shí)間記為t1),這時(shí)555的3引腳由高電平變?yōu)榈碗娖剑缓笸ㄟ^R2進(jìn)行放電,由于R3被7引腳內(nèi)部短路接地,所以只放電到觸發(fā)界線(近似于0.33VCC,時(shí)間記為t2),這時(shí)555芯片的引腳3變?yōu)楦唠娖?通過兩個(gè)不同的電阻R2,R3進(jìn)行傳感器HS1101的不停的充放電,產(chǎn)生方波輸出.
圖10 濕度測(cè)量應(yīng)用電路Fig.10 Measurement circuit for temperature
輸出波形的頻率和占空比的計(jì)算公式如下:
空氣濕度和555芯片輸出頻率的關(guān)系式如下:
F05=F55(1.1038-1.9368×10-3×RH+3.0114×10-6×RH2-3.4403×10-8×RH3)
可以看到,555芯片輸出頻率與空氣的相對(duì)濕度有一定線性關(guān)系.表2給出了典型濕度與頻率的關(guān)系.通過單片機(jī)采集555芯片輸出的頻率,然后查表即可得出相應(yīng)的相對(duì)濕度值.為了提高系統(tǒng)測(cè)量精度,下位機(jī)采集的頻率送入上位機(jī),上位機(jī)以分段形式進(jìn)行相應(yīng)處理.
表2 典型頻率濕度對(duì)應(yīng)關(guān)系Table 2 Frequency-humidity corresponding relationship
注:參考6208Hz為55%RH/25℃
上位機(jī)監(jiān)控系統(tǒng)發(fā)出降溫和通風(fēng)設(shè)備控制信號(hào)后經(jīng)過單片機(jī)處理然后控制現(xiàn)場(chǎng)設(shè)備的相關(guān)動(dòng)作[7].由于降溫設(shè)備相對(duì)于單片機(jī)是大功率設(shè)備,為了安全性和減少大功率設(shè)備對(duì)單片機(jī)系統(tǒng)干擾,這里采用光電隔離開關(guān)和繼電接觸器將降溫和通風(fēng)設(shè)備與單片機(jī)隔離開來,其原理如圖11所示.
圖11 降溫和通風(fēng)設(shè)備控制信號(hào)通路Fig.11 Control signal path for cooling and ventilation equipment
下位機(jī)程序采用C語言設(shè)計(jì),主要程序有信號(hào)濾波子程序和通信子程序兩種.下面給出的部分通信程序和信號(hào)濾波處理程序.
/*-------------寫串口-----------------*/
void interrupt far Serial_Isr(__CPPARGS)
{
serial_lock = 1;
ser_ch = inp(open_port + SER_RBF);
if (++ser_end > SERIAL_BUFF_SIZE-1)
ser_end = 0;
ser_buffer[ser_end] = ser_ch;
++char_ready;
outp(PIC_ICR,0x20);
serial_lock = 0;
}
int Ready_Serial()
{
return(char_ready);
}
/*--------------讀串口--------------*/
int Serial_Read()
{
int ch;
while(serial_lock){}
if (ser_end != ser_start)
{
if (++ser_start > SERIAL_BUFF_SIZE-1)
ser_start = 0;
ch = ser_buffer[ser_start];
printf(“%x”,ch);
if (char_ready > 0)
--char_ready;
return(ch);
}
else
return(0);
}
/*****************信號(hào)濾波--加權(quán)平均濾波*****************************8/
#define N 12
char code jq[N]={1,2,3,4,5,6,7,8,9,10,11,12};//加權(quán)系數(shù)表
char code sum_jq=1+2+3+4+5+6+7+8+9+10+11+12;char filter()
{
char count;
char value_buf[N];
int sum=0;
for (count=0;count {value_buf[count]=get_ad(); //獲取采樣值 delay(); } for (count=0;count sum+=value_buf[count]*jq[count]; return (char)(sum/sum_jq); } 本文設(shè)計(jì)的多倉(cāng)庫(kù)環(huán)境監(jiān)控系統(tǒng),利用一臺(tái)工控機(jī)同時(shí)監(jiān)控多個(gè)倉(cāng)庫(kù)里的溫濕度等環(huán)境指數(shù),在溫度和濕度不在適宜的范圍內(nèi)時(shí),系統(tǒng)調(diào)用控制算法對(duì)溫度和濕度調(diào)節(jié)設(shè)備進(jìn)行自動(dòng)控制而無需工作人員親自操作,基本達(dá)到設(shè)計(jì)要求.它不僅提高了環(huán)境監(jiān)控的效率而且減少人工成本和值班人員的工作量,具有很高的實(shí)用價(jià)值.當(dāng)然系統(tǒng)還有可以改進(jìn)的地方,倉(cāng)庫(kù)的環(huán)境檢測(cè)還可以加入倉(cāng)庫(kù)氣體濃度監(jiān)測(cè),光照度監(jiān)測(cè)以及視頻監(jiān)控等等,使倉(cāng)庫(kù)的環(huán)境指數(shù)監(jiān)控更全面. 參考文獻(xiàn): [1] 夏志全,吳和保,龍玉陽,等.基于LabVIEW的快速熱分析儀數(shù)據(jù)采集系統(tǒng)的研究[J].武漢工程大學(xué)學(xué)報(bào),2011,33(5): 94-96. [2] 楊名龍,劉泉,艾青松.基于MCU與虛擬儀器的腦電信號(hào)采集系統(tǒng)[J].武漢理工大學(xué)學(xué)報(bào),2011,33(7):152-156. [3] 龍華偉.LabVIEW8.2與DAQ數(shù)據(jù)采集[M].北京:清華大學(xué)出版社.2008. [4] 謝志平.傳感器與檢測(cè)技術(shù)[M].北京:電子工業(yè)出版社,2004. [5] 姚桂艷,常英麗.LabVIEW與數(shù)據(jù)庫(kù)的鏈接方法[J].現(xiàn)代電子技術(shù),2007,30(16):16-17. [6] 任高峰,胡仲春,劉永成,等.既有線橋梁施工安全監(jiān)測(cè)信息采集與處理系統(tǒng)設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào),2012,34(9):80-83.4 結(jié) 語