本站小編為你精心準(zhǔn)備了貼片機(jī)控制系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1貼片機(jī)數(shù)據(jù)庫的設(shè)計(jì)
在貼片機(jī)系統(tǒng)中,由于元件、設(shè)備和PCB信息數(shù)據(jù)普遍具有高獨(dú)立、分享性和相對(duì)穩(wěn)定的結(jié)構(gòu),一般采取數(shù)據(jù)庫存儲(chǔ)的方法來進(jìn)行管理;另外,PCB貼裝步驟信息則與上述情況相反,它一般按名稱訪問,并且存儲(chǔ)對(duì)象數(shù)目普遍不一致,所以要按照文件的方式來進(jìn)行存儲(chǔ)和管理[5]。
1.1構(gòu)建E-R實(shí)體模型采用實(shí)體聯(lián)系(E-R模型)來對(duì)數(shù)據(jù)庫進(jìn)行概念設(shè)計(jì)。實(shí)體聯(lián)系模型的概念包含實(shí)體、屬性和聯(lián)系,其中實(shí)體指客觀存在且能相互區(qū)別的事物,屬性則描述了實(shí)體的特征,實(shí)體集之間的關(guān)聯(lián)則稱為聯(lián)系[6]。圖2為依據(jù)貼片機(jī)實(shí)體集聯(lián)系而建立的簡略版E-R圖。由圖可知,元件基本信息實(shí)體的屬性不僅包括了貼片元件信息,而且還管理更細(xì)化的貼片信息。例如:貼片二極管信息、貼片集成電路芯片信息、貼片LED信息這幾個(gè)貼片元件除了常用實(shí)體外還有更詳細(xì)的元件屬性,實(shí)現(xiàn)了對(duì)各個(gè)元件信息進(jìn)行進(jìn)一步的記錄;此外,PCB基本信息實(shí)體,除了本體的信息外,還管理著元件信息、PCB板Mark點(diǎn)信息這兩個(gè)實(shí)體信息,通過這三個(gè)實(shí)體來實(shí)現(xiàn)對(duì)PCB的信息化管理;供料器和吸嘴實(shí)體,也各自擁有自己的一般屬性及相關(guān)信息,篇幅所限,這里就不贅述了,以上幾個(gè)實(shí)體和聯(lián)系共同工作,完成貼片機(jī)數(shù)據(jù)庫的工作。
1.2數(shù)據(jù)庫的3NF邏輯設(shè)計(jì)結(jié)合E—R模型,構(gòu)造關(guān)系型數(shù)據(jù)庫,進(jìn)行貼片機(jī)數(shù)據(jù)庫的邏輯設(shè)計(jì)。由于數(shù)據(jù)依賴關(guān)系,一般數(shù)據(jù)庫會(huì)出現(xiàn)某種程度的更新異常以及數(shù)據(jù)冗余現(xiàn)象,設(shè)計(jì)范式越高,出現(xiàn)的概率就越少[7]。常見的數(shù)據(jù)依賴為多值依賴和函數(shù)依賴,它的關(guān)系屬性相互制約與依賴,以關(guān)系屬性間值的相等關(guān)系表現(xiàn)出來,是現(xiàn)實(shí)世界屬性間相互關(guān)系的抽象[8]。假設(shè)L(U)為某關(guān)系模式,U為L屬性集合,X、Y為U的子集。r為L(U)的任一可能的關(guān)系,若r中不存在兩個(gè)元組且在Y上的屬性值相不同,而在X上屬性值相同,那么Y函數(shù)依賴于X,可記作X→Y;設(shè)一關(guān)系模式L(U)有αU、βU,若L(U)有函數(shù)依賴α→β,給定L(U)一個(gè)實(shí)例,存在P1[α]=P2[α],P1[β]=P2[β],且L(U)的任一合法實(shí)例滿足函數(shù)依賴α→β的話,那么函數(shù)依賴在L(U)上恒成立。在以上基礎(chǔ)上,又設(shè)R(M)為一個(gè)關(guān)系模式,M是R的屬性集合,X、Y和Z是M的子集,存在Z=M-X-Y,若R中任一關(guān)系r,給定一對(duì)(X,Z)值,都有一組Y值對(duì)應(yīng),且這組值僅由X值決定,和Z值無關(guān)的話,那么可稱Y多值依賴于X,記為X→→Y。結(jié)合以上數(shù)學(xué)推導(dǎo),若某關(guān)系模式的屬性皆為不可分的基本數(shù)據(jù)項(xiàng),則稱該關(guān)系模式滿足第一范式,記為R∈1NF;在關(guān)系模型中,任一屬性皆為不可分結(jié)構(gòu),如果其數(shù)據(jù)域以原子來比喻的話,域內(nèi)元素則是不可再細(xì)分的單元,若屬于1NF,則其任一屬性都必須是原子;假如一關(guān)系模式所有非主屬性皆完全依賴于R且R∈1NF,則R為第二范式,記為R∈2NF。R若為2NF,則R一定沒有部分函數(shù)依賴且任一屬性M皆滿足M出現(xiàn)在一個(gè)候選碼中,或M部分函數(shù)依賴于一個(gè)候選碼;關(guān)系模式R(U,F(xiàn))中若不存在候選碼A、屬性組B和非主屬性C,CB,使得A→B、B→C、BA成立,則R∈3NF。若某關(guān)系模式R為3NF且存在函數(shù)依賴集F,則可推出對(duì)F閉包F+中每一個(gè)像α→β(αU且βU)的函數(shù)依賴至少滿足以下三個(gè)關(guān)系之一:α為R一個(gè)超碼;β-α中所有屬性A皆包含在R某個(gè)候選碼中;α→β為平凡函數(shù)依賴。
結(jié)合以上數(shù)學(xué)分析與推導(dǎo),建立的貼片機(jī)數(shù)據(jù)庫列表必須滿足關(guān)系數(shù)據(jù)庫的第三范式(3NF)要求,因?yàn)榈谌妒桨谝弧⒌诙妒疥P(guān)系,建立的列表若符合第三范式,那么就一定符合1NF和2NF。由貼片機(jī)的工作情況可知,貼片機(jī)數(shù)據(jù)庫內(nèi)存儲(chǔ)的PCB信息至少需要包括以下幾種信息:PCB名稱、長度、寬度、厚度、PCB原點(diǎn)坐標(biāo)、Mark點(diǎn)坐標(biāo)。PCB原點(diǎn)坐標(biāo)指的是機(jī)械坐標(biāo)系中原點(diǎn),貼裝點(diǎn)坐標(biāo)從PCB坐標(biāo)系變換到機(jī)械坐標(biāo)系就需要借用此信息;Mark點(diǎn)坐標(biāo)存在兩個(gè)Mark1、Mark2,這兩個(gè)坐標(biāo)在定位貼裝過程中通過PCB板位置的偏移量修正,可實(shí)現(xiàn)精確定位,它們分別代表PCB板對(duì)角線上兩個(gè)Mark點(diǎn)的機(jī)械坐標(biāo)。此外,貼裝過程中的震動(dòng)誤差,原始偏轉(zhuǎn)角度等信息屬性應(yīng)包含在PCB信息存儲(chǔ)中。設(shè)PCB名稱屬性為PCB信息表的主鍵,可用來唯一標(biāo)識(shí)一個(gè)PCB板;若以原點(diǎn)坐標(biāo)為一個(gè)屬性,那么PCB表中的元件坐標(biāo)列將會(huì)出現(xiàn)兩個(gè)值,分別表示X方向坐標(biāo)和Y方向坐標(biāo),這與1NF的定義相悖,故在PCB信息表中坐標(biāo)需分成兩列(MARK1坐標(biāo)、MARK2坐標(biāo)也應(yīng)同樣處理)。除名稱屬性外,PCB信息表內(nèi)其他屬性之間不能屬于任何其他外表且不應(yīng)該存在任何依賴關(guān)系。滿足以上數(shù)學(xué)推導(dǎo)及創(chuàng)建列表的范式要求下,創(chuàng)建貼片機(jī)數(shù)據(jù)庫PCB信息表:PCB名稱,PCB長度,PCB寬度,PCB厚度,PCB原點(diǎn)X坐標(biāo),PCB原點(diǎn)Y坐標(biāo),MARK1X坐標(biāo),MARK1Y標(biāo),MARK2X坐標(biāo),MARK2Y坐標(biāo)。其中PCB名稱為主鍵,如圖3所示。PCB信息表每列有且只有一個(gè)數(shù)據(jù)符合第一范式的要求,PK表示主鍵。創(chuàng)建的元件信息應(yīng)包括兩種信息:基本信息和詳細(xì)信息。基本信息至少包括:元件名稱、長、寬、高、元件種類、元件公差。由于多樣性的元件種類,故需要記錄的詳細(xì)信息也不同,比如二極管型元件需要的信息:引腳數(shù)目、引腳長公差、引腳寬公差、引腳長、引腳寬、反光度、元件類型;集成芯片型元件信息有:引腳間距、反光度、元件類型、引腳數(shù)目、引腳長公差、引腳寬公差、引腳長、引腳寬。對(duì)于單個(gè)元件,上面列舉的元件屬性有且只有一個(gè)值,故符合1NF的要求。屬性長、寬、引腳寬、元件類型,以及不同類型的詳細(xì)信息皆依賴于元件名稱,故以元件名稱作為元件信息表的主鍵。若按照2NF的要求,將元件詳細(xì)信息和基本信息都設(shè)計(jì)到一張表中,不同類型的元件因只使用相應(yīng)的幾個(gè)詳細(xì)信息列而會(huì)造成數(shù)據(jù)冗余與更新異常[9]。鑒于以上情況,設(shè)計(jì)的表至少要滿足3NF的要求,將元件信息表分為詳細(xì)和基本信息表兩種。元件基本信息表其屬性為:元件名稱、元件長、元件寬、元件高、元件種類、元件公差,可用于存儲(chǔ)每一個(gè)元件的基本信息,而貼片機(jī)支持的貼片元件類型數(shù)目決定詳細(xì)信息表具體內(nèi)容。二極管為其中一種貼片元件,其表屬性為:元件名稱、引腳數(shù)目、引腳長公差、引腳寬公差、引腳長、引腳寬、反光度、元件類型;同樣根據(jù)相同的要求,建立集成電路芯片表和LED表分別存儲(chǔ)芯片類型和LED類型的元件詳細(xì)信息,上述列表皆有元件名稱屬性作為其外鍵,引用基本信息表的主鍵。參照完整性原則[10],二極管表、集成芯片表、LED表存在的元件記錄必須在基本信息表有相關(guān)信息。一個(gè)元件根據(jù)其元件類型將詳細(xì)信息寫入相應(yīng)的元件表中,例如二極管類型的元件除了將基本信息寫入元件基本信息表外,還同時(shí)將詳細(xì)信息寫入二極管表中。在實(shí)現(xiàn)元件信息表時(shí),應(yīng)遵循外鍵的參照完整性原則,將元件的詳細(xì)信息和基本信息進(jìn)行分別存儲(chǔ),這樣一來不僅易于擴(kuò)展而且有效減少了可能產(chǎn)生的數(shù)據(jù)冗余。假如需要添加新的貼片元件類型,則只需加入一張新類型元件的詳細(xì)信息表即可,不會(huì)對(duì)現(xiàn)有的關(guān)系和信息表產(chǎn)生影響。元件各類表之間的關(guān)系如圖4所示,其中PK表示主鍵,F(xiàn)K表示子表的外鍵。
常見的進(jìn)料器的類型為帶式、桿式、托盤式三種,且貼片機(jī)工作時(shí),供料器應(yīng)是可配置的。下面僅以帶式進(jìn)料器基本信息為例來展開設(shè)計(jì)。供料器數(shù)據(jù)信息包括了位置坐標(biāo)、供料器編號(hào)、所載元件信息。按照1NF要求,將位置坐標(biāo)拆分為X坐標(biāo)、Y坐標(biāo)與Z坐標(biāo)三個(gè)屬性。按照3NF要求,所載元件信息只包含元件基本信息表的主鍵(即元件名稱),而不能包含其他元件屬性。建立供料器基本信息表屬性有:供料器編號(hào),X坐標(biāo),Y坐標(biāo),Z坐標(biāo),元件名稱,X,Y,Z屬性皆為供料器在機(jī)械坐標(biāo)系坐標(biāo)。因列表與上述情況相仿,限于篇幅,故不列出此表。
2數(shù)據(jù)庫原型的實(shí)現(xiàn)與應(yīng)用
在上述E—R模型圖設(shè)計(jì)和3NF范式規(guī)則分析的基礎(chǔ)上,設(shè)計(jì)了一個(gè)貼片機(jī)數(shù)據(jù)庫原型。開發(fā)工具采用MicrosoftSQLServer2008,并利用ADO(ActiveXDataObject)技術(shù)在VS2010開發(fā)環(huán)境中以綁定后臺(tái)數(shù)據(jù)源的方式訪問數(shù)據(jù)庫,效果圖如圖5所示。關(guān)系數(shù)據(jù)庫的建設(shè)即表和視圖的創(chuàng)建,在后臺(tái)SQL2008上創(chuàng)建數(shù)據(jù)表,在C#環(huán)境下利用dataGrid-view綁定后臺(tái)數(shù)據(jù)表為應(yīng)用程序提供一種簡單一致的方法來顯示表、視圖數(shù)據(jù)以及與數(shù)據(jù)交互。此數(shù)據(jù)庫主要包含有四種表,分別為PCB表、供料器表、元件基本信息表和X型元件詳細(xì)信息表,其中PCB表儲(chǔ)存PCB板信息,X型元件詳細(xì)信息表儲(chǔ)存選擇的貼片元件具體信息。此外,在數(shù)據(jù)庫概念分析與邏輯設(shè)計(jì)的基礎(chǔ)上,將數(shù)據(jù)管理分為生產(chǎn)操作與技術(shù)支持兩大模塊,生產(chǎn)操作組合各種生產(chǎn)要素,技術(shù)支持則編輯各種生產(chǎn)要素的數(shù)據(jù),在操作界面通過快捷鍵可快速切換需要的界面,實(shí)現(xiàn)簡單可視化編輯貼裝數(shù)據(jù),提高人機(jī)交互的友好性;標(biāo)簽控件、文檔控件與dataGridview控件通過代碼聯(lián)系在一起,做成實(shí)時(shí)輸入輸出數(shù)據(jù)平臺(tái),方便用戶直觀看到自己的數(shù)據(jù)修改情況,提高了貼片機(jī)的實(shí)時(shí)處理數(shù)據(jù)的效率,減少人為失誤。
3結(jié)束語
對(duì)高速貼片機(jī)的結(jié)構(gòu)和功能劃分,選擇關(guān)系數(shù)據(jù)庫來進(jìn)行概念與邏輯分析設(shè)計(jì),所設(shè)計(jì)出的高速貼片機(jī)數(shù)據(jù)庫系統(tǒng)具有效率高、速度快的特點(diǎn)。實(shí)際調(diào)試表明,當(dāng)訪問的基本信息和詳細(xì)信息表數(shù)據(jù)分別為10000條時(shí),查找一個(gè)元件的基本信息和詳細(xì)信息共需要0.5秒,貼裝速度達(dá)到25000CPH,滿足了貼片機(jī)的實(shí)際使用要求。
作者:林賢朗 楊杰 王梁武 單位:廣東工業(yè)大學(xué)機(jī)電工程學(xué)院