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