黃世飛,劉秋紅,鄭建英,柴鑫彤
(1.渤海大學(xué) 工學(xué)院,遼寧 錦州 121013;2.哈爾濱工業(yè)大學(xué) 航天學(xué)院,黑龍江 哈爾濱150006)
基于貼片機元件數(shù)據(jù)庫的設(shè)計與實現(xiàn)
黃世飛1,劉秋紅2,鄭建英1,柴鑫彤1
(1.渤海大學(xué) 工學(xué)院,遼寧 錦州 121013;2.哈爾濱工業(yè)大學(xué) 航天學(xué)院,黑龍江 哈爾濱150006)
為了解決單臂式高速貼片機的元件數(shù)據(jù)庫數(shù)據(jù)量大,數(shù)據(jù)庫設(shè)計不合理會影響貼片效率的問題,通過對元件數(shù)據(jù)的分類表進行多層封裝,實現(xiàn)從Access數(shù)據(jù)庫中快速獲取數(shù)據(jù)?;谫N片機元件數(shù)據(jù)庫的框架,定義元件數(shù)據(jù)模塊與貼片機生產(chǎn)過程、日志管理等模塊之間的結(jié)構(gòu)關(guān)系,實現(xiàn)元件數(shù)據(jù)庫的分類。在元件數(shù)據(jù)庫分類設(shè)計中,利用python語言實現(xiàn)數(shù)據(jù)庫代碼自動生成ORM(Object Relational Mapping)的C++類。實驗證明,該設(shè)計能夠從Access中快速而且穩(wěn)定的獲取數(shù)據(jù)。
貼片機;ADO;Access數(shù)據(jù)庫;MFC;數(shù)據(jù)庫設(shè)計
隨著電子技術(shù)的發(fā)展和表面貼裝技術(shù) (Surface Mount Technology,SMT)在實際生產(chǎn)過程中應(yīng)用的越來越廣泛,如何提高貼片機的貼裝效率[1-5]變的越來越重要。其中貼片機數(shù)據(jù)是提高貼裝效率的重要一環(huán)。貼片機數(shù)據(jù)主要包括以下幾部分:1)貼片數(shù)據(jù);2)元件數(shù)據(jù);3)拾取數(shù)據(jù);4)電路數(shù)據(jù)等[6-10]。
對于實際生產(chǎn)學(xué)習(xí)中,Access數(shù)據(jù)庫以其簡單,實用的特點使得它越來越受到人們的青睞。作為Access數(shù)據(jù)庫的重要組成部分:表,它是數(shù)據(jù)的載體,數(shù)據(jù)庫操作中的查找,刪除,新增等操作都是對表進行操作的[11-12]。在所有數(shù)據(jù)中,由于元件數(shù)據(jù)量大,而且元件數(shù)據(jù)對貼裝效率的提高意義重大。所以設(shè)計一種效率更高,穩(wěn)定性更好的元件數(shù)據(jù)庫很重要[4-5]。本設(shè)計采用MFC做界面層,數(shù)據(jù)庫驅(qū)動采用了對ADO結(jié)合SQL語句的多層封裝,以提高驅(qū)動層的可擴展性。
1.1 軟件的總體架構(gòu)
本軟件的總體架構(gòu)(見圖1)。表示層代表界面顯示,采用MFC制作界面。業(yè)務(wù)邏輯層包含過程控制以及上層數(shù)據(jù)庫驅(qū)動,數(shù)據(jù)庫層封裝了數(shù)據(jù)庫驅(qū)動,采用了多層封裝以實現(xiàn)對數(shù)據(jù)的快速操作。同時對應(yīng)的還有日志管理系統(tǒng),對應(yīng)著日志文件。驅(qū)動層對應(yīng)于底層的硬件驅(qū)動,用來驅(qū)動貼片機的硬件。
圖1 軟件的總體架構(gòu)Fig.1 The overall architecture of the software
1.2 元件數(shù)據(jù)與貼片機其他軟件模塊關(guān)系
對于元件數(shù)據(jù)與貼片機其他模塊間的關(guān)系(圖2)中所示,高速高精密貼片機中的元件數(shù)據(jù)會由數(shù)據(jù)庫文件讀入貼片機軟件總控模塊,總控模塊會根據(jù)用戶操作,將元件數(shù)據(jù)進行顯示、操作,然后將其進行優(yōu)化整合,變成滿足生產(chǎn)要求的數(shù)據(jù),
將其傳遞到生產(chǎn)流程模塊,有生產(chǎn)流程模塊將數(shù)據(jù)進一步整理成貼裝指令,最后傳遞給運動控制模塊進行元件貼裝,在整個過程中,數(shù)據(jù)庫日志管理模塊會對元件數(shù)據(jù)庫的信息進行跟蹤并記錄在日志文件中。
圖2 元件數(shù)據(jù)庫設(shè)計Fig.2 Design of component database
2.1 元件數(shù)據(jù)庫E-R圖
文中對貼片機元件數(shù)據(jù)庫的E-R圖(見圖3)。通過MFC界面中對應(yīng)的元件名,在Access數(shù)據(jù)庫中查找元件的屬類對應(yīng)屬類數(shù)據(jù)庫得到元件的對應(yīng)屬類信息。元件對應(yīng)關(guān)系表與元件表對應(yīng)關(guān)系數(shù)據(jù)庫通過元件屬類關(guān)系相互關(guān)聯(lián)。元件表對應(yīng)關(guān)系數(shù)據(jù)庫通過元件對應(yīng)表與元件的對應(yīng)數(shù)據(jù)庫相聯(lián)系。
圖3 E-R圖Fig.3 E-R figure
2.2 元件數(shù)據(jù)的分類
對于常見電子元件,本論文中根據(jù)元件不同屬性以及相同屬性劃分成5大類:CHIP,LL,BGA,FLIPCHIP,TR.每種類型的元件可以繼續(xù)再分,元件分類圖見(圖4)。針對不同的電子元件,它們都具有光源亮度,相機種類等視覺公共信息,同時對應(yīng)于每個元件還有些相應(yīng)的拾取數(shù)據(jù)以及貼裝延時、動作延時等與元件生產(chǎn)時候相關(guān)的數(shù)據(jù)。這些存放在表:PROFILE_COMMON_DATA_DET中。針對不同的元件也有一些共有的屬性,例如對準(zhǔn)Z高度,領(lǐng)域補償,公差,重復(fù)角度等,這些信息是所有元件的共有信息,故為了調(diào)用的方便,需要 把 這 些信息存放 在 一 個 特 定 的 表 :VISION_COMMON_DATA_DET中,對于每個不同的元件,它還有自己特定的數(shù)據(jù),故針對元件的不同,設(shè)計不同的與之相對應(yīng)的表。
圖4 元件數(shù)據(jù)的分類Fig.4 Classification of component data
由于元件數(shù)據(jù)很多,本論文介紹 CHIP型元件中的Chip-Rect類元件,其他元件同理。對于Chip-Rect類型元件,由于它屬于CHIP型,由于CHIP型元件的特征相似,故把它的特有元件信息統(tǒng)一封裝在VISION_CHIP_WHOLE_DET表中,對于Chip-Rect類型元件,它的特征信息很多,因此本論文只列舉部分屬性如圖5所示,Chip-Rect類型的元件包含本體X,本體Y,引腳長度,引腳寬度等屬性。對于Chip-Rect類型的元件與其他元件的共有屬性封裝在表PROFILE_COMMON_DATA_DET(元件生產(chǎn)過程中對應(yīng)的屬性)和VISION_COMMON_DATA_DET(元件的共有信息)中。
2.3 元件數(shù)據(jù)庫的封裝
2.3.1 元件數(shù)據(jù)庫封裝介紹
元件數(shù)據(jù)中數(shù)據(jù)格式種類很多,為了便于操作,因此接口層統(tǒng)一封裝成標(biāo)準(zhǔn)的c++字符串類型。由于元件對應(yīng)個的共有信息存放在PROFILE_COMMON_DATA_DET(元件生產(chǎn)過程中對應(yīng)的屬性)和VISION_COMMON_DATA_DET(元件的共
有信息)中,不同元件按照屬類不同存放在相應(yīng)的表中,基于這個特點可以采用python語言來自動生成元件的讀寫內(nèi)存操作。為了能夠更好的管理Access中的數(shù)據(jù),數(shù)據(jù)庫添加了兩表:SYS_PART_GROUP_Map(元件屬類對應(yīng)表)和SYS_PART_TABLE_Map(元件組與表的映射關(guān)系表)。通過這兩個表,能夠更好的調(diào)用數(shù)據(jù)。
圖5 CHIP型數(shù)據(jù)封裝Fig.5 The package of.CHIP data
2.3.2 驅(qū)動層
第一層采用的是微軟提供的ADO結(jié)合SQL語句連接Access。并采用c++代碼把它封裝在相應(yīng)的函數(shù)中,實現(xiàn)第一層的連接、斷開數(shù)據(jù)庫,以及對單個表的操作的封裝。
2.3.3 連接層
第二層實現(xiàn)的是對大量數(shù)據(jù)的操作,同時操作多個表,調(diào)用的是第一層的封裝函數(shù)。
2.3.4 數(shù)據(jù)轉(zhuǎn)換層
第三層調(diào)用的是第二層的函數(shù)用來進行數(shù)據(jù)格式轉(zhuǎn)換,把數(shù)據(jù)統(tǒng)一轉(zhuǎn)換成標(biāo)準(zhǔn)的c++字符串類型,然后寫到內(nèi)存中。
2.3.5 應(yīng)用層
設(shè)計了元件數(shù)據(jù)庫的管理類,圖6中列舉了元件數(shù)據(jù)庫的通過元件數(shù)據(jù)庫的管理類實現(xiàn)對元件數(shù)據(jù)的各種內(nèi)存操作。
圖6 元件數(shù)據(jù)管理類Fig.6 Class of component database management
本論文主要討論CHIP型元件,故圖6中除封裝了數(shù)據(jù)庫的基本操作之外只封裝獲取CHIP元件數(shù)據(jù)的操作。數(shù)據(jù)庫的基本操作有:
1)加載Access中的元件數(shù)據(jù)到內(nèi)存方法:LoadPart();
2)刪除數(shù)據(jù)庫無效的元件數(shù)據(jù)記錄的方法:DeletePart();
3)把內(nèi)存中的元件數(shù)據(jù)更新到Access數(shù)據(jù)庫的方法UpdatePart();
4)創(chuàng)建新的元件數(shù)據(jù)到Access對應(yīng)元件數(shù)據(jù)庫表中的方法:InsertPart();
通過數(shù)據(jù)庫的基本操作結(jié)合對CHIP型元件接口的調(diào)用來實現(xiàn)在界面上操作Access數(shù)據(jù)庫。
3.1 實驗平臺
本論文實驗平臺是:英特爾奔騰處理器;主頻:3GHz;內(nèi)存:4G;win7下32位操作系統(tǒng);
3.2 實驗結(jié)果
本實驗針對CHIP型元件中的Chip-Rect類型元件進行相關(guān)的數(shù)據(jù)庫操作。第一列表示的是元件是否按照不同特征進行了相應(yīng)的分類,第一行表示的是元件數(shù)據(jù)庫基本操作,包括查找,刪除,新增,更新。
表內(nèi)的數(shù)據(jù)是實驗多次,然后對多次所產(chǎn)生的實驗結(jié)果利用式(1)來求平均:
分別對分類前和分類后進行數(shù)據(jù)庫4種基本操作,把相應(yīng)操作時間利用公式(1)求平均的到的結(jié)果見表1所示,通過對比可以看出對元件分類后,數(shù)據(jù)的訪問效率提高顯著,由此可以看出數(shù)據(jù)庫[13-14]的多層設(shè)計可以明顯提高訪問數(shù)據(jù)的效率。
表1 元件數(shù)據(jù)庫.多層設(shè)計實驗結(jié)果Tab.1 1 Test result of Multilayer design of component database
本論文主要討論Access數(shù)據(jù)庫在貼片機元件部分的應(yīng)用以及對數(shù)據(jù)庫驅(qū)動的封裝。采用Access數(shù)據(jù)庫好處很多,第一,有可視化的用戶界面方便用戶查閱;第二,對于數(shù)據(jù)量不是很大的情況下,采用Access數(shù)據(jù)庫部署起來方便;第三,使用Access數(shù)據(jù)庫結(jié)合微軟提供的ADO工具能夠很方便封裝數(shù)據(jù)庫驅(qū)動。通過表 1可以看出,采用按元件特性分類的方法可以很好的提高元件數(shù)據(jù)的操作效率,通過這樣分類設(shè)計能夠?qū)崿F(xiàn)元件數(shù)據(jù)的系統(tǒng)化管理,而且具有很好的擴展性。本論文數(shù)據(jù)庫設(shè)計已在在貼片機軟件上調(diào)試,而且已經(jīng)達到了預(yù)期的目標(biāo)。實現(xiàn)了不錯的效果。
[1]王君,羅家祥,胡躍明.基于改進蟻群算法的貼片機貼裝過程優(yōu)化[J].計算機工程,2011(14):256-258.
[2]杜軒,李宗斌,賈曉晨.基于遺傳算法的復(fù)合式貼片機貼裝過程優(yōu)化[J].西安交通大學(xué)學(xué)報,2009(5):80-84.
[3]曾又姣,金燁.基于遺傳算法的貼片機貼裝順序優(yōu)化[J].計算機集成制造系統(tǒng)-CIMS,2004(2):205-208.
[4]陳鐵梅,羅家祥,胡躍明.基于蟻群-混合蛙跳算法的貼片機貼裝順序優(yōu)化[J].控制理論與應(yīng)用,2011(12):1813-1820.
[5]陳鐵梅,羅家祥.禁忌搜索-混合蛙跳算法的貼片機優(yōu)化[J].計算機工程與應(yīng)用,2011(26):14-17,20.
[6]劉燕,吳析生,陳安,等.多功能貼片機系統(tǒng)管理軟件設(shè)計及實現(xiàn)[J].制造業(yè)自動化,2013,35(2):120-123.
[7]胡以靜,胡躍明,吳析生.高速高精度貼片機貼裝效率優(yōu)化方法[J].電子工藝技術(shù),2006,27(4):191-196.
[8]湯雄,肖曙紅,田甜.高速高效貼片機控制系統(tǒng)設(shè)計與實現(xiàn)[J].機械與電子,2013(7):44-47.
[9]魏云峰.貼片機控制系統(tǒng)底層軟件模塊與上層軟件設(shè)計[D].蘇州大學(xué),2011.
[10]鮮飛.貼片機現(xiàn)狀及發(fā)展趨勢[J].電子工業(yè)專用設(shè)備,2007 (148):3-9.
[11]趙鵬宇.ACCESS數(shù)據(jù)庫應(yīng)用開發(fā)特色及方法[J].信息系統(tǒng)工程,2014(5):19.
[12]王井陽,周萬珍,高鴻斌,等.一種訪問Access數(shù)據(jù)庫中大數(shù)據(jù)對象的有效方法[J].計算機與網(wǎng)絡(luò),2003(9):54-55,59.
[13]齊志敏,曹平寬.CFD軟件驗證確認(rèn)數(shù)據(jù)庫系統(tǒng)的建設(shè)研究[J].電子科技,2014(6):153-155.
[14]劉靜.數(shù)據(jù)挖掘技術(shù)在教務(wù)管理實踐中的應(yīng)用研究[J].電子設(shè)計工程,2014(24):1-3.
圖5 兩個干擾頻點濾除前后星座圖Fig.5 The constellation map before and after filtering when one disturbance frequency exists
文中分析了干擾信號對MB-OFDM-UWB系統(tǒng)誤碼性能的影響,并且針對頻點范圍確定的干擾信號提出了一種自適應(yīng)干擾對消濾波算法。經(jīng)過仿真證明該算法對干擾信號起到良好的抑制作用,效果顯著。因此,本文為MB-OFDM-UWB系統(tǒng)中干擾信號的抑制提供了一種有效的方法。
參考文獻:
[1]周冉.MB-OFDM-UWB無線通信系統(tǒng)的仿真研究 [D].南京:南京信息工程大學(xué),2008.
[2]Haipeng Fu,Deyun Cai,Danfeng Chen,et al.A sidebandsuppressed fast-hopping synthesizer for dual-carrier OFDM UWB transceivers[J].Analog Integrated Circuits and Signal Processing,2013,74(3):557-568.
[3]Jokin Segundo,Jesús Arias,Luis Quintanilla,et al.0.25nm CMOS parallel continuous-time ADC for OFDM UWB receivers[J].Microelectronics Journal,2012,43(4):288-297.
[4]Venkatesh C,Madheswaran M.Performance analysis of multiband OFDM system over ultra wide band channels using kalman filter[J].Wireless Personal Communications, 2013,68(3):1121-1134
[5]余品能.廣義離散傅里葉變換的模多項式分解算法(MPDA)及其矩陣表現(xiàn)形[J].計算數(shù)學(xué),1992(3):287-298.
[6]丁玉美,闊永紅,高新波.數(shù)字信號處理——時域離散隨機信號處理[M].西安:西安電子科技大學(xué)出版社,2002.
Design and implementation of SMT components based on database
HUANG Shi-fei1,LIU Qiu-hong2,ZHENG Jian-ying1,CHAI Xin-tong1
(1.The College of Engineering,Bohai University,Jingzhou 121013,China;2.School of Astronautics,Harbin Institute of Technology,Harbin 150006,China)
In order to solve the Single-Armed SMT's data is large,Unreasonable design will affect the placement efficiency,by the way of component database's multilayer package,fast data enquiry from the Access database is realized.This paper builds on the placement machine component database's framework,defines the relation between the component data and other modules of placement machine,such as SMT produce process model,motor control model,log management module and so on.It also realizes the classification of component database.In the multilayer database design,it uses the Python language to achieve automatic generation of Object Relational Mapping C++language.The experiment proved data can be obtained fast.And modules'close combination can improve the stability of the database.
surface mount technology;ADO;microsoft office access;MFC(Microsoft Foundation Classes);database design
TN602
:A
:1674-6236(2015)23-0056-04
2015-03-04稿件編號:201503062
黃世飛(1988—),男,河南信陽人,碩士研究生。研究方向:智能控制,計算機控制。