- 相關(guān)推薦
光伏電站信息管理論文
1光伏電站系統(tǒng)架構(gòu)
1.1光伏電站客戶(hù)端模塊
客戶(hù)端模塊主要包括集團(tuán)/分公司概覽、集團(tuán)/分公司電站信息、集團(tuán)/分公司效率、電站預(yù)判分析(持續(xù)零電流、直流過(guò)低、直流偏低)4個(gè)模塊。其中集團(tuán)/分公司概覽模塊包括集團(tuán)按年概覽、集團(tuán)按月概覽、分公司按年概覽、分公司按月概覽、集團(tuán)歷年年報(bào)表信息、集團(tuán)月報(bào)表信息、分公司年報(bào)表信息、分公司月報(bào)表信息;集團(tuán)/分公司電站信息模塊包括查詢(xún)集團(tuán)下分公司下所有電站信息、電站按年概覽、電站按月概覽;集團(tuán)/分公司效率模塊包括集團(tuán)效率(按年排行)、集團(tuán)效率(按月排行)、分公司效率(按年排名)、分公司效率(按月排名);電站預(yù)判分析模塊包括某電站組串、匯流箱、逆變器的持續(xù)零電流查詢(xún)、直流過(guò)低查詢(xún)和直流偏低查詢(xún),以及當(dāng)天的預(yù)判分析。
1.2光伏電站客戶(hù)端系統(tǒng)架構(gòu)
在Cocoa框架中,MVC設(shè)計(jì)模式被用到了極致,CoreData簡(jiǎn)化了很多應(yīng)用程序的Model部分的設(shè)計(jì);ApplicationKit包含了View,Controller通用的一些類(lèi)。Foundation提供了對(duì)操作系統(tǒng)接口,NSObject基類(lèi),腳本支持以及其他特性的訪問(wèn)。本客戶(hù)端應(yīng)用在框架的基礎(chǔ)上也采用了MVC的開(kāi)發(fā)思想。
1)模型(Model)。模型用于封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對(duì)數(shù)據(jù)的處理方法。“模型”有對(duì)數(shù)據(jù)直接訪問(wèn)的權(quán)利。首先是本地?cái)?shù)據(jù)存儲(chǔ)模型,包括對(duì)SQLite數(shù)據(jù)庫(kù)的查詢(xún)、更新、刪除等操作,使用NSUserdefaults和CoreData存取數(shù)據(jù)。其次是與服務(wù)器端進(jìn)行交互的網(wǎng)絡(luò)通信模型,它把相應(yīng)的參數(shù)封裝起來(lái)發(fā)送給服務(wù)器端,在收到服務(wù)器端返回的數(shù)據(jù)后,將json字符串解析,返回相應(yīng)的對(duì)象給客戶(hù)端。
2)視圖(View)。以一定的形式向用戶(hù)呈現(xiàn)數(shù)據(jù)并允許用戶(hù)對(duì)數(shù)據(jù)進(jìn)行操作。
3)控制器(Controller)?刂破髦饕(fù)責(zé)對(duì)整個(gè)系統(tǒng)的流程進(jìn)行調(diào)度,管理用戶(hù)界面的邏輯流程以及用戶(hù)交互如何影響數(shù)據(jù)模型。在Model和View之間加入Controller的主要目的就是消除Model和View之間的耦合性。用戶(hù)和View交互時(shí),View會(huì)通知Controller在View中有數(shù)據(jù)發(fā)生了變化,而Controller則會(huì)將這個(gè)數(shù)據(jù)的改變反映到Model中。系統(tǒng)實(shí)現(xiàn)過(guò)程中完全遵守MVC設(shè)計(jì)模式的原則,視圖控制器ViewController、視圖View、單元格TableViewCell、數(shù)據(jù)Data拆分開(kāi),后臺(tái)數(shù)據(jù)的處理和界面的操作與顯示獨(dú)立開(kāi)來(lái),整個(gè)工程邏輯結(jié)構(gòu)清晰,模塊之間耦合度低,代碼能夠充分復(fù)用,將接口更改所帶來(lái)的代碼改動(dòng)降到最低。
1.3客戶(hù)端包圖
根據(jù)客戶(hù)端架構(gòu)設(shè)計(jì)和客戶(hù)端功能需求,給出客戶(hù)端包圖設(shè)計(jì)。General包中包括了集團(tuán)/分公司概覽頁(yè)面、以及集團(tuán)/分公司報(bào)表頁(yè)面,其中GeneralViewCon-troller類(lèi)為概覽類(lèi),MoreDetailViewController類(lèi)為報(bào)表詳情類(lèi);Station包中包含了集團(tuán)/分公司電站信息頁(yè)面,以及電站詳情(電站按年概覽、電站按月概覽),其中StationViewController類(lèi)為電站信息類(lèi),StationDataViewController類(lèi)為電站詳情類(lèi);Efficien-cy包中包括集團(tuán)/分公司效率頁(yè)面,其中Efficien-cyViewController類(lèi)為效率頁(yè)面類(lèi);Predict包中包括電站預(yù)判分析頁(yè)面,其中PredictViewController類(lèi)為預(yù)判頁(yè)面類(lèi),DetailViewController類(lèi)為當(dāng)天預(yù)判分析詳情頁(yè)面類(lèi)。Tool包種包括應(yīng)用的一些工具類(lèi),如,F(xiàn)MDB、ASI-HTTPRequest、URLHelper、PowerStationDB以及Sta-tionListDBProvider類(lèi)。此外,CorePlotHeaders包為繪制圖表工具包,AKTabBarController包為菜單欄工具包。
1.4客戶(hù)端工具類(lèi)
URLHelper類(lèi)為客戶(hù)端與服務(wù)器端交互的接口類(lèi),調(diào)用該類(lèi)中的方法返回服務(wù)器端接口字符串。PowerStationDB類(lèi)是數(shù)據(jù)庫(kù)的單例類(lèi),應(yīng)用只需要一個(gè)PowerStationDB實(shí)例。StationListDBProvider類(lèi),可以提供創(chuàng)建sqlite表,查詢(xún)、更新的功能。
1.5客戶(hù)端與服務(wù)器端交互模塊
客戶(hù)端通過(guò)此模塊與服務(wù)器端交互,是其他模塊的底層基礎(chǔ),上層模塊通過(guò)此模塊向服務(wù)器做請(qǐng)求消息等交互實(shí)現(xiàn)相應(yīng)的功能。下面給出這些類(lèi)的各個(gè)接口以及其對(duì)應(yīng)的Servlet,IOS客戶(hù)端使用ASIHTTPRequest框架與服務(wù)器端進(jìn)行交互,ASIHTTPRequest對(duì)CFNetworkAPI進(jìn)行了封裝,可以很好地應(yīng)用在MacOSX系統(tǒng)和IOS平臺(tái)的應(yīng)用程序中。首先是用requestWithURL方法獲取ASIHTTPRequest的一個(gè)實(shí)例,傳遞的參數(shù)即為服務(wù)器端對(duì)應(yīng)的接口。當(dāng)需要傳遞參數(shù)時(shí),通過(guò)sePostValue方法將參數(shù)傳遞給服務(wù)器。然后設(shè)置代理,并指定數(shù)據(jù)請(qǐng)求成功時(shí)和數(shù)據(jù)請(qǐng)求失敗時(shí)所調(diào)用的方法。最后調(diào)用startAsynchronous方法發(fā)起異步請(qǐng)求。當(dāng)客戶(hù)端收到服務(wù)器端返回的數(shù)據(jù)時(shí),通過(guò)SBJson庫(kù)的JSONValue方法,將JSON格式的字符串轉(zhuǎn)化為需要的格式進(jìn)行進(jìn)一步處理。
2光伏電站客戶(hù)端系統(tǒng)實(shí)現(xiàn)
2.1客戶(hù)端數(shù)據(jù)庫(kù)相關(guān)操作實(shí)現(xiàn)
SQLite數(shù)據(jù)庫(kù)是一種小型的輕量級(jí)關(guān)系型數(shù)據(jù)庫(kù),適合在移動(dòng)設(shè)備上使用,無(wú)論是Android還是IOS,都內(nèi)置了SQLite數(shù)據(jù)庫(kù)。在IOS上使用SQLiteSDK方法的話比較麻煩,使用起來(lái)很不方便。所以,客戶(hù)端實(shí)現(xiàn)時(shí)使用第三方庫(kù)FMDB,它對(duì)SQLiteSDK中的API進(jìn)行一層封裝,使用比較方便。使用FMDB時(shí)主要涉及到FMDatabase和FM-ResultSet兩個(gè)類(lèi)。FMDatabase代表一個(gè)SQLite數(shù)據(jù)庫(kù),用于執(zhí)行SQL命令。FMResult則代表在FM-Database數(shù)據(jù)庫(kù)中執(zhí)行查詢(xún)的結(jié)果集。此外,如果應(yīng)用需要多線程操作數(shù)據(jù)庫(kù),則需要使用FMDatabaseQueue來(lái)保證線程安全,但不能在多個(gè)線程中共同一個(gè)FMDatabase對(duì)象且在多個(gè)線程中同時(shí)使用,因?yàn)檫@個(gè)類(lèi)本身不是線程安全的,這樣用會(huì)造成數(shù)據(jù)混亂等問(wèn)題。使用FMDatabaseQueue時(shí),首先用一個(gè)數(shù)據(jù)庫(kù)文件地址初始化FMDatabaseQueue,然后將一個(gè)block傳入inDatabase方法中,那么FMDatabase-Queue就會(huì)按序列化的隊(duì)列來(lái)執(zhí)行,當(dāng)多個(gè)線程同時(shí)調(diào)用其方法時(shí),它們會(huì)按指定的順序執(zhí)行。使用FMDB時(shí)首先將FMDB類(lèi)庫(kù)文件添加到工程中,并導(dǎo)入sqlite支持庫(kù)libsqlite3.dylib。
1)通過(guò)單例模式構(gòu)建PowerStationDB類(lèi),獲取Dociment文件夾下的數(shù)據(jù)庫(kù)文件,沒(méi)有則創(chuàng)建,并為數(shù)據(jù)庫(kù)設(shè)置緩存,提高查詢(xún)效率。
2)查詢(xún)數(shù)據(jù)
2.2客戶(hù)端與服務(wù)器端交互實(shí)現(xiàn)
IOS客戶(hù)端使用ASIHTTPRequest實(shí)現(xiàn)客戶(hù)端與服務(wù)器端的交互。首先將ASIHTTPRequest相關(guān)文件、鏈接類(lèi)庫(kù)添加到項(xiàng)目中,包括CFNetwork.framework,System-Configuration.framework,MobileCoreServices.frame-work,CoreGraphics.framework和libz.1.2.3.dylib這幾個(gè)類(lèi)庫(kù)。以下是使用ASIHTTPRequest向服務(wù)器端搜索活動(dòng)的實(shí)現(xiàn)。
1)首先獲得請(qǐng)求的服務(wù)器端servlet接口的url,在通過(guò)url構(gòu)造ASIFormDataRequest實(shí)例。通過(guò)setPostValue方法向服務(wù)器端傳遞參數(shù),并設(shè)置代理,最后開(kāi)啟異步請(qǐng)求。
2)然后實(shí)現(xiàn)ASIHTTPRequest的代理方法。通過(guò)ASIHTTPRequest的responseString方法獲得返回的數(shù)據(jù),并通過(guò)JSONValue方法解析JSON字符串,得到返回結(jié)果的NSMutableDictionary,最后再對(duì)結(jié)果進(jìn)行相應(yīng)的處理。請(qǐng)求失敗則調(diào)用requestFailed代理方法。
2.3圖表繪制
2.3.1繪制圖表框架主要涉及CPTGraphHostingView類(lèi)。
2.3.2繪制畫(huà)布主要涉及CPTGraph類(lèi)、CPTTheme類(lèi)、CPTXY-PlotSpace類(lèi)。
1)創(chuàng)建Graph;
2)配置畫(huà)布,設(shè)置邊框、留白、繪圖區(qū)留白;
3)設(shè)置文本樣式CPTMutableTextStyle;
4)設(shè)置標(biāo)題;
5)主題CPTTheme;
6)設(shè)置繪圖空間CPTXYPlotSpace。
2.3.3繪制柱狀圖與折線圖
1)創(chuàng)建柱狀圖、折線圖;
2)設(shè)置圖表樣式,將圖表添加到畫(huà)布中。
2.3.4繪制坐標(biāo)軸
1)設(shè)置坐標(biāo)軸樣式;
2)獲得畫(huà)布坐標(biāo)軸集;
3)設(shè)置x軸樣式;
4)設(shè)置y軸樣式;
5)繪制x軸刻度值。
2.3.5繪制圖例
3結(jié)束語(yǔ)
隨著互聯(lián)網(wǎng)和智能手機(jī)的不斷發(fā)展,電站相關(guān)工作人員對(duì)電站信息概覽和異常情況的分析需要實(shí)時(shí)地在智能設(shè)備上查看。既實(shí)現(xiàn)了基于IOS平臺(tái)的電站信息管理系統(tǒng),又滿(mǎn)足了電站相關(guān)工作人員對(duì)電站信息實(shí)時(shí)監(jiān)控的需求,極大地提高了工作效率。
【光伏電站信息管理論文】相關(guān)文章:
信息管理畢業(yè)論文12-10
信息管理系統(tǒng)論文07-30
信息管理系統(tǒng)論文11-22
學(xué)生信息管理論文03-28
信息管理系統(tǒng)論文(集合)08-01
衛(wèi)生信息管理論文11-14
信息管理系統(tǒng)論文通用02-14
采供血信息管理論文12-04