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