999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式數據庫SQLite在準在線故障診斷系統中的應用*

2011-10-21 11:30:38孫俊杰
制造技術與機床 2011年9期
關鍵詞:嵌入式故障診斷振動

徐 陽 孫俊杰

(鄭州大學振動工程研究所,河南鄭州450001)

準在線故障診斷系統是一種可以對設備進行精密診斷和故障監測的便攜式故障診斷系統,與傳統的故障診斷系統相比,既有離線系統的靈活方便和便攜的優點,又具有在線系統的強大分析功能和進行較長時間故障監測的能力,主要用于大型設備的啟停機監測,以及設備的故障診斷分析等方面。由于準在線故障診斷系統的這些特點,其在數據的采集、存儲和分析方面都具有較高的要求,本文主要討論一種嵌入式數據庫SQLite在準在線故障診斷系統中的應用。

1 嵌入式數據庫SQLite

數據庫通常用來實現對大量數據的存儲、檢索等功能。早期的數據一般通過某種格式存儲在文件中,而后來逐漸發展成為復雜的大型關系數據庫,如Oracle、MySQL 等。

在嵌入式領域,早期的數據存儲也常常采用系統自定義的數據結構和文件格式來進行存取和查詢。但近年來隨著各種嵌入式應用的飛速發展,嵌入式軟件中對數據存取和查詢功能的要求也越來越高,數據庫技術也開始越來越多的應用于各種嵌入式系統中。而嵌入式系統中很多的應用,可能僅僅需要用到數據庫的一些特性。比如有時我們需要的可能只是一個簡單的基于磁盤文件的數據庫系統,這樣就不必安裝龐大的數據庫服務器,利用簡單的嵌入式數據庫就可以了。另外嵌入式系統資源上的限制也決定了我們不可能采用大型的關系數據庫。

SQLite是D.Richard Hipp在2000年開發的一個小型嵌入式數據庫。它是完全獨立的,不具有外部依賴性,其源代碼完全開源,可以免費用于任何用途。除此之外SQLite還具有零配置、輕量級自包含、簡單、靈活、可靠等特點,非常適合應用于嵌入式系統當中。

2 基于SQLite的準在線故障診斷系統的軟件架構

系統采用OMAP5912作為處理器,其ARM端運行Linux操作系統,對系統的外圍模塊進行管理控制;在DSP端運行DSP/BIOS實時內核,對采集的數據進行復雜的處理。系統的軟件主要有6個功能模塊:數據采集模塊、存儲模塊、數據分析模塊、用戶管理操作模塊、顯示模塊和通訊模塊,如圖1所示。

(1)數據采集模塊 主要是開辟不同的線程來分別控制多個傳感器進行振動數據采集,并將采集到的數據送入指定的內存中等待系統進行處理。

(2)存儲模塊 用來將用戶需要的數據存入指定的存儲介質(FLASH、SD卡、硬盤等)中,主要包括用戶的系統配置信息、采集的源數據、處理過的數據以及各種分析診斷結果等。

(3)數據分析模塊 對采集到的數據進行實時分析,主要由系統控制DSP處理器來進行。

(4)用戶管理操作模塊 用來與用戶進行交互,使用戶可以根據不同設備的需求來進行各種參數的設定,同時可以使用戶自行選擇合適的診斷方法進行診斷。

(5)顯示模塊 主要是將設備的診斷信息通過LCD實時顯示出來。

(6)通訊模塊 主要是通過USB或網絡來訪問系統,從而獲得系統的各種數據,方便與企業的設備管理系統進行對接。

3 SQLite在準在線故障診斷系統中的應用

3.1 SQLite的應用程序接口API

SQLite一共有80多個C/C++的API,另外還有很多數據結構和預定義的宏等。1個簡單的數據庫應用程序只需要使用3個函數就可以:sqlite3_open()、sqlite3_exec()、sqlite3_close。

sqlite3_open()表示在當前目錄打開數據庫,如果數據庫不存在則自動創建1個數據庫。其函數原型為:

sqlite3_close()與sqlite3_open()對應,用來關閉打開的數據庫,在應用程序中與sqlite3_open()一般都要成對出現。

sqlite3_exec()函數則是用來執行SQL語句。它的函數原型為

其中第3和第4個參數用來指定回調函數和回調函數第一個參數。對于回調函數callback,是在執行SQL語句的時候被回調。當執行查詢類型的SQL語句時,每返回一行查詢記錄,就會調用一次定義的回調函數。

3.2 系統SQLite數據庫設計

由第二節所述系統的基本軟件架構可以看出,系統的各個模塊都與數據有著密切的關系,整個系統實質上就是對振動數據的采集、處理和管理的過程。對此本系統采用SQLite以文件數據庫的形式來進行對數據的管理和操作。SQLite在系統的不同模塊中有著不同的應用,并且將各個不同的功能模塊有機地結合在一起。下面對這些具體的應用進行分別闡述:

(1)在數據采集模塊中的應用

數據采集模塊有6個測振通道,用戶通過系統設定其各個通道工作與否,同時設定進行數據采集或是監測。在SQLite中建有6個表(source_data1——source_data6)來分別存儲對應6個通道采集來的振動數據。這6個表具有同樣的結構,其中源數據的結構如圖2所示。

在C語言中建立這種表的具體函數實現如下:

在這6個振動源數據表中,共有 ID、data、time、samsrc_info、freq、num、sensor_type 七個字段。振動源數據是根據設定的采集點數以組為單位來進行存儲,設定的采集點數一般有512、1024、2048等選擇,因此對應的一組振動數據就分別由512、1024、2048個浮點數組成,在存儲時先將這些浮點數通過編碼轉換,然后以二進制的形式存儲在表的data字段,而對應的采集點數則存在num字段。另外因為在故障診斷中有時需要用到各種信息融合的技術,如全息譜技術、全矢譜技術,而信息融合技術需要采集的信號是同源信號,在數據表中samsrc_info字段則反映了這些信號的同源信息。根據samsrc_info字段的內容系統即可判斷某一通道采集的信號與剩余哪個通道的哪組信號是同源的,從而能夠進行信息融合。

當系統執行較長時間故障監控功能時,由于數據的采集頻率較高,因此表的膨脹速度很快,當表過大時會影響系統的存取性能。對此系統啟動時會自動判斷表的大小,當表的大小超過設定的大小后會提示用戶將數據轉存到另一個表中或另建一個關聯數據庫存放以往的數據,從而保證系統的性能不受影響。

(2)在操作管理模塊中的應用

系統的操作管理包括用戶管理、系統參數設定、采集參數設定、數據處理方式選擇、顯示模式選擇、存儲控制和通訊傳輸控制等。這些管理數據和配置信息存儲在數據庫中的一系列配置表中:user表、syscfg表和vibcfg表等。當進行參數設定時,使用sqlite3_exec()函數執行SQL語句中的INSERT命令,可以將各參數保存到對應配置表中,如圖3所示。同樣,當需要讀取參數時,則執行SQL語句中的SELECT命令來實現。在系統對SQLite進行操作的過程中要注意:由于在系統運行時要頻繁地對數據庫進行操作,而數據庫打開函數sqlite3_open("sysdata.db",&db),比較占用資源,因此只在系統啟動時打開一次數據庫,系統運行時只進行操作而不關閉數據庫,所有操作只是對數據庫中的表進行。但是SQLite不支持多線程同時對表進行寫操作,因此系統必須對數據庫的寫操作進行調度,防止發生阻塞。

(3)在通訊模塊中的應用

當系統采集的數據需要轉存或需要與企業的設備管理系統對接時,系統可通過USB數據線或網線與PC機互聯。由于SQLite是文件型數據庫,所有數據都存在一個sysdata.db文件中,并且SQLite的數據庫文件在Window系統下可以同樣簡單地進行解析,因此在傳輸時就可以直接將該sysdata.db文件進行傳輸。另外也可以只傳輸系統產生的各種報表文件。

(4)在顯示模塊中的應用

顯示模塊主要用來實時顯示波形頻譜圖、相位圖和各種故障分析方法產生的圖表,使用戶對振動信息有更直觀的了解。顯示的波形數據主要來自數據庫中的六個源數據表,其他圖表則由分析模塊調用DSP內核對源數據進行處理獲得。

系統采用MiniGUI來進行圖形用戶界面的設計,MiniGUI本身就是用 C語言開發的,因此可以與SQLite很好地進行結合,可以在MiniGUI中直接調用SQLite的各種 API函數,只需要在頭文件中包含“sqlite3.h”文件即可。

4 結語

準在線故障診斷系統是便攜式故障診斷系統中相對高端的產品,由于其在采集的同時還要能夠有較強的數據處理和分析能力,因此對系統的設計有較高的要求。本系統采用嵌入式數據庫SQLite來進行數據的存儲和管理,避免了采用一般文件存儲時實時性和安全性差的問題,也增強了系統的穩定性和擴展性。同時由于SQLite對多種編程語言的支持和較強的移植性,大大減少了系統開發和維護中的工作量。

[1]韓捷,張瑞林.旋轉機械故障機理及診斷技術[M].北京:機械工業出版社,1997.

[2]歐文盛.ARM嵌入式Linux應用實例開發[M].北京:中國電力出版社,2008.

[3]解輝,徐玉斌,李建偉,等.基于sqlite的嵌入式數據采集系統的設計與研究[J].計算機與數字工程,2008(6):91-94.

[4]孫俊杰,李海龍.基于OMAP的準在線故障診斷系統的硬件平臺研究[J].儀表技術與傳感器,2010(5):71-73.

[5]倪天龍,張賢高,王培.數據庫SQLite在嵌入式系統中的應用[J].微計算機信息,2005(10):35-37.

[6]Chris Newman.SQLite[M].Indianapolis.Sams Publishing,2004.

猜你喜歡
嵌入式故障診斷振動
振動的思考
科學大眾(2023年17期)2023-10-26 07:39:14
振動與頻率
天天愛科學(2020年6期)2020-09-10 07:22:44
搭建基于Qt的嵌入式開發平臺
中立型Emden-Fowler微分方程的振動性
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
因果圖定性分析法及其在故障診斷中的應用
UF6振動激發態分子的振動-振動馳豫
計算物理(2014年2期)2014-03-11 17:01:44
Altera加入嵌入式視覺聯盟
基于LCD和排列熵的滾動軸承故障診斷
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 不卡网亚洲无码| 亚洲人成网站观看在线观看| 青青青国产在线播放| 亚洲综合狠狠| 男人天堂伊人网| 国产亚洲视频免费播放| 精品国产成人国产在线| 日韩无码视频播放| 国产凹凸一区在线观看视频| 亚洲一级毛片在线观| 精品国产一二三区| 精品国产免费观看一区| 69国产精品视频免费| 少妇精品在线| Jizz国产色系免费| 亚洲成av人无码综合在线观看 | 亚洲日韩国产精品无码专区| 免费国产高清视频| 97在线视频免费观看| 91九色视频网| 国产综合日韩另类一区二区| 中文字幕无码电影| 国产SUV精品一区二区| 国产精品欧美日本韩免费一区二区三区不卡 | 亚洲欧美h| 中国丰满人妻无码束缚啪啪| 国产精品.com| 69视频国产| 亚洲一区波多野结衣二区三区| 久久综合AV免费观看| 一本大道东京热无码av| 国产午夜人做人免费视频| 免费看av在线网站网址| 成人免费黄色小视频| 精品少妇人妻av无码久久| 91亚洲国产视频| 久久国语对白| 2020精品极品国产色在线观看 | 国产精品网址你懂的| 露脸一二三区国语对白| 欧洲高清无码在线| 高清欧美性猛交XXXX黑人猛交| 在线国产你懂的| 国产特一级毛片| AV片亚洲国产男人的天堂| 国产精品区视频中文字幕 | 国内精品伊人久久久久7777人| 国产精女同一区二区三区久| 亚洲精选高清无码| 毛片免费在线| 日韩美毛片| 亚洲无线视频| 91毛片网| 欧美a在线视频| 玖玖免费视频在线观看| 亚洲欧美在线看片AI| 久久综合成人| 亚洲综合中文字幕国产精品欧美| 巨熟乳波霸若妻中文观看免费| 成人国产一区二区三区| 无码区日韩专区免费系列 | 国产熟睡乱子伦视频网站| 国产女人在线| 毛片在线播放a| 国产91视频免费观看| 久久国产精品影院| 亚洲精品第一在线观看视频| 色婷婷亚洲十月十月色天| 亚洲国产中文精品va在线播放| 国产大全韩国亚洲一区二区三区| 国产精品无码作爱| 久久精品亚洲专区| 18禁高潮出水呻吟娇喘蜜芽| 国产69囗曝护士吞精在线视频| 操国产美女| 99久视频| 国产精品视频999| 国产在线观看第二页| 免费又黄又爽又猛大片午夜| 女人av社区男人的天堂| 国产白浆在线| 国产一区二区三区免费观看|