本站小编为你精心准备了贴片机控制系统的数据库设计参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
在贴片机系统中,由于元件、设备和PCB信息数据普遍具有高独立、分享性和相对稳定的结构,一般采取数据库存储的方法来进行管理;另外,PCB贴装步骤信息则与上述情况相反,它一般按名称访问,并且存储对象数目普遍不一致,所以要按照文件的方式来进行存储和管理[5]。
1.1构建E-R实体模型采用实体联系(E-R模型)来对数据库进行概念设计。实体联系模型的概念包含实体、属性和联系,其中实体指客观存在且能相互区别的事物,属性则描述了实体的特征,实体集之间的关联则称为联系[6]。图2为依据贴片机实体集联系而建立的简略版E-R图。由图可知,元件基本信息实体的属性不仅包括了贴片元件信息,而且还管理更细化的贴片信息。例如:贴片二极管信息、贴片集成电路芯片信息、贴片LED信息这几个贴片元件除了常用实体外还有更详细的元件属性,实现了对各个元件信息进行进一步的记录;此外,PCB基本信息实体,除了本体的信息外,还管理着元件信息、PCB板Mark点信息这两个实体信息,通过这三个实体来实现对PCB的信息化管理;供料器和吸嘴实体,也各自拥有自己的一般属性及相关信息,篇幅所限,这里就不赘述了,以上几个实体和联系共同工作,完成贴片机数据库的工作。
1.2数据库的3NF逻辑设计结合E—R模型,构造关系型数据库,进行贴片机数据库的逻辑设计。由于数据依赖关系,一般数据库会出现某种程度的更新异常以及数据冗余现象,设计范式越高,出现的概率就越少[7]。常见的数据依赖为多值依赖和函数依赖,它的关系属性相互制约与依赖,以关系属性间值的相等关系表现出来,是现实世界属性间相互关系的抽象[8]。假设L(U)为某关系模式,U为L属性集合,X、Y为U的子集。r为L(U)的任一可能的关系,若r中不存在两个元组且在Y上的属性值相不同,而在X上属性值相同,那么Y函数依赖于X,可记作X→Y;设一关系模式L(U)有αU、βU,若L(U)有函数依赖α→β,给定L(U)一个实例,存在P1[α]=P2[α],P1[β]=P2[β],且L(U)的任一合法实例满足函数依赖α→β的话,那么函数依赖在L(U)上恒成立。在以上基础上,又设R(M)为一个关系模式,M是R的属性集合,X、Y和Z是M的子集,存在Z=M-X-Y,若R中任一关系r,给定一对(X,Z)值,都有一组Y值对应,且这组值仅由X值决定,和Z值无关的话,那么可称Y多值依赖于X,记为X→→Y。结合以上数学推导,若某关系模式的属性皆为不可分的基本数据项,则称该关系模式满足第一范式,记为R∈1NF;在关系模型中,任一属性皆为不可分结构,如果其数据域以原子来比喻的话,域内元素则是不可再细分的单元,若属于1NF,则其任一属性都必须是原子;假如一关系模式所有非主属性皆完全依赖于R且R∈1NF,则R为第二范式,记为R∈2NF。R若为2NF,则R一定没有部分函数依赖且任一属性M皆满足M出现在一个候选码中,或M部分函数依赖于一个候选码;关系模式R(U,F)中若不存在候选码A、属性组B和非主属性C,CB,使得A→B、B→C、BA成立,则R∈3NF。若某关系模式R为3NF且存在函数依赖集F,则可推出对F闭包F+中每一个像α→β(αU且βU)的函数依赖至少满足以下三个关系之一:α为R一个超码;β-α中所有属性A皆包含在R某个候选码中;α→β为平凡函数依赖。
结合以上数学分析与推导,建立的贴片机数据库列表必须满足关系数据库的第三范式(3NF)要求,因为第三范式包含第一、第二范式关系,建立的列表若符合第三范式,那么就一定符合1NF和2NF。由贴片机的工作情况可知,贴片机数据库内存储的PCB信息至少需要包括以下几种信息:PCB名称、长度、宽度、厚度、PCB原点坐标、Mark点坐标。PCB原点坐标指的是机械坐标系中原点,贴装点坐标从PCB坐标系变换到机械坐标系就需要借用此信息;Mark点坐标存在两个Mark1、Mark2,这两个坐标在定位贴装过程中通过PCB板位置的偏移量修正,可实现精确定位,它们分别代表PCB板对角线上两个Mark点的机械坐标。此外,贴装过程中的震动误差,原始偏转角度等信息属性应包含在PCB信息存储中。设PCB名称属性为PCB信息表的主键,可用来唯一标识一个PCB板;若以原点坐标为一个属性,那么PCB表中的元件坐标列将会出现两个值,分别表示X方向坐标和Y方向坐标,这与1NF的定义相悖,故在PCB信息表中坐标需分成两列(MARK1坐标、MARK2坐标也应同样处理)。除名称属性外,PCB信息表内其他属性之间不能属于任何其他外表且不应该存在任何依赖关系。满足以上数学推导及创建列表的范式要求下,创建贴片机数据库PCB信息表:PCB名称,PCB长度,PCB宽度,PCB厚度,PCB原点X坐标,PCB原点Y坐标,MARK1X坐标,MARK1Y标,MARK2X坐标,MARK2Y坐标。其中PCB名称为主键,如图3所示。PCB信息表每列有且只有一个数据符合第一范式的要求,PK表示主键。创建的元件信息应包括两种信息:基本信息和详细信息。基本信息至少包括:元件名称、长、宽、高、元件种类、元件公差。由于多样性的元件种类,故需要记录的详细信息也不同,比如二极管型元件需要的信息:引脚数目、引脚长公差、引脚宽公差、引脚长、引脚宽、反光度、元件类型;集成芯片型元件信息有:引脚间距、反光度、元件类型、引脚数目、引脚长公差、引脚宽公差、引脚长、引脚宽。对于单个元件,上面列举的元件属性有且只有一个值,故符合1NF的要求。属性长、宽、引脚宽、元件类型,以及不同类型的详细信息皆依赖于元件名称,故以元件名称作为元件信息表的主键。若按照2NF的要求,将元件详细信息和基本信息都设计到一张表中,不同类型的元件因只使用相应的几个详细信息列而会造成数据冗余与更新异常[9]。鉴于以上情况,设计的表至少要满足3NF的要求,将元件信息表分为详细和基本信息表两种。元件基本信息表其属性为:元件名称、元件长、元件宽、元件高、元件种类、元件公差,可用于存储每一个元件的基本信息,而贴片机支持的贴片元件类型数目决定详细信息表具体内容。二极管为其中一种贴片元件,其表属性为:元件名称、引脚数目、引脚长公差、引脚宽公差、引脚长、引脚宽、反光度、元件类型;同样根据相同的要求,建立集成电路芯片表和LED表分别存储芯片类型和LED类型的元件详细信息,上述列表皆有元件名称属性作为其外键,引用基本信息表的主键。参照完整性原则[10],二极管表、集成芯片表、LED表存在的元件记录必须在基本信息表有相关信息。一个元件根据其元件类型将详细信息写入相应的元件表中,例如二极管类型的元件除了将基本信息写入元件基本信息表外,还同时将详细信息写入二极管表中。在实现元件信息表时,应遵循外键的参照完整性原则,将元件的详细信息和基本信息进行分别存储,这样一来不仅易于扩展而且有效减少了可能产生的数据冗余。假如需要添加新的贴片元件类型,则只需加入一张新类型元件的详细信息表即可,不会对现有的关系和信息表产生影响。元件各类表之间的关系如图4所示,其中PK表示主键,FK表示子表的外键。
常见的进料器的类型为带式、杆式、托盘式三种,且贴片机工作时,供料器应是可配置的。下面仅以带式进料器基本信息为例来展开设计。供料器数据信息包括了位置坐标、供料器编号、所载元件信息。按照1NF要求,将位置坐标拆分为X坐标、Y坐标与Z坐标三个属性。按照3NF要求,所载元件信息只包含元件基本信息表的主键(即元件名称),而不能包含其他元件属性。建立供料器基本信息表属性有:供料器编号,X坐标,Y坐标,Z坐标,元件名称,X,Y,Z属性皆为供料器在机械坐标系坐标。因列表与上述情况相仿,限于篇幅,故不列出此表。
2数据库原型的实现与应用
在上述E—R模型图设计和3NF范式规则分析的基础上,设计了一个贴片机数据库原型。开发工具采用MicrosoftSQLServer2008,并利用ADO(ActiveXDataObject)技术在VS2010开发环境中以绑定后台数据源的方式访问数据库,效果图如图5所示。关系数据库的建设即表和视图的创建,在后台SQL2008上创建数据表,在C#环境下利用dataGrid-view绑定后台数据表为应用程序提供一种简单一致的方法来显示表、视图数据以及与数据交互。此数据库主要包含有四种表,分别为PCB表、供料器表、元件基本信息表和X型元件详细信息表,其中PCB表储存PCB板信息,X型元件详细信息表储存选择的贴片元件具体信息。此外,在数据库概念分析与逻辑设计的基础上,将数据管理分为生产操作与技术支持两大模块,生产操作组合各种生产要素,技术支持则编辑各种生产要素的数据,在操作界面通过快捷键可快速切换需要的界面,实现简单可视化编辑贴装数据,提高人机交互的友好性;标签控件、文档控件与dataGridview控件通过代码联系在一起,做成实时输入输出数据平台,方便用户直观看到自己的数据修改情况,提高了贴片机的实时处理数据的效率,减少人为失误。
3结束语
对高速贴片机的结构和功能划分,选择关系数据库来进行概念与逻辑分析设计,所设计出的高速贴片机数据库系统具有效率高、速度快的特点。实际调试表明,当访问的基本信息和详细信息表数据分别为10000条时,查找一个元件的基本信息和详细信息共需要0.5秒,贴装速度达到25000CPH,满足了贴片机的实际使用要求。
作者:林贤朗 杨杰 王梁武 单位:广东工业大学机电工程学院