張玉佳
摘 要: 本文詳細(xì)介紹了啞設(shè)備改造遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計方案,本系統(tǒng)采用C8051F340單片機(jī)作為整個系統(tǒng)的CPU,采用ENC28J60芯片作為以太網(wǎng)控制器。本遠(yuǎn)程監(jiān)控系統(tǒng)主要分為通信系統(tǒng)、顯示系統(tǒng)和存儲系統(tǒng)三個分系統(tǒng)。通過以太網(wǎng)通信系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)傳輸,上位機(jī)顯示系統(tǒng)監(jiān)視啞設(shè)備的運(yùn)行狀態(tài)和各種運(yùn)行參數(shù),并且可通過顯示系統(tǒng)UI界面上的按鈕對設(shè)備進(jìn)行控制,從而實(shí)現(xiàn)對設(shè)備的遠(yuǎn)程監(jiān)控。存儲系統(tǒng)則用以存儲重要數(shù)據(jù)。
關(guān)鍵詞: 以太網(wǎng)通信;遠(yuǎn)程監(jiān)控;C8051單片機(jī);ENC28J60 存儲
1 引言
隨著社會經(jīng)濟(jì)的不斷發(fā)展,以信息技術(shù)與制造業(yè)深度融合為特點(diǎn)的智能制造已經(jīng)引發(fā)了全球性的新一輪工業(yè)革命,并成為制造業(yè)轉(zhuǎn)型升級的重要抓手與核心動力。啞設(shè)備,是指沒有遠(yuǎn)程監(jiān)控、數(shù)據(jù)自動采集等功能的設(shè)備,新型狀態(tài)、生產(chǎn)信息、故障信息等都是不透明的,出現(xiàn)問題不能及時獲知,易造成重大損失。由此可見,啞設(shè)備是橫在智能制造路上的一塊絆腳石,企業(yè)要實(shí)現(xiàn)智能制造,“治啞”是必由之路。
啞設(shè)備改造遠(yuǎn)程監(jiān)控系統(tǒng)能實(shí)現(xiàn)在舒適的環(huán)境中通過電腦對設(shè)備的運(yùn)行狀態(tài)進(jìn)行遠(yuǎn)程操控,對實(shí)時運(yùn)行參數(shù)的遠(yuǎn)程監(jiān)視和相關(guān)數(shù)據(jù)的存儲。以太網(wǎng)通信是當(dāng)今社會應(yīng)用最為廣泛的數(shù)據(jù)通信方式,本系統(tǒng)利用以太網(wǎng)進(jìn)行通信,符合通用化,滿足數(shù)據(jù)的遠(yuǎn)距離傳輸。在設(shè)備出現(xiàn)故障時,可通過讀取存儲系統(tǒng)中存儲的實(shí)時運(yùn)行參數(shù)的相關(guān)數(shù)據(jù),能快速的定位故障點(diǎn)?;谝蕴W(wǎng)通信的設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)不僅使得操作環(huán)境舒適,故障定位快、準(zhǔn),讓設(shè)備更加智能化,而且還為以后實(shí)現(xiàn)一點(diǎn)多控和聯(lián)網(wǎng)監(jiān)控奠定了基礎(chǔ)。
2 主要器件資料介紹
2.1 C8051F340單片機(jī)
C8051F340單片機(jī)是使用Silicon Labs的專利CIP-51微控制器內(nèi)核。CIP-51與MCS-51TM指令集完全兼容,可以使用標(biāo)準(zhǔn)803x/805x的匯編器和編譯器進(jìn)行軟件開發(fā)。CIP-51內(nèi)核具有標(biāo)準(zhǔn)8052的所有外設(shè)部件,包括4個16位計數(shù)器/定時器、兩個具有擴(kuò)展波特率配置的全雙工UART、一個增強(qiáng)型SPI端口、多達(dá)4352字節(jié)的內(nèi)部RAM、128字節(jié)特殊功能寄存器(SFR)地址空間及多達(dá)40個I/O引腳。
2.2 ENC28J60以太網(wǎng)控制器
ENC28J60 是帶有行業(yè)標(biāo)準(zhǔn)串行外設(shè)接口SPI的獨(dú)立以太網(wǎng)控制器。 它可作為任何配備有SPI 的控制器的以太網(wǎng)接口。符合IEEE 802.3 的全部規(guī)范,采用了一系列包過濾機(jī)制以對傳入數(shù)據(jù)包進(jìn)行限制。 它還提供了一個內(nèi)部DMA 模塊,以實(shí)現(xiàn)快速數(shù)據(jù)吞吐和硬件支持的IP校驗和計算。 與主控制器的通信通過兩個中斷引腳和SPI 實(shí)現(xiàn),數(shù)據(jù)傳輸速率高達(dá)10 Mb/s。兩個專用的引腳用于連接LED,進(jìn)行網(wǎng)絡(luò)活動狀態(tài)指示。
3 基于以太網(wǎng)通信的遠(yuǎn)程監(jiān)控系統(tǒng)的原理
啞設(shè)備改造遠(yuǎn)程監(jiān)控系統(tǒng)主要由以太網(wǎng)通信系統(tǒng)、上位機(jī)顯示系統(tǒng)和計算機(jī)存儲系統(tǒng)三個部分組成。系統(tǒng)原理框圖如圖3-1所示:
系統(tǒng)工作原理:在上電開始,整個系統(tǒng)進(jìn)行初始化。通過程序控制,CPU自動向以太網(wǎng)控制器ENC28J60寫入一個事先設(shè)置好的IP地址和UDP端口號,若在上位機(jī)顯示界面輸入相應(yīng)的IP地址或者UDP端口號,就會使得網(wǎng)絡(luò)正確連接。此時,CPU開始自動檢測RS232串口是否有數(shù)據(jù)傳輸過來。若有,則通過SPI接口將該數(shù)據(jù)送給以太網(wǎng)控制器ENC28J60。ENC28J60在接收到該數(shù)據(jù)之后,通過IP協(xié)議處理,MAC自動在該數(shù)據(jù)前加上目標(biāo)地址,源地址以及數(shù)據(jù)類型/長度,將數(shù)據(jù)編碼成數(shù)據(jù)包格式。然后主控制器在數(shù)據(jù)包前加上控制幀,再將之寫入數(shù)據(jù)緩存器,以待發(fā)送。此時若網(wǎng)絡(luò)連接正常,則通過硬件寫入相關(guān)狀態(tài)向量,通知主控制器可發(fā)送數(shù)據(jù)。主控制器則命令數(shù)據(jù)緩存器將數(shù)據(jù)發(fā)送出去。上位機(jī)在接收到數(shù)據(jù)包時,通過程序控制,對該數(shù)據(jù)包進(jìn)行識別、處理和分類,將之分別送往相應(yīng)窗口進(jìn)行正確顯示,并在實(shí)時參數(shù)前加上時間節(jié)點(diǎn),一起送往存儲系統(tǒng)進(jìn)行存儲。若點(diǎn)擊顯示系統(tǒng)界面的控制按鈕窗口中的按鈕,系統(tǒng)會產(chǎn)生一個相應(yīng)的信號,通過以太網(wǎng)傳輸給ENC28J60,MAC將自動把該信號解碼成有效數(shù)據(jù),通過SPI傳輸給CPU,CPU再通過RS232串口送給設(shè)備,從而實(shí)現(xiàn)對設(shè)備的遠(yuǎn)程操作。
4 硬件設(shè)計
啞設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)的硬件設(shè)計都集中在以太網(wǎng)通信系統(tǒng)部分,上位機(jī)顯示系統(tǒng)和存儲系統(tǒng)都是通過軟件實(shí)現(xiàn)。
主要部分電路為單片機(jī)與以太網(wǎng)控制器連接電路圖,如圖4-1所示。
5 軟件設(shè)計
5.1 以太網(wǎng)通信系統(tǒng)軟件設(shè)計
如圖5-1所示為以太網(wǎng)通信系統(tǒng)主程序設(shè)計流程圖。系統(tǒng)上電后,程序開始對各個模塊進(jìn)行初始化設(shè)置,配置相關(guān)參數(shù)。CPU通過定時器查詢方式對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行檢測,若有RS232串口數(shù)據(jù)或者上位機(jī)網(wǎng)絡(luò)數(shù)據(jù)來到,則通過IP協(xié)議等進(jìn)行編碼或解碼處理。處理完后的數(shù)據(jù)送往發(fā)送數(shù)據(jù)緩存器/接收數(shù)據(jù)緩存器以待發(fā)送/接收。
5.2 顯示系統(tǒng)和存儲系統(tǒng)程序設(shè)計
顯示系統(tǒng)UI界面是用Qt界面設(shè)計軟件設(shè)計的,UI界面軟件主要包括登陸系統(tǒng)、設(shè)備運(yùn)行狀態(tài)顯示系統(tǒng)、設(shè)備參數(shù)監(jiān)視系統(tǒng)、實(shí)時時間顯示系統(tǒng)以及遠(yuǎn)程控制端口系統(tǒng)。
圖5-2所示為顯示系統(tǒng)和存儲系統(tǒng)軟件流程圖。在計算機(jī)顯示器上點(diǎn)擊顯示系統(tǒng)快捷方式圖標(biāo),打開軟件,輸入正確的用戶名和密碼,登陸到顯示系統(tǒng)主界面窗口。然后開設(shè)正確的UDP端口號,將以太網(wǎng)通信系統(tǒng)傳輸過來的數(shù)據(jù)接收進(jìn)來。通過程序控制對接收的數(shù)據(jù)進(jìn)行識別、處理、分類,分別送到相應(yīng)的窗口進(jìn)行顯示。此外,還將實(shí)時參數(shù)送到存儲系統(tǒng)進(jìn)行數(shù)據(jù)自動存儲。
6 結(jié)束語
本文詳細(xì)介紹了啞設(shè)備改造遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計方案和內(nèi)容。整個系統(tǒng)分三個分系統(tǒng),通信系統(tǒng)中CPU采用C8051F340,高頻率的時鐘系統(tǒng)對系統(tǒng)數(shù)據(jù)處理能力大大提高,多系統(tǒng)時鐘切換使系統(tǒng)功耗更低,根據(jù)實(shí)際應(yīng)用對多I/O端口的自動配置使得系統(tǒng)設(shè)計更靈活。以太網(wǎng)控制器采用ENC28J60,ENC28J60引腳少,功能齊和SPI接口全使得系統(tǒng)的設(shè)計更簡便,更優(yōu)化,數(shù)據(jù)傳輸速率更高。顯示系統(tǒng)UI界面設(shè)計利用Qt軟件設(shè)計,通過設(shè)置IP和UDP端口方式接入以太網(wǎng)數(shù)據(jù),可在在計算機(jī)上顯示和遠(yuǎn)程控制設(shè)備,且使得系統(tǒng)占用資源減少。存儲系統(tǒng)用以存儲相關(guān)數(shù)據(jù),可實(shí)現(xiàn)對設(shè)備故障的快速定位和處理以及對處理后的產(chǎn)物的管控。通過遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計,使得啞設(shè)備的用戶界面更加友好,操作更方便,設(shè)備維護(hù)性也更好,大大提高了設(shè)備的智能化和人性化。■
參考文獻(xiàn)
[1] C8051F340/1/2/3/4/5/6/7全速USB FLASH微控制器數(shù)據(jù)手冊 潘琢金 2006 沈陽航空工業(yè)學(xué)院.
[2] C8051F系列單片機(jī)開發(fā)與C語言編程 童長飛 2005 北京航空航天大學(xué)出版社.
[3] C語言程序設(shè)計(第四版) 譚浩強(qiáng) 2006 清華大學(xué)出版社.
[4] ENC28J60數(shù)據(jù)手 2006 Microchip Technology Inc.
[5] Qt Creator系列教程 蛋蛋 2011 www.yafeilinux.com.
[6] QT開發(fā)培訓(xùn) 2011 邯鄲學(xué)院.
[7] C++語言程序設(shè)計 鄭莉 何江舟 2010 清華大學(xué)出版社.endprint