《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 嵌入式磨削加工主動測量儀數(shù)據(jù)管理技術(shù)研究
嵌入式磨削加工主動測量儀數(shù)據(jù)管理技術(shù)研究
來源:電子技術(shù)應(yīng)用2013年第8期
祁繼超,張琳娜,,鄭 鵬,,趙鳳霞
鄭州大學(xué) 機(jī)械工程學(xué)院,河南 鄭州450001
摘要: 針對嵌入式磨削加工主動測量控制系統(tǒng)的功能要求,,提出了應(yīng)用數(shù)據(jù)庫對系統(tǒng)中大量數(shù)據(jù)進(jìn)行管理的方案,。對WinCE系統(tǒng)下常用嵌入式數(shù)據(jù)庫的存取性能做了對比測試,并最終確定選用SQLite數(shù)據(jù)庫進(jìn)行數(shù)據(jù)管理,。結(jié)合SQLite數(shù)據(jù)庫在磨削加工主動測量控制系統(tǒng)中的應(yīng)用,,給出了磨削加工主動測量儀的數(shù)據(jù)庫結(jié)構(gòu)及其在Visual Studio 2008集成開發(fā)環(huán)境中的實(shí)現(xiàn)過程。研究結(jié)果表明,,此方案的設(shè)計(jì)能夠滿足磨削加工主動測量儀對數(shù)據(jù)存取的實(shí)時(shí)性與一致性需求,,對于磨削加工主動測量儀的研究和發(fā)展有著重要意義。
中圖分類號: TH705
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)08-0007-03
The research of data management technology in embedded grinding active measuring instrument
Qi Jichao,,Zhang Linna,,Zheng Peng,Zhao Fengxia
College of Mechanical Engineering, Zhengzhou University, Zhengzhou 450001,,China
Abstract: For functional requirement of the embedded active measurement control system in grinding processing, this paper proposes a solution that uses database to manage large amounts of data in the system. Through performance comparison test of commonly used embedded database under the WinCE system, this article ultimately selects SQLite database for data management. Combined with SQLite database application in the initiative measurement control system of grinding, the database structure of grinding processing active measuring instrument and its implementation process in the Visual Studio 2008 integrated development environment are given. The research results show that this plan can meet the requirements of the real-time and consistency for data access, and will have an important significance on grinding processing active measuring instrument’s research and development.
Key words : grinding active measuring instrument,;data management technology;WinCE,;SQLite

    隨著工業(yè)技術(shù)現(xiàn)代化的不斷發(fā)展,,工業(yè)生產(chǎn)對設(shè)備的加工精度、加工效率和穩(wěn)定性提出了更高的要求,,磨削加工擔(dān)負(fù)著零件精密表面的最終加工工序,,其精度對機(jī)械產(chǎn)品的質(zhì)量有著直接影響,。主動測量技術(shù)在磨削加工過程中的應(yīng)用能夠改善傳統(tǒng)的磨削加工產(chǎn)品一致性差、質(zhì)量不穩(wěn)定,、加工效率低等缺點(diǎn),,滿足人們對產(chǎn)品高精度、高品質(zhì),、高一致性的需求,。隨著嵌入式系統(tǒng)硬件平臺的日趨強(qiáng)大及其相對于工控板低成本、低功耗的優(yōu)勢,,基于嵌入式的磨削加工主動測量儀的競爭優(yōu)勢日益明顯,,擁有良好的市場前景。為此在對現(xiàn)有磨床主動測量儀的理論與應(yīng)用進(jìn)行深入研究的基礎(chǔ)上,,開發(fā)了基于WinCE的嵌入式多功能磨削加工主動測量控制系統(tǒng),,系統(tǒng)結(jié)構(gòu)如圖1所示。

    在系統(tǒng)工作過程中,,需要對大量數(shù)據(jù)進(jìn)行實(shí)時(shí)的存取和處理。目前,,國內(nèi)自主研發(fā)的主動測量儀的數(shù)據(jù)管理大都采用基于文件系統(tǒng)的存儲結(jié)構(gòu),,由用戶直接對記錄所在的文件進(jìn)行操作,I/O開銷較大,,同時(shí)由于應(yīng)用程序是以獨(dú)占方式打開數(shù)據(jù)文件,,數(shù)據(jù)的共享性和應(yīng)用軟件的可重用性較差。而通過數(shù)據(jù)庫系統(tǒng)來管理數(shù)據(jù)的方式可以較好地解決這些問題,?;跀?shù)據(jù)庫系統(tǒng)管理數(shù)據(jù)的方式,數(shù)據(jù)和程序相互獨(dú)立,,通過事務(wù)進(jìn)行調(diào)度與并發(fā)控制,,可有效地對數(shù)據(jù)進(jìn)行存取、查詢等共享操作,,同時(shí)借助于數(shù)據(jù)庫所具有的安全性檢驗(yàn),、完整性檢查等多種安全措施,可確保系統(tǒng)具有較好的整體性能,。為此,,本文提出了應(yīng)用嵌入式數(shù)據(jù)庫對磨削加工主動測量控制系統(tǒng)中的數(shù)據(jù)進(jìn)行管理的方案。
1 嵌入式數(shù)據(jù)庫方案設(shè)計(jì)
    嵌入式數(shù)據(jù)庫是一種具備了基本數(shù)據(jù)庫特性的數(shù)據(jù)文件,,通常是與嵌入式操作系統(tǒng)及具體的應(yīng)用集成在一起,,無需獨(dú)立運(yùn)行數(shù)據(jù)庫引擎,由程序直接調(diào)用相應(yīng)的API就可實(shí)現(xiàn)對數(shù)據(jù)的存取操作,。WinCE系統(tǒng)下比較常用的兩種嵌入式數(shù)據(jù)庫SQLite與SQLCE的存取性能對比結(jié)果如圖2,、圖3所示,。

    圖2是向兩種數(shù)據(jù)庫中插入數(shù)據(jù)時(shí)的速度對比測試。測試時(shí)分別向兩種數(shù)據(jù)庫中插入了5 000條數(shù)據(jù),,經(jīng)過多次測試,,測得SQLite插入5 000條數(shù)據(jù)的用時(shí)在4 500 ms~5 000 ms范圍,而SQLCE在23 000 ms~25 000 ms范圍,,這里給出了其中一次測試的結(jié)果,。圖3給出了在兩種數(shù)據(jù)庫中對tabel2、tabel3表進(jìn)行聯(lián)合查詢時(shí)的速度對比測試結(jié)果,,測試之前向每個(gè)數(shù)據(jù)庫的tabel2,,tabel3表中都插入了25 000條數(shù)據(jù)。通過對比結(jié)果可以看出,,WinCE系統(tǒng)下SQLite存取數(shù)據(jù)的速度是SQLCE的4~5倍,。磨削加工主動測量儀是一種在線、實(shí)時(shí),、動態(tài)檢測的高精度測量控制儀器,,對數(shù)據(jù)存取和處理的速度要求較高,因此系統(tǒng)選用SQLite構(gòu)建一個(gè)小型的嵌入式數(shù)據(jù)庫管理系統(tǒng)來對數(shù)據(jù)進(jìn)行管理,。
2 主動測量儀的數(shù)據(jù)庫結(jié)構(gòu)
    磨削加工主動測量儀軟件系統(tǒng)包括測量,、設(shè)置和調(diào)整3個(gè)功能模塊。測量模塊主要用于測量數(shù)據(jù)處理以及處理結(jié)果的實(shí)時(shí)顯示,;設(shè)置模塊負(fù)責(zé)系統(tǒng)大量測量參數(shù)的設(shè)定,;調(diào)整模塊根據(jù)實(shí)際情況對設(shè)定的參數(shù)進(jìn)行微調(diào),以滿足系統(tǒng)需要,?;赪inCE操作系統(tǒng)和SQLite數(shù)據(jù)庫構(gòu)建的磨削加工主動測量儀軟件系統(tǒng)結(jié)構(gòu)如圖4所示。

    為了滿足磨削加工現(xiàn)場對主動測量儀的不同需求,,嵌入式磨削加工主動測量控制系統(tǒng)的功能應(yīng)包括對加工工件尺寸電感信號的采集,、處理和顯示,以及對機(jī)床進(jìn)給機(jī)構(gòu)的控制,。為了避免因采用一個(gè)數(shù)據(jù)文件存儲所有的數(shù)據(jù)信息而造成數(shù)據(jù)存取速度上的減慢,,系統(tǒng)采用分割文件的形式來存放各部分?jǐn)?shù)據(jù),通過對數(shù)據(jù)庫中相應(yīng)數(shù)據(jù)表的操作完成各部分?jǐn)?shù)據(jù)的實(shí)時(shí)存取和處理,。部分?jǐn)?shù)據(jù)表的主要結(jié)構(gòu)如表1,、表2所示。


    系統(tǒng)開機(jī)后查詢上次關(guān)機(jī)時(shí)數(shù)據(jù)采集表內(nèi)存儲的數(shù)據(jù),,通過“GJLX”,、“CTS”等字段的數(shù)據(jù)控制相應(yīng)測頭對工件尺寸電感信號進(jìn)行采集。測量模塊下調(diào)用數(shù)據(jù)處理函數(shù)并結(jié)合數(shù)據(jù)處理表內(nèi)相關(guān)測量參數(shù)對采樣數(shù)據(jù)進(jìn)行處理,,并將數(shù)據(jù)處理結(jié)果實(shí)時(shí)地顯示在測量界面上,。根據(jù)功能要求,,通過設(shè)置、調(diào)整模塊對數(shù)據(jù)處理表各項(xiàng)測量參數(shù)進(jìn)行修改,、設(shè)定,。
3 主動測量儀數(shù)據(jù)庫的設(shè)計(jì)
    SQLite是一款輕量的、開源的,、遵守ACID的關(guān)系型數(shù)據(jù)庫,。SQLite與傳統(tǒng)數(shù)據(jù)庫相比,其系統(tǒng)開銷小,,底層控制能力強(qiáng),,具有更好的實(shí)時(shí)性。SQLite能夠高效地利用嵌入式系統(tǒng)的有限資源,,提高數(shù)據(jù)的存取速度,,增強(qiáng)系統(tǒng)的安全性。
    主動測量儀中對數(shù)據(jù)庫的主要操作如下,。
    (1)打開數(shù)據(jù)庫
    string connStr="datasource="+ DbName +" ";
    SQLiteConnection  conn=new  SQLiteConnection(connStr);
    conn.Open();
    (2)執(zhí)行SQL
    string sql=" ";
    SQLiteCommand  cmd=new  SQLiteCommand(sql,,conn);
    SQLiteDataReader  reader=cmd.ExecuteReader();
    reader.Read();
    (3)關(guān)閉數(shù)據(jù)庫
    conn.close();
3.1 測量模塊數(shù)據(jù)庫操作
    軟件系統(tǒng)測量模塊應(yīng)用WinCE系統(tǒng)下的多線程技術(shù)實(shí)現(xiàn)前臺界面顯示、操作與后臺數(shù)據(jù)處理的并發(fā)執(zhí)行,,同時(shí)根據(jù)需要將能夠反映加工過程的各信號控制點(diǎn)間數(shù)據(jù)實(shí)時(shí)地存入公共的數(shù)據(jù)緩沖區(qū),,并通過數(shù)據(jù)保存函數(shù)將公共緩沖區(qū)的數(shù)據(jù)存儲到嵌入式數(shù)據(jù)庫SQLite 中,方便用戶查看加工過程的歷史曲線,。子線程創(chuàng)建過程為:
    Thread th=new Thread(DoWork);//創(chuàng)建線程
    th.IsBackground = true; //定義為后臺線程
    th.Start();//啟動線程
其中子線程DoWork方法內(nèi)完成采樣數(shù)據(jù)的處理與實(shí)時(shí)存儲,而主線程負(fù)責(zé)整個(gè)用戶界面的顯示與操作,。
    同時(shí),,為了防止向數(shù)據(jù)處理表table2中插入數(shù)據(jù)時(shí)因數(shù)據(jù)采集表table1中沒有相應(yīng)的工件類型記錄而導(dǎo)致系統(tǒng)功能出錯(cuò),創(chuàng)建數(shù)據(jù)庫時(shí)需要在table1和table2這兩個(gè)表之間強(qiáng)制實(shí)施一個(gè)外鍵約束,。這樣當(dāng)企圖往table2表中插入一行table1中無對應(yīng)數(shù)據(jù)的記錄時(shí)就會失敗,,此時(shí)系統(tǒng)會給出提示,阻止用戶進(jìn)行錯(cuò)誤的操作,。實(shí)現(xiàn)過程為:
    CREATE TABLE table1(id INTEGER PRIMARY KEY,,……);
    CREATE TABLE table2(id INTEGER,F(xiàn)OREIGN KEY(GJLX) REFERENCES table1(id));
3.2 設(shè)置,、調(diào)整模塊數(shù)據(jù)庫操作
    在磨削加工主動測量儀的工作過程中經(jīng)常需要通過設(shè)置,、調(diào)整功能模塊對各項(xiàng)測量參數(shù)進(jìn)行修改、設(shè)定并將這些數(shù)據(jù)實(shí)時(shí)地存儲到數(shù)據(jù)庫中,。為了避免代碼重用,,可以通過向數(shù)據(jù)訪問層同一程序模塊傳遞不同參數(shù)進(jìn)行相關(guān)數(shù)據(jù)操作的區(qū)分。下面以系統(tǒng)工件定義模塊中對不同類型工件相應(yīng)測量項(xiàng)目類型的設(shè)置為例來說明對數(shù)據(jù)庫操作的具體過程,。設(shè)置功能模塊下工件定義界面如圖5所示,。

 

 

    系統(tǒng)可以實(shí)現(xiàn)對6種類型工件磨削加工過程的主動測量控制,。對相應(yīng)類型工件的某一項(xiàng)目類型進(jìn)行修改后,點(diǎn)擊確定按鈕調(diào)用數(shù)據(jù)訪問層同一個(gè)update函數(shù),,通過傳遞不同的_GJ,、id參數(shù)值實(shí)現(xiàn)對不同項(xiàng)目類型的實(shí)時(shí)存儲。如:對“工件B”的項(xiàng)目1類型進(jìn)行修改后點(diǎn)擊確定按鈕調(diào)用update(“內(nèi)徑”,,“工件B”,,1),而對“工件A”的項(xiàng)目2類型進(jìn)行修改后點(diǎn)擊確定按鈕調(diào)用update(“外徑”,,“工件A”,,2),并實(shí)時(shí)更新數(shù)據(jù)庫相應(yīng)記錄,。update函數(shù)部分代碼如下:
public void update(string _str,string _GJ,int id)
    {
    //創(chuàng)建數(shù)據(jù)庫連接函數(shù)
    switch (id)
    {
    case 1:sql="update formula set XMLX1='" + _str +
"'where GJ='" + _GJ + "'"; break;
    case 2:sql="update formula set XMLX2='" + _str +
"'where GJ='" + _GJ + "'"; break;
      ……
    default: break;
    }
    //執(zhí)行相應(yīng)sql語句對相應(yīng)參數(shù)進(jìn)行設(shè)置
}

     從圖6可以看出,,磨削完成后工件尺寸的加工余量與預(yù)先設(shè)定的到尺寸值近似相等,其中誤差是由零位尺寸與零位電壓間轉(zhuǎn)換引起的,。因此,,磨削加工主動測量儀能夠按照要求將數(shù)據(jù)處理結(jié)果實(shí)時(shí)地存儲到數(shù)據(jù)庫中,滿足了磨削加工主動測量儀對數(shù)據(jù)存取的實(shí)時(shí)性與一致性要求,,驗(yàn)證了方案的可行性,。
    本文利用嵌入式SQLite數(shù)據(jù)庫體積小、處理速度快的優(yōu)勢,,應(yīng)用SQLite對嵌入式磨削加工主動測量控制系統(tǒng)中的大量數(shù)據(jù)進(jìn)行管理,,給出了Visual Studio 2008集成開發(fā)環(huán)境中嵌入磨削加工主動測量儀數(shù)據(jù)庫管理系統(tǒng)的具體實(shí)現(xiàn)過程,為基于WinCE的磨削加工主動測量控制系統(tǒng)的開發(fā)提供了技術(shù)支持,,對嵌入式磨削加工主動測量儀的進(jìn)一步發(fā)展具有重要意義,。
參考文獻(xiàn)
[1] 王鴻偉.磨加工過程中的主動測量儀[J].軸承,2004(4):32-34.
[2] 郭寒軍.嵌入式智能主動測量儀的研究與開發(fā)[D].無錫:江南大學(xué),,2008.
[3] 周東升,,吳彬彬.基于WinCE的嵌入式數(shù)據(jù)庫研究[J].軟件導(dǎo)刊,2011,,10(4):154-156.
[4] 韓善鋒,,曹鳳海,易昌華.SQLite數(shù)據(jù)庫在嵌入式程序開發(fā)中的應(yīng)用[J].物探裝備,,2011,,21(3):170-173,178.
[5] 蔣晶,,郝繼飛,,于平.SQLite在嵌入式系統(tǒng)Wince中的應(yīng)用[J].微型機(jī)與應(yīng)用,2011,30(14):82-83.
[6] 王小科,,徐薇.C#從入門到精通[M].北京:清華大學(xué)出版社,,2010.
[7] 尹麗娜,汪琦.基于嵌入式數(shù)據(jù)庫SQLITE的采煤機(jī)智能監(jiān)控系統(tǒng)[J].煤礦機(jī)械,,2011,,32(12):243-244.
[8] 葉子,許家昌.嵌入式WinCE多線程編程研究與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,,2010(01):45-46.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。