APP下载

基于贴片机元件数据库的设计与实现

2015-02-27黄世飞刘秋红郑建英柴鑫彤

电子设计工程 2015年23期
关键词:元件数据库模块

黄世飞,刘秋红,郑建英,柴鑫彤

(1.渤海大学 工学院,辽宁 锦州 121013;2.哈尔滨工业大学 航天学院,黑龙江 哈尔滨150006)

基于贴片机元件数据库的设计与实现

黄世飞1,刘秋红2,郑建英1,柴鑫彤1

(1.渤海大学 工学院,辽宁 锦州 121013;2.哈尔滨工业大学 航天学院,黑龙江 哈尔滨150006)

为了解决单臂式高速贴片机的元件数据库数据量大,数据库设计不合理会影响贴片效率的问题,通过对元件数据的分类表进行多层封装,实现从Access数据库中快速获取数据。基于贴片机元件数据库的框架,定义元件数据模块与贴片机生产过程、日志管理等模块之间的结构关系,实现元件数据库的分类。在元件数据库分类设计中,利用python语言实现数据库代码自动生成ORM(Object Relational Mapping)的C++类。实验证明,该设计能够从Access中快速而且稳定的获取数据。

贴片机;ADO;Access数据库;MFC;数据库设计

随着电子技术的发展和表面贴装技术 (Surface Mount Technology,SMT)在实际生产过程中应用的越来越广泛,如何提高贴片机的贴装效率[1-5]变的越来越重要。其中贴片机数据是提高贴装效率的重要一环。贴片机数据主要包括以下几部分:1)贴片数据;2)元件数据;3)拾取数据;4)电路数据等[6-10]。

对于实际生产学习中,Access数据库以其简单,实用的特点使得它越来越受到人们的青睐。作为Access数据库的重要组成部分:表,它是数据的载体,数据库操作中的查找,删除,新增等操作都是对表进行操作的[11-12]。在所有数据中,由于元件数据量大,而且元件数据对贴装效率的提高意义重大。所以设计一种效率更高,稳定性更好的元件数据库很重要[4-5]。本设计采用MFC做界面层,数据库驱动采用了对ADO结合SQL语句的多层封装,以提高驱动层的可扩展性。

1 贴片机总体框架的设计

1.1 软件的总体架构

本软件的总体架构(见图1)。表示层代表界面显示,采用MFC制作界面。业务逻辑层包含过程控制以及上层数据库驱动,数据库层封装了数据库驱动,采用了多层封装以实现对数据的快速操作。同时对应的还有日志管理系统,对应着日志文件。驱动层对应于底层的硬件驱动,用来驱动贴片机的硬件。

图1 软件的总体架构Fig.1 The overall architecture of the software

1.2 元件数据与贴片机其他软件模块关系

对于元件数据与贴片机其他模块间的关系(图2)中所示,高速高精密贴片机中的元件数据会由数据库文件读入贴片机软件总控模块,总控模块会根据用户操作,将元件数据进行显示、操作,然后将其进行优化整合,变成满足生产要求的数据,

将其传递到生产流程模块,有生产流程模块将数据进一步整理成贴装指令,最后传递给运动控制模块进行元件贴装,在整个过程中,数据库日志管理模块会对元件数据库的信息进行跟踪并记录在日志文件中。

图2 元件数据库设计Fig.2 Design of component database

2 元件数据库设计

2.1 元件数据库E-R图

文中对贴片机元件数据库的E-R图(见图3)。通过MFC界面中对应的元件名,在Access数据库中查找元件的属类对应属类数据库得到元件的对应属类信息。元件对应关系表与元件表对应关系数据库通过元件属类关系相互关联。元件表对应关系数据库通过元件对应表与元件的对应数据库相联系。

图3 E-R图Fig.3 E-R figure

2.2 元件数据的分类

对于常见电子元件,本论文中根据元件不同属性以及相同属性划分成5大类:CHIP,LL,BGA,FLIPCHIP,TR.每种类型的元件可以继续再分,元件分类图见(图4)。针对不同的电子元件,它们都具有光源亮度,相机种类等视觉公共信息,同时对应于每个元件还有些相应的拾取数据以及贴装延时、动作延时等与元件生产时候相关的数据。这些存放在表:PROFILE_COMMON_DATA_DET中。针对不同的元件也有一些共有的属性,例如对准Z高度,领域补偿,公差,重复角度等,这些信息是所有元件的共有信息,故为了调用的方便,需要 把 这 些信息存放 在 一 个 特 定 的 表 :VISION_COMMON_DATA_DET中,对于每个不同的元件,它还有自己特定的数据,故针对元件的不同,设计不同的与之相对应的表。

图4 元件数据的分类Fig.4 Classification of component data

由于元件数据很多,本论文介绍 CHIP型元件中的Chip-Rect类元件,其他元件同理。对于Chip-Rect类型元件,由于它属于CHIP型,由于CHIP型元件的特征相似,故把它的特有元件信息统一封装在VISION_CHIP_WHOLE_DET表中,对于Chip-Rect类型元件,它的特征信息很多,因此本论文只列举部分属性如图5所示,Chip-Rect类型的元件包含本体X,本体Y,引脚长度,引脚宽度等属性。对于Chip-Rect类型的元件与其他元件的共有属性封装在表PROFILE_COMMON_DATA_DET(元件生产过程中对应的属性)和VISION_COMMON_DATA_DET(元件的共有信息)中。

2.3 元件数据库的封装

2.3.1 元件数据库封装介绍

元件数据中数据格式种类很多,为了便于操作,因此接口层统一封装成标准的c++字符串类型。由于元件对应个的共有信息存放在PROFILE_COMMON_DATA_DET(元件生产过程中对应的属性)和VISION_COMMON_DATA_DET(元件的共

有信息)中,不同元件按照属类不同存放在相应的表中,基于这个特点可以采用python语言来自动生成元件的读写内存操作。为了能够更好的管理Access中的数据,数据库添加了两表:SYS_PART_GROUP_Map(元件属类对应表)和SYS_PART_TABLE_Map(元件组与表的映射关系表)。通过这两个表,能够更好的调用数据。

图5 CHIP型数据封装Fig.5 The package of.CHIP data

2.3.2 驱动层

第一层采用的是微软提供的ADO结合SQL语句连接Access。并采用c++代码把它封装在相应的函数中,实现第一层的连接、断开数据库,以及对单个表的操作的封装。

2.3.3 连接层

第二层实现的是对大量数据的操作,同时操作多个表,调用的是第一层的封装函数。

2.3.4 数据转换层

第三层调用的是第二层的函数用来进行数据格式转换,把数据统一转换成标准的c++字符串类型,然后写到内存中。

2.3.5 应用层

设计了元件数据库的管理类,图6中列举了元件数据库的通过元件数据库的管理类实现对元件数据的各种内存操作。

图6 元件数据管理类Fig.6 Class of component database management

本论文主要讨论CHIP型元件,故图6中除封装了数据库的基本操作之外只封装获取CHIP元件数据的操作。数据库的基本操作有:

1)加载Access中的元件数据到内存方法:LoadPart();

2)删除数据库无效的元件数据记录的方法:DeletePart();

3)把内存中的元件数据更新到Access数据库的方法UpdatePart();

4)创建新的元件数据到Access对应元件数据库表中的方法:InsertPart();

通过数据库的基本操作结合对CHIP型元件接口的调用来实现在界面上操作Access数据库。

3 实验

3.1 实验平台

本论文实验平台是:英特尔奔腾处理器;主频:3GHz;内存:4G;win7下32位操作系统;

3.2 实验结果

本实验针对CHIP型元件中的Chip-Rect类型元件进行相关的数据库操作。第一列表示的是元件是否按照不同特征进行了相应的分类,第一行表示的是元件数据库基本操作,包括查找,删除,新增,更新。

表内的数据是实验多次,然后对多次所产生的实验结果利用式(1)来求平均:

分别对分类前和分类后进行数据库4种基本操作,把相应操作时间利用公式(1)求平均的到的结果见表1所示,通过对比可以看出对元件分类后,数据的访问效率提高显著,由此可以看出数据库[13-14]的多层设计可以明显提高访问数据的效率。

表1 元件数据库.多层设计实验结果Tab.1 1 Test result of Multilayer design of component database

4 结论

本论文主要讨论Access数据库在贴片机元件部分的应用以及对数据库驱动的封装。采用Access数据库好处很多,第一,有可视化的用户界面方便用户查阅;第二,对于数据量不是很大的情况下,采用Access数据库部署起来方便;第三,使用Access数据库结合微软提供的ADO工具能够很方便封装数据库驱动。通过表 1可以看出,采用按元件特性分类的方法可以很好的提高元件数据的操作效率,通过这样分类设计能够实现元件数据的系统化管理,而且具有很好的扩展性。本论文数据库设计已在在贴片机软件上调试,而且已经达到了预期的目标。实现了不错的效果。

[1]王君,罗家祥,胡跃明.基于改进蚁群算法的贴片机贴装过程优化[J].计算机工程,2011(14):256-258.

[2]杜轩,李宗斌,贾晓晨.基于遗传算法的复合式贴片机贴装过程优化[J].西安交通大学学报,2009(5):80-84.

[3]曾又姣,金烨.基于遗传算法的贴片机贴装顺序优化[J].计算机集成制造系统-CIMS,2004(2):205-208.

[4]陈铁梅,罗家祥,胡跃明.基于蚁群-混合蛙跳算法的贴片机贴装顺序优化[J].控制理论与应用,2011(12):1813-1820.

[5]陈铁梅,罗家祥.禁忌搜索-混合蛙跳算法的贴片机优化[J].计算机工程与应用,2011(26):14-17,20.

[6]刘燕,吴析生,陈安,等.多功能贴片机系统管理软件设计及实现[J].制造业自动化,2013,35(2):120-123.

[7]胡以静,胡跃明,吴析生.高速高精度贴片机贴装效率优化方法[J].电子工艺技术,2006,27(4):191-196.

[8]汤雄,肖曙红,田甜.高速高效贴片机控制系统设计与实现[J].机械与电子,2013(7):44-47.

[9]魏云峰.贴片机控制系统底层软件模块与上层软件设计[D].苏州大学,2011.

[10]鲜飞.贴片机现状及发展趋势[J].电子工业专用设备,2007 (148):3-9.

[11]赵鹏宇.ACCESS数据库应用开发特色及方法[J].信息系统工程,2014(5):19.

[12]王井阳,周万珍,高鸿斌,等.一种访问Access数据库中大数据对象的有效方法[J].计算机与网络,2003(9):54-55,59.

[13]齐志敏,曹平宽.CFD软件验证确认数据库系统的建设研究[J].电子科技,2014(6):153-155.

[14]刘静.数据挖掘技术在教务管理实践中的应用研究[J].电子设计工程,2014(24):1-3.

图5 两个干扰频点滤除前后星座图Fig.5 The constellation map before and after filtering when one disturbance frequency exists

3 结论

文中分析了干扰信号对MB-OFDM-UWB系统误码性能的影响,并且针对频点范围确定的干扰信号提出了一种自适应干扰对消滤波算法。经过仿真证明该算法对干扰信号起到良好的抑制作用,效果显著。因此,本文为MB-OFDM-UWB系统中干扰信号的抑制提供了一种有效的方法。

参考文献:

[1]周冉.MB-OFDM-UWB无线通信系统的仿真研究 [D].南京:南京信息工程大学,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)及其矩阵表现形[J].计算数学,1992(3):287-298.

[6]丁玉美,阔永红,高新波.数字信号处理——时域离散随机信号处理[M].西安:西安电子科技大学出版社,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—),男,河南信阳人,硕士研究生。研究方向:智能控制,计算机控制。

猜你喜欢

元件数据库模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
数据库
数据库
QFN元件的返工指南
数据库
数据库
在新兴产业看小元件如何发挥大作用
宝马i3高电压元件介绍(上)
Cu4簇合物“元件组装”合成及其结构与电催化作用