1 概述
中央空調(diào)是大型建筑普遍采用的一種空調(diào)設(shè)備,但不同用戶(hù)的中央空調(diào)在地域上分布很廣,一般可達(dá)幾十公里,甚至上百公里。用戶(hù)方由于空調(diào)使用時(shí)間、使用臺(tái)數(shù)的限制,配備的維護(hù)人員專(zhuān)業(yè)性不強(qiáng),給中央空調(diào)公司的保養(yǎng)維護(hù)等等售后服務(wù)帶來(lái)了很大的不便。采用一種以單片機(jī)和PC機(jī)為主體的遠(yuǎn)程監(jiān)控系統(tǒng),能較好的解決這一問(wèn)題。此處將以8051單片機(jī)為核心的監(jiān)測(cè)儀安裝在中央空調(diào)內(nèi)部監(jiān)測(cè)中央空調(diào)的運(yùn)行狀態(tài)和故障狀態(tài),當(dāng)中央空調(diào)出現(xiàn)故障時(shí),監(jiān)測(cè)儀立即控制調(diào)制解調(diào)器占用電話(huà)線(xiàn)進(jìn)行通信,將運(yùn)行狀態(tài)和故障狀態(tài)以代碼形式發(fā)送給PC機(jī),PC機(jī)通過(guò)解碼將它們以動(dòng)態(tài)畫(huà)面方式顯示在顯示屏上。另外PC機(jī)亦可通過(guò)呼叫方式查詢(xún)各中央空調(diào)的運(yùn)行狀態(tài)和故障狀態(tài)。由于此系統(tǒng)的遠(yuǎn)程通信是通過(guò)電話(huà)網(wǎng)來(lái)實(shí)現(xiàn)的,通信距離不受限制,中央空調(diào)維護(hù)人員可通過(guò)PC機(jī)及時(shí)準(zhǔn)確地掌握各地的中央空調(diào)的運(yùn)行狀態(tài)。在此系統(tǒng)中采用的是Hayes Smartmodem。用戶(hù)使用賀式機(jī)AT命令集對(duì)MODEM進(jìn)行初始化、呼叫(應(yīng)答)、傳輸數(shù)據(jù)、掛機(jī)等配置,以實(shí)現(xiàn)主機(jī)之間的遠(yuǎn)程通信。MODEM的配置由主機(jī)和從機(jī)的程序控制來(lái)完成。
2 系統(tǒng)構(gòu)成
實(shí)現(xiàn)數(shù)據(jù)通信方式有多種形式,但不同的方式各有特點(diǎn),表1是不同的串行通信方式的比較。
表1 不同的串行通信方式的比較
由于中央空調(diào)分布區(qū)域廣,且都可裝有電話(huà)機(jī),通過(guò)以上比較,此系統(tǒng)采用RS232+MODEM的通信方式較為合適,遠(yuǎn)程監(jiān)控系統(tǒng)構(gòu)成原理圖如圖所示圖1所示:
圖1 遠(yuǎn)程監(jiān)控系統(tǒng)構(gòu)成原理圖
3 通信原理及硬件設(shè)計(jì)
(1) MCS-51單片機(jī)通信功能簡(jiǎn)介
MCS-51單片機(jī)內(nèi)部有一個(gè)功能很強(qiáng)的全雙工串行口,物理上有兩個(gè)獨(dú)立的發(fā)送回接受緩沖器SUBF對(duì)外有兩條收發(fā)信號(hào)線(xiàn)TXD (P3.1)和RXD (P3.0),可以同時(shí)接受和發(fā)送數(shù)據(jù),實(shí)現(xiàn)雙全工傳送。串行口有四種工作方式,其中方式2和方式3為多機(jī)通信方式,由串行口控制器SCON控制:
SCON
SM0、SM1:控制串行口的工作方式;
SM2:在方式2、3時(shí)作為主從式通信的控制位;
REN:允許串行接收,由軟件控制,當(dāng)REN=1時(shí),允許接收;
TB8:在方式2、3時(shí),發(fā)送的第9位數(shù)據(jù)由軟件置位或復(fù)位,TB8=1,后跟地址幀,TB8=0,后跟信息幀;
RB8:在方式2、3時(shí)接收第9位數(shù)據(jù);
TI/RI:發(fā)送/接收中斷標(biāo)志位,必須由軟件清0。
串行口工作方式如表2所示。
表2 串行口工作方式
(2) 主從式多機(jī)通信原理
PC機(jī)為主機(jī),MCS-51為從機(jī)。
主機(jī)發(fā)送信息可被各從機(jī)接收,而從機(jī)只能對(duì)主機(jī)發(fā)送信息,從機(jī)之間不能互相通信。各從機(jī)工作在方式2、3時(shí),SM2=1、REN=1則可實(shí)現(xiàn)主從通信。而上位PC機(jī)通過(guò)對(duì)異步通信適配器UATR8250的運(yùn)行方式的編程,使之與單片機(jī)的通信方式相一致,即可通信,具體參見(jiàn)文獻(xiàn)[2],不再贅述。
(3) 單片機(jī)與MODEM的硬件接口電路設(shè)計(jì)
接口電路圖如圖2所示,電平轉(zhuǎn)換采用MAX3232芯片。
圖2 串行通信的硬件連接圖
用一片8155H的I/O口來(lái)與MODEM的2根控制線(xiàn)DTR、DCD相連,完成狀態(tài)控制和檢測(cè)。而MODEM振鈴信號(hào)RI與外中斷INTO相連。8051單片機(jī)的串行輸入口P3.0與MAX3232 的一個(gè)TTL接收器輸入端相連,而串行輸出口P3.1與MAX3232 的一個(gè)TTL發(fā)送器輸入端相連,從而構(gòu)成了單片機(jī)與MODEM間的數(shù)據(jù)傳送。當(dāng)上位機(jī)呼叫下位機(jī)時(shí),由振鈴信號(hào)RI向單片機(jī)發(fā)出一個(gè)中斷請(qǐng)求信號(hào),當(dāng)中斷允許時(shí),將數(shù)據(jù)傳送給上位機(jī)。而當(dāng)下位機(jī)呼叫上位機(jī)時(shí),由擴(kuò)展并行口8155H中的PC口的一個(gè)輸入端PC3發(fā)出一個(gè)數(shù)據(jù)終端就緒信號(hào)DTR,而當(dāng)MODEM檢測(cè)到載波信號(hào)(CD)并送入PA0時(shí),下位機(jī)發(fā)送數(shù)據(jù)給上位機(jī)。
(4) MODEM的硬件接口電路設(shè)計(jì)
在計(jì)算機(jī)通信中,Hayes公司的Smartmodem系列產(chǎn)品已成為調(diào)制解調(diào)器的事實(shí)上的標(biāo)準(zhǔn)。這說(shuō)明了使用Hayes Smartmodem具有其顯著優(yōu)勢(shì)。
表3 Hayes Smartmodem所用的RS-232-C信號(hào)線(xiàn)及功能說(shuō)明
4 軟件設(shè)計(jì)
(1) 初始化
首先應(yīng)對(duì)單片機(jī)及MODEM進(jìn)行狀態(tài)初始化,如圖3所示。
從機(jī)發(fā)送子程序采用查詢(xún)方式,單片機(jī)發(fā)往MODEM的命令字符傳送給上位機(jī)的數(shù)據(jù)都ASCⅡ碼,初始化MODEM的命令字符串為ATE0S0=1/r。E0表示MODEM不回傳指示狀態(tài)符,S0=1表示下一次振鈴有效,即主機(jī)呼叫從機(jī)MODEM一次振鈴,MODEM 即提機(jī),AT命令以回車(chē)符作為結(jié)束。
圖3 初始化程序框圖 圖4 從機(jī)呼叫主機(jī)程序框圖
圖5 應(yīng)答遠(yuǎn)端機(jī)呼叫流程
(2) 從機(jī)呼叫遠(yuǎn)程主機(jī)
程序框圖如圖4所示,一旦從機(jī)檢測(cè)到中央空調(diào)故障,即呼叫主機(jī),直接向MODEM發(fā)送主機(jī)端電話(huà)號(hào)碼,如ATDT3013588(ATDT后面為電話(huà)號(hào)碼),撥號(hào)完畢,線(xiàn)路交換網(wǎng)絡(luò)主機(jī)側(cè)MODEM,兩MODEM連通完畢,建立載波信號(hào)CD有效(讀8155H的PA0)后,則主從機(jī)建立起完全聯(lián)系,即可進(jìn)行主從機(jī)之間的數(shù)據(jù)通信,載波建立約需5s時(shí)間,主從機(jī)數(shù)據(jù)傳送在1min內(nèi)完畢,雙方應(yīng)關(guān)機(jī),從機(jī)置DTR為低電平(8155H的PC3=1)至少50ms,至此通信完畢。
(3) 應(yīng)答遠(yuǎn)端主機(jī)呼叫
遠(yuǎn)端主機(jī)選通從機(jī)側(cè)MODEM(撥相應(yīng)的電話(huà)號(hào)碼),使振鈴信號(hào)RI有效觸發(fā)從機(jī)進(jìn)入中斷服務(wù)程序,向上位機(jī)傳送數(shù)據(jù),程序框圖如圖5所示。
5 結(jié)語(yǔ)
本系統(tǒng)實(shí)現(xiàn)了簡(jiǎn)單經(jīng)濟(jì)可靠的遠(yuǎn)程通信已成功地應(yīng)用于中央空調(diào)的遠(yuǎn)程監(jiān)控系統(tǒng)中,并取得了滿(mǎn)意的效果。為了減少對(duì)電話(huà)機(jī)的占用時(shí)間,采用下位機(jī)有故障時(shí)發(fā)送,無(wú)故障時(shí)不發(fā)送的方式,另外每次發(fā)送時(shí)間控制在1min以?xún)?nèi)。但為了檢查是中央空調(diào)系統(tǒng)確實(shí)無(wú)運(yùn)行故障還是通信系統(tǒng)的問(wèn)題而未能傳送數(shù)據(jù),要每隔一段時(shí)間(比如24小時(shí))必須向上位機(jī)發(fā)送一組數(shù)據(jù),以確保系統(tǒng)運(yùn)行正常。為了保證系統(tǒng)的高可靠性,在軟件設(shè)計(jì)上采取了一些相應(yīng)的抗干擾措施,在此不一一述及。進(jìn)一步的工作是對(duì)故障進(jìn)行分級(jí),分別進(jìn)行處理,比如可根據(jù)故障類(lèi)型分輕重緩急分別呼叫值班人員,維修人員,甚至維修公司負(fù)責(zé)人的電話(huà)機(jī)等,由其來(lái)采取措施并回復(fù)。