【摘要】利用MCGS工業觸摸屏實現遠程電話控制家用電器、報警服務。界面友好,通訊穩定,可以實時查看本地家用電器控制情況。并且與PC機進行通訊,MCGS中的控制過程,控制結果,報警信息同時實時傳送到電腦PC端。整個系統通用性好,可以依據實際情況實現控制其他電氣設施。
【關鍵詞】MCGS組態軟件M51單片機
一、通訊系統軟件設計
1.前言。電話遠程智能控制系統實現當用戶離開用電設備時,依然可以遠程通過電話手機遙控家里的用電設備。對被控對象進行實時監控,對家電進行全方位實時管理。同時通過雙上位機人性化的監控界面。上位機通過MCGS組態軟件編程對下位機進行監控,在本設計中它與下位機的通信端口為COM1。
2.MCGS與單片機的通訊。MCGS是目前較常見的一種工業控制通用組態軟件,可以利用它十分方便地構成了分布式系統的監控畫面,動態顯示控制設備的運行狀態、實時、歷時曲線和報表、上下限報警等。他是一套基于Windows平臺的,為工業過程控制和實時監控服務的32位全中文界面組態軟件系統。為了與現場設備進行交互,它提供了國內外各種常用的工控設備的驅動程序,但基本上是與PLC,DSP等設備的數據交互通訊。如果用MCGS與單片機實現實時通訊,則需要利用MCGS驅動開發工具對某一具體的通訊協議進行單獨的開發。設計者只需要經過簡單的參數設定,輸入,就可以編程出為自己項目所用的獨立的dll構件。
MCGS用Active DLL構件的方式來實現設備驅動程序,通過規范的OLE接口掛接到MCGS中,使其構成一個整體,所以MCGS把設備驅動程序叫做設備驅動構件。MCGS設備構件的實現方法和原理與標準VB的ActiveDLL完全一致,但MCGS規定了一套接口規范,只有遵守這些接口規范的ActiveDLL才能用作MCGS的設備驅動構件。它必須具有如下5個屬性和8個方法:
用戶根據自己的協議要求編寫成功dll構件之后,在MCGS開發環境中打開串口父設備,添加做好的電話遠程控制的dll構件。
二、硬件電路設計
本設計硬件部分主要是由兩部分組成。外線DTMF雙音頻碼譯碼電路和家用電器控制電路。其中主要部分是DTMF譯碼電路。該電路由MT8880作為DTMF譯碼芯片,由AT89C52接收MT8880的D0~D3引腳采集的16進制碼,將所得到的碼反映到相對應的引腳上,從而控制不同的用電設備。
三、程序設計
程序設計是本系統的重要部分,主要包括兩部分。一是單片機分析8880數據進而反映到IO口,控制不同的家用電器(繼電器);二是MCGS在PC端的軟件開發。
1.單片機程序設計。本系統選用AT89C51單片機作為主要控制芯片,當INT1引腳接收到電平變化信息后,利用單片機中斷接口填寫接收外部電話控制碼的程序內容,即MT8880的D0~D3的并口數據。如果接收完整,則在單片機的P0相應引腳上進行反向操作,進而控制相應的家用電器。控制完成后,單片機利用串口通信向MCGS發送控制完成數據。2.MCGS程序設計。MCGS作為雙上位機其中一個,當接收到單片機發送過來的控制家電完成的數據后,運用動畫直觀的顯示哪一臺用電設備已經開啟,并儲存控制過程及控制發生時間。用于以后隨時查詢。MCGS在程序編寫的時候注意添加串口父設備時每一個參數必須和單片機發送的參數格式內容保持一致,起始位結束位完全相同。接收的每一幀數據保存到實時數據庫中。