<nav id="w0g0m"><code id="w0g0m"></code></nav>
  • <xmp id="w0g0m">
    <xmp id="w0g0m"><nav id="w0g0m"></nav><menu id="w0g0m"><strong id="w0g0m"></strong></menu>
  • <xmp id="w0g0m">
  • <nav id="w0g0m"></nav>
    <menu id="w0g0m"><menu id="w0g0m"></menu></menu>
    1. 網站地圖
    2. 設為首頁
    3. 關于我們
    ?

    電力雙視監控管理平臺的設計與實現

    發布時間:2022-02-13 11:37
     引言
    本論文描述了一個用于管理電力設備運行記錄的信息管理平臺的設計與實現。電力設備在運行時,根據焦耳定律會產生一定的熱量。在電器設備出現異常時,這種發熱會更加明顯。根據電力設備的發熱情況,可以判斷設備的故障信息[1]。利用紅外熱成像技術生產的紅外攝像頭監控電力設備的發熱情況,可以判斷設備的運行狀態[2]。對紅外攝像頭采集的電力設備運行記錄進行統計分析,能夠對設備的預防性維護提供數據支持。本平臺正是在紅外攝像頭采集電力設備的溫度信息之后,對這些信息進行的科學管理。
    2 需求分析
    2.1電力雙視監控管理平臺項目的背景和說明
    隨著中國社會的工業化發展,人們對電力能源的需求越來越大,電力系統的安全性關乎國民生計,社會發展對變電站的遠程監控提出了更高的要求。網絡信息技術的發展,使人們對信息的收集和檢索有了強大的工具。將信息管理系統應用到變電站監控數據的分析上,將大大提高變電站工作人員的效率,增加電力設備維護的可靠性。近年來,隨著紅外熱成像技術的發展,利用紅外熱成像技術監視電網設備的溫度情況越來越受到人們的關注,出現了很多紅外監測儀,用來采集電網設備的溫度系數[3]。
    針對市場上出現的很多紅外監控前端,卻沒有與之相應的后端信息管理平臺,用于對紅外監測儀采集到的溫度系數進行統計分析。利用計算機強大的計算能力和信息處理能力,對電網設備的溫度記錄進行信息化的管理,成為電力系統的發展方向之一[4]。電力雙視監控管理平臺的設計與開發,正是在變電站紅外監控和可見光監控的基礎上,對系統采集到的電網設備溫度信息、圖像信息和視頻信息進行統計分析,以更加直觀明了的方式展現在工作人員面前,并提供信息的檢索功能,在大大減輕了工作人員勞動量的同時,讓工作人員以一種更加簡單科學的方式監控電網設備的運行情況。
    2.2 電力雙視監控管理平臺項目整體系統概述 
    本平臺針對的是廣州颯特電力紅外技術有限公司提供的SAT-MC602C熱像儀,該熱像儀能夠提供的數據包括:工作站信息(工作站即指當前系統所運行的變電站的相關信息)、云臺信息(云臺即指一個用于雙視監控的雙視設備)、監控面信息(監控面指攝像頭在特點的角度所照的照片)、監控區域信息(監控區域信息指監控面上多個重點監測的部位所作的圖形化標識)、監控任務信息(監控任務確定了熱像儀一次巡視的工作內容)和任務巡視記錄(一次巡視采集到的溫度系數)等。
    根據硬件設備提供的數據內容,平臺設計功能應包括以下幾點:
    1)監控分析曲線圖,用于顯示選定區域的溫度曲線;
    2)溫度報表,用于顯示選定監測區域的溫度報表信息;
    3)報警記錄信息,用于顯示所有的報警記錄信息,并提供查看報警信息的超鏈接,還應該提供報警查詢功能;
    4)查看報警信息,用于查看指定的報警記錄所對應的詳細報警信息,包括相應的報警圖像,設備溫度,報警溫度等數據;
    5)監控記錄信息(以區域為單位),以監控區域為單位顯示一段時間內的監控記錄信息,支持分頁查看,顯示信息包括監控是否正常,是否有報警,區域信息,記錄時間等;
    6)遠程監控,廠家提供了用于對遠程紅外攝像和可見光攝像進行查看和控制的ActiveX控件。平臺在開發時應考慮將該控件嵌入到平臺中,以實現對遠程紅外攝像和可見光攝像的查看和控制;
    7)相關下載,提供對該平臺使用文檔、遠程監控ActiveX控件等相關資料的下載。
    另外,對于一個完整的信息管理系統,還應有一整套的用戶及權限管理規則,用于區別不同的管理人員對信息擁有不同的管理權限。
    3 平臺設計 
    3.1 電力雙視監控管理平臺總體架構設計
    該平臺屬于典型的Web開發,平臺設計采用B/S的三層模式,即客戶端的表現層、Web服務器端的業務層和數據庫服務器端的持久層[5]。平臺采用J2EE技術架構設計,使用了Spring MVC + MyBatis的框架[6] [7]。采用分層設計的思想,可以降低各個功能模塊的耦合度,提高平臺的可維護性。
    3.1.1 系統總體層次結構設計
    考慮平臺要處理的實際業務,平臺的數據應該位于各個變電站的本地服務器上,平臺服務器要從各個變電站的本地服務器上讀取數據,然后展現在用戶面前。這是一個典型的分布式系統,所以平臺結構設計采用一個新的領域驅動插件Takia[8],如圖1所示。該插件可以更好的適應分布式系統開發。持久層采用了比較輕的MyBatis,平臺設計采用分層結構,在業務功能上面,把權限管理和遠程站點管理獨立出來,而其他的業務模塊劃分到一類中。
     
    圖1 平臺總體層次結構圖
    3.1.2系統細分層次結構設計
    監控平臺的技術層次細分如圖2所示。平臺的表現層以HTML網頁的WEB-UI為主,基于JQuery為核心,合理應用AJAX技術來實現分級數據加載,FLAH用于圖標展示,而遠程數據監控采用ActiveX嵌入方式。邏輯層主要負責業務模塊劃分,分為用戶權限模塊,日志系統,報表和圖標系統,以及遠程監控系統。在該平臺上,對報表和圖標系統需要進行功能增強,根據用戶的需求增加報表種類,優化報表參數選擇功能等。數據來源分為三個部分,本地管理數據庫,數據備份數據庫,和外部數據。其中跟權限,站點信息相關的參數保存在本地管理數據庫中,數據備份保存從站點提取的經過處理分析的溫度數據,而外部數據是直接通過遠程接口從站點讀取數據。
    領域驅動層是基于內存的建模組件,可以將不同的數據來源進行屏蔽,對業務模塊提供統一服務[9]。領域框架提供了緩存系統以保證系統的性能。
    遠程組件目前規劃了兩種形式,一種是基于hessian的遠程數據接口[10],還有一種是基于第三方供應商提供的dll開發庫。在dll能夠滿足需求的情況下使用dll來提取站點數據,如果沒有提供相應功能,平臺會使用hessian遠程接口,直接到站點數據庫讀取需要的數據。
     
    圖2 平臺細分層次結構圖
    3.1.3 系統邏輯架構設計
    由圖3所示,整個平臺由三大部分構成。一部分是服務器上的監控平臺,一部分是工作站上的第三方監控系統,另外一部分是平臺的骨架系統。平臺用戶均通過瀏覽器對系統進行訪問。
     
    圖3 平臺邏輯架構圖
    與以往不同,該平臺設計將數據庫進行了隔離,即平臺和工作站各自維護自己的數據庫系統,獨立維護各自的數據。
    數據交換方面采用Dll控件時。服務器程序通過JNI調用Dll控件,網絡數據傳輸由Dll負責,Dll控件直接連接到工作站系統中,提取需要的數據,并使用Socket通過網絡完成數據傳輸工作;對于一些功能如果dll沒有提供相應接口,我們使用Hessian方式通過工作站骨架程序,直接提取數據庫中需要的數據給平臺使用,數據通過Hessian(基于Http的序列化)協議進行傳輸。
     
    3.2 電力雙視監控管理平臺模塊設計
    3.2.1 用戶及權限管理模塊設計
    用戶及權限管理模塊,用于設置平臺的安全規則,根據平臺設置的規則,不同的用戶擁有不同的權限,不同的權限對應不同的軟件功能。該模塊設計主要包括以下功能。
    1)  用戶賬號管理
    用戶信息包括用戶名,密碼,以及姓名等,其中用戶名將作為登陸名使用,全系統唯一。用戶信息管理包括信息的錄入修改、刪除、瀏覽和查詢等功能。系統管理員有權限修改其他用戶的密碼信息。
    平臺可以為每個用戶分配不同的操作角色,每個用戶只能對應一種操作角色。在登陸至系統之后,將按照所對應角色顯示相應的操作界面以及功能按鈕。
    可以為每個用戶進行不同的資源信息分配,以限制操作人員所能夠操作的信息范圍,比如分配變電站資源信息等。
    用戶賬號管理的界面設計如圖4所示:
     
    圖4 用戶賬號管理界面
    2)密碼管理
    操作人員能夠修改自己的密碼信息。
    3)權限管理
    定義整個系統內的操作權限信息。每個操作權限信息包括所要執行的方法,權限名稱信息等。
    在具體實現時,每個操作權限將與相對應的功能相對應。沒有權限的操作人員將無法看到相應的功能部件,也無法進行相應的操作。
    4)菜單管理
    定義整個系統內的菜單信息,每個菜單均涉及到相對應的操作,包括菜單鏈接信息以及菜單名稱。
    在具體實現時,每個菜單將與能看到的系統菜單相對應,沒有權限的操作人員將不能看到相應的菜單,也不能進入相應界面進行操作。
    5)角色管理
    角色管理包括角色信息的錄入,修改,刪除,瀏覽和查詢等功能,每種角色都有指定的菜單信息和對應的操作權限。還需要對某些角色指定是否需要限制某一類操作信息,在該類操作信息限制下,被分配此角色的操作人員僅可操作限定的信息(比如變電站)。
    6)日志管理
    對應平臺運行的日志,也需要有不同的管理權限,只是具有權限的操作人員才能夠查看系統內記錄的一切操作信息。平臺能夠按操作人員,時間,操作類型對日志信息進行查詢操作。系統管理員可以針對日志信息進行刪除操作,刪除過期的日志信息。系統管理員可以配置日志刪除策略,在時間過期時(以天計),平臺自動刪除系統內的日志信息。
    3.2.3 平臺業務模塊設計
    該模塊是平臺功能的主要展示部分,用于對數據庫中保存的溫度記錄信息進行統計分析,以一種簡單直觀的方式展現在用戶面前,并提供信息的檢索功能。該模塊主要包括以下幾個部分:
    1)監控記錄:以區域為單位顯示一段時間內的監控記錄信息,顯示信息包括監控是否正常,是否有報警,區域信息,時間等,還需要提供監控記錄的查詢功能,可以按照云臺、監控點、監控區域、時間等條件進行查詢。
    2)報警記錄:顯示所有的報警記錄信息,提供分頁功能,默認顯示當天的報警記錄信息。報警信息可按云臺,監測點,監測區域,時間進行過濾顯示。可點擊詳細地報警記錄信息查看詳細情況。具有一定操作權限的操作人員,可以對報警記錄信息進行修正,以確認此并不是一個有效的報警信息,并且注明相應的修正說明。
    3)溫度報表:選定監測區域的溫度報表信息,按天(以小時計),月,年進行分別統計報表,顯示報表名稱(可修改),每個區間溫度信息,最終顯示最高溫度,最低溫度,平均溫度,以及溫升數據等。提供打印功能。
    4)監控曲線圖:按天(默認為當天),顯示選定的監測區域的溫度曲線圖信息,并顯示最高溫度,最低溫度,最高溫度區域,時間,最低溫度區域,時間,以及平均溫度信息。顯示標題(可修改),并提供打印功能,將曲線圖打印出來。
    3.3 數據庫設計
    根據電力雙視監控平臺的需求分析,在跟硬件提供商溝通之后,對電力雙視監控平臺進行數據庫設計。在保證平臺有更好的擴充性和完整性的情況下,主要設計了如下數據庫表:工作站表(Station)、云臺表(Monitor)、監控點(監控面)表(Point)、監控區域表(Area)、監控任務(Task)、監控任務點(TaskPoint)、監控任務執行記錄(TaskLog)、監控點執行記錄(TaskPointLog)、監控區域執行記錄(TaskAreaLog)、報警記錄信息(Alarm)等共24張表。數據庫表整體表間關系圖如圖5所示。
     
    圖 5 數據庫表間關系
    3.3.1 監控區域表(Area)
    監控區域即在一個監控點上,對于多個重點監測的部位所作的圖形化標識。一個圖形化標識稱之為一個監控區域,此區域可以由不同的形狀進行標識,如三角形,四邊形,多邊形等,監控區域表設計如表 1。
    屬性名 類型 字段名 字段類型 描述
    id long area_id int(11) 區域主鍵
    monitor R monitor_id int(11) 引用的云臺
    point R point_id int(11) 引用的監控點
    sn String area_sn varchar(64) 圖形sn
    name String area_name varchar(64) 名稱
    alarmMaxTemp float area_alarmMaxTemp float 上限報警溫度
    alarmMinTemp float area_alarmMinTemp float 下限報警溫度
    emissivity float area_emissivity float 輻射率
    ambTemp float area_ambTemp float 環境溫度
    distance float area_distance float 距離
    humidity float area_humidity float 相對溫度
    tempAdjust float area_tempAdjust float 溫度校正
    description String area_description varchar(512) 描述
    layerId int area_layerid int(11) 圖層類型id
    layertypeid int area_layertypeid int(11) 標識區域類型
    points String area_points varchar(256) 區域點集
    normolTemp float area_normolTemp float 一般報警溫度
    seriousTemp float area_seriousTemp float 嚴重報警溫度
    criticalTemp float area_criticalTemp float 緊急報警溫度
    redueType int area_redueType int(11)
    showTmepInfo int area_showTmepInfo int(11) 是否顯示溫度(1為是,0為否)
    表 1 監控區域表Area(area_table)
    3.3.2 監控任務(Task)
    整個雙視監控是以任務的方式進行工作,即通過任務設置使監控按照特定的任務設置運行。監控任務即描述云臺設備在一天內或幾天內的監控,因為云臺不能時時在監控(當然也可以設置)。監控任務即描述一次運行的監控信息的設置,任務由操作人員進行設置。監控任務可以重用,即多次運行。監控任務表設計如表2。
    表 2 監控任務表Task(task_table)
    屬性名 類型 字段名 字段類型 描述
    id long task_id int(11) 任務主鍵
    monitor int monitor_id int(11) 引用的云臺
    name String task_name varchar(64) 任務名稱
    description String task_description varchar(128) 任務描述
    alarmRecordFlag boolean task_alarmRecordFlag bit(1) 是否報警錄像
    recordTime int task_recordTime int(11) 報警錄像持續時間
    runTime Date task_runTime datetime 任務啟動時間
    activeFlag boolean task_activeFlag bit(1) 任務是否有效
    detectType int task_detectType int(11) 任務檢測類型(定檢或巡檢)
    3.3.3 監控區域執行記錄(TaskAreaLog)
    即在一次任務執行記錄中,每一個監控點中的每一個監控區域的監控情況,包括各種數據。該表用于保存電力設備重點監測部位的溫度記錄。監控區域執行記錄表字段設計如圖表3。
    屬性名 類型 字段名 字段類型 描述
    id long taskarealog_id int(11) 主鍵
    taskPointLog R taskpointlog_id int(11) 引用的監控點任務
    recordType int taskarealog_type int(11) 記錄類型
    minTemp float taskarealog_minTemp float 最低溫度
    maxTemp float taskarealog_maxTemp float 最高溫度
    alarmTemp float taskarealog_alarmTemp float 達到報警點的溫度
    time Date taskarealog_time datetime 當前時間
    area R area_id int(11) 引用的區域
    表 3  監控區域執行記錄表TaskAreaLog(taskarealog_table)
    3.3.4 報警記錄信息(Alarm)
    記錄一次報警信息。監控任務在執行過程中,若某個監控區域采集到的最高溫度超過該區域設置的報警溫度,即產生一次報警記錄。報警記錄信息表字段設計如表4。
    屬性名 類型 字段名 字段類型 描述
    id long alarm_id int(11) 主鍵
    monitor R monitor_id int(11) 引用的云臺
    point R point_id int(11) 引用的監控點
    area R area_id int(11) 引用的區域
    reportFileName String alarm_reportFileName varchar(64) 警告報告路徑(pdf文檔)
    taskName String alarm_taskname varchar(256) 警告任務名
    time Date alarm_time datetime 報警時時間
    temp float alarm_temp float 報警的溫度
    realTemp float alarm_realTemp float 報警時實際溫度
    snapFilePath String alarm_snapFilePath varchar(512) 抓拍文件名(紅外)路徑
    recordingFilePath String alarm_recordingFilePath varchar(512) 錄像文件名路徑
    alarmType int alarm_type int(11) 報警級別(1,2,3)
    description String alarm_description varchar(512) 報警描述
    表 4 報警記錄信息表 Alarm(alarm_table)
    4 平臺實現
    4.1用戶及權限管理模塊的實現
    4.1.1 登錄界面
    平臺登陸界面設計如圖6。
     
    圖 6 平臺登錄界面
    前端通過JQuery的表格提交將用戶名和密碼提交到后臺[11]。代碼路徑如下:
    $("#loginForm").ajaxSubmitForm("${pageContext.request.contextPath}/user/login/validate",后臺通過Spring注解掃描到對應的方法。
    4.1.2登錄Action
    在UserAction.java文件中,程序通過判斷上送的user在數據庫能否找到對應的Id來確定該用戶是否可用,判斷方法如下:
    @Controller
    @RequestMapping("/user")
    public class UserAction extends BaseAction{
    @RequestMapping(value="/login/validate")
    @ResponseBody
    public Map<String,Object> userValidate(@FormParam(value="user")User user,HttpServletRequest request){
    if(user==null){
    return MessageUtils.getMapMessage(false);
    }
    String loginName = user.getUserName();
    String password = user.getPassword();
    user.setId(null);//設置id為null,此后用id是否為空判斷是否成功登錄
    user = userService.login(user);
    if(user==null||user.getId()==null){
    logService.log(new Log(loginName,-1L,"登錄失敗","{userName:"+loginName+",password:"+password+"}"));
    return MessageUtils.getMapMessage(false);
    }else{
    request.getSession().setAttribute(User.CURRENT_USER_ID, user.getId());
    logService.log(new Log(user.getUserName(),user.getId(),"成功登錄系統"));
    return MessageUtils.getMapMessage(true);
    }
    }
    }
    4.1.2 權限管理
    用戶登錄進主頁之后,平臺通過查找該用戶對應的權限表tab_role_permission來判斷用戶具有哪些權限。若用戶沒有的權限,系統將不顯示相應的菜單。主頁index.jsp的菜單控制代碼如下:
    <div class="ui-layout-west">
    <div id="menu">
    <c:forEach items="${menus}" var="s">
    <h3 id="${s.id}">${s.menuName}</h3>
    <ul></ul>
    </c:forEach>
    </div>
    </div>
    4.2 平臺業務模塊的分層實現
    平臺業務的實現框架是Spring MVC+ MyBatis。Spring MVC是Spring針對Web開發實現的一個基于模式-視圖-控制器模式實現的框架,能夠幫助人們構建靈活和松耦合的Web應用程序。MyBatis是一個存儲過程和高級映射的優秀持久層框架,相比Hibernate而言更加輕量級,它不但提供了對象與關系數據庫之間的映射,同時提供操作方法與SQL間的直接影射,這樣對設計者而言有更大的靈活性。平臺業務模塊的實現采用Spring MVC作為請求控制器,MyBatis作為持久化層。請求進入系統時,通過Spring MVC的DispatcherServlet將請求發送給不同的Controller控制器,Controller控制器再調用相應的Service層,service層調用Dao層與數據源交互。整個模塊的框架圖如圖7所示。
     
     圖 7 平臺業務模塊實現框架
    業務模塊主要是是對數據庫中各種數據的查詢,包括對監控記錄的查詢、報警記錄的查詢、溫度報表的查詢等,視圖層則通過表格、曲線圖等方式顯示查詢的數據。下面主要以報警記錄部分的查詢過程來說明業務模塊的實現過程。
    4.2.1 搭建Spring MVC
    首先要在Web應用程序的web.xml文件中配置Spring MVC的核心控制器DispatcherServlet,DispatcherServlet將把請求分配給相應的控制器。
    <servlet>
      <servlet-name>spring</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
     </servlet>
    4.2.2 編寫查詢報警記錄的控制器
    @Controller
    @RequestMapping("/record")
    public class RecordAction {
    @MenuMapping(name = "報警記錄", url = "/record/alarm", code = "200004", parentCode = "200000")
    @RequestMapping("/alarm")
    public ModelAndView alarmRecord() {
    return new ModelAndView("pages/dlssjk/alarmRecord");
    }
     
    @RequestMapping("/alarm/search")
    @ResponseBody
    public Map<String, Object> getAlarmRecord(
    @RequestParam("stationId") Long stationId,
    HttpServletRequest request) throws MalformedURLException,
    NumberFormatException, ErrorServerException {
    String time = request.getParameter("time");
    String queryType = request.getParameter("queryType");
    String[] areaIds = request.getParameterValues("areaIds");
    // pointIds
    Map<String, Object> m = ParamUtils.getParamsMap(request);
    if (queryType != null && queryType != "")    //設置查詢類型,按天?按月?按年?
    m.put("queryType", queryType);
    if (time != null && time != "")        //設置查詢時間
    m.put("time", time);
    Collection<String> areas = new ArrayList<String>();
    if (areaIds != null) {                        //設置查詢監控區域的Id
    for (String id : areaIds) {        
    areas.add(id);
    }
    m.put("areaIds", areas);
    }
    return MessageUtils.toFlexGridPager(
    alarmHessianServiceCaller.getAlarms(stationId, m),
    Integer.parseInt(m.get("cp").toString()),
    alarmHessianServiceCaller.getAlarmsCounts(stationId, m));
    }
    }
    @Controller注解表明RecordAction類是一個控制器類,@RequestMapping("/record")是一個類級別上的注釋,該注釋定義了這個控制器所處理的根URL,getAlarmRecord()方法上的注釋@RequestMapping("/alarm/search")定義了該方法處理的請求路徑,加上類級別上定義的根URL,getAlarmRecord()方法將處理"/record/alarm/search "的路徑請求,該方法將用HttpServletRequest作為參數去調用調用相應的Service層的類alarmHessianServiceCaller中的方法。
    4.2.3 編寫查詢報警記錄的Service層
    public interface AlarmHessianService {
    public List<Map<String, Object>> getAlarmRecords(Criteria criteria);
    }
    Service層使用的是MyBatis的Criteria查詢方式,Criteria類提供按條件查詢的方式,可以直接通過 add(Criterion criterion) 方法來添加查詢條件。查找報警記錄的Criterion查詢條件構造方法如下:
       Criteria criteria = new Criteria();    //創建查詢方式
    Integer cp = Integer.parseInt(params.get("cp").toString());
    Integer ps = Integer.parseInt(params.get("ps").toString());
    criteria.add(Restrictions.limit(((cp - 1) * ps) + "", ps + ""));
     
    if (params.get("groupby") != null)
    criteria.add(Restrictions.group(params.get("groupby").toString()));
    if (params.get("time") != null) {         //添加時間查詢條件
    String type = (String) params.get("queryType");
    if (type == null || "D".equals(type)) {
    criteria.add(Restrictions.eq(
    "DATE_FORMAT(alarmtable.alarm_time,'%Y-%m-%d')", params
    .get("time").toString()));
    } else if ("M".equals(type)) {
    criteria.add(Restrictions.eq(
    "DATE_FORMAT(alarmtable.alarm_time,'%Y-%m')", params
    .get("time").toString()));
    } else if ("Y".equals(type)) {
    criteria.add(Restrictions.eq(
    "DATE_FORMAT(alarmtable.alarm_time,'%Y')",
    params.get("time").toString()));
    }
    }
    if (params.get("areaIds") != null)       //添加監控區域Id查詢條件
    criteria.add(Restrictions.in("areatable.area_id",
    (Collection<Object>) params.get("areaIds")));
     
    if (params.get("time_order") != null) {
    criteria.add(Restrictions.order("alarm_time",
    "" + params.get("time_order")));
    }
    該查詢條件主要通過areaIds(報警發生的部位)和time_order(報警發生的時間)來找到相應的報警記錄,最后返回一個List的數據類型,里面盛放了查詢到的Alarm實例。
    4.2.4 編寫查詢報警記錄的視圖
    視圖是一個.jsp文件,通過使用JQuery實現對報警記錄表格的重載,報警記錄視圖層方法如下:
    function search(pageIndex){
    var areas = $("select","#areaSelect").multiselect("getChecked");
    var areaIds =[];
    $.each(areas,function(index,e){
    areaIds.push({name:"areaIds",value:$(e).val()});
    });
    var queryType = $("#queryType").multiselect("getChecked");
    queryType=$(queryType).val();
    queryType=(queryType==1?'D':(queryType==2?'M':'Y'));
    var params = areaIds||[];
    //pointId
    params.push({name:'stationId',value:stationId});
    params.push({name:"queryType",value:queryType});  //queryType                                                                 
    params.push({name:"time",value:$("#time").val()});
    $("#monitorRecord").flexOptions({
    url: contextPath+'/record/alarm/search',
    dataType: 'json',
    newp:1,
    params:params
    }).flexReload();
    };
    最終前端視圖層的效果如圖8。
     
    圖8 報警記錄查詢結果
    4.3 遠程監控模塊的實現
    4.3.1 遠程監控模塊控制過程
    平臺的遠程監控模塊是通過嵌入了硬件提供商提供的ActiveX控件實現的,該嵌入控制過程如圖9。
     
    圖9 遠程監控模塊實現圖
    主站系統通過Web頁面嵌入視頻播報ActiveX控件的方式與視頻系統進行集成。視頻系統廠商負責提供符合統一接口的視頻播放ActiveX控件,并由ActiveX控件負責與視頻系統的視頻服務器進行通信;主站系統負責視頻監視應用功能的實現,系統Web頁面內嵌ActiveX控件,頁面通過JavaScript腳本與ActiveX控件的接口函數進行交互。
    針對各個廠商提供的ActiveX控件的接口有可能不同,也可能進行修改,為了屏蔽ActiveX控件層的技術接口,加入視頻控制對象這個層的功能(JavaScript),Web頁面創建視頻控制對象,然后通過視頻控制對象進行ActiveX控件的創建和ActiveX控件接口功能的調用。
    4.3.2 視頻控制對象層對象實現
    視頻控制對象包括紅外視頻控制對象irActiveX和可見光視頻控制對象ccdActiveX,這兩個對象都封裝了硬件提供商提供的視頻播報ActiveX控件,下面以紅外視頻控制對象irActiveX為例,簡單介紹視頻控制對象層對象的主要方法。
    irActiveX對象用于實時顯示當前云臺監控畫面的主要方法:
        setServerIP(str) 設置主機ip
    setServerPort(port) 設置主機端口
    setMonitor(str) 設置云臺ip
    setMonitorPort(port) 設置云臺端口
    startMonitor() 開始監控
    stopMonitor() 停止監控
    photoIR() 紅外光拍照,將彈出本地保存信息,以保存拍照圖片
    getErrorText() 得到最近發生的錯誤信息(如果有,無則為空字符串)
    irActiveX對象用于實時操作云臺的主要方法,這些方法主要用于控制云臺的轉向,以及鏡頭焦距的遠近:
       setServerIP(str) 設置主機ip
    setServerPort(port) 設置主機端口
    setMonitor(str) 設置云臺ip
    setMonitorPort(port) 設置云臺端口
    connect() 連接監控器
    startOp() 開始手動監控
    stopOP() 停止手動監控
    opLeft() 云臺向左
    opRight() 云臺向右
    opTop() 云臺向上
    opDown() 云臺向下
    opIRNear() 紅外鏡頭拉近
    opIRFar() 紅外鏡頭拉遠
    opAuto() 紅外自動對焦
    photoIR() 紅外光拍照,將彈出本地保存信息,以保存拍照圖片
    getErrorText() 得到最近發生的錯誤信息(如果有,無則為空字符串)
     
    5 總結
    1) 隨著紅外熱成像技術的發展成熟,利用紅外攝像頭監控電力設備的運行溫度,逐漸成為變電站遠程監控的發展方向之一。對紅外攝像頭采集到的變電站各種信息進行科學化的管理,利用信息管理技術對這些數據進行統計分析,對于電力工作人員更加科學便利的利用紅外測溫技術監控變電站提供了數據支持。
    2) 本平臺完成了監控變電站在線的增加和刪除,電力設備運行溫度記錄報表的管理和查詢,電力設備運行溫度報警記錄的管理和查詢,電力設備運行溫度統計曲線的繪制,遠程監控插件的嵌入使用,監控數據的定時備份,操作人員的權限管理。通過該平臺的使用,變電站工作人員能夠隨時了解變電站電力設備的運行溫度,電力設備運行的溫度變化,查看電力設備的運行視頻,并能夠實時的接收到電力設備的溫度報警。該平臺的使用進一步推動了電力系統的信息化管理。
    3) 因為時間和設備的原因,該平臺在設計和實現過程中還存在著一些能夠改進的地方,有待進一步的研究。該平臺需要改進的部分主要有以下幾方面:首先,對電力設備運行溫度進行分析應當考慮到當時的環境溫度,夏季和冬季環境溫度的極大差別,對電力設備的運行溫度有很大的影響;其次,平臺應當能夠排除紅外攝像頭采集的錯誤信息,因為硬件本身的不穩定,系統在運行時會出現一些明顯的錯誤數據,對于這些數據,平臺應當排除在外。
    6 參考文獻
    [1]崔紅淼,梁波. 提高遠紅外測溫技術對電力設備故障判斷的準確度[J]. 電工電氣. 2010(02)
    [2]韋強. 紅外技術在電力設備狀態檢修故障診斷中的應用[J]. 機械研究與應用. 2011(01)
    [3]張贏. 電力設備故障的紅外熱成像診斷[J]. 東北電力技術. 2010(12)
    [4]翟高粵,魏娜. 一種基于MVC框架的校園管理系統的設計[J]. 計算機時代. 2010(08)
    [5]李剛.輕量級Java EE企業應用實戰(第3版)[M]. 北京:電子工業出版社. 第1版(2012年4月1日). 612-715.
    [6] 沃爾斯 (Craig Walls). Spring實戰(第3版)[M].狄淵. 北京:人民郵電出版社. 第1版 (2013年6月1日). 163-196. 
    [7]艾里特 (James elliott). 精通Hibernate[M].劉平利. 北京:機械工業出版社. 第1版(2009年4月1日). 251-296.
    [8]黃強 穆炯 李軍等.一種領域驅動開發插件系統:中國,201210428875.2[P].2012-10-25
    [9]王非. 領域驅動模型的WEB軟件系統設計研究[J].微型電腦應用.2012(01):36-39
    [10]董婕,覃華. ASP.NET環境下Hessian協議Web服務技術的研究[J]. 計算機與現代化. 2011(07)
    [11] 比伯奧特. jQuery實戰(第2版) [M].三生石上.北京:人民郵電出版社; 第1版 (2012年3月1日).215-254
    [12] Clive Begin. iBATIS in Action [M]. Manning (2007年2月17日).57-267
    [13] 張宇,王映輝,張翔南. 基于Spring的MVC框架設計與實現[J]. 計算機工程. 2010(04)
    [14] JESSE JAMES GARRETT.Ajax:A New Approach to Web Application. http://adaptivepath.com/ideas/ajax-new-approach-web-applications . 2011
    [15]   Research and Implementation of Assist Developed Platform Based on SSH Framework[A]. Proceedings of 2011 3rd IEEE International Conference on Information Management and Engineering(ICIME 2011) VOL.06[C]. 2011 
    7 致謝
    在此,我衷心的感謝###老師。該項目的設計開發是在###老師的細心指導下完成的。在此工作中,##老師教授了我很多軟件開發的流程模式和代碼知識。我從一個沒接觸過實際生產的學生到完成自己職業生涯的第一個項目,學到了作為一個程序員基礎的知識。###老師在軟件開發方面知識淵博,技術過硬,思維很活躍,這些都使我受益匪淺。在論文的寫作過程中,###老師給了我很大的幫助,從論文的選題、構思直至論文的整個結構,老師在百忙之中總是抽出寶貴的時間,認真對我的論文進行討論指導。老師是一個治學要求嚴格,工作實事求是的導師。論文能夠保證質量的完成和老師的嚴格要求是分不開的。
    最后,我要感謝我的母校,感謝母校對我的教育之恩。感謝所有幫助過我的同學,是你們讓我的大學有了更多的精彩,謝謝!
    高校學術論文網提供專業的碩士畢業論文寫作、博士論文寫作發表、碩士論文寫作發表、SCI論文寫作發表、職稱論文寫作發表、英文論文潤色的服務網站,多年來,憑借優秀的服務和聲譽贏得了社會的廣泛認可和好評,為畢業生解決寫論文的煩惱
    【本文地址:http://www.bzhlmm.com//biyelunwen/2162.html

    上一篇:陽離子纖維素對不同類型染料廢水的脫色效果研究

    下一篇:證券公司資產管理業務經營績效評價 —以11家證券公司為例

    相關標簽: