【溫馨提示】====【1】設計包含CAD圖紙 和 DOC文檔,均可以在線預覽,所見即所得,,dwg后綴的文件為CAD圖,超高清,可編輯,無任何水印,,充值下載得到【資源目錄】里展示的所有文件======【2】若題目上備注三維,則表示文件里包含三維源文件,由于三維組成零件數(shù)量較多,為保證預覽的簡潔性,店家將三維文件夾進行了打包。三維預覽圖,均為店主電腦打開軟件進行截圖的,保證能夠打開,下載后解壓即可。======【3】特價促銷,,拼團購買,,均有不同程度的打折優(yōu)惠,,詳情可咨詢QQ:1304139763 或者 414951605======【4】 題目最后的備注【LB6系列】為店主整理分類的代號,與課題內(nèi)容無關(guān),請忽視
礦用采掘裝備載荷識別平臺設計
摘要:動態(tài)載荷識別技術(shù)在重載采掘裝備方面目前處于初始研究階段,由于動態(tài)載荷通常無法直接測量或測量比較復雜,在實際工程應用中還沒有起到作用。
本課題首先需要對動態(tài)載荷識別技術(shù)有所了解,然后根據(jù)載荷識別算法構(gòu)建出載荷識別人機交互平臺,輸入為振動測試信號,輸出為辨識的載荷。最后根據(jù)載荷特點,應用雨流計數(shù)法得到載荷譜,為礦用采掘裝備的設計提供理論依據(jù)。 了解載荷識別技術(shù)在礦用裝備中的應用。根據(jù)載荷識別算法采用VB或者其他編程語言搭建載荷識別人機交互平臺,實現(xiàn)礦用采掘裝備的載荷辨識。建立振動測試信號數(shù)據(jù)庫,并與上述人機交互平臺界面連接,實現(xiàn)數(shù)據(jù)的存儲、調(diào)用、顯示及作為輸入輸出的功能。構(gòu)建載荷譜計算平臺,對識別的載荷進行統(tǒng)計分析。
關(guān)鍵詞:動態(tài)載荷;人機界面;載荷譜
I
Mining and mining equipment load recognition platform
Abstract: Dynamic Load Identification technology in terms of heavy-duty mining equipment currently in the initial research stage, due to the dynamic loads are usually not directly measured or measuring more complicated, in practical application has not yet play a role.
This paper first need to understand the dynamic load identification technology, and build a human-computer interaction internet load identification recognition algorithm based on load, vibration test signal input, output load identification. Finally, according to the load characteristics, application rain flow counting method to obtain the load spectrum, provide a theoretical basis for the mine with mining equipment designs. Learn load recognition technology in mining equipment application. Build load identification based on human-computer interaction internet load recognition algorithm using VB or other programming language, to achieve load identification mining mining equipment. Vibration test signal to establish a database, and connected to the man-machine interactive platform interface to achieve data storage, call display and input as output. Construction of the load spectrum of computing platforms, the identification of the load were analyzed.
Keywords: dynamic loading; man-machine interface; load spectrum
II
目 錄
摘要 I
Abstract II
目錄 III
1 緒論 1
1.1 課題的提出原因 1
1.2 課題的主要內(nèi)容 1
1.3 課題的構(gòu)思 1
1.4 本人所完成的工作量 1
2 載荷識別平臺搭建 3
2.1 人機交互界面設計要求 3
2.1.1 軟件界面的人機交互接口設計 3
2.1.2 軟件界面人機交互的輸入輸出設計 3
2.1.3 一致性原則 3
2.1.4 窗口設計 3
2.1.5 界面效果 4
2.1.6 反饋信息 4
2.1.7 容錯手段 4
2.2 人機界面 5
3 建立振動測試信號數(shù)據(jù)庫 6
3.1 系統(tǒng)組成 6
3.2 采集數(shù)據(jù)數(shù)據(jù)庫存儲的實現(xiàn)方案 6
3.3 軟件設計 6
3.3.1 數(shù)字型數(shù)組轉(zhuǎn)化為字符串模塊 6
3.3.2 應用LabSQL訪問數(shù)據(jù)庫 7
3.4 通過txt導入數(shù)據(jù)庫 7
III
3.5 數(shù)據(jù)庫建立的要求 7
3.6 數(shù)據(jù)采集程序 7
4 構(gòu)建載荷譜計算平臺 9
4.1 編寫雨流計數(shù)法方法 9
4.1.1 雨流計數(shù)法簡介 9
4.1.2 程序設計流程 10
4.1.3 在程序中的具體實現(xiàn) 10
4.1.4 結(jié)論 13
5 結(jié)論 15
附錄A 16
人機交互程序 16
運行結(jié)果 19
附錄B 20
雨流計數(shù)法1 20
雨流計數(shù)法2 23
運行結(jié)果 25
參考文獻 31
致謝 32
IV
1 緒論
1.1 課題的提出原因
動態(tài)載荷識別技術(shù)在重載采掘裝備方面目前處于初始研究階段,由于動態(tài)載荷通常無法直接測量或測量比較復雜,在實際工程應用中還沒有起到作用[1]。
本課題首先需要對動態(tài)載荷識別技術(shù)有所了解,然后根據(jù)載荷識別算法構(gòu)建出載荷識別人機交互平臺,輸入為振動測試信號,輸出為辨識的載荷。[2]最后根據(jù)載荷特點,應用雨流計數(shù)法得到載荷譜,為礦用采掘裝備的設計提供理論依據(jù)[3]。
1.2 課題的主要內(nèi)容
(1)了解載荷識別技術(shù)在礦用裝備中的應用。
(2)根據(jù)載荷識別算法采用VB或者其他編程語言搭建載荷識別人機交互平臺,實現(xiàn)礦用采掘裝備的載荷辨識。
(3)建立振動測試信號數(shù)據(jù)庫,并與上述人機交互平臺界面連接,實現(xiàn)數(shù)據(jù)的存儲、調(diào)用、顯示及作為輸入輸出的功能[4]。
(4)構(gòu)建載荷譜計算平臺,對識別的載荷進行統(tǒng)計分析[5]。
1.3 課題的構(gòu)思
(1) 先查閱網(wǎng)上資料
(2) 收集資料
(3) 整理資料
(4) 下載matlab,vc等軟件
(5) 學習matlab,vc等軟件
(6) 學習window編程
(7) 學習matlab gui
(8) 編制人機界面程序
(9) 學習雨流計數(shù)法
(10)編制雨流計數(shù)法
1.4 本人所完成的工作量
(1) 載荷識別平臺搭建。
(2) 數(shù)據(jù)庫與平臺的連接。
(3) 載荷譜計算程序編制。
(4) 外文資料翻譯一篇。
(5) 設計說明書一份。
2
2 載荷識別平臺搭建
2.1 人機交互界面設計要求
2.1.1 軟件界面的人機交互接口設計
軟件與用戶的人機交互界面設計最初要從人機交互用戶接口入手。用戶接口的形式通常取決于軟件所要針對的用戶類型。不同類型的用戶對軟件系統(tǒng)的形式有不同的習慣和要求。使用者類型定位和區(qū)分很重要,它直接影響軟件的使用,最終的成功或失敗的形式。人機交互:用戶界面的下拉菜單菜單,彈出快速菜單和工具欄,菜單,圖標菜單是一個非常直觀的用戶界面的形式,易于理解和識別的功能的圖標應該盡可能根據(jù)公認的功能表示。如:采用類似于Office軟件系列中的圖標來表示相似的功能。
2.1.2 軟件界面人機交互的輸入輸出設計
設計人機界面是用戶和軟件系統(tǒng)的人機交互輸入層,全面和成功的,友好的人機交互界面設計中的人機交互,也必須在統(tǒng)一的輸入和輸出接口的綜合分析,從人機工程學的角度來分析了軟件系統(tǒng)的用戶提供了一個真正的問題,在規(guī)劃,評估一些常見的容易犯的錯誤。例如,如果使用大量的術(shù)語或縮寫,不了解用戶的需求和用戶的不確定的操作,解決問題有相互矛盾的地方,設計風格。
2.1.3 一致性原則
一致性的人機交互界面,主要體現(xiàn)在投入產(chǎn)出效果的交互式輸入輸出系統(tǒng)內(nèi)的一致性是在軟件的具體布局,外觀相似,類似的人機交互界面,以及類似的信息顯示格式。擴大教育也可以在一個平臺上的一致性在軟件應用程序之間的一致性,例如在Macintosh平臺下運行的軟件界面設計,保持高度的一致性,用戶不會花太多時間,你可以在軟件中快速學習其它軟件的原理。顯然,連貫原則是有用的用戶熟悉的軟件復用與軟件過程和記憶的缺陷。
2.1.4 窗口設計
屏窗口在屏幕上的設計是人機界面設計的一個重要方面是在屏幕上顯示的區(qū)域布局,設計,信息的重要性和明晰的科學安排,使窗口新鮮和大氣。一般,眼睛容易疲勞或不很容易被忽視,往往是區(qū)域提供了重要信息,幫助信息或通常在屏幕的底部。在窗口的空間,應該有一個明確的,準確的安排,布局,個別地方還應插入一個空的空間,在特定的元素。好的窗口設計復雜的軟件系統(tǒng)大氣,看起來簡單,意義和強度的知覺,視覺清晰。
2.1.5 界面效果
人機接口、結(jié)果的具體表現(xiàn)。單調(diào)的黑白文本容易讓用戶快速疲勞,顏色,圖像和其他媒體的光接口可以感染更多且有更多的視覺疲勞;圖形、圖像信息量大的優(yōu)勢。因此,多媒體表示,某些隱喻或操作設備的用戶和其直接和可見的、逼真的印象,提高軟件系統(tǒng)的可理解性和易記憶的每個用戶圖形,顏色隱喻,愛的味道非常不同的媒體,媒體錯誤的顏色,或能引起強烈的情感起伏,也可能使多媒體起相反的效果,因此,不能濫用。一般的用戶,最好用一個比較溫和的一些媒體,如:色彩柔和,更中立。有時個別的顏色來顯示重要的信息,以吸引顧客注意力的重要區(qū)域??傊?,多媒體應用,可提高傳染性,一個理想的疲勞,界面效果。但也不認為這是普便的現(xiàn)行標準,在不同的媒體應主要基于文本的效果。因為只有文字才能簡潔,清晰和準確的給用戶傳遞信息......
2.1.6 反饋信息
人機交互反饋意味著用戶在人機交互過程中,用戶對軟件系統(tǒng)的信息反饋。對軟件的用戶交互響應的評估之前,用戶可以操作,因此人機界面設計從用戶的反饋,如長時間的過程,你應該告知用戶必須等待輸入數(shù)據(jù),則應告知用戶數(shù)據(jù)是否正確的一個操作,那么應該通知用戶是否操作完成。默認的在某些領(lǐng)域,應盡量直接指定。用戶輸入相應的信息,有無錯誤。如果有錯誤,用戶無法校正,使系統(tǒng)無法繼續(xù)運行。為此設計時應該首先確認軟件系統(tǒng)的輸出內(nèi)容,確定物理的輸出需求,設計、驗證和測試輸出效果,觀察和聆聽用戶的意見,并迭代式地對輸出的反饋界面進行反復修改。
2.1.7 容錯手段
在互動過程中的誤差是很難避免的,軟件系統(tǒng)應該能夠有一個功能,和一個相應的錯誤提示或錯誤處理,包括誤差修正錯誤的信息和建議。如果軟件系統(tǒng)提供保護,防止錯誤的功能和恢復功能等,是理想的容錯方法,以防止用戶軟件系統(tǒng)的錯誤,造成了嚴重的破壞或丟失重要信息。在不容易理解位置加上幫助功能,支持用戶快速理解軟件系統(tǒng)對于非熟練用戶,在線聯(lián)機常常是一個巨大的作用。如果不能有效地幫助用戶發(fā)現(xiàn)錯誤的輸入,將使軟件系統(tǒng)的后續(xù)運行變得毫無意義。軟件系統(tǒng)輸入的方法有多種: 鍵盤、鼠標、觸摸屏、話筒、掃描儀等。不同的輸入方法,提供容錯的一個挑戰(zhàn)。在這過程中,我們需要的信息盡可能的簡單,以減少誤差的頻率。例如,減少輸入數(shù)據(jù)。
2.2 人機界面
人機界面模塊是載荷測試系統(tǒng)的外在風格顯示,主要包括程序啟動和登錄界面,上述模塊的正確鏈接,并能夠給出錯誤提示。
3 建立振動測試信號數(shù)據(jù)庫
3.1 系統(tǒng)組成
數(shù)據(jù)庫應用系統(tǒng)是由數(shù)據(jù)庫系統(tǒng)、應用程序系統(tǒng)、用戶組成的,具體包括:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員、硬件平臺、軟件平臺、應用軟件、應用界面。 數(shù)據(jù)庫應用系統(tǒng)的7個部分以一定的邏輯層次結(jié)構(gòu)方式組成一個有機的整體,它們的結(jié)構(gòu)關(guān)系是:應用系統(tǒng)、應用開發(fā)工具軟件、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、硬件。例如,以數(shù)據(jù)庫為基礎的財務管理系統(tǒng)、人事管理系統(tǒng)、圖書管理系統(tǒng)等等。無論是面向內(nèi)部業(yè)務和管理的管理信息系統(tǒng),還是面向外部,提供信息服務的開放式信息系統(tǒng),從實現(xiàn)技術(shù)角度而言,都是以數(shù)據(jù)庫為基礎和核心的計算機應用系統(tǒng)[6]。
3.2 采集數(shù)據(jù)數(shù)據(jù)庫存儲的實現(xiàn)方案
所收集的數(shù)據(jù)存儲測試系統(tǒng)在一個SQL數(shù)據(jù)庫的ADO(activexdataobject)、txt文本或ADO.NET連接數(shù)據(jù)庫。ADO是最廣泛使用的技術(shù),因為Windows操作系統(tǒng)已經(jīng)包含了ADO和ODBC可訪問支持ADO和ODBC數(shù)據(jù)庫,例如,在這將使用到SQL、Foxpro、MicrosoftAccess等[7][8]。
ADO是Microsoft的開放提供了一個數(shù)據(jù)庫的訪問。ADO是通過編程模型實現(xiàn)對數(shù)據(jù)庫的操作。編程模型是訪問和更新數(shù)據(jù)源所必需的操作順序,它概況了ADO的全部功能。數(shù)據(jù)連接(ODBC opendatabaseconnectivity,)是微軟公司開放服務對數(shù)據(jù)庫架構(gòu)的一部分,提供對SQL ODBC支持工程師直接將SQL語句的數(shù)據(jù)庫與應用程序之間的一個公共接口,應用程序通過訪問ODBC數(shù)據(jù)庫,不直接與數(shù)據(jù)庫的通信[ 9 ]。
3.3 軟件設計
軟件部分是上述方案的具體實施,首先要對采集的數(shù)據(jù)進行處理,處理后的數(shù)據(jù)存儲在數(shù)據(jù)庫中,數(shù)據(jù)庫的查詢。
3.3.1 數(shù)字型數(shù)組轉(zhuǎn)化為字符串模塊
計算機中的數(shù)據(jù)收集的數(shù)據(jù)是在SQL語句的字符串插入,因此,需要首先通過convertfromdynamicdata.vi波形轉(zhuǎn)換成字符形式,框圖程序如圖1所示。
這里用“數(shù)字型數(shù)組”代表波形數(shù)據(jù)經(jīng)ConvertfromDynamicData.vi轉(zhuǎn)換后的數(shù)組 。
圖1?數(shù)字型數(shù)組轉(zhuǎn)化為字符串模塊
由于多通道采集,圖1中的程序?qū)⒈欢啻握{(diào)用VI模塊形式。
3.3.2 應用LabSQL訪問數(shù)據(jù)庫
Access數(shù)據(jù)庫的基于LabVIEW的數(shù)據(jù)庫的ADO技術(shù)實現(xiàn)分組,完全是一個自由和開放源碼的數(shù)據(jù)庫工具,其中包括幾個VI集。應用LabSQL將采集數(shù)據(jù)存儲到數(shù)據(jù)庫,過程如下:
(1) 首先通過ADOConnnectionCreate.vi與ADO建立連接;
(2) 然后通過ADOConnectionOpen.vi打開一個數(shù)據(jù)源的數(shù)據(jù)連接字符串的決定。
(3) 打開數(shù)據(jù)源后,通過SQLExecutive.vi執(zhí)行SQL語句;
(4) 對數(shù)據(jù)庫操作已完成最后的ADOCon2nectionClose.vi關(guān)閉Connection。
3.4 通過txt導入數(shù)據(jù)庫
(1) 先用FileInputStream或FileReader將txt文本中的內(nèi)容讀出來。
(2) 再將這些內(nèi)容放到一個字符串中。
(3) 打開數(shù)據(jù)庫,用普通字段或Blob字段將字符串寫進數(shù)據(jù)庫。
3.5 數(shù)據(jù)庫建立的要求
利用測試系統(tǒng)測試工程越來越測試復雜,工程測試系統(tǒng)的要求越來越高,不僅具有強大的數(shù)據(jù)分析處理能力,還需要龐大的數(shù)據(jù)管理能力,在試驗測量系統(tǒng)設計中,成為不可缺少的一部分。
3.6 數(shù)據(jù)采集程序
數(shù)據(jù)采集程序主要是和ADAM551.以及NI6023E通信正常后,根據(jù)采集模塊的要求來實現(xiàn)具體采集功能的程序[10]。
由于采集了大量的數(shù)據(jù),需要一個數(shù)據(jù)庫來管理這些數(shù)據(jù),數(shù)據(jù)庫管理和MATLAB的接口程序,數(shù)據(jù)庫提出了要求,特別是滿足以下功能模塊:
(1) 提供SQLserver2000和matlab鏈接的接口功能;
(2) 能夠在形成俘獲矩陣人工判斷數(shù)據(jù)足夠后,matlab程序可以和數(shù)據(jù)庫程序正常鏈接,能夠自動把采集到的程序加入到數(shù)據(jù)庫中區(qū);
(3) 可以正常查詢數(shù)據(jù)庫中的數(shù)據(jù),完成數(shù)據(jù)庫的創(chuàng)建,訪問,刪除。
4 構(gòu)建載荷譜計算平臺
4.1 編寫雨流計數(shù)法方法
4.1.1 雨流計數(shù)法簡介
雨流計數(shù)法又可稱為“塔頂法”,是由英國的M a t2su isk i 和 E ndo 兩位工程師提出的, 距今已有 50 多年。雨流計數(shù)的主要技術(shù)界,尤其是廣泛用于計算疲勞壽命[11]。
特別是在50年前的手工計算,人工計算的只是一些相對簡單的(數(shù)據(jù)量不大)數(shù)據(jù)的數(shù)據(jù)手冊,更多的問題不太容易。隨著電子計算機的發(fā)展,這些瑣碎的速度加快,從而簡化計算[12]。
該方法的突出特點是根據(jù)研究的應變之間的線性關(guān)系的時間計數(shù)的樣本,即通過雨流計數(shù)法的一系列運輸記錄[13]。
雨流計數(shù)法有下列規(guī)則:
1) 雨水流入的出發(fā)點和檢驗記錄在每個內(nèi)部邊緣最大,1,2,3,……其他的頂部開始。
圖 1 雨流計數(shù)法
2) 流量峰值(即頂板垂直向下滴流直接對面有一個在啟動時的最大值或最小值(或最大值)更正的負面迄今最?。14]。
3) 當雨水遇見屋頂上流動的雨時,當雨停止流動,形成一個循環(huán)。
4) 根據(jù)雨滴流動的起點和終點,畫出各個循環(huán),將所有循環(huán)逐一取出,并記錄其峰谷值[15]。
5) 雨水流入每個水平周期長度的振幅[16]。
通過雨流計數(shù),特別是峰谷值檢測和無效幅值去除后負荷周期的離散形式的數(shù)據(jù)在我們的電腦上完成每一步都需要編寫程序[17]。
上述過程可用程序來實現(xiàn)其流程圖
圖2 流程圖
4.1.2 程序設計流程
該程序設計方案分為人機界面的顯示、載荷譜的輸入、載荷譜的輸出,雨流計數(shù)編寫幾個模塊來實現(xiàn)上述任務的主要編制流程。
圖3程序流程
4.1.3 在程序中的具體實現(xiàn)
雨流計數(shù)方法的實現(xiàn)方案,數(shù)據(jù)壓縮和獲得循環(huán)數(shù)兩個步驟。
數(shù)據(jù)壓縮是容易計數(shù)循環(huán)數(shù)據(jù)陣列包括峰谷值檢測和無效幅值去除。
1) 數(shù)據(jù)壓縮的峰、谷值是數(shù)據(jù)內(nèi)容,包括峰谷值是為下一步數(shù)據(jù)處理陣列。在這個過程中,首先應壓縮相鄰的同等數(shù)(保留一個值,然后繼續(xù)),提取峰谷值和在一個陣列E(n),一個數(shù)組F(n),i和j兩個數(shù)組的元素。在同等數(shù)值的按鈕(如圖2),相鄰的菱形框架條件之前和之后的判斷是否是不相同的兩個元素,如果這些數(shù)量是真正的值則保留,否則另一個數(shù)字決定,直到最后一個數(shù)字,這個數(shù)字。在峰谷值檢測(見圖3),判斷條件是不相鄰的數(shù)字大于零(即是否同號),如果真值表示E(i)兩側(cè)同時更多(或更少),而數(shù)E(i)是高峰和低谷;否則繼續(xù)。
圖 4 壓縮等值點
2) 無效幅值去除就是將幅值很小的點去除。因為在很多的疲勞壽命中,這些小振幅振幅循環(huán)的物理模型刪除無效數(shù)據(jù),可以有很多的類型和研究后循環(huán)小波的選擇。這里取用變程閥值公式:變程閥值= (最大值- 最小值) *△%
圖 5 檢測峰谷值
閾值是小的周期陣列的壓縮過濾器是可以忽略的, $ 是閥值的精度, 根據(jù)給定的精度,確定類型和數(shù)組處理的精度。
無效幅值去除在程序?qū)崿F(xiàn)時,只需要一個判斷。當我反復試驗,發(fā)現(xiàn)在評估(例如,一個循環(huán)結(jié)束的雨流)是最合適的。
循環(huán)的數(shù)目通常是雨流計數(shù),在對接和第二雨流計數(shù)的不同波形的三個步驟,根據(jù)不同的情況來決定, 例如: 高均值偏態(tài)波形只要一次雨流計數(shù)便可以完成。
1) 一次雨流計數(shù)是從壓縮數(shù)據(jù)中提取的記錄周期,特征值,如最大振幅,等。我用雨流計數(shù),以個人的理解總總結(jié)的一些規(guī)律,為“四點法”的程序,并且實現(xiàn)起來也較容易。如圖 4 所示, 在數(shù)組中有許多形式但也只有這兩種, 如果a大于或等于b,b < c(圖像可以在一個周期的三角部分), 同時去除 E [ i ] 和 E [ i- 1 ] 兩點, 否則記錄E[ i ]在判斷這一點。這該陣列可以被刪除,所有的循環(huán)和反復記錄的判斷點。適用于不同情況下,在四個方面, 以確保準確的周期,使可靠性大大增加。見圖 5 具體實施循環(huán)圖。圖5中, 圖C = 0和C = B的開始,這是一個小的優(yōu)化,“四點法”實際上只用了三個點,使一個計算的序列u(i - 1),e(i)作為這次?e(i - 1))e(i 2)序列;周期S1,不論他們是在圖5中的一個標志,S1,以確定是否一個零,如果是零,則完成一次雨流計數(shù)循環(huán),否則繼續(xù)執(zhí)行流程。s 是記錄雨流計數(shù)提取循環(huán)的總個數(shù)。
圖 6 循環(huán)的判斷
圖 7 提取循環(huán)流程圖
2) 對接(也稱為波形關(guān)閉)是循環(huán)計數(shù)分配必要的方法,主要是對選擇的波形進行簡化。
一次雨流計數(shù)的其余各點的波形是一個標準的收斂-發(fā)散, 雨流計數(shù)后通常不再形成整個周期中,只有最大或最?。榻財帱c重新對接,可能不會正好封閉, 根據(jù)不同的波完成。一類高平均曲率波, 可以根據(jù)研究的特點和目標,加上之前和之后的數(shù)組的值, 例如:研究礦用設備,加載后的載荷譜時, 可在前后加一個零點; 另一種對于標準發(fā)散2收斂發(fā)散谷, 取其中的最大和最小值, 其余兩點去掉, 這樣出現(xiàn)的誤差與實際相差特別小。在實現(xiàn)的過程中, 只有一個選擇是用在這里, 是加一零點還是取得最值, 然后重新整理一下數(shù)組了。對接在程序里實現(xiàn)就是將數(shù)組從截開的地方分為兩部分, 將兩部分被交換之前和之后。
3) 二次雨流計數(shù)是將已經(jīng)完成的對接的波形繼續(xù)提取循環(huán),直到只有三個點(即從目前的值是一個數(shù)組的整個循環(huán))。程序中實現(xiàn)也很簡單, 只需連接到一個數(shù)組中的雨流計數(shù)。
4.1.4 結(jié)論
1) 根據(jù)該方法,程序簡單明了, 并且確保了程序的可靠性。
2) 可以用各種語言來編程,實現(xiàn)起來都很簡單。在具體的應用中根據(jù)需要取用各個步驟。
5 結(jié)論
由于動態(tài)載荷通常無法直接測量或測量比較復雜,通過對人機界面的設計和對機械零件的隨機載荷進行了研究,分析了雨流計數(shù)法這一統(tǒng)計方法,編制了人機交互程序和雨流計數(shù)法程序,最后應用matlab gui編制了人機交互界面和計算機自動繪制載荷譜,
這樣可以通過對動態(tài)載荷測量,為礦用采掘裝備的設計提供了理論依據(jù)。
附 錄A
人機交互程序
function varargout = untitled(varargin)
% UNTITLED M-file for untitled.fig
% UNTITLED, by itself, creates a new UNTITLED or raises the existing
% singleton*.
%
% H = UNTITLED returns the handle to a new UNTITLED or the handle to
% the existing singleton*.
%
% UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in UNTITLED.M with the given input arguments.
%
% UNTITLED('Property','Value',...) creates a new UNTITLED or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before untitled_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to untitled_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Copyright 2002-2003 The MathWorks, Inc.
% Edit the above text to modify the response to help untitled
% Last Modified by GUIDE v2.5 19-May-2016 20:52:47
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @untitled_OpeningFcn, ...
'gui_OutputFcn', @untitled_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before untitled is made visible.
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to untitled (see VARARGIN)
% Choose default command line output for untitled
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes untitled wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = untitled_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
運行結(jié)果
圖1運行結(jié)果
附 錄B
雨流計數(shù)法1
function rfdemo1(ext)
% function rfdemo1(ext)
%
% RFDEMO1 shows cycles extracted from signal
% using rainflow algoritm.
%
% INPUT: ext - option, number or vectors with turning
% points or pure signal. Default ext=16.
%
% OUTPUT: no enable.
%
% SYNTAX:
% >>rfdemo1
% >>rfdemo1(10)
% >>rfdemo1([2 3 2 4 2 5 1 6])
%
%
% By Adam Nies硂ny
% ajn@po.opole.pl
error(nargchk(0,2,nargin))
if nargin==0,
% turning points from 16 random numbers
ext=sig2ext(randn(4));
elseif length(ext(:))==1,
% turning points from n random numbers
ext=sig2ext(randn(1,ext));
else
% turning points from vector ext
ext=sig2ext(ext);
end
a=rainflow(ext,1);
[m n]=size(a);
if n>100,
button = questdlg(['Rainflow found ' num2str(sum(a(3,:))) ' cycles! Do you want to continue?'],...
'Continue Operation','Yes','No','No');
if strcmp(button,'No')
error('Function aborted by user.')
end
end
col='ymcrgb';
plot(0:length(ext)-1,ext,'k.:')
hold on
wyk=0:0.05:1;
for c=1:n,
colnr=rem(c-1,6)+1;
nr1=round(a(4,c)+1);
nr2=round(a(4,c)+1+a(5,c)*a(3,c));
if a(3,c)==1.0,
if ext(nr1)
ext(nr2),
plot(wyk.*a(5,c)*0.5+a(4,c),cos( wyk.*pi)*a(1,c)+a(2,c),col(colnr))
text(a(4,c),a(2,c)+a(1,c),[int2str(c) '. Half-cycle, down'],...
'Color',col(colnr),'VerticalAlignment','bottom')
else
plot(wyk.*a(5,c)*0.5+a(4,c),cos(pi+wyk.*pi)*a(1,c)+a(2,c),col(colnr))
text(a(4,c),a(2,c)-a(1,c),[int2str(c) '. Half-cycle, up'],...
'Color',col(colnr),'VerticalAlignment','top')
end
end
end
xlabel('peaks, counted from 0')
ylabel('value')
title('Rainflow cycles extracted from signal')
legend('peaks from signal',0)
hold off
disp('Row 1: amplitude')
disp('Row 2: mean')
disp('Row 3: number of cycles (cycle or half cycle)')
disp('Row 4: begin time of extracted cycle or half cycle')
disp('Row 5: period of a cycle')
disp(a)
雨流計數(shù)法2
function rfdemo2(ext)
% function rfdemo2(ext)
%
% RFDEMO1 shows cycles extracted from signal
% using rainflow algoritm. Good for very long
% time signals (100 000 points).
%
% INPUT: ext - option; number, vector with turning
% points or pure signal. Default ext=10000.
%
% OUTPUT: no enable.
%
% SYNTAX:
% >>rfdemo2
% >>rfdemo2(50000)
% >>rfdemo2(my_time_signal)
% By Adam Nies硂ny
% ajn@po.opole.pl
error(nargchk(0,1,nargin))
if nargin==0,
% turning points from 10000 random numbers
ext=sig2ext(randn(10000,1));
elseif length(ext(:))==1,
% turning points from n random numbers
ext=sig2ext(randn(1,ext));
else
% turning points from vector ext
ext=sig2ext(ext);
end
ext=sig2ext(ext);
rf=rainflow(ext);
figure, rfhist(rf,30,'ampl')
figure, rfhist(rf,30,'mean')
figure, rfmatrix(rf,30,30)
運行結(jié)果
圖 1 運行結(jié)果1
圖 2 運行結(jié)果2
圖 3 運行結(jié)果3
圖4運行結(jié)果4
圖 5 運行結(jié)果5
圖 6 運行結(jié)果6
參 考 文 獻
[1] 陳大先.機械設計手冊[M].北京:化學工業(yè)出版社,1993.
[2] 吳子燕,簡曉紅,張彬,閆云聚.振動測試中多目標傳感器優(yōu)化配置研究?[J].?機械強
度,?2008.
[3] 智浩.工程與科學中的計算力學[M].北京:北京特種工程設計研究所,2001.
[4] 王勇,王昌龍,戴爾晗.現(xiàn)代測試技術(shù)[M].西安:西 安電子科技大學出版社,2007.
[5] 張長森,鄒有明.一種符合標準的礦井監(jiān)控系統(tǒng)通信協(xié)議設計[C].煤礦機電,2004.
[6] 劉習軍,賈奇芬.工程振動理論與測試技術(shù)[M].北 京:高等教育出版社,2004.
[7] 王昕瑜.大型礦用挖掘機工作裝置關(guān)鍵零部件結(jié)構(gòu)分析平臺的研究[D].太原理工大學,2014.
[8] 陳寧,魏永勝.振動試驗中多點控制方法的分析與應用[J].機械研究與應用,2014.
[9] 丁寧.基于VDSL2技術(shù)和LIN總線的采煤機遠程控制數(shù)據(jù)通訊系統(tǒng)的設計[D].太原理工大
學,2015.
[10] 馬建紅,沈西挺.VC++程序設計與軟件技術(shù)基礎[M].北京:中國水利水電出版社,2002.
[11] 裴煥斗,孟松.動態(tài)隨機載荷識別技術(shù)研究[J].華北工學院,1998
[12] 陳傳堯.疲勞與斷裂[M].武漢:華中科技大學出版社,2003.
[13] 趙少汴.抗疲勞設計[M].北京:機械工業(yè)出版社,1994.
[14] Ying Liu Procedia Computer Science [J].Chinese Academy of Science,2015.
[15] Gianluigi Greco,Antonella Guzzo,Luigi Pontieri.Data & Knowledge
Engineering.Italy,2008?
[16] Yufei Shu.Advanced Engineering Informatics.Japan,2007.
[17] David Laurence.Journal of Safety Research.Australia,2005.
致 謝
32