中文字幕无码日韩视频无码三区

基于CAN總線的電梯監控方法與流程

文檔序號:11275656閱讀:811來(lai)源:國知局(ju)
基于CAN總線的電梯監控方法與流程
本發明涉及電梯監控方法,具體涉及基于can總線的電梯監控方法。
背景技術
:目前電梯監控系統多數只能針對幾個特定的電梯型號,對故障率較高的早期電梯兼容不好,造成只能覆蓋一部分的情況。現有的國產電梯監控系統界面一般都比較簡陋,許多是直接使用組態軟件制作的,而組態軟件并不適合做用戶交互界面良好的應用程序。目前國內大部分電梯監控系統是不帶有數據庫的,只是提供了基礎的實時監控功能以及報警功能,這樣的系統可擴展能力就比較差了,難以在其上進行更高層次的對電梯的情況進行分析,電梯監控系統即使帶有數據庫的,也僅僅是研發了一些簡單的功能,如歷史記錄查詢、故障情況分布等。技術實現要素:本發明設計開發了基于can總線的電梯監控方法,本發明的發明目的之一是采用現場總線作為通信載體實現電梯監控系統,減少傳送誤差,對數據進行實時存儲與監控。本發明的發明目的之二是采用bp神經網絡算法完成電梯監控系統的主動式報警,減少因電梯引發的事故。本發明提供的技術方案為:基于can總線的電梯監控方法,包括:can總線通信電路,包括至少一個can控制器和can收發器;主控制器,其連接所述can總線通信電路,能夠監測所述電梯的工作狀態;信號采集模塊,其能夠進行數據采集和實現與所述can總線通信電路之間的通信功能;報警模塊,其連接所述主控制器,能夠對所述電梯的工作狀態異常進行報警。優選的是,所述信號采集模塊中設置撥碼開關,所述信號采集模塊通過對所述撥碼開關進行讀取后將數據和所述信號采集模塊采集的數據與所述can總線通信電路之間的通信功能。優選的是,還包括:后臺功能模塊,其用于監聽所述can總線通信電路的傳輸數據。優選的是,所述后臺功能模塊包括:主動式報警模塊,其用于判斷電梯是否具有故障風險;主界面模塊,其用于刷新電梯的工作狀態;報警監控模塊,其用于判斷電梯工作是否異常。優選的是,所述信號采集模塊中設置定時器。優選的是,所述can收發器為ctm1050t芯片。優選的是,所述報警模塊為gsm報警模塊。優選的是,其特征在于,采用bp神經網絡對電梯進行預警,包括如下步驟:步驟一、按照采樣周期,采集數據包括電梯載重、轎廂開關門噪聲、曳引機三項電流、曳引機三項電壓、垂直振動加速度、水平振動加速度、垂直方向加速度、垂直方向減速度、電梯主機電動機溫度、緊急制動器線圈溫度以及機房溫度;步驟二、將上述信號進行處理,所述電梯載重、轎廂開關門噪聲、曳引機三項電流、曳引機三項電壓、垂直振動加速度、水平振動加速度、垂直方向加速度以及垂直方向減速度通過s型隸屬函數進行數據處理,所述電梯主機電動機溫度、緊急制動器線圈溫度以及機房溫度通過高斯型隸屬函數進行數據處理,確定三層bp神經網絡的輸入層節點;步驟三、所述輸入層向量映射到隱藏層,所述隱藏層向量y={y1,y2,……,yh};h為隱藏層節點個數;步驟四、得到輸出層節點t={t1,t2,t3,t4,t5,t6};其中,t1為電梯曳引機故障系數,t2為回路故障系數,t3為門機故障系數,t4為電梯控制器故障系數,t5為三相電源輸入單元故障系數,t6為變頻器故障系數。優選的是,在所述步驟三中,所述隱藏層節點個數h滿足,其中,n′i為輸入層節點數,n′0為輸出層節點數,c為1~10之間的數。優選的是,所述隱藏層激活函數為雙曲正切函數,所述輸出層激活函數為非線性對數s型函數。本發明與現有技術相比較所具有的有益效果:1、本發明現場總線作為通信載體實現由計算機管理的電梯監控系統,可以將不同產品或者不同廠家的產品通過現場總線連接在一起,現場總線使用數字信號進行傳輸,一般帶有仲裁與錯誤檢測等能力,可以有效的減少傳送誤差;2、本發明對電梯信號采集系統采集到的信號進行存儲與監控,完成對電梯的實時監控,可以高效的完成故障報警功能,完成歷史數據分析功能;3、本發明采用bp神經網絡的數據挖掘算法,用于完成電梯監控系統的主動式報警功能,采用數據挖掘來分析某些事物潛在的發展趨勢和隱患,可以大大減少因電梯引發的事故。附圖說明圖1為本發明所述的電梯監控系統框架圖。圖2為本發明所述的電梯監控系統底層信號圖。圖3為本發明所述的電梯監控系統的后臺功能模塊圖。圖4為本發明所述的can總線網絡拓撲結構圖。圖5為本發明所述的電梯監控系統信號截圖示意圖。圖6為本發明所述的信號獲取器模塊構成圖。圖7為本發明所述的can總線部分電路圖。圖8為本發明所述的界面圖。圖9為本發明所述的參數界面圖。圖10為本發明所述的三層神經網絡的結構圖。圖11為本發明所述的bp神經網絡傳播算法流程圖。具體實施方式下面結合附圖對本發明做進一步的詳細說明,以令本領域技術人員參照說明書文字能夠據以實施。如圖1所示,電梯監控系統框架圖。本發明采用現場總線作為通信載體實現由計算機管理的電梯監控系統,電梯作為被監控的主體,控制中心運行在計算機中,借助計算機的運算能力對電梯運行情況監控,當判斷電梯情況異常時,可以通過一定的手段通知管理人員或者是電梯維護人員對異常進行處理。電梯信號獲取器獲取到信息后,需要將其打包,封裝成一個數據包,通過can總線收發模塊發送到can總線網絡中。在計算機上,存在著一個接入到can總線網絡中的can總線模塊,該模塊會收集數據包,并通過串口發送至計算機中。如圖2所示,系統底層信號獲取器構成。電梯監控系統的底層服務是指can網絡及以下的所有服務。它為系統上層提供電梯的運行數據,主要的實現部分為信號獲取器,本發明設計的電梯監控系統主要是針對老舊電梯的,因為它們的型號不一,支持的功能也不一樣,輸入輸出口的設計也不一樣,為了解決這個問題,本設計在信號獲取器上加了一個可以用于配置電梯型號的撥碼開關,信號獲取器可以通過對撥碼開關進行讀取,而后與采集數據一起上傳,由上層的計算機后臺服務去確定每一個引腳的含義。如圖3所示,后臺功能模塊框圖,后臺功能模塊入口為串口監聽,它負責監聽can總線網絡上傳來的數據。數據上傳后,配置表管理器會從讀取配置,并賦予上傳的數據具體意義,由數據整理模塊整理完畢后,會交由數據存儲模塊存儲進數據庫。數據整理模塊同時會將數據交給數據分發模塊,數據分發模塊會將數據交給需要該數據的模塊,一共有三個,分別是主動式報警模塊、主界面以及報警監控。主動式報警模塊后臺會根據電梯的歷史數據判斷電梯是否有故障的風險;主界面用于刷新電梯的工作狀態;報警監控模塊會根據報警管理器的參數判定電梯工作是否異常,如果異常,則根據報警管理器提供的聯系方式生成報警信息,并調用gsm驅動發出警報,gsm用于驅動一個gsm報警器,報警器支持tts技術,能夠將文字轉換成語音在電話時播放。主界面可以創建三個后臺子模塊,分別是用戶權限管理器,用于處理用戶管理方面的后臺邏輯;數據查詢結果生成器,用于為數據查詢提供數據支持;報警管理器,用于管理用戶設置的各項閾值以及管理人員聯系方式。如圖4所示,多can總線網絡拓撲結構,一個計算機可以接受多個can總線網絡的數據,每個can總線網絡都是一個星型網絡,這種網絡拓撲方式能在一定程度上提升can總線網絡的穩定性以及避免網絡擁堵的情況出現。如圖5所示,電梯監控系統信號截取示意圖,本發明的電梯監控系統是基于現有的電梯系統之上的系統,所以先抽象出大部分電梯的運行方式,并在此基礎之上,尋找一個合適的插入點,將電梯監控系統插入到正常的電梯系統之中,實現對電梯的運行情況的監控。如圖6所示,信號獲取器模塊構成圖,信號采集器的功能是對外界輸入的信號進行采集,采集的信號可能是模擬信號也可能是數字信號,信號采集器對不同的輸入口進行不同的處理。使用一個撥碼開關確定配置,之后將采集到的信息以及配置編號送入到信號轉換器中。信號采集器內部存在著一個定時器,用作定時循環掃描每一個輸入口,當掃描完一遍后,會再次定時,等待下一次掃描。除此之外,還有一個撥碼開關管理器,這個管理器的主要功能是確定采集到的信息究竟是哪種類別的信息,在系統中維護有一張表,劃分出了使用不同的配置項,掃描信息加上配置項才可以得到信息的具體意義。數據轉換器只有一個功能就是完成將信息轉變成標準格式數據包的操作。數據包的格式設計如表1所示;表1數據包的格式設計配置編號是用于告知服務器本信號獲取器配置的,數據說明是用于節省a/d轉換通道采集到的數據的占用空間的。can總線接口模塊是為單片機提供對外通信的模塊,該模塊僅僅負責初始化can總線控制器、接收數據轉換器發送來的數據包,并將其發送到地址為0x00的can總線節點上。can總線接口模塊內部由兩個部分組成:第一部分是:can總線維護。該部分負責對can總線進行維護,在啟動之初進行對can總線控制器的初始化工作,包括各個寄存器的設定、發送緩沖區的填寫。在被要求發送數據時,根據預先設計的模板填寫相關信息并完成發送。第二部分是:can總線數據拆分器。由于本設計中使用的can總線使用的數據幀每一幀可傳送的有效字節大小為8byte,所以在處理大的數據包時,需要將數據包拆開發送,數據拆分器會將數據包按照大小拆分為若干個數據幀,然后對每一個數據幀進行編號,將攜帶了編號的數據包送入can總線維護模塊發送出去。在本發明中,can總線收發器使用的ctm1050t芯片,在該芯片里集成了所有can總線收發器件,而總的大小不超過3cm2,符合iso11898標準,can總線控制器使用的芯片型號為是sja1000t。本發明中使用的是pelican模式,在此模式下,sja1000t能支持所有的can2.0b規范。如圖7所示,can總線部分電路圖,ctm1050t由sja1000t進行控制,僅使用rx與tx兩個引腳,分別接入sja1000t的tx0和rx0,并且需要在canh于canl之間接入一個阻值約為120歐姆的終端電阻,但是該電阻在整個can總線網絡中,僅僅需要一個就可以,不是所有的節點都需要終端電阻,所以終端電阻會直接接在總線上。sja100t0與單片機進行連接,其中ad0至ad7作為數據線,ale/as,cs,rd,wr作為控制線,除此之外,sja需要接一個晶振作為信號源,并且提供了一個中斷口用于方便單片機控制sja1000t的工作狀態。單片機采用的是stc單片機系列中的stc15f2k60s2,該單片機支持八個a/d通道,最大工作頻率能達到33mhz,支持掉電喚醒以及硬件看門狗。在硬件電路里該單片機的作用為信號采集與控制can總線控制器在電路中p1是a/d轉換通道,由于待檢測電壓都高于5v,所以使用了阻排進行分壓,轉換成低于5v的模擬電壓,阻排的太小根據信號獲取器要獲取的信息不同而不同,獲取電梯的輸入輸出信號時,使用5k就可以,獲取高電壓時,就需要使用100k左右的阻排分壓。在數字開關量方面使用了cd4067,cd4067為16通道模擬開關,雖然有干擾,但是對數字量不影響,在輸出口同樣使用了電阻進行分壓。由于單個單片機不能監控一臺電梯的所有信號,所以需要加一個撥碼開關確定配置,不同的配置表示采集不同的內容。網絡ad是作為數據總線接入到can總線網絡部分的,其他的為控制can總線網絡部分的。本發明中的信號獲取器使用了雙電源切換電路,在有12v供電的情況下,使用12v電源,同時切斷電池供電,當12v電源缺失的情況下,可以將電源切換到備用電池供電,這樣的設計是為了能夠在掉電的情況下,傳送出電源丟失信號給計算機,通知管理人員查看。本發明中信號獲取器的軟件設計主要是基于單片機stc15f2k60s2,軟件要實現定時循環掃描各個輸入口的輸入信息,根據撥碼開關確定輸入口信息的意義,生成標準數據包,并且可以操作can總線控制器,包括初始化can總線控制器和發送數據。信號獲取器的軟件設計分為了四個部分,分別是can總線收發、定時掃描、標準數據包生成以及硬件看門狗。本設計的can總線控制器使用的sja1000t,因此can總線的收發部分主要的工作內容就是操作sja1000t。對sja1000t的操作本質上就是對其各個寄存器的操作。can總線驅動代碼指的是定義的sja1000t頭文件中定義的sja1000t寄存器地址以及一個名為sja1000t_write()的函數。本設計的定時掃描程序分為兩個部分。首先是定時循環部分,其次是掃描部分。定時循環部分在系統啟動后開始運行,定時掃描程序使用的timer0作為定時器,定時時間為20ms,采集頻率為50hz,與市電220v同頻率。程序首先修改th0寄存器和tl0寄存器,設定循環計數,而后打開總中斷,程序退出,之后定時器到時間后,就會進入到中斷中,中斷函數里會設置一個全局變量,將其設置為ture,而后清理中斷標識,在此進入循環。掃描部分是定時掃描程序的核心,該部分代碼入口標識在interrupt1的中斷函數里進行設置,代碼位于主線程中。當掃描部分檢測到允許掃描標識為true時,啟動掃描,并在最后將掃描標識重新更改為false。掃描函數首先逐個掃描八個a/d轉換通道,并根據分壓電路的阻值,計算出原有的電壓,最終形成一個數組保留。之后再控制cd4067逐個掃描數字量,也存入一個數組,最后將配置與數組一起發給數據包生成器,完成全部的掃描過程。本設計的數據包生成器在設計中是負責讀取撥碼開關位置,進而確定配置的。從硬件設計中得知,信號獲取器使用了兩個i/o口,最多只能使用四個配置,在單片機的存儲器中,存儲了四張表,表明了四種不同的配置。定時掃描程序會將掃描生成的數組送至數據包生成器,數據包生成器需要將數組生成一個標準格式的數據包,發送至can總線模塊。其中數據包中的數據說明是描述a/d轉換通道數據的,它使用了一個字節進行描述,當前通道存在輸入為1,無輸入為0。a/d掃描數組加上兩個字節的數字信號掃描數組共同組成了數據內容。本發明系統穩定性維護程序設計構成:1、使用單片機支持硬件看門狗功能,看門狗的功能是在系統啟動看門狗之后,看門狗開始計時,在限定的時間內,也就是看門狗定時器溢出之前,系統必須執行“喂狗”操作,也就是清空看門狗定時器,讓其重新開始計數,如果到時間系統仍然沒有“喂狗”,則看門狗認為系統程序已經跑飛,會直接復位單片機,讓系統重新開始工作,用以避免系統陷入死循環或者是程序錯亂。本設計中因為考慮到can總線收發的原因,所以看門狗溢出時間約為1s,在每次系統完成掃描,通過can總線發出數據后,代碼控制權會交還給主循環程序,由主循環程序進行“喂狗”的工作,避免溢出。如果本can總線節點出現錯誤,則系統會陷入到can總線發送代碼中,也就是會觸發看門狗執行復位操作,復位整個信號采集器;2、使用雙電源進行供電,如果主供電電源掉電,則會啟動電池電源,在啟用電池電源時,系統會重新啟動,啟動后的系統會依照既定程序開始采集數據,但是由于主電源已經斷電,所以采集到的信號全部都是0,在此種情況下,系統將會通過can總線發送一個掉電警報。計算中監控軟件收到這個數據包后,就可以根據數據包中地址直接觸發電梯掉電警報。掉電錯誤檢測代碼與看門狗一樣位于系統主循環中,寫在數據包生成器之后,發送給can總線收發程序之前。本設計選用mysql的主要原因是電梯監控系統是一個實時的系統,mysql的數據存儲速度是比較快的,所以適合用來做電梯監控系統的數據庫。數據庫中設計了三個部分的數據表,分別用來進行用戶管理、電梯管理、報警參數管理,用戶管理只使用了一張用戶管理表,如表2所示;表2用戶管理表序號名稱數據類型含義1usernametext用戶名2passwordtext用戶密碼(md5加密)3authinteger用戶權限4lastlogindatetime上次登錄時間電梯管理是用來管理電梯的表的結合,包括了電梯列表、配置表以及電梯數據表,電梯管理表如表3所示;表3電梯管理表序號名稱數據類型含義1liftidinteger電梯主鍵2desctext電梯的描述信息3floorinteger電梯層數4positiontext電梯所在地配置表是描述電梯配置的,一個電梯可能有多個配置,因為一個電梯上可能附帶有多個信號獲取器,一個電梯上的不同信號獲取器是不可能使用一個配置的,配置表如表4所示;表4配置表電梯數據表用來存儲信號獲取器上傳的數據的,如表5所示;表5電梯數據表序號名稱數據類型含義1dataidinteger數據表主鍵2settingidinteger外鍵,指向配置表3collecttimedatatime記錄采集日期4liftidinteger外鍵,指向電梯表5ad0integer模擬信號通道0數據6………………7ad7integer模擬信號通道0數據8dig0integer數字通道0數據9………………10dig15integer數字通道1數據報警管理表用來存儲報警配置信息的,使用了兩張數據表,分別是報警聯系方式表以及報警參數表,報警聯系方式表如表6所示;表6報警聯系方式表報警參數用來允許用戶設置某一個電梯的參數報警閾值,當電梯上傳的數據不在報警參數范圍內時,就會觸發報警,參數可以由用戶直接設置,報警參數表如表7所示;表7報警參數表序號名稱數據類型含義1alertsettingidinteger報警參數表主鍵2liftidinteger外鍵,指向電梯編號3settingidtext外鍵,指向配置表4ad0text模擬信號通道0數據范圍5………………6ad7text模擬信號通道7數據范圍7dig0text數字通道0數據范圍8………………9dig15text數字通道15數據范圍本設計中數據管理服務模塊用于接收信號獲取器上傳的數據,并讀取數據庫中的配置表賦予數據含義,之后存儲于數據庫中的電梯數據表,最后將數據拋出給需要的模塊。根據其功能,數據管理服務模塊需要串口驅動模塊、數據處理模塊。其中串口驅動模塊負責完成對can總線網絡的接入,寫入特定的緩沖區供上層程序使用;數據處理模塊中分為兩部分,第一部分完成對數據的含義賦予,生成一個數據的實例類,并存儲數據,第二部分是將數據交給需要使用的模塊。兩個部分可以認為是獨立存在的,串口驅動類定義如下:其中comdrive是構造函數,需要傳入到使用的串口號,以及傳輸速度,默認使用數據位8位,停止位1,無校驗的方式。類的擁有者可以使用opencom以及closecom函數操作串口的開關。當上傳數據時,會觸發receivedata函數,該函數判斷一下數據的合法性,如果驗證通過,會檢查事件receivedatahandle是否有被設置過,如果設置過,則通過事件通知事件的注冊者,如果沒有調用過setreceivedatahandle,則數據會被丟棄。數據經由comdrive后,數據管理服務會根據數據中的配置id和數據生成數據實例類。本設計中。主界面程序有前臺界面以及后臺功能之分。前臺界面用來呈現電梯運行狀態、參數以及提供各種功能的入口點,后臺功能負責為前臺界面提供支持。如圖8,前臺界面分為兩個區域,分別是菜單功能區、電梯運行情況指示區,雙擊電梯則出現電梯詳細的運行參數展示。其中上面菜單欄是各個功能的入口,包括用來完成一些設置的系統設置、查詢電梯歷史運行數據的歷史記錄查詢、管理用戶信息的用戶管理以及設置報警相關信息的報警設置。下方提供了兩個按鈕,當電梯過多時,可以使用這兩個按鈕進行翻頁。對于層數超過9層的電梯,則會多加兩個控制按鈕,查看不同層數。單擊電梯的話,高樓層的情況下,會定位到當前電梯的位置,低樓層無反應。雙擊電梯的話,會進入到該電梯的詳細參數界面上。如圖9所示,在詳細參數界面上,會給出所選電梯的詳細參數,一般包括呼叫狀態、運行狀態、門狀態、限位開關狀態、變頻器狀態等等,如果該電梯存在一些獨特的參數,也可以顯示,但是需要預先在數據庫中進行配置后該界面才可以自動的生成顯示條目。主界面后臺功能主要是負責完成對界面的刷新,它在完成界面的初始化后,注冊了系統的數據管理服務事件通知,當電梯運行狀態改變時,自然后臺功能會得到通知,進而刷新界面,達到實時展示的目的。除此之外,后臺功能還負責各個按鈕和控件的動作處理,主界面是一個循環,是否有數據上傳取決于數據管理服務模塊是否通知,在沒有數據通知的時候,主界面將控制權交換給操作系統,當數據管理服務模塊通知有新的數據上傳時,主界面收回控制權,開始繼續執行,根據獲取到的數據實例中的內容,更新電梯的狀態,并修改界面,最后將控制權再次交給操作系統,允許用戶操作。當用戶在主界面選擇用戶管理時,提供了如下的三個按鈕,對應不同的用戶管理模塊部分,分別是增加用戶、刪除用戶、修改用戶密碼,用戶管理同樣分為前臺界面和后臺實現,前臺界面包括了三個界面,每個功能提供一個界面。后臺實現是數據檢查、密碼加密以及對數據庫的操作。增加用戶會提供一個允許用戶增加一個用戶的界面,用戶需要輸入一個用戶名以及輸入密碼,點擊確定按鈕后,如果檢查通過,則會在數據庫中增加一個用戶,如果不通過會提示失敗的原因,除了添加用戶外,還有刪除用戶功能,刪除用戶參考的是windows的賬號管理功能,只能刪除其他權限低于自己的用戶,而不能刪除自己的賬號,刪除用戶界面提供了一個列表,列出了所有可以刪除的賬號,選擇后點擊刪除就會刪除選定的賬號,修改用戶密碼界面提供了一個允許用戶修改自己的密碼的功能,與增加用戶不同的是,修改用戶密碼中,用戶名是不可以修改的,在界面中呈現的是不可修改的狀態,用戶管理模塊的后臺功能是連接數據庫以及提供用戶信息加密,由一個用戶管理類實現。本設計信息檢查模塊的功能是檢查電梯的運行情況是否正常。電梯的信號多是數字量,并不是設置閾值可以解決的,所以需要由信息檢查模塊判斷電梯是否在正常工作,檢查內容包括門開關異常、樓層停靠異常、異常運行、電壓電流值。當數據由數據管理服務模塊送至信息檢查模塊時,信息檢查模塊會遍歷上述的四個情況,只要發生了異常,就會產生異常信息,發出警報。本設計中gsm報警模塊提供了報警支持,用戶可以通過設置界面設置報警號碼,當信息檢查模塊拋出警報試,就由gsm報警模塊按照報警號碼進行報警也可以通過外部調用直接產生一個警報。gsm報警器使用的是一款名稱為fb200-b的報警器,該報警器使用rs232通訊協議,可以直接與計算機進行通信,只需要使用發送tts語音的atl指令和發送短信的atm指令即可。本發明可以查詢任意一部電梯的歷史記錄,其中主要是可以查看歷史的報警記錄,可以查看曲線圖、列表兩種圖形。本發明采用由sqlserver提供的數據庫、數據倉庫以及服務器,數據挖掘引擎及以上需要自己設計實現。本設計中沒有可視化用戶接口,直接使用的后臺輸出。本發明采用神經網絡的數據挖掘算法,首先進行的數據清洗工作,電梯信號獲取器是不斷的進行數據上傳工作的,為減少模型的負擔,數據必須清洗掉,這個過程在數據放入數據倉庫前進行,先檢查本次采集數據與上一次采集數據的差異,如果無差異則直接丟棄,存在差異則放入數據倉庫中。其次是數據的預處理工作,對于本文設計的電梯監控系統,需要完成的是比例變換以及數值數據轉換工作。由于神經網絡模型接收范圍在[-1.0,0]和[0.0,1.0]之間,而電梯監控數據的范圍遠遠超過了這個限制,所以需要進行比例變換,電梯監控系統中使用神經網絡模型進行預測的是電壓以及電流,電壓范圍是0-311v,電流范圍則根據電路不同而不同,這些都需要將其映射到神經網絡模型可以接受的范圍內。除此之外還需要數據數值轉換,電梯監控系統中使用了配置表這種形式描述電梯數據含義,而神經網絡是不接受非數字數據處理的,所以需要將數據庫中的數據展開,建立哈希函數,為每一個采集數據生成唯一的標識數字。本發明采用的神經網絡算法包括如下步驟:步驟一、建立bp神將網絡模型。bp網絡一般是由輸入層、隱層以及輸出層構成,隱層可以具有多個,不同層之間采用一對多的互連方式進行連接,同一層的節點之間無連接,本設計使用的三層的bp神經網絡,三層的網絡深度已經可以解決一般的函數擬合問題。反向傳播算法采用梯度法修正權值,要求輸出函數可微,采用sigmoid函數作為輸出函數,圖10為三層bp神經網絡的結構圖。xi表示輸入層某一節點信號;yh表示隱含某一節點的輸出信號;tj表示目標信號;ωih表示輸入層節點i的隱含層節點h的連接權值;ωhj表示隱含層節點h的輸出層節點j的連接權值;δ表示目標信號和輸出信號之間的誤差;n1表示輸入層節點數;n2表示隱含層節點數;n3表示輸出層節點數。隱含層節點的輸出為:yh=f(neth);輸出層節點的輸出為:zj=f(netj);誤差函數為:定義局部梯度為:考慮權值ωih對誤差的影響:權值修正應使誤差盡快地減少,修正量為:ωih(t+1)=ωih(t)+δωih(t);對于sigmoid函數:為加快網絡的收斂速度,在權值修正量中加上前一次的權值修正量,δωih(t)=-η·δh·yh+α·δωih(t-1)其中,θh為輸入層和隱含層間的偏移量;υj為隱含層和輸出層間的偏移量;η為學習步長;α為慣性項系數;圖11為bp神經網絡傳播算法流程圖;對于網絡節點數目,目前沒有明確的理論關系表明節點數與結果之間的聯系,通過訓練樣本與測試樣本的實驗效果,本文最后以下列公式作為確定隱含層的節點數:其中,n′為隱藏層節點數,n′i為輸入層節點數,n′0為輸出層節點數,c為1~10之間的數。本發明中,輸入信號為11個,包括:(1)電梯載重、(2)轎廂開關門噪聲、(3)曳引機三項電流、(4)曳引機三項電壓、(5)垂直振動加速度、(6)水平振動加速度、(7)垂直方向加速度、(8)垂直方向減速度、(9)主機電動機溫度、(10)緊急制動器線圈溫度、(11)機房溫度;以上信號作為神經網絡的輸入向量,其中(1)-(8)等8個信號采用s型隸屬函數;(9)、(10)、(11)等3個信號采用高斯型隸屬函數形成“偏低”,“正常”,“偏高”等三個語言變量;因此,輸入層節點數為3×3+8=17個;通過分析電梯的故障原因和查閱相關文獻可得到電梯的常見6個輸出故障信號:(1)電梯曳引機故障、(2)回路故障、(3)門機故障、(4)電梯控制器故障、(5)三相電源輸入單元故障、(6)變頻器故障;由上文提到的公式:可知,隱含層節點數為6-20之間,當隱含層層數為20層時系統最優化,因此隱含層節點數為20;因此,網絡層為3層。輸入層節點數為17,該層的11個電梯故障信息作為輸入信號;輸出層節點數為6,該層代表了從輸入層得到的故障信息經過調整權系數后的故障處理后有6個輸出故障信號;隱含層節點數為20,該層應用bp神經網絡算法對樣本進行最優化訓練。訓練之前,初始偏移量和權值取(-5,5)間的數,對這十個數進行優化,得出優化解,即偏移量固定為0.5,然后進行網絡訓練。本設計為了提高輸入向量的精確度,降低誤差,并限定輸出向量的范圍為[-1,1],隱含層激活函數選為雙曲正切函數,輸出層的激活函數選為非線性對數s型函數;如表8所示,給定了一組訓練樣本、訓練過程中各節點的值。表8訓練樣本、訓練過程中各節點的值為了提高算法的學習速度,采用對應levenbergmarquardt算法的trainlm函數進行測算,該算法的權值根據dx=-(jxt*jx+i*mu)-1*e進行修正的,其中jx為誤差對權值微分的jacobian矩陣,e為誤差向量,mu為調整量。訓練誤差為10-4。假設有p對訓練樣本,則第p對訓練樣本訓練誤差:用均方差作為總輸出誤差:其中,n表示輸出層節點數,表示第p組樣本輸出層的第t個節點實際輸出,p=1,2,3,…,p,t=1,2,3,…,n,表示第p組樣本輸出層的第t個節點期望輸出,p=1,2,3,…,p,t=1,2,3,…,n,(ef)2表示全部樣本輸出誤差;如表9所示,為訓練樣本表;表9訓練樣本表為了提高訓練的準確性,在數據訓練時對數據進行預處理,如下:數據預處理數據處理之后,用訓練函數traingdm觸發。如果訓練次數超過epochs,則性能函數低于goal,梯度值低于mingrad,或訓練時間超過time訓練就會結束。程序代碼如下:訓練結果表明,該算法對網絡進行訓練非常快,迭代次數明顯減少,收斂速度加快,通過樣本訓練和仿真,采用bp神經網絡的數據挖掘算法,用于完成電梯監控系統的主動式報警功能,對于分析某些事物潛在的發展趨勢和隱患,減少因電梯引發的事故的效果顯著;經處理后,數據如表3所示。表3訓練樣本、訓練過程中各節點的值盡管本發明的實施方案已公開如上,但其并不僅僅限于說明書和實施方式中所列運用,它完全可以被適用于各種適合本發明的領域,對于熟悉本領域的人員而言,可容易地實現另外的修改,因此在不背離權利要求及等同范圍所限定的一般概念下,本發明并不限于特定的細節和這里示出與描述的圖例。當前第1頁12
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1