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