




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn) WORD文檔使用說明:實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn) 來源于PDFWORDPDF轉(zhuǎn)換成WROD 本W(wǎng)OED文件是采用在線轉(zhuǎn)換功能下載而來,因此在排版和顯示效果方面可能不能滿足您的應(yīng)用需求。如果需要查看原版WOED文件,請訪問這里實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn) 文件原版地址: 實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn)|PDF轉(zhuǎn)換成WROD_PDF閱讀器下載第 17 卷 第 2 期 北京電子科技學(xué)院學(xué)報 Vo1. 17 No. 2 Journal of Beijing Elrctronin Science and Technol
2、ogy Institute2009 年 6 月 Jun. 2009實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn)吳震(中辦老干部局萬壽路俱樂部 ,北京 100036 )摘 要 : 本文圍繞實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器進行研究 ,提出技術(shù)方案并加以實現(xiàn) 。集中器下行通訊接口橋接 PLC 網(wǎng)絡(luò)或 HFC的同軸部分 ,上行通訊接口橋接 GPRS模塊或 HFC的光纖部分 。本文基于 X86 體系的 W indow s CE操作系統(tǒng)和ARM9 嵌入式平臺的 uClinux操作系統(tǒng) ,對使用 PLC 網(wǎng)絡(luò)接口和 GPRS模塊網(wǎng)絡(luò)接口方式下的集中器的嵌入式軟件進行設(shè)計和實現(xiàn) ,解決了系統(tǒng)銷售服務(wù)器與計量終端
3、之間的雙向通訊和規(guī)約轉(zhuǎn)換 。 關(guān)鍵字 : RTN; HFC; PLC; 嵌入式開發(fā) ; 集中器 中圖分類號 : TP391. 8 文獻(xiàn)標(biāo)實碼 : A 文章編號 : 1672 - 464X (2009) 06 - 0067 - 10The D esign and I plem en ta tion of the Concen tra tor on the m In teractive Rea l - T i e NetW ork Ga s m ea surem en t System mWU Zhe n(B eijing W anshoulu Club, B eijing 100036, Chi
4、na )Abstract: This article focuses on the Concentrator on the Interactive Real - Tim e Net ork Gas measurement System to exp lore re2 W search and technical p rogram s and to achieve which is a design of the Concentrator bridging communication interface for downlink PLC network or HFC coaxial part o
5、f up link communications interface bridging GPRS module or HFC fiber - op tic parts Based on the . terface and GPRS network interface module under way on embedded softw are for the design and realization of the system to resolve the two - way communications, the converter and the Statute betw een th
6、e sale server and the gas metering term inal server . X86 system and the W indow s CE operating system p latform ARM9 uClinux embedded operating system , the use of PLC Network In2 Keywords: RTN; HFC; PLC; embedded development; Concentrator實時網(wǎng)絡(luò)交互的遠(yuǎn)程數(shù)據(jù)采集監(jiān)控系統(tǒng)廣泛應(yīng)用到用戶物流配送管理 、 車輛與船舶監(jiān)控調(diào)度 、 公安與 交通指揮和監(jiān)控 、 軍
7、事上的導(dǎo)航定位 、 環(huán)境中的水 、 、 氣 噪聲污染源監(jiān)督監(jiān)測等諸多領(lǐng)域 。集中器在實時交 互的數(shù)據(jù)采集處理系統(tǒng)中是一個重要的中間環(huán)節(jié) , 肩負(fù)進行通訊方式轉(zhuǎn)換和規(guī)約轉(zhuǎn)換的重要使命 。本文 以實時網(wǎng)絡(luò)交互的燃?xì)庥嬃窟h(yuǎn)程數(shù)據(jù)處理監(jiān)控系統(tǒng)為背景 ,結(jié)合嵌入式操作系統(tǒng)的自身特點 ,來選擇嵌入 式平臺和操作系統(tǒng)對其核心設(shè)備 集中器嵌入式軟件進行設(shè)計和實現(xiàn) 。一、 背景基于已原有遠(yuǎn)程數(shù)據(jù)采集監(jiān)控平臺 ,實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)項目的目標(biāo)是 : 建成統(tǒng)一的實時交互 系統(tǒng)平臺 ,實現(xiàn)實時網(wǎng)絡(luò)數(shù)據(jù)共享和數(shù)據(jù)交換 ; 整合原有不同的通訊信道 、 在不同的條件下的用戶數(shù)據(jù)采 集和收費系統(tǒng) ,實現(xiàn)用戶數(shù)據(jù)采集和收費
8、的統(tǒng)一管理 ; 綜合利用各銀行的代收費接口 , 實現(xiàn)能涵蓋各銀行 和公共繳費聯(lián)盟的收繳平臺 ,為用戶提供統(tǒng)一 、 、 方便 形式多樣的購氣渠道 。 實時交互系統(tǒng)在數(shù)據(jù)采集監(jiān)控平臺的基礎(chǔ)上 , 引入 GPRS、 CDMA、 、 等多種信道 , 應(yīng)用嵌入式 HFC PLC 計算機技術(shù) ,整合金融代收費系統(tǒng) 。系統(tǒng)拓?fù)淙鐖D :收稿日期 : 2009 - 4 - 5? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.?68?北京電子科技學(xué)院學(xué)報 2009 年圖 1 系統(tǒng)拓?fù)鋱D 為了整合多
9、種通訊信道 ,本文設(shè)了統(tǒng)一的通信接口 ,支持 socket、 主動同步式串行通訊 、 中斷異步式串 行通訊 、 端口地址 I/O 等多種通信信道 。使得集中器在上層應(yīng)用軟件使用統(tǒng)一的接口選擇相應(yīng)的通訊模 塊完成通訊功能 。該設(shè)計便于集中器軟件的功能修改及接口擴充 。 為了滿足集中器的外部環(huán)境需求 ,實現(xiàn)在不同的硬件平臺上采用不同的嵌入式系統(tǒng)的要求 ,本文分別 探討了在基于 X86 的 W indow s CE 系統(tǒng)和在基于 ARM 的 uC linux系統(tǒng)上的集中器軟件的設(shè)計和實現(xiàn) 。為 了更好的解決跨平臺的問題 , 減少重復(fù)工作量 , 保證應(yīng)用軟件在兩套平臺上的一致性 , 本文摒棄了 M i
10、2 croSoft提供的大量庫函數(shù) ,盡量采用標(biāo)準(zhǔn)的 ,跨平臺的庫函數(shù) 。開發(fā)完成后的運行結(jié)果表明在這兩套平臺 上的集中器軟件運行穩(wěn)定 。 集中器與主站的通訊通過 GPRS信道或 HFC 信道的光纖部分完成 ,為系統(tǒng)的上行通訊 ,當(dāng)采用 GPRS 信道完成時 ,集中器通過一個串行口與 GPRS 通訊終端進行通訊 , 當(dāng)采用 HFC 信道的光纖部分進行通訊 時 ,集中器在 TCP / IP 協(xié)議上的 SOCKET通訊 ; 集中器與計量終端的通訊為系統(tǒng)的下行通訊 , 無論是通過 HFC 信道進行通訊 ,還是采用 PLC 技術(shù)進行通訊 , 對于集中器來說 , 都是將數(shù)據(jù)以串口的形式發(fā)送 , 唯一 不
11、同的是將串口信道傳送到不同的調(diào)制解調(diào)器上 。 圖 2 通訊拓?fù)鋱D? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 第 17 卷吳 震 : 實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn) ?69?當(dāng)集中器的下行通訊采用 HFC 同軸電纜部分時 , 集中器負(fù)責(zé)將 HFC 的同軸電纜通道中的 54. 9M ±100kc FSK信號進行接收解調(diào) (接收各計量終端回答 ) ,下發(fā)命令用 110. 9M ± 100kc進行 FSK調(diào)制 ,由此進行與各計量終端的信息互聯(lián) 。
12、當(dāng)集中器的下行通訊采用 PLC 方式時 ,集中器需要與 PLC MODEM 進行半 雙工的串口通訊來實現(xiàn)與各計量終端的信息互連 。 集中器的軟件載體在嵌入式平臺上完成 ,并在集中器軟件的控制下采用光纖接入或 GPRS的通訊方 式與主控中心服務(wù)器連接 。主控中心服務(wù)器下發(fā)的控制命令及各集中器信息的回傳 ,均通過 Internet (或 GPRS APN )網(wǎng)進行 。每一個集中器在 Internet網(wǎng) (或 GPRS APN ) 上均有獨立的 IP 地址 。主控中心命令 (打包形式 )發(fā)到集中器后 ,集中器將其分解成相對于各單個計量終端的命令 , 再進行 110. 9M FSK調(diào)制后 發(fā)給整個用戶
13、網(wǎng) 。對應(yīng)用戶接收到命令后 (進行 110. 9M FSK解調(diào)得到 ) 執(zhí)行相應(yīng)操作 , 并將執(zhí)行結(jié)果進 行 54. 9M FSK調(diào)制 ,發(fā)射給集中器接收 ,集中器將多個單獨用戶信息按要求打包發(fā)給主控中心 ,出現(xiàn)終端 故障等情況 ,集中器將主動打包上報 。主控中心服務(wù)器收到結(jié)果后 ,進行相應(yīng)處理 。 集中器的設(shè)計容量 : 每個集中器下計量終端的總數(shù)為 512。 集中器非常重要的任務(wù)之一就是要兼容各種主站到集中器的通訊規(guī)約 , 兼容各種集中器到計量終端 的通訊規(guī)約 ,本文實現(xiàn)的集中器軟件兼容 4 種通訊規(guī)約 ,包括 IEC62056、 GB698. 41、 GB698. 42、 / T645 D
14、L 1997 規(guī)約 。二、 集中器軟件的設(shè)計2. 1 整體設(shè)計思路集中器軟件要實現(xiàn)不同通訊方式之間的轉(zhuǎn)換 , 實現(xiàn)不同通訊規(guī)約的解析和轉(zhuǎn)換 , 同時 , 集中器軟件還 要運行在不同的硬件平臺上 ,這樣 ,勢必要求集中器軟件能靈活的兼容多種通訊方式 、 通訊規(guī)約 ,具有高度 的跨平臺可移植性 。因此 ,集中器軟件設(shè)計目標(biāo)是可移植性 、 可擴展性和多元性 。 為實現(xiàn)針對集中器軟件的要求和設(shè)計目標(biāo) , 本文采用層次化 、 模塊化的設(shè)計思想 , 使用面向?qū)ο蟮脑O(shè) 計方法 ,將每個通訊接口對象都單獨封裝為一個類 , 且接口函數(shù)采用統(tǒng)一的模式 , 每個通訊接口類可任意 單獨選擇或組合選擇 ; 整個軟件不采
15、用 M FC 框架 ; 將每個功能模塊都單獨封裝成為類 。 本文針對室內(nèi)和室外集中器的不同特征 ,分別基于 X86 體系上的 W indow s CE 操作系統(tǒng)和 ARM 體系 上的 uClinux操作系統(tǒng)設(shè)計實現(xiàn)集中器嵌入式軟件 ,不同平臺上的軟件功能 、 實現(xiàn)方法相同 ,因此對軟件實 現(xiàn)本章統(tǒng)一闡述 。對兩種平臺實現(xiàn)的集中器嵌入式系統(tǒng)加以比較 : 1 )硬件性能比較 由于嵌入式設(shè)備在計算速度和存儲空間上的限制 , 為了使程序在移植后能夠正確 , 穩(wěn)定 , 高效的在嵌 入式設(shè)備中運行 ,在程序移植的過程中所面臨的最大問題就是速度和存儲的問題 。在 W I CE 系統(tǒng)中 , 內(nèi) N 存 32M
16、、 64M CF 卡 ,其中 W I CE 系統(tǒng)自身占用了 16M 左右的 CF卡存儲空間 , CPU 采用 National Sem iCon2 N ductor300,性能明顯優(yōu)于 uClinux的硬件環(huán)境 。 uClinux系統(tǒng)采用 128K 的 RAM , 2M 的 ROM ,其中 1. 4M 用 來存儲 uC linux操作系統(tǒng) , CPU 采用 ARM9,資源非常有限 。 2 )設(shè)備容量比較 正是由于資源上的區(qū)別 ,這兩款集中器對于所管理的計量終端的容量就存在了一定的區(qū)別 ,在以工控 主板為硬件環(huán)境 、 I CE 作為操作系統(tǒng)的集中器下可以管理多達(dá) 2048 個計量終端 ,甚至可以
17、擴展到 4096 WN 個計量終端 。而 ARM9 平臺上 uC linux操作系統(tǒng)的集中器可以管理 128 個計量終端 。 3 )其他比較 通過對這兩種集中器的測試 ,發(fā)現(xiàn) uC linux操作系統(tǒng)的集中器盡管成本更低 ,但其執(zhí)行效率更高 ,出現(xiàn) 軟件掛死的概率更低 。2. 2 集中器設(shè)計根據(jù)集中器的功能需求 ,按照其功能劃分模塊 ,每個模塊根據(jù)具體業(yè)務(wù)的不同再劃分成更小的功能模? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.?70? 塊 ,設(shè)計出系統(tǒng)結(jié)構(gòu)如圖 :北京電子科
18、技學(xué)院學(xué)報 2009 年圖 3 集中器系統(tǒng)結(jié)構(gòu)圖 為了方便集中器軟件的實現(xiàn) ,必須首先清楚集中器的功能 ,然后根據(jù)功能將模塊分類 ,并進行類封裝 , 最后明確各類之間數(shù)據(jù)流的交互和處理流程 , 明確各操作對象在整個生存周期中的狀態(tài) 。本文采用面向 對象的方法 ,使用 UML 工具設(shè)計了集中器嵌入式軟件 ,包括系統(tǒng)用例圖 、 類圖 、 順序圖 、 活動圖 。通過系統(tǒng) 用例圖 、 、 類圖 順序圖 、 活動圖來設(shè)計集中器軟件 。 2. 2. 1 系統(tǒng)用例圖 集中器存在 2 個使用者 ,即系統(tǒng)管理員和主站系統(tǒng) 。系統(tǒng)管理員主要通過輸入操作對集中器的各項 系統(tǒng)參數(shù)進行設(shè)置 ; 主站系統(tǒng)通過發(fā)送各種命令
19、幀的方式來驅(qū)動集中器工作 ,同時 ,巡檢設(shè)備狀態(tài) 、 抄收整 5 點數(shù)據(jù) 、 抄收日數(shù)據(jù) 等功能還需要集中器自動的定時去完成 ,如圖 :圖 4 集中器系統(tǒng)用例圖? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.第 17 卷吳 震 : 實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn) ?71?2. 2. 1 系統(tǒng)類圖 、 順序圖和活動圖圖 5 集中器系統(tǒng)類圖 主站命令解析類負(fù)責(zé)接收通過 socket通訊或中斷式異步串口接收主控服務(wù)器發(fā)送的命令幀 , 將命令 幀添加到命令隊列中 ,主線程
20、從命令隊列中去隊列頭進行處理 ,將服務(wù)器的命令通過規(guī)約轉(zhuǎn)換成給計量終 端的命令 ,并通過問答式同步串口將數(shù)據(jù)傳送給計量終端 , 計量終端對命令進行應(yīng)答 , 集中器通過問答式 同步串口接收應(yīng)答后進行規(guī)約轉(zhuǎn)換成與服務(wù)器的命令幀 , 添加到上報命令隊列中 。自動工作者類按照定 時觸發(fā)的方式 ,對計量終端的狀態(tài)進行巡檢 ,并將發(fā)現(xiàn)的設(shè)備異常組成數(shù)據(jù)幀上報給服務(wù)器 。自動工作者 類按照定時觸發(fā)的方式 ,抄收整點 、 日數(shù)據(jù)并上報給服務(wù)器 。 整個軟件順序圖和活動圖如圖 4 和圖 5 所示 。圖 6 系統(tǒng)順序圖? 1994-2010 China Academic Journal Electronic Pu
21、blishing House. All rights reserved.?72?北京電子科技學(xué)院學(xué)報 2009 年圖 7 系統(tǒng)整體活動圖三、 集中器軟件的實現(xiàn)3. 1 實現(xiàn)要點對于集中器的核心應(yīng)用軟件的開發(fā) ,有以下幾個重要的原則 : 1 ) 減少資源開銷 : 嵌入式設(shè)備內(nèi)存 、 FALSH 空間 、 CPU 處理速度等系統(tǒng)資源相對有限 ,因此 ,程序應(yīng)盡 量節(jié)省資源 ; 2 ) 自恢復(fù) : 軟件必須與設(shè)備看門狗進行交互 ,以確保在操作系統(tǒng)掛死或者應(yīng)用程序掛死的情況下 , 設(shè) 備能夠自恢復(fù) ; 3 ) 跨平臺 : 軟件具有較好的平臺移植性 。 遵循以上原則 ,集中器應(yīng)用程序在技術(shù)實現(xiàn)上明確了以
22、下實現(xiàn)要點 : 1 ) 平臺移植性 : 為了節(jié)省資源 , 提高軟件的平臺移植性 , 整個軟件不采用 M FC 的框架 , 不使用任何 M FC 的函數(shù) 。在非特殊情況下 ,直接使用 EVC 的 AP I函數(shù) , 在有特殊要求的地方 , 部分使用了 ATL 的函 數(shù)。 2 ) 減少資源開銷 : 為了節(jié)省資源 , 提高處理速度 , 軟件不再單獨使用第三方數(shù)據(jù)庫進行數(shù)據(jù)保存 , 而 是采用直接讀寫數(shù)據(jù)文件的方式 。 3 ) 多線程處理 : 采用多線程處理方式 ,在命令處理上采用命令隊列 。 4 ) 通訊模塊化 : 由于集中器軟件需要對設(shè)備的 COM1 和 COM2 兩個串口進行通訊 , 并且對 CO
23、M1 和COM2 分別采用了同步主動通訊和異步被動通訊兩種不同的方式 , 因此集中器軟件完成了兩個不同的串? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.第 17 卷吳 震 : 實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn) ?73?口處理類 。 5 ) 系統(tǒng)自恢復(fù) : 通過關(guān)鍵字 _asm ,采用在 C 程序中內(nèi)嵌匯編語言的技術(shù)直接訪問設(shè)備的指定端口來 控制 W atchDog,通過 W atchDog來保證系統(tǒng)在應(yīng)用程序掛死或操作系統(tǒng)掛死時可以自恢復(fù) 。3. 2 實現(xiàn)方法3.
24、 2. 1 ATL 庫的使用集中器軟件在使用 EVC 自帶的 AP I函數(shù)外 ,使用了 ATL 庫的內(nèi)容 ,在大部分類中包含了 < atlbase. h>文件 ,主要是大量使用了 CSimp leA rray < temp le struct >類型的動態(tài)數(shù)據(jù)模板 , 用來實現(xiàn)軟件中動態(tài)數(shù)組、 。 隊列3. 2. 2 數(shù)據(jù)存取 File來實現(xiàn)數(shù)據(jù)的存取 。 BOOL W r iteF ile( HANDL E hF ile,L PCVO I lpB uffe r, DDWO RD nN um be rO fB ytesToW rite, L PO VERLAPPED l
25、pO ve rlapped );L PDWO RD lpN um be rO fB ytesW ritten,BOOL ReadF ile( HANDL E hF ile,L PVO I lpB u ffe r, DDWO RD nN um be rO fB ytesToR ea d, L PO VERLAPPED lpO ve rlapped );L PDWO RD lpN um be rO fB ytesR ead,log db 五個二進制數(shù)據(jù)文件 。所有對于數(shù)據(jù)的存取也就是對這五個數(shù)據(jù)文件進行操作 。并分別定義了各 .數(shù)據(jù)文件保存的數(shù)據(jù)類型 ,建立了類似數(shù)據(jù)表的數(shù)據(jù)查詢索引 。3. 2.
26、 3 隊列的處理這兩個隊列的根本原因在于集中器與主站系統(tǒng)之間的通訊是異步通訊 , 因此在集中器軟件可能還在處理 主站的第一條指令時 ,主站可能已經(jīng)將近百條命令發(fā)送到了集中器 , 這樣勢必需要命令處理隊列 , 同樣道 理 ,作為對稱通訊的另一方 ,集中器的命令上報也同樣需要處理隊列 。 集中器軟件用 CCommandQueue和 CUp loadQueue 來實現(xiàn)主站命令隊列及上報命令隊列 。 義保存一個主站命令的數(shù)據(jù)類型 。GLE 是自定義保存一個上報命令的數(shù)據(jù)類型 。 3. 2. 4 數(shù)據(jù) I/O 操作集中器軟件的 CFileAccess類用來封裝數(shù)據(jù)存取的功能 ,該類使用 AP I函數(shù) C
27、 reateFile、 riteFile、 W Read2 集中器軟件中有兩個對程序整體產(chǎn)生重要影響的隊列 ( F IFO ) : 主站命令隊列和上報命令隊列 , 產(chǎn)生 在 CCommandQueue類中定義 : CSim p leA rray < COMMAND I FO > m _CmdL ist; COMMAND I FO 是自定 N N 在 CUp loadQueue類中定義 : CSimp leA rray <UPLOAD I FOSI GLE > m _abup load Info; UPLOAD I FOSI 2 N N N N 集中器軟件的數(shù)據(jù) I/O
28、主要包括 SOCKET通訊 ,串口通訊 ,直接操作寄存器地址這三種方式 。 正如章節(jié) 4. 1 中第 4 點所提到的 ,集中器軟件分別封裝了 CA syncComm 類和 CSPAccess類來實現(xiàn)異步? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 通過操作這幾個函數(shù) , 將數(shù)據(jù)分類并分別保存為 cp info. db、 param info. db、 sysinfo. db、 monthdata. db、?74?北京電子科技學(xué)院學(xué)報 2009 年通訊的 COM2 和同步通
29、訊的 COM1。 COM2 負(fù)責(zé)收發(fā)來自 GPRS通訊模塊的來自于主站的下發(fā)數(shù)據(jù) , 由于主站是主動給集中器下發(fā)指令 , 因此集中器無法知道 COM2 什么時候會有數(shù)據(jù)到達(dá) ,那么唯一的辦法就是 COM2 常開 ,并且時刻監(jiān)視并處 理到達(dá)的數(shù)據(jù) 。為了實現(xiàn)這個要求 ,在 CA syncComm 類中初始化 COM2 后 ,馬上單獨開啟了一個預(yù)先定義 好的線程 PortReadThread來等待接收數(shù)據(jù) 。對于 COM2 的操作流程如圖 :圖 8 終端異步式 COM2 處理流程圖 在 PortReadThread 線程中 , 調(diào)用了 W aitComm Evnet函數(shù) , 該是一個阻塞函數(shù) ,
30、當(dāng)程序運行到這個函數(shù) 時會阻塞直到有通過 MASK指定的時間發(fā)生時該函數(shù)才返回 , 這是程序就可以到串口緩沖中去讀取數(shù)據(jù) 了。3. 2. 5 軟件自檢 W atchDog的操作需要直接對地址進行操作 , EVC 的 AP I不支持 _outp 類型的函數(shù) ,所以集中器軟件使用匯編語言的 _asm 宏完成了下面這個基本函數(shù)來供操作 W atchDog時使用 。 void CAppFunc: : _outp (USHORT usAddr, UCHAR ucValue ) _as mmov dx, usAddr mov al, ucValue out dx, al 3. 3 將集中器應(yīng)用程序平臺移植
31、到 uClinux操作系統(tǒng)上將在 W indow s CE 開發(fā)的集中器軟件移植到 uCL inux平臺上來 , 主要是為了降低成本 , 使得系統(tǒng)中使 用 GPRS通訊方式時 ,可以有更簡單 、 更低成本 、 更可靠的技術(shù)方案 。 盡管在之前進行設(shè)計時 ,就考慮該軟件會要求移植到 uC linux系統(tǒng)中 , 但是在進行這次軟件移植的過? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.第 17 卷吳 震 : 實時網(wǎng)絡(luò)交互燃?xì)庥嬃肯到y(tǒng)的集中器設(shè)計與實現(xiàn) ?75?程中 ,仍然遇到了一
32、些困難 ,通過不斷的探詢 ,在沒有對原來版本程序的結(jié)構(gòu)進行修改的前提下 ,這些困難 在一步一步的工作中得到了解決 ,并最終完成了這一工作 。 1 ) 原版本程序中的 AP I函數(shù)更換成 uC libc庫函數(shù) 。 2 ) 由于在原 CE 版本程序中 ,使用了部分 STL 庫函數(shù) , uClibc 庫函數(shù)是不支持的 , 應(yīng)此在移植的過程 中 ,將這些函數(shù)都進行了替換 。 3 ) 在原 CE 版本的程序中 ,使用了部分模板函數(shù) ,在移植過程中也去掉了模板函數(shù) 。四、 測試結(jié)果與分析4. 1 測試環(huán)境與方法集中器軟件的測試環(huán)境采用真實環(huán)境 , 用了兩臺裝有 W indow s xp 系統(tǒng)的 PC 分別
33、模擬銀行終端和用 戶計量終端 。 測試的主要方法采用模擬機模擬正常業(yè)務(wù) ,并通過在模擬機上不斷增加模擬售氣終端業(yè)務(wù) (根據(jù)業(yè)務(wù) 需求 ,并發(fā)業(yè)務(wù)數(shù)量小于 1000 )來測試服務(wù)器能支持并發(fā)業(yè)務(wù)的最大數(shù)量 、 最大延時 , 并通過系統(tǒng)資源監(jiān) 控軟件來監(jiān)測服務(wù)器的 CPU 占用率 、 內(nèi)存使用情況 、 磁盤的 I/O ,執(zhí)行數(shù)據(jù)庫操作的 SQL 語句效率 。 對于系統(tǒng)活動狀況一方面是監(jiān)控系統(tǒng) CPU 占用率 , 另一方面監(jiān)控數(shù)據(jù)庫服務(wù)器在當(dāng)前時刻最耗 cpu 時間的進程 ,如果是 oracle 的進程 ,則可以通過進程號 ,反查所有數(shù)據(jù)庫進程 ,進而找到那條 sql語句 ,分析 原因 、 作出優(yōu)化
34、 。 查看系統(tǒng)空閑率的方法是 : 在 SOLAR IS下 sar <間隔秒數(shù) > <次數(shù) > 顯示的結(jié)果中 % usr列表示用戶進程所占比例 , % sys列表示系統(tǒng)進程 所占比例 , %w io 列表示磁盤讀寫所占比例 , % idle 表示空閑所占比例 。前三列數(shù)值數(shù)值高表示系統(tǒng)除在 繁忙期間 ,正常情況下 ,系統(tǒng) idle值一般為 80 以上 ,一小段時間低于 80 也屬于正常情況 ,除非執(zhí)行的是已 知的大事務(wù) ,否則前三列中出現(xiàn)長時間的數(shù)值過高 ,都值得引起注意 。 查看系統(tǒng)當(dāng)前時刻最消耗 cpu時間的進程的方法是 : 在 SOLAR IS下# p s - eo
35、 p id, pcpu, comm | sort + 1n顯示結(jié)果舉例如下 : 20404 0. 1 oracleorac 21392 0. 1 oracleorac22465 0. 1 oracleorac 28180 0. 1 oracleorac3 0. 2 fsflush 7181 0. 4 ora_j000_orac 顯示出來的結(jié)果是按照占用 cpu的比例排序的 , 因此最后一列就是當(dāng)前時刻占用 cpu 時間最多的那 個進程 ,其中第一列表示進程的進程號 ,可以作為在 session brow ser中反查的依據(jù) ,第二列顯示的就是占用 cpu 時間的比例 ,第三列就是進程名稱 。4
36、. 2 測試結(jié)論在整個測試過程中 ,集中器軟件沒有出現(xiàn)故障或超載的現(xiàn)象 。對于主站發(fā)送來的所有命令均能按照 需求正常及時處理 。 經(jīng)過優(yōu)化后的服務(wù)器軟件當(dāng)并發(fā)終端業(yè)務(wù)的數(shù)量在規(guī)定規(guī)模內(nèi)呈線性增長時 ,服務(wù)器的 CPU 占用率 和內(nèi)存使用增加均大大低于線性 ,并且在并發(fā)業(yè)務(wù)到達(dá) 1000 時 , CPU 占用率僅 17. 8% , 內(nèi)存使用 62MB。? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.?76?北京電子科技學(xué)院學(xué)報 2009 年下面的表與圖給出了并發(fā)業(yè)務(wù)數(shù)量增長與
37、CPU 占用率增加的曲線關(guān)系圖 : 表 1 數(shù)據(jù)觀測點 數(shù)據(jù)觀測點1 2 3 4 5 6當(dāng)并發(fā)業(yè)務(wù)數(shù)占 1000 筆的百分比 ( % ) 1 (即并發(fā) 10 筆業(yè)務(wù) ) 10 (即并發(fā) 100 筆業(yè)務(wù) ) 20 (即并發(fā) 200 筆業(yè)務(wù) ) 50 (即并發(fā) 500 筆業(yè)務(wù) ) 80 (即并發(fā) 800 筆業(yè)務(wù) ) 100 (即并發(fā) 1000 筆業(yè)務(wù) )服務(wù)器 CPU 占用率 ( % )3 7 11 14 16 17. 8圖 9 發(fā)購電業(yè)務(wù)與服務(wù)器 CPU 占用率關(guān)系圖 通過監(jiān)視數(shù)據(jù)庫服務(wù)器在整個測試過程中的 CPU 占用率 ,發(fā)現(xiàn)在服務(wù)器中有 3 條 SQL 語句存在效率 上的問題 ,在對這 3 條 SQL 語句進行優(yōu)化后 ,數(shù)據(jù)庫服務(wù)器在應(yīng)用程序執(zhí)行這 3 條 SQL 語句時 CPU 占用 率下降 ,如表 。 表 2 S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位轉(zhuǎn)讓出租車合同范本
- 賣別墅合同范本
- 廠房拆遷工程合同范例
- 賣車購買合同范本
- 加工橋梁樁基鋼筋合同范例
- 單價合作合同范本
- 衛(wèi)浴進貨合同范本
- 住月子中心合同范本
- 公司給合同范本
- 合同范本北京
- 思想道德與法治教案第四章:明確價值要求踐行價值準(zhǔn)則
- 寧騷版《公共政策學(xué)》課后答案
- 外陰及陰道炎癥
- (綜合治理)修復(fù)工程指南(試行) - 貴州省重金屬污染防治與土壤修復(fù)網(wǎng)
- 公安筆錄模板之詢問嫌疑人(書面?zhèn)鲉局伟舶讣?
- 員工就餐簽到表
- A-level項目介紹(課堂PPT)
- 故障診斷技術(shù)的國內(nèi)外發(fā)展現(xiàn)狀(共3頁)
- 航海計算軟件---ETA計算器
- 光伏電站運維手冊
- 半導(dǎo)體及集成電路領(lǐng)域的撰寫及常見問題
評論
0/150
提交評論