本發(fā)明涉及一種自動光學檢測技術,尤其涉及一種aoi檢測的方法、裝置、設備及存儲介質。
背景技術:
aoi(automaticopticinspection,自動光學檢測)是基于光學原理來對焊接生產中遇到的常見缺陷進行檢測的設備,如在線檢測pcba板卡(pcba是英文printedcircuitboard+assembly的簡稱,也就是說pcb空板經過smt上件,再經過dip插件的整個制程,簡稱pcba)。越來越多工廠配備此設置來保證產品的質量。
在aoi中,在制作測試板式文件時,需要人工框選出每一個元件,如圖1所示,即我們用鼠標框選出這個位置是二極管(如圖1中兩個紅色框),以告訴aoi設備需要對pcba板卡上的這個位置的元件進行檢測。
而一個板卡上可能會有幾十上百個不同種類的元件,一個一個人工框選極為費時費力,影響測試效率。
技術實現要素:
本發(fā)明實施例提供一種aoi檢測的方法、裝置、設備及存儲介質,能夠實現快速自動的aoi檢測。
第一方面,本發(fā)明實施例提供了一種aoi檢測的方法,包括:
獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件;
從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性;
根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性。
進一步的,所述根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,包括:
根據預設元件列表從所述坐標文件中篩選出待檢測元件的坐標信息;
從所述板卡圖片中識別出標記點并確認所述板卡圖片中的標記點的位置;
將所述板卡圖片映射到坐標文件的坐標系中,映射后的板卡圖片中標記點的位置與坐標文件中標記點的位置重合;
根據所述坐標系中待檢測元件的坐標信息確認該位置為所述待檢測板卡上待檢測元件的位置。
進一步的,所述根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性之后,還包括:
基于所述板卡圖片中確認的待檢測元件的位置以及設置的待檢測的元件屬性生成aoi檢測的板式文件。
進一步的,所述基于所述板卡圖片中確認的待檢測元件的位置以及設置的待檢測的元件屬性生成aoi檢測的板式文件之后,還包括:
根據所述板式文件對所述板卡圖片進行aoi檢測。
進一步的,所述待檢測元件在所述板卡圖片中框選出。
第二方面,本發(fā)明實施例還提供了一種aoi檢測的裝置,該裝置包括:
獲取模塊,用于獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件;
讀取模塊,用于從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性;
確認模塊,用于根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性。
進一步的,所述確認模塊包括:
信息篩選模塊,用于根據預設元件列表從所述坐標文件中篩選出待檢測元件的坐標信息;
標記點位置確認單元,用于從所述板卡圖片中識別出標記點并確認所述板卡圖片中的標記點的位置;
映射單元,用于將所述板卡圖片映射到坐標文件的坐標系中,映射后的板卡圖片中標記點的位置與坐標文件中標記點的位置重合;
元件位置確認單元,用于根據所述坐標系中待檢測元件的坐標信息確認該位置為所述待檢測板卡上待檢測元件的位置。
進一步的,還包括:
文件生成模塊,用于在根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性之后,基于所述板卡圖片中確認的待檢測元件的位置以及設置的待檢測的元件屬性生成aoi檢測的板式文件。
進一步的,還包括:
檢測模塊,用于在基于所述板卡圖片中確認的待檢測元件的位置以及設置的待檢測的元件屬性生成aoi檢測的板式文件之后,根據所述板式文件對所述板卡圖片進行aoi檢測。
進一步的,所述待檢測元件在所述板卡圖片中框選出。
第三方面,本發(fā)明實施例還提供了一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序所述處理器執(zhí)行所述程序時實現如本發(fā)明實施例中任一所述的aoi檢測的方法。
第四方面,本發(fā)明實施例還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執(zhí)行時實現如本發(fā)明實施例中任一所述的aoi檢測的方法。
本發(fā)明實施例通過獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件;從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性;根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性,避免了由于人工框選待檢測元件費時費力,導致測試效率低的情況,能夠實現快速自動的aoi檢測。
附圖說明
圖1是本發(fā)明實施例一中的一種aoi檢測的方法的流程圖;
圖2是本發(fā)明實施例二中的一種aoi檢測的方法的流程圖;
圖3是本發(fā)明實施例三中的一種aoi檢測的裝置的結構示意圖;
圖4是本發(fā)明實施例四中的一種計算機設備的結構示意圖。
具體實施方式
下面結合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。
實施例一
圖1為本發(fā)明實施例一提供的一種aoi檢測的方法的流程圖,本實施例可適用于aoi檢測的情況,該方法可以由本發(fā)明實施例中的aoi檢測的裝置來執(zhí)行,該裝置可采用軟件和/或硬件的方式實現,如圖1所示,該方法具體包括如下步驟:
s110,獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件。
具體的,每一個pcba板卡在設計的時候都會有與之對應的pcb(printedcircuitboard,印刷電路板)設計圖。pcb又稱印制電路板,印刷線路板,是重要的電子部件,是電子元件的支撐體,是電子元器件線路連接的提供者。由于它是采用電子印刷技術制作的,故被稱為“印刷”電路板。
其中,所述坐標文件為使用設計軟件導出的對應于pcb板的坐標文件,所述坐標文件至少包括元件位置編號、元件的pcb封裝名稱、元件在pcb上的坐標以及元件的旋轉角度。例如:
例如其中的元件1,位置編號為aafp,pcb封裝名稱為header_2x5p,確認該元件的位置的兩個頂點坐標分別為(24.130000,4.699000)和(34.130000,14.699000),元件的旋轉角度為0。
具體的,在工廠的流水線上,攝像機夾在傳送帶的兩側,待檢測板卡在傳送帶上隨著傳送帶移動,攝像機自上向下拍攝板卡,獲取待檢測板卡的板卡圖片。
s120,從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性。
其中,所述元件為待檢測元件,從所述包含所有pcb板上元件的位置信息的坐標文件中讀取待檢測元件的坐標信息。其中,坐標文件中包含的元件并不一定都是待檢測元件。
其中,所述對應設計的元件屬性包括元件的pcb封裝名稱、元件的位置編號以及元件的旋轉角度等。由于坐標文件至少包括元件位置編號、元件的pcb封裝名稱、元件在pcb上的坐標以及元件的旋轉角度等信息,則所述對應設計的元件屬性可以從所述坐標文件中讀取。
s130,根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性。
具體的,用戶在aoi軟件中,通過導入坐標文件,aoi軟件將會逐行讀取坐標文件,獲取坐標文件中待檢測元件的坐標信息,根據待檢測元件的坐標信息獲取板卡圖片中待檢測元件對應的位置的坐標信息。
具體的,根據封裝信息獲取元件的類型,對應設置每個待檢測元件待檢測的元件屬性,例如可以是,元件類型為電容,設置電容待檢測的元件屬性為需要檢測漏件、需要檢測極性以及需要檢測電容值等。
本實施例的技術方案,通過獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件;從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性;根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性,避免了現有技術中由于人工框選待檢測元件費時費力,導致測試效率低的情況,能夠實現快速自動的aoi檢測。
實施例二
圖2為本發(fā)明實施例二中的一種aoi檢測的方法的流程圖,本實施例以上述實施例為基礎進行優(yōu)化,在本實施例中,所述根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,包括:根據預設元件列表從所述坐標文件中篩選出待檢測元件的坐標信息;從所述板卡圖片中識別出標記點并確認所述板卡圖片中的標記點的位置;將所述板卡圖片映射到坐標文件的坐標系中,映射后的板卡圖片中標記點的位置與坐標文件中標記點的位置重合;根據所述坐標系中待檢測元件的坐標信息確認該位置為所述待檢測板卡上待檢測元件的位置。
如圖2所示,本實施例的方法具體包括如下步驟:
s210,獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件。
s220,從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性。
s230,根據預設元件列表從所述坐標文件中篩選出待檢測元件的坐標信息。
其中,所述預設元件列表為包含待檢測元件信息的元件列表,例如可以是bon表。
具體的,由于坐標文件中除包含待檢測元件的信息外還包含不需要進行檢測的其他元件的信息,因此,可以根據預設元件列表從坐標文件中篩選出待檢測元件的信息。例如可以是,坐標文件中包含電容a、電阻b和二極管c的坐標信息,通過bon表可以知道待檢測元件為電容a和二極管c,電阻b不需要檢測,因此,從坐標文件中篩選出電容a和二極管c的坐標信息。
s240,從所述板卡圖片中識別出標記點并確認所述板卡圖片中的標記點的位置。
其中,每個pcb板必須在板長邊對角線上有一對應整版定位的標記點,標記點為裝配工藝中的所有步驟提供共同的可測量點,保證了裝配使用的每個設備能夠精確的定位電路圖案。
具體的,識別出板卡圖片中標記點的位置。例如可以是,標記點在板卡圖片上的坐標位置為(x1,y1),(x2,y2)。
s250,將所述板卡圖片映射到坐標文件的坐標系中,映射后的板卡圖片中標記點的位置與坐標文件中標記點的位置重合。
具體的,獲取坐標文件中標記點的位置,將坐標文件中標記點的位置和板卡圖片中標記點的位置進行比對,進而獲取坐標文件中元件的坐標信息對應于板卡圖片中元件的位置,例如可以是,若板卡圖片中標記點的位置為(2,4),(6,8),坐標文件中標記點的位置為(1,2),(3,4),則可以根據上述特征獲取待檢測元件對應于板卡圖片的位置。若坐標文件中待檢測元件的位置信息為(4,5),(2,3),則可知待檢測元件對應在板卡圖片中的位置信息為(8,10),(4,6)。
s260,根據所述坐標系中待檢測元件的坐標信息確認該位置為所述待檢測板卡上待檢測元件的位置。
具體的,根據坐標文件的坐標系中的待檢測元件的坐標信息確認待檢測元件在待檢測板卡上的位置。
s270,對應設置每個待檢測元件待檢測的元件屬性。
其中,所述待檢測元件待檢測的元件屬性為待檢測元件需要檢測的元件屬性,待檢測元件的元件屬性不止包含待檢測的元件屬性還包含不需要檢測的元件屬性。
具體的,根據每個待檢測元件的封裝信息確定每個待檢測元件待檢測的元件屬性。
本實施例的技術方案,通過根據預設元件列表從坐標文件中篩選出待檢測元件的坐標信息,從板卡圖片中識別出標記點并確認板卡圖片中的標記點的位置,將板卡圖片映射到坐標文件的坐標系中,映射后的板卡圖片中標記點的位置與坐標文件中標記點的位置重合,根據坐標系中待檢測元件的坐標信息確認該位置為待檢測板卡上待檢測元件的位置,避免了現有技術中由于人工框選待檢測元件費時費力,導致測試效率低的情況,能夠實現快速自動的aoi檢測。
實施例三
圖3為本發(fā)明實施例三提供的一種aoi檢測的裝置的結構示意圖。本實施例可適用于aoi檢測的情況,該裝置可采用軟件和/或硬件的方式實現,該裝置可集成在任何提供aoi檢測功能的設備中,如圖3所示,所述aoi檢測的裝置具體包括:獲取模塊310、讀取模塊320和確認模塊330。
其中,獲取模塊310,用于獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件;
讀取模塊320,用于從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性;
確認模塊330,用于根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性。
可選的,所述確認模塊330包括:
信息篩選模塊,用于根據預設元件列表從所述坐標文件中篩選出待檢測元件的坐標信息;
標記點位置確認單元,用于從所述板卡圖片中識別出標記點并確認所述板卡圖片中的標記點的位置;
映射單元,用于將所述板卡圖片映射到坐標文件的坐標系中,映射后的板卡圖片中標記點的位置與坐標文件中標記點的位置重合;
元件位置確認單元,用于根據所述坐標系中待檢測元件的坐標信息確認該位置為所述待檢測板卡上待檢測元件的位置。
可選的,還包括:
文件生成模塊,用于在根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性之后,基于所述板卡圖片中確認的待檢測元件的位置以及設置的待檢測的元件屬性生成aoi檢測的板式文件。
可選的,還包括:
檢測模塊,用于在基于所述板卡圖片中確認的待檢測元件的位置以及設置的待檢測的元件屬性生成aoi檢測的板式文件之后,根據所述板式文件對所述板卡圖片進行aoi檢測。
可選的,所述待檢測元件在所述板卡圖片中框選出。
本實施例的技術方案,獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件;從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性;根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性,避免了現有技術中由于人工框選待檢測元件費時費力,導致測試效率低的情況,能夠實現快速自動的aoi檢測。
實施例四
圖4為本發(fā)明實施例四提供的一種計算機設備的結構示意圖。圖4示出了適于用來實現本發(fā)明實施方式的示例性計算機設備12的框圖。圖4顯示的計算機設備12僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。
如圖4所示,計算機設備12以通用計算設備的形式表現。計算機設備12的組件可以包括但不限于:一個或者多個處理器或者處理單元16,系統存儲器28,連接不同系統組件(包括系統存儲器28和處理單元16)的總線18。
總線18表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉例來說,這些體系結構包括但不限于工業(yè)標準體系結構(isa)總線,微通道體系結構(mac)總線,增強型isa總線、視頻電子標準協會(vesa)局域總線以及外圍組件互連(pci)總線。
計算機設備12典型地包括多種計算機系統可讀介質。這些介質可以是任何能夠被計算機設備12訪問的可用介質,包括易失性和非易失性介質,可移動的和不可移動的介質。
系統存儲器28可以包括易失性存儲器形式的計算機系統可讀介質,例如隨機存取存儲器(ram)30和/或高速緩存存儲器32。計算機設備12可以進一步包括其它可移動/不可移動的、易失性/非易失性計算機系統存儲介質。僅作為舉例,存儲系統34可以用于讀寫不可移動的、非易失性磁介質(圖4未顯示,通常稱為“硬盤驅動器”)。盡管圖4中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅動器,以及對可移動非易失性光盤(例如cd-rom,dvd-rom或者其它光介質)讀寫的光盤驅動器。在這些情況下,每個驅動器可以通過一個或者多個數據介質接口與總線18相連。存儲器28可以包括至少一個程序產品,該程序產品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例的功能。
具有一組(至少一個)程序模塊42的程序/實用工具40,可以存儲在例如存儲器28中,這樣的程序模塊42包括——但不限于——操作系統、一個或者多個應用程序、其它程序模塊以及程序數據,這些示例中的每一個或某種組合中可能包括網絡環(huán)境的實現。程序模塊42通常執(zhí)行本發(fā)明所描述的實施例中的功能和/或方法。
計算機設備12也可以與一個或多個外部設備14(例如鍵盤、指向設備、顯示器24等)通信,還可與一個或者多個使得用戶能與該計算機設備12交互的設備通信,和/或與使得該計算機設備12能與一個或多個其它計算設備進行通信的任何設備(例如網卡,調制解調器等等)通信。這種通信可以通過輸入/輸出(i/o)接口22進行。并且,計算機設備12還可以通過網絡適配器20與一個或者多個網絡(例如局域網(lan),廣域網(wan)和/或公共網絡,例如因特網)通信。如圖所示,網絡適配器20通過總線18與計算機設備12的其它模塊通信。應當明白,盡管圖中未示出,可以結合計算機設備12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅動器、冗余處理單元、外部磁盤驅動陣列、raid系統、磁帶驅動器以及數據備份存儲系統等。
處理單元16通過運行存儲在系統存儲器28中的程序,從而執(zhí)行各種功能應用以及數據處理,例如實現本發(fā)明實施例所提供的aoi檢測的方法:獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件;從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性;根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性。
實施例五
本發(fā)明實施例五提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執(zhí)行時實現如本申請所有發(fā)明實施例提供的aoi檢測的方法:獲取待檢測板卡的板卡圖片和所述待檢測板卡設計時元件的坐標文件;從所述坐標文件讀取元件的坐標信息和對應設計的元件屬性;根據所述坐標信息從所述板卡圖片中確認所述待檢測板卡上待檢測元件的位置,對應設置每個待檢測元件待檢測的元件屬性。
可以采用一個或多個計算機可讀的介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統、裝置或者器件使用或者與其結合使用。
計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統、裝置或者器件使用或者與其結合使用的程序。
計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括——但不限于——無線、電線、光纜、rf等等,或者上述的任意合適的組合。
可以以一種或多種程序設計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言—諸如java、smalltalk、c++,還包括常規(guī)的過程式程序設計語言—諸如c語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡——包括局域網(lan)或廣域網(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。