《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式磨削加工主動測量儀數據管理技術研究
嵌入式磨削加工主動測量儀數據管理技術研究
來源:電子技術應用2013年第8期
祁繼超,張琳娜,鄭 鵬,趙鳳霞
鄭州大學 機械工程學院,河南 鄭州450001
摘要: 針對嵌入式磨削加工主動測量控制系統(tǒng)的功能要求,提出了應用數據庫對系統(tǒng)中大量數據進行管理的方案。對WinCE系統(tǒng)下常用嵌入式數據庫的存取性能做了對比測試,并最終確定選用SQLite數據庫進行數據管理。結合SQLite數據庫在磨削加工主動測量控制系統(tǒng)中的應用,給出了磨削加工主動測量儀的數據庫結構及其在Visual Studio 2008集成開發(fā)環(huán)境中的實現(xiàn)過程。研究結果表明,此方案的設計能夠滿足磨削加工主動測量儀對數據存取的實時性與一致性需求,對于磨削加工主動測量儀的研究和發(fā)展有著重要意義。
中圖分類號: TH705
文獻標識碼: 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è)技術現(xiàn)代化的不斷發(fā)展,工業(yè)生產對設備的加工精度、加工效率和穩(wěn)定性提出了更高的要求,磨削加工擔負著零件精密表面的最終加工工序,其精度對機械產品的質量有著直接影響。主動測量技術在磨削加工過程中的應用能夠改善傳統(tǒng)的磨削加工產品一致性差、質量不穩(wěn)定、加工效率低等缺點,滿足人們對產品高精度、高品質、高一致性的需求。隨著嵌入式系統(tǒng)硬件平臺的日趨強大及其相對于工控板低成本、低功耗的優(yōu)勢,基于嵌入式的磨削加工主動測量儀的競爭優(yōu)勢日益明顯,擁有良好的市場前景。為此在對現(xiàn)有磨床主動測量儀的理論與應用進行深入研究的基礎上,開發(fā)了基于WinCE的嵌入式多功能磨削加工主動測量控制系統(tǒng),系統(tǒng)結構如圖1所示。

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

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

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


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

 

 

    系統(tǒng)可以實現(xiàn)對6種類型工件磨削加工過程的主動測量控制。對相應類型工件的某一項目類型進行修改后,點擊確定按鈕調用數據訪問層同一個update函數,通過傳遞不同的_GJ、id參數值實現(xiàn)對不同項目類型的實時存儲。如:對“工件B”的項目1類型進行修改后點擊確定按鈕調用update(“內徑”,“工件B”,1),而對“工件A”的項目2類型進行修改后點擊確定按鈕調用update(“外徑”,“工件A”,2),并實時更新數據庫相應記錄。update函數部分代碼如下:
public void update(string _str,string _GJ,int id)
    {
    //創(chuàng)建數據庫連接函數
    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í)行相應sql語句對相應參數進行設置
}

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

此內容為AET網站原創(chuàng),未經授權禁止轉載。