基于AT89C52網絡監控系統的設計與實現
0 引 言
以電子設備故障檢修技能考核與訓練智能化系統為例,介紹由一臺PC機與多臺單片機組成的主從式網絡通信系統,單片機控制作為下位機,負責對電子設備故障點進行數據采集和控制,通過接口將結果傳給PC機;PC機作為上位機,對數據進行分析和處理,根據分析和處理的結果來控制單片機的操作。目前,應用Visual C++開發串行通信實現智能化考核和訓練系統的通信方法通常有4種:
(1)調用API(Application Program Interface)函數實現;
(2)利用Visual C++的標準通信函數一inp、一inpw等直接對串口進行操作;
(3)使用Visual C++的通信控件(MSComm);
(4)利用第三方編寫的通信類(Cserial)。
以上幾種方法中第一種方法使用面較廣,但由于需要許多低層設置,比較復雜,專業化程度要求較高,使用困難;第二種需要了解硬件電路結構原理,較難掌握;第三種方法看來較簡單,只需要對串口進行簡單配置,但使用了令人費解WARIANT類,且不能滿足使用多個串口進行復雜處理的需要;第四種方法是利用一個專門針對串行通信的CSerial類,該方法功能較強,只要理解這種類的幾個成員函數,就能方便使用。RS 485總線以其靈活性好、成本低、抗干擾能力強、支持節點多、傳輸距離遠、連接簡單的優勢,被廣泛應用于網絡單片機系統。在該系統中,上位機采用Visual C++的Cserial類通信方式;下位機采用ATMEL公司的AT89C52單片機,總線采用RS 485標準組網。
l 系統結構
整個系統是一個基于RS 485現場總線,自定義通信協議,在總線上連接各下位機和上位機,由上位機統一管理的主從式總線型的監控系統。該系統包括監控層、通信層、以及現場設備層。其中,監控層由上位機(PC機)承擔,負責接收底層現場設備上傳的數據,進行數據的分析和存儲,下位機參數的設定和修改,以及實時和歷史數據的查詢,實現對現場設備的監控管理;通信層通過自制定的通信協議與現場下位機設備進行實時通信,完成數據通信包的打包、拆包、檢驗等處理;現場設備層由多臺電子設備、單片機、繼電器、鍵盤、LCD顯示器等組成的監控系統。
系統結構方框圖如圖1所示。
上位機為教師操作的教學控制管理系統,在微機上用Visual C++編程實現功能。教學控制管理系統的主要功能為:
(1)考試的技術準備工作;
(2)考試的監考工作;
(3)輔助完成其他考務信息管理工作。
根據功能要求,教學控制管理系統由通訊模塊、代碼編譯模塊、代碼執行模塊、系統管理模塊、歷史資料查詢模塊組成,這幾個模塊和用戶界面用戶接口一起構成整個系統軟件。
下位機作為這個分布式控制系統的學生客戶端,是一個基于AT89C52單片機的應用系統。本系統使用計算機、AT89C52單片機、光電耦合器、驅動電路、繼電器、彩色電視機等組成的監控系統,通過局域網,構成一個智能化訓練及鑒定系統。AT89C52單片機控制系統如圖2所示。
評論