童世華
(重慶電子工程職業(yè)學(xué)院計算機(jī)應(yīng)用系,重慶 401331)
目前,越來越多的智能儀表連入工業(yè)以太網(wǎng)絡(luò),客戶可通過IP地址遠(yuǎn)程識別工業(yè)現(xiàn)場的不同子設(shè)備。隨著越來越多新設(shè)備的加入,用戶在自動獲取IP地址的同時存在著IP沖突的隱患[1]。為了解決這一隱患,本文提出了一個遠(yuǎn)程在線IP修改的方案,并采用溫濕度采集模塊加以實現(xiàn)和應(yīng)用,讓客戶更輕松地對設(shè)備進(jìn)行遠(yuǎn)程控制。
IP控制方法基于遠(yuǎn)程控制實現(xiàn),可在遠(yuǎn)程監(jiān)控室直觀地顯示控制信息。該控制方法是建立在上層組態(tài)監(jiān)控軟件的基礎(chǔ)上實現(xiàn)的[2],具體依靠底層設(shè)備來實現(xiàn)執(zhí)行,控制功能分布于設(shè)備的控制功能塊中。在工業(yè)以太網(wǎng)控制系統(tǒng)中,每個設(shè)備都是一個智能設(shè)備,每1個設(shè)備包含有實現(xiàn)不同功能的功能塊。智能設(shè)備可以由簡單的AI、AO、DI和DO等輸入輸出功能塊來實現(xiàn)。IP控制就是功能塊實現(xiàn)的一部分,它可以對新上線設(shè)備的IP地址進(jìn)行管理與控制。
此控制方法主要對以下兩種場合起著非常重要的作用:
① 由于每個設(shè)備都初始化了一個固定IP,新上線設(shè)備IP與原有設(shè)備IP容易有沖突;
② 當(dāng)設(shè)備從某一個網(wǎng)段轉(zhuǎn)移到另外一個網(wǎng)段時,容易出現(xiàn)與其他網(wǎng)段原有設(shè)備的IP沖突,從而導(dǎo)致兩個IP沖突設(shè)備中的其中一個不能監(jiān)控。為了解決設(shè)備之間IP沖突或者同一個設(shè)備適用于不同網(wǎng)段等問題,提出了一種IP控制方法。該方法的實現(xiàn)為解決這些問題提供了一個較好的方案。
硬件載體包含了微處理器、存儲器、傳感器模塊、網(wǎng)絡(luò)通信接口、串口通信和電源等重要組成部分。在該平臺中,電源使用了以太網(wǎng)供電設(shè)備,它可提供+24 V工業(yè)標(biāo)準(zhǔn)的以太網(wǎng)交換機(jī)。該交換機(jī)除了用于網(wǎng)口通信外,還提供設(shè)計中所需要的電源,即交換機(jī)提供的+24 V電壓經(jīng)過電平轉(zhuǎn)換,能為微處理器、存儲器以及傳感器模塊等提供所需的+5 V和+3.3 V電壓。
微處理器使用C8051F120,它是 Silicon Lab的專利CIP-51微控制器內(nèi)核,具有64個數(shù)字I/O引腳、片內(nèi)VDD監(jiān)視器、看門狗定時器和時鐘振蕩器。這些組成部件使C8051F120器件成為真正能獨(dú)立工作的片上系統(tǒng)。微處理器部分包含了系統(tǒng)硬件的啟動與復(fù)位、地址總線、數(shù)據(jù)總線的分配和定義以及與外設(shè)器件的連接等[3];C8051F120內(nèi)部數(shù)據(jù)RAM 為8448 B,其芯片外部拓展了一個外部RAM,此外部RAM采用的是IS62LV2568LL-85H。
網(wǎng)絡(luò)通信接口以RTL8019AS芯片為核心。RTL8019AS是高度集成的以太網(wǎng)控制器,它能夠簡單地實現(xiàn)即插即用功能。
NE2000兼容適配器被選作網(wǎng)絡(luò)適配器。這種適配器具有二重功能和功率下降特性,且全二重功能能夠模擬從雙絞線到全二重以太網(wǎng)交換機(jī)的傳播和接收狀態(tài)。這個特性不僅可以使帶寬從10 bit/s加強(qiáng)到20 Mbit/s,而且避免了由于以太網(wǎng)頻道爭奪特性導(dǎo)致的讀出多路存取協(xié)議的問題。
為了提供完全解決即插即用方案,RTL8019AS集成了10BASET收發(fā)、BNC和AUI接口之間的自動檢測功能[4],對RTL8019AS的驅(qū)動軟件設(shè)計僅占用SRAM的16 kB。此設(shè)計不僅提供了更友好的功能,而且節(jié)省了SRAM存儲資源。RTL8019AS的地址總線SA[7:0]與數(shù)據(jù)總線 SD[7:0]分別與 C8051F120的地址/數(shù)據(jù)總線相連。
隔離芯片采用HR61H50L,由它實現(xiàn)上層監(jiān)控軟件與底層設(shè)備的通信。
電源部分采用的是以太網(wǎng)供電設(shè)備。該設(shè)備采用符合802.3受電設(shè)備標(biāo)準(zhǔn),輸出標(biāo)準(zhǔn)的+24 V電壓;然后經(jīng)過LM2576-5和AS1117-3.3電源芯片的電平轉(zhuǎn)換后,輸出5 V和3.3 V電壓。溫濕度測量儀具體的硬件框圖如圖1所示。
圖1 硬件框圖Fig.1 Block diagram of hardware
軟件實現(xiàn)是本方案實現(xiàn)的核心,遠(yuǎn)程在線IP修改實現(xiàn)的實質(zhì)就是對C8051F120內(nèi)部Flash進(jìn)行讀寫操作。C8051F120內(nèi)部具有1個128 kB分區(qū)Flash,可以進(jìn)行在線系統(tǒng)編程;另外,還包含了256 B的臨時存儲區(qū)。該臨時存儲區(qū)分為2個128 B的扇區(qū),用于非易失性數(shù)據(jù)的存儲,從而使數(shù)據(jù)更新更加容易[5]。本文軟件就是實現(xiàn)對C8051F120內(nèi)部的128 B臨時存儲扇區(qū)進(jìn)行相關(guān)操作。
在具體實現(xiàn)過程中,對臨時存儲扇區(qū)的操作主要分為寫操作、讀操作、擦除操作和界面操作這4部分,下面著重對這4部分代碼的實現(xiàn)進(jìn)行說明。
對Flash進(jìn)行寫操作的流程如圖2所示。
圖2 寫操作流程圖Fig.2 Flowchart of WRITE operation
在任何操作之前,首先得關(guān)中斷,關(guān)中斷的實現(xiàn)就是置EN為0,由于是對臨時存儲扇區(qū)進(jìn)行寫操作,所以還得置位SFLE位。當(dāng)SFLE為1時,才能對臨時存儲區(qū)進(jìn)行具體的操作[6],即置位FLWE與PSWE,使能用戶軟件寫/擦除操作,然后按一個字節(jié)一個字節(jié)地輸入數(shù)據(jù),最后清除位,置位EN,使能中斷。Flash寫操作的具體實現(xiàn)代碼如下。
讀過程的實現(xiàn)很簡單,就是讀出Flash_ByteWrite()函數(shù)寫入Pread地址里面的字節(jié),然后返回。在這個操作過程中,為了保證數(shù)據(jù)的實時性和準(zhǔn)確性,本文是在關(guān)中斷后才對數(shù)據(jù)進(jìn)行具體操作的,實現(xiàn)代碼如下。
在擦除操作中,首先得關(guān)中斷,因為擦除的內(nèi)容位于臨時存儲區(qū)的某一頁,所以必須將SFLE置位;再置位FLWE,允許對Flash扇區(qū)進(jìn)行擦除,置位PSWE,使它能進(jìn)行寫操作;然后向要擦除的臨時扇區(qū)任何一個地址隨意地寫入一個數(shù)據(jù)字節(jié);最后清除所有位,使能中斷。
擦除操作流程如圖3所示。
圖3 擦除操作流程圖Fig.3 Flowchart of ERASE operation
擦除操作實現(xiàn)代碼如下。
以上部分代碼都是在底層設(shè)備中實現(xiàn)的,由于都是對臨時存儲扇區(qū)的操作,所以程序編寫流程基本一致。至此,IP修改功能還無法實現(xiàn),還需借助上位機(jī)監(jiān)控軟件來發(fā)送具體的指令。在這里,就是把具體要修改的IP數(shù)據(jù)通過信息分發(fā)服務(wù)傳送給底層設(shè)備,最終實現(xiàn)在線IP修改。下面就上位機(jī)監(jiān)控軟件的IP修改操作界面做相關(guān)描述。
在操作界面中,必須通過相關(guān)工具把要修改的IP地址傳送給底層設(shè)備,完成用戶軟件對設(shè)備的IP在線修改[7]。
本方案中的組態(tài)監(jiān)控軟件是基于基本功能塊來實現(xiàn)監(jiān)控的,基本功能塊是指應(yīng)用所執(zhí)行的基本自動功能。該功能盡可能獨(dú)立于I/O設(shè)備和網(wǎng)絡(luò)的特性。每個功能塊根據(jù)制定的算法和一組內(nèi)含的變量來處理輸入數(shù)據(jù),并產(chǎn)生輸出數(shù)據(jù),其具體實現(xiàn)是通過發(fā)送修改IP的命令。該命令通過設(shè)置上層監(jiān)控軟件設(shè)備的變量設(shè)置項來實現(xiàn)。在這個設(shè)置項里,用戶可以按工業(yè)環(huán)境需要來更改IP地址,設(shè)置好IP地址后,代碼就會把IP數(shù)據(jù)賦值給一數(shù)組;然后打包以信息分發(fā)服務(wù)的方式傳送給底層設(shè)備,底層設(shè)備對該數(shù)組進(jìn)行讀操作;最后把值賦給原IP,對原IP地址進(jìn)行覆蓋,從而完成IP地址的修改。
IP控制方法的實現(xiàn)為工業(yè)自動化系統(tǒng)對現(xiàn)場智能儀表的控制提供了更快捷的方式,但它存在一定的局限性,它只能應(yīng)用于確定的某一個控制系統(tǒng)。因此,下一步的目標(biāo)是加強(qiáng)其開放性,讓這一功能融入任意控制系統(tǒng)中,使工業(yè)生產(chǎn)中的控制系統(tǒng)更加完善,也使用戶操作更加快捷。
[1]周立功.單片機(jī)試驗與實踐教程[M].北京:北京航空航天大學(xué)出版社,2006:117-118.
[2]張娟,陳杰,蔡振江.基于多傳感器數(shù)據(jù)融合的溫室溫度采集[J].微計算機(jī)信息,2007,34(1):58 -59.
[3]祁樹勝.檢測信號的溫度補(bǔ)償及線性化的計算機(jī)處理[J].西安航空技術(shù)高等專科學(xué)校學(xué)報,2007,26(3):45-49.
[4]唐煒,徐曉蘇.基于溫度補(bǔ)償?shù)膫鞲衅鹘7椒捌鋺?yīng)用[J].計量技術(shù),2007,23(2):74 -75.
[5]周忠保.基于GPRS的嵌入式遠(yuǎn)程控制系統(tǒng)設(shè)計[J].科技廣場,2009,44(9):89 -91.
[6]李超,王岱,徐莉,等.LED顯示屏自動運(yùn)行和遠(yuǎn)程控制的實現(xiàn)[J].中國醫(yī)療設(shè)備,2009,36(11):8 -11.
[7]王勇,張浩,彭道剛,等.ARM平臺在多功能數(shù)據(jù)采集系統(tǒng)中的設(shè)計與實現(xiàn)[J].自動化儀表,2010,31(1):54 -59.