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