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