发明内容
本发明实施例旨在提供一种元器件与焊盘自动匹配的方法及设备,能极大地减少SPI软件系统的人工匹配操作,提升了SPI软件系统对检测程序的编制速度,节约人工时间成本。
为解决上述技术问题,本发明实施例提供以下技术方案:
根据本发明的一方面,提供一种元器件与焊盘自动匹配的方法,所述方法包括:
获取包含至少一个子板的钢网的焊盘数据档以及单子板的元器件数据档;
将所述钢网的焊盘数据档和所述单子板的元器件数据档进行对位,从所述钢网的焊盘数据档中筛选出与所述单子板的元器件数据档相对应的第一子板的焊盘数据;
从所述单子板的元器件数据档中获取一个未匹配的元器件的信息;
在预设的模板库中查找与所述元器件对应的焊盘模板信息,将所述焊盘模板信息与所述第一子板中的待匹配焊盘集进行匹配,将匹配成功的焊盘集与所述元器件进行绑定,所述第一子板中的待匹配焊盘集为第一子板的焊盘数据中尚未与元器件建立绑定关系的各焊盘组成的集合;
判断所述单子板的元器件数据档中的所有元器件是否完成匹配,若否,则转至从所述单子板的元器件数据档中获取一个未匹配的元器件的信息的步骤。
可选地,所述焊盘模板信息包括与元器件相关联的焊盘集中各焊盘相对所述元器件的中心坐标信息;
将所述焊盘模板信息与所述第一子板中的待匹配焊盘集进行匹配包括:
根据所述元器件的坐标信息和所述焊盘模板信息中各焊盘相对所述元器件的中心坐标信息计算将所述焊盘模板信息中各焊盘映射到所述第一子板后的绝对中心坐标;
将映射后各焊盘的绝对中心坐标与所述第一子板中的待匹配焊盘集中各焊盘的中心坐标进行匹配。
可选地,所述将映射后各焊盘的绝对中心坐标与所述第一子板中的待匹配焊盘集中各焊盘的中心坐标进行匹配包括:
以所述元器件的坐标信息在所述第一子板中的位置为参考点,根据所述第一子板中参考点位置按预设的规则确定焊盘匹配范围;
获取所述焊盘匹配范围内的待匹配焊盘集,将映射后各焊盘的绝对中心坐标与所述焊盘匹配范围内的待匹配焊盘集中各焊盘的中心坐标进行匹配。
可选地,所述焊盘模板信息还包括各焊盘的外接矩形相对所述元器件的位置信息和尺寸信息;
所述根据所述第一子板中参考点位置按预设的规则确定焊盘匹配范围还包括:
根据所述第一子板中参考点位置和所述焊盘模板信息中外接矩形相对所述元器件的位置信息和尺寸信息计算将所述外接矩形映射到所述第一子板后的绝对位置信息和尺寸信息;
根据所述映射后的外接矩形在所述第一子板中的绝对位置信息和尺寸信息确定所述焊盘匹配范围。
可选地,所述焊盘模板信息还包括各焊盘的形状信息,所述将所述焊盘模板信息各焊盘的形状信息与所述待匹配焊盘集中各焊盘的形状信息进行匹配还包括:
将所述焊盘模板信息各焊盘的形状信息与所述待匹配焊盘集中各焊盘的形状信息进行匹配。
可选地,所述方法还包括:
根据所述元器件的信息判断所述元器件是否为电阻电容;
若是,获取所述电阻电容的角度,以所述电阻电容的坐标信息在所述第一子板中的位置为参考点,在所述第一子板中所述参考点位置沿所述角度的直线方向的两个相反方位各寻找一距离所述参考点位置最近的焊盘,将所述电阻电容与所述焊盘进行绑定。
可选地,当所述单子板的元器件数据档中的各个元器件分别与所述第一子板中各焊盘集完成绑定后,所述方法还包括:
根据所述第一子板的焊盘数据确定第一子板的范围,按照预设的规则在所述第一子板中设置参考焊盘;
在钢网的焊盘数据档中过滤掉第一子板的焊盘数据后,查找与所述参考焊盘形状相似的各焊盘形成备选焊盘集;
从所述备选焊盘集中获取一个未进行试拼板的备选焊盘;
根据所述参考焊盘的位置、所述备选焊盘的位置、预设的拼板角度和所述第一子板的范围确定一待拼子板的范围以进行试拼板;
根据所述待拼子板的范围从钢网的焊盘数据档中筛选出待拼子板的焊盘数据,以及根据所述参考焊盘的位置、所述备选焊盘的位置、预设的拼板角度、所述第一子板的范围和所述单子板的元器件数据档确定所述待拼子板的元器件数据档;
从所述待拼子板的元器件数据档中获取各元器件信息,将各元器件在所述第一子板中绑定的焊盘集与所述待拼子板中的待匹配焊盘集进行匹配,将匹配成功的焊盘集与对应的元器件进行绑定,所述待拼子板中的待匹配焊盘集为待拼子板的焊盘数据中尚未与元器件建立绑定关系的各焊盘组成的集合;
若所述待拼子板的元器件数据档中各元器件均与所述待拼子板的各焊盘集完成绑定,则判断所述待拼子板拼板成功,从所述备选焊盘集中删除所述备选焊盘,判断所述备选焊盘集中各备选焊盘是否全部完成试拼板,若否,则转至从所述备选焊盘集中获取一个未进行试拼板的备选焊盘的步骤;
若所述待拼子板的元器件数据档中任一个元器件在所述第一子板中绑定的焊盘集与所述待拼子板中的待匹配焊盘集匹配失败,判断所述备选焊盘集中各备选焊盘是否全部完成试拼板,若否,则转至从所述备选焊盘集中获取一个未进行试拼板的备选焊盘的步骤。
可选地,当所述单子板的元器件数据档中的各个元器件分别与所述第一子板中各焊盘集完成绑定后,所述方法还包括:
根据所述第一子板的焊盘数据确定第一子板的范围,按照预设的规则在所述第一子板中设置参考焊盘;
在钢网的焊盘数据档中过滤掉第一子板的焊盘数据后,查找与所述参考焊盘形状相似的各焊盘形成备选焊盘集;
从预设的拼板角度序列中获取一未进行试拼板的拼板角度作为当前拼板角度;
从所述备选焊盘集中获取一个在所述当前拼板角度下未进行试拼板的备选焊盘;
根据所述参考焊盘的位置、所述备选焊盘的位置、所述当前拼板角度和所述第一子板的范围确定一待拼子板的范围以进行试拼板;
根据所述待拼子板的范围从钢网的焊盘数据档中筛选出待拼子板的焊盘数据,以及根据所述参考焊盘的位置、所述备选焊盘的位置、所述当前拼板角度、所述第一子板的范围和所述单子板的元器件数据档确定所述待拼子板的元器件数据档;
从所述待拼子板的元器件数据档中获取各元器件信息,将各元器件在所述第一子板中绑定的焊盘集与所述待拼子板中的待匹配焊盘集进行匹配,将匹配成功的焊盘集与对应的元器件进行绑定,所述待拼子板中的待匹配焊盘集为待拼子板的焊盘数据中尚未与元器件建立绑定关系的各焊盘组成的集合;
若所述待拼子板的元器件数据档中各元器件均与所述待拼子板的各焊盘集完成绑定,则判断所述待拼子板拼板成功,从所述备选焊盘集中删除所述备选焊盘,判断所述备选焊盘集中各备选焊盘在所述当前拼板角度下是否全部完成试拼板,若否,则转至从所述备选焊盘集中获取一个在所述当前拼板角度下未进行试拼板的备选焊盘的步骤;
若所述待拼子板的元器件数据档中任一个元器件在所述第一子板中绑定的焊盘集与所述待拼子板中的待匹配焊盘集匹配失败,判断所述备选焊盘集中各备选焊盘在所述当前拼板角度下是否全部完成试拼板,若否,则转至从所述备选焊盘集中获取一个在所述当前拼板角度下未进行试拼板的备选焊盘的步骤;
判断所述备选焊盘集是否为空或者所述预设的拼板角度序列中各拼板角度是否已完成试拼板,若否,则转至从预设的拼板角度序列中获取一未进行试拼板的拼板角度作为当前拼板角度的步骤。
可选地,所述按照预设的规则在第一子板中设置参考焊盘,包括:
将所述第一子板中各焊盘按形状进行分组,找出组内焊盘数量最少的焊盘分组,从所述焊盘分组中任意选取一焊盘,将所述焊盘设置为参考焊盘。
可选地,所述根据所述参考焊盘的位置、所述备选焊盘的位置、预设的拼板角度和所述第一子板的范围确定一待拼子板的范围,包括:
根据所述第一子板的范围确定所述第一子板的中心位置;
将所述参考焊盘的位置坐标绕所述第一子板的中心位置旋转所述当前拼板角度得到旋转后的参考焊盘的位置坐标,计算所述备选焊盘的位置坐标与所述旋转后的参考焊盘的位置坐标的差得到参考坐标差;
将确定所述第一子板的范围的各角点的坐标绕所述第一子板的中心位置旋转所述当前拼板角度后、再加上所述参考坐标差得到各角点的新坐标,根据所述各角点的新坐标确定出所述待拼子板的范围。
可选地,所述预设的拼板角度序列为由若干个预设的拼板角度,和/或若干个以预设的幅度递增或递减的拼板角度组成的序列。
根据本发明的另一方面,提供一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述元器件与焊盘自动匹配的方法步骤。
根据本发明的另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行的指令,当所述计算机可执行指令被处理器执行时,所述处理器执行时实现上述任一项所述元器件与焊盘自动匹配的方法步骤。
本发明实施例的有益效果是:区别于现有技术的情况,本发明实施例将包含至少一个子板的钢网的焊盘数据档以及单子板的元器件数据档对位后,基于模板库中元器件与焊盘模板信息的映射关系,对元器件数据档进行遍历,将各元器件对应的焊盘模板信息与钢网子板的焊盘数据进行匹配,实现子板中各元器件与焊盘集的自动匹配。采用本发明的方式,能极大地减少SPI软件系统的人工匹配操作,提升了SPI软件系统对检测程序的编制速度,节约人工时间成本。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本实施例提供了一种元器件与焊盘自动匹配的方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1,为本发明实施例提供的一种元器件与焊盘自动匹配的方法流程图,该方法包括如下步骤:
步骤S101,获取包含至少一个子板的钢网的焊盘数据档以及单子板的元器件数据档。
具体的,所述钢网的焊盘数据档可为包含焊盘信息的Gerber文件,所述单子板的元器件数据档可为包含单子板元器件信息的CAD文件。其中,焊盘信息包括各种多边形焊盘的位置信息,元器件信息包括装配于焊盘上的各元器件的位号、编码、坐标、角度和封装形式等信息,所述位号即为元器件名,在单子板的元器件数据档中具有唯一性,比如一位号为R0201。如图2所示为本发明实施例提供的一种PCB钢网示意图。如图3为本发明实施例提供的一种单子板的元器件数据档示意图。
步骤S102,将所述钢网的焊盘数据档和所述单子板的元器件数据档进行对位,从所述钢网的焊盘数据档中筛选出与所述单子板的元器件数据档相对应的第一子板的焊盘数据。
为了提高生产效率,降低生产成本,生产厂家一般采用特定尺寸的PCB进行加工生产。为了匹配生产需求,当设计的PCB太小时,就需要到将多个PCB进行拼板以满足特定尺寸,其中,每个PCB可视为一个子板。如图2所示的PCB钢网包含有4个子板。
由于元器件数据档是单子板的,因此在将钢网的焊盘数据档与单子板的元器件数据档进行匹配之前,先要将钢网与包含元器件数据档的单子板进行对位。当包含元器件数据档的单子板中各元器件的坐标数据与钢网上某个子板中的焊盘数据相互对应时,即完成了对位。如图4所示,为图2中钢网和图3中包含元器件数据档的单子板完成对位的示意图。
步骤S103,从所述单子板的元器件数据档中获取一个未匹配的元器件信息。
单子板的元器件数据档中包含了某一子板的焊盘上需装配的所有元器件信息。通过对单子板的元器件数据档进行遍历,就可以完成某一子板上所有元器件信息与焊盘信息的匹配。
步骤S104,在预设的模板库中查找与所述元器件对应的焊盘模板信息,将所述焊盘模板信息与所述第一子板中的待匹配焊盘集进行匹配,将匹配成功的焊盘集与所述元器件进行绑定。
在元器件数据档中,相同编码的元器件关联的焊盘形状是一致的,反过来,相同形状的焊盘关联的元器件编码可不同,本申请发明人根据这一规律,建立元器件编码和关联的焊盘集的映射,形成模板库。在模板库中,每个元器件编码对应一焊盘模板信息。如图5所示为一元器件对应的焊盘模板示意图,元器件52共关联9个焊盘51,对应2种焊盘形状。焊盘模板信息中记录有各焊盘的位置信息、形状信息等。
可以理解的是,所述第一子板中的待匹配焊盘集为第一子板的焊盘数据中尚未与元器件建立绑定关系的各焊盘组成的集合。在首次匹配时,第一子板的待匹配焊盘集包括第一子板的所有焊盘数据信息。随着元器件与第一子板中的焊盘集完成绑定,第一子板的待匹配焊盘集中的焊盘数量在不断减少。
在一些实施例中,所述焊盘模板信息包括与元器件相关联的焊盘集中各焊盘相对所述元器件的中心坐标信息。将所述焊盘模板信息与所述第一子板中的待匹配焊盘集进行匹配包括:根据所述元器件的坐标信息和所述焊盘模板信息中各焊盘相对所述元器件的中心坐标信息计算将所述焊盘模板信息中各焊盘映射到所述第一子板后的绝对中心坐标;将映射后各焊盘的绝对中心坐标与所述第一子板中的待匹配焊盘集中各焊盘的中心坐标进行匹配。如图5所示,9个焊盘51相对于元器件52的9个中心坐标511。当元器件52与第一子板的焊盘信息相匹配时,可根据元器件52的坐标,计算出9个焊盘映射到第一子板后的绝对中心坐标,然后在第一子板的待匹配焊盘集中查找是否对应有与该9个焊盘的绝对中心坐标一致的焊盘;若存在,将元器件52与匹配成功的焊盘集进行绑定。
在一些实施例中,为了缩小第一子板中焊盘的匹配范围,将映射后各焊盘的绝对中心坐标与所述第一子板中的待匹配焊盘集中各焊盘的中心坐标进行匹配还包括:以所述元器件的坐标信息在所述第一子板中的位置为参考点,根据所述第一子板中参考点位置按预设的规则确定焊盘匹配范围;获取所述焊盘匹配范围内的待匹配焊盘集,将映射后各焊盘的绝对中心坐标与所述焊盘匹配范围内的待匹配焊盘集中各焊盘的中心坐标进行匹配。具体的,可根据元器件的类型,定义与之匹配的焊盘匹配范围,比如,以元器件为中心的预设尺寸矩形或圆形区域。
在一些实施例中,所述焊盘模板信息还包括各焊盘的外接矩形相对所述元器件的位置信息和尺寸信息。所述根据所述第一子板中参考点位置按预设的规则确定焊盘匹配范围还包括:根据所述第一子板中参考点位置和所述焊盘模板信息中外接矩形相对所述元器件的位置信息和尺寸信息计算将所述外接矩形映射到所述第一子板后的绝对位置信息和尺寸信息;根据所述映射后的外接矩形在所述第一子板中的绝对位置信息和尺寸信息确定所述焊盘匹配范围。如图5所示,焊盘模板信息中还包括9个焊盘的外接矩形512的中心或角点相对于元器件52的坐标以及外接矩形512的长宽。通过在元器件52在第一子板中的位置可计算出映射到第一子板中的外接矩形的绝对位置信息和尺寸信息,从而确定焊盘匹配范围。
在一些实施例中,所述焊盘模板信息还包括各焊盘的形状信息,将所述焊盘模板信息与所述第一子板中的待匹配焊盘集进行匹配还包括:将所述焊盘模板信息各焊盘的形状信息与所述待匹配焊盘集中各焊盘的形状信息进行匹配。
在一些实施例中,若焊盘模板信息中各焊盘的绝对中心坐标与第一子板中待匹配焊盘集中各焊盘的中心坐标均匹配成功,则将该匹配成功的焊盘集与所述元器件进行绑定。
在一些实施例中,若焊盘模板信息中各焊盘的绝对中心坐标与待匹配焊盘集中各焊盘的中心坐标均匹配成功,且焊盘模板信息中各焊盘的形状与待匹配焊盘集中各焊盘的形状也均匹配成功,则将该匹配成功的焊盘集与所述元器件进行绑定。
步骤S105,判断所述单子板的元器件数据档中所有元器件是否完成匹配,若是,则结束流程;否则,回到步骤S103。
如图6所示,为本发明实施例提供的一个子板中元器件和焊盘数据完成匹配后的示意图,从图6中可看出,第一子板中还存在部分多余焊盘信息,因此,采用本发明的方法,还可以过滤掉多余的焊盘。
如图7所示为本发明实施提供的另一种元器件与焊盘自动匹配的方法流程图,所述方法包括:
步骤S701,从所述单子板的元器件数据档中获取一个未匹配的元器件的信息。
步骤S702,根据所述元器件的信息判断所述元器件是否为电阻电容,若是,则进入步骤S703;否则,进入步骤S704。
步骤S703,获取所述电阻电容的角度,以所述电阻电容的坐标信息在所述第一子板中的位置为参考点,在所述第一子板中所述参考点位置沿所述角度的直线方向的两个相反方位各寻找一距离所述参考点位置最近的焊盘,将所述电阻电容与所述焊盘进行绑定。
根据常识可知,电阻电容元器件关联的焊盘集为该元器件的角度方向左右各一个,所述元器件的角度方向是指元器件的贴片角度方向。此外,可以根据元器件的位号来确定该元器件是否为电阻电容。
步骤S704,在预设的模板库中查找与所述元器件对应的焊盘模板信息。
步骤S705,判断查找是否成功,若是,则进入步骤S706;否则,进入步骤S709。
步骤S706,将所述焊盘模板信息与所述第一子板中的待匹配焊盘集进行匹配。
步骤S707,判断匹配是否成功,若成功,则进入步骤S708;否则进入步骤S709。
步骤S708,将匹配成功的焊盘集与所述元器件进行绑定。
步骤S709,判断所述单子板的元器件数据档中所有元器件是否完成匹配,若是,则进入步骤S710,若否,则进入步骤S701。
步骤S710,判断所述单子板的元器件数据档中各元器件是否均与所述第一子板的焊盘数据绑定成功,若是,则完成所述单子板的元器件数据档中所有元器件与所述第一子板的焊盘数据的匹配,结束流程;若否,则手动对未完成绑定的元器件进行处理。对于步骤S705查找失败的元器件,手动对元器件与焊盘集进行绑定后,将该绑定信息更新到模板库。对于步骤S707匹配失败的元器件,对其进行分析,可能是焊盘模板出错、第一子板中的焊盘数据出错或者元器件数据档出错。若是焊盘模板出错,则对该元器件对应的焊盘模板进行更新。
根据本发明实施例,提供一种自动拼板的方法,如图8所示,为本发明实施例提供的一种支持任意指定角度进行PCB自动拼板的方法流程图,该自动拼板的方法基于已完成元器件和焊盘匹配的第一子板进行。具体的,所述方法包括:
步骤S801,获取包含至少两个子板的钢网的焊盘数据档、单子板的元器件数据档、与所述单子板的元器件数据档相对应的钢网中第一子板的焊盘数据以及所述单子板的元器件数据档中各元器件与所述第一子板的焊盘数据中各焊盘集的绑定关系。
步骤S802,根据第一子板的焊盘数据确定第一子板的范围,按照预设的规则在第一子板中设置参考焊盘。
具体的,根据第一子板中各焊盘的坐标信息来确定第一子板的范围,该范围为一封闭多边形,一般为矩形,少数不规则的子板对应的范围也可以为其他多边形。范围信息中包括可确定范围的位置和大小的坐标和/或尺寸信息,比如矩形范围可通过左上角的坐标值和右下角的坐标值来确定。
第一子板的范围确定好之后,在所述第一子板的范围内按预设的规则寻找具有特殊形状的焊盘作为参考焊盘,比如三角形焊盘,或者大的长方形焊盘,或者大的半圆形焊盘。该具有特殊形状的焊盘可包含多个,任选其一作为参考焊盘即可。如图10所示,在第一子板中寻找特定长方形的焊盘作为参考焊盘,找到焊盘11和焊盘12,选取焊盘11作为参考焊盘。
步骤S803,在钢网的焊盘数据档中过滤掉第一子板的焊盘数据后,查找与所述参考焊盘形状相似的各焊盘形成备选焊盘集。
在寻找备选焊盘时,可设置相似度阈值,通过将参考焊盘的形状数据与过滤后的钢网焊盘数据中各焊盘的形状数据进行比较,若某焊盘与参考焊盘的相似度达到相似度阈值,就将该焊盘作为备选焊盘。如图10所示,根据参考焊盘11的形状在第一子板以外区域共找到6个形状相似的备选焊盘,分别为焊盘13、焊盘14、焊盘15、焊盘16、焊盘17、焊盘18。
步骤S804,从所述备选焊盘集中获取一个未进行试拼板的备选焊盘,根据所述参考焊盘的位置、所述备选焊盘的位置、预设的拼板角度和所述第一子板的范围确定一待拼子板的范围以进行试拼板。
在拼板之前,系统内预设有拼板角度。一般情况下,PCB采用0度或180度拼板。同一个备选焊盘在不同的拼板角度下生成的待拼子板不同。本发明实施例中预设的拼板角度可以是任意角度。具体的,首先根据所述第一子板的范围确定所述第一子板的中心位置;然后将所述参考焊盘的位置坐标绕所述第一子板的中心位置旋转预设拼板角度得到旋转后的参考焊盘的位置坐标,计算所述备选焊盘的位置坐标与所述旋转后的参考焊盘的位置坐标的差得到参考坐标差;最后,将确定所述第一子板的范围的各角点的坐标绕所述第一子板的中心位置旋转所述当前拼板角度后、再加上所述参考坐标差得到各角点的新坐标,根据所述各角点的新坐标确定出所述待拼子板的范围。
可以理解的是,待拼子板的范围还可以采用其他的方式进行确定,比如,首先根据参考焊盘的位置和第一子板的范围确定表示二者相对位置关系的参考向量,所述参考向量的起点为参考焊盘,终点为第一子板的范围边界上任意一点。优选地,采用第一子板的范围边界上的任意角点作为终点。如图10所示,选取第一子板的矩形范围边界左上角21作为参考向量的终点。然后,将所述参考向量绕所述第一子板的中心位置旋转预设的拼板角度后得到一旋转参考向量,将所述旋转参考向量进行平移,使得旋转参考向量的起点由原来的参考焊盘移动到备选焊盘得到备选向量,计算出备选向量的终点坐标。最后,根据参考向量、备选向量和第一子板的范围确定一待拼子板的范围。
可以理解的是,待拼子板的范围信息包括可确定范围的位置和大小的坐标和/或尺寸信息,比如矩形范围可通过左上角的坐标值和右下角的坐标值来确定。
为了便于说明对备选焊盘在不同角度下进行拼板时待拼子板的范围的确定过程,将图10和图11中右上子板相对于原图2中右上子板旋转了180度。如图10所示,根据备选焊盘13采用0度进行拼板得到一待拼子板200的范围。如图11所示,根据备选焊盘14采用180度进行拼板得到一待拼子板300的范围。
步骤S805,根据所述待拼子板的范围从钢网的焊盘数据档中筛选出待拼子板的焊盘数据,以及根据所述参考焊盘的位置、所述备选焊盘的位置、预设的拼板角度、所述第一子板的范围和所述单子板的元器件数据档确定所述待拼子板的元器件数据档。
从钢网的焊盘数据档中筛选出位于所述待拼子板的范围内的各焊盘信息组成待拼子板的焊盘数据。如图10所示,待拼子板200的焊盘数据由待拼子板200的范围所包围的各焊盘对应的焊盘信息组成。
不同的子板所对应的元器件信息除了坐标不同,其他均相同。同一元器件在待拼子板和第一子板的相对位置关系与备选焊盘和参考焊盘的相对位置关系相同。因此,待拼子板的元器件数据档中各元器件的坐标信息可基于上述步骤中计算出的第一子板的中心位置和参考坐标差等信息进行计算得到。具体的,将单子板的元器件档中各元器件的坐标绕第一子板的中心位置旋转预设拼板角度后、再加上所述参考位置差得到各元器件的新坐标;再根据单子板的元器件档和单子板的元器件档中各元器件的新坐标确定待拼子板的元器件数据档。
步骤S806,从所述待拼子板的元器件数据档中获取各元器件信息,将各元器件在第一子板中绑定的焊盘集与所述待拼子板中的待匹配焊盘集进行匹配,将匹配成功的焊盘集与对应的元器件进行绑定。
可以理解的是,所述待拼子板中的待匹配焊盘集为待拼子板的焊盘数据中尚未与元器件建立绑定关系的各焊盘组成的集合。在首次匹配时,待拼子板的待匹配焊盘集包括待拼子板的所有焊盘数据信息。随着待拼子板的元器件档中各元器件与待拼子板中的焊盘集完成绑定,待拼子板的待匹配焊盘集中的焊盘数量在不断减少。
在一些实施例中,将各元器件在第一子板中绑定的焊盘集与所述待拼子板中的待匹配焊盘集进行匹配包括:获取各元器件在所述第一子板中绑定的焊盘集中各焊盘的中心坐标,将所述各焊盘的中心坐标绕所述第一子板的中心位置旋转所述当前拼板角度后、再加上所述参考位置差得到各焊盘的新的中心坐标,将所述各焊盘的新的中心坐标与所述待拼子板中的待匹配焊盘集中各焊盘的中心坐标进行匹配。
在一些实施例中,为了提高匹配效率,可缩小待拼子板中焊盘的匹配范围。具体的,根据各元器件在第一子板中绑定的焊盘集计算各焊盘集在第一子板中覆盖的范围,再根据各焊盘集在第一子板中覆盖的范围确定各元器件在待拼子板中的焊盘匹配范围。比如,根据各元器件在第一子板中绑定的焊盘集计算各焊盘集的外接矩形的范围,基于与计算待拼子板的范围同样的方式可以得到将所述外接矩形的范围映射到待拼子板后的外接矩形的范围,将所述映射后的外接矩形的范围作为焊盘匹配范围。进一步,获取所述焊盘匹配范围内的待匹配焊盘集,将各元器件在所述第一子板中绑定的焊盘集与所述焊盘匹配范围内的待匹配焊盘集进行匹配。
在一些实施例中,将各元器件在第一子板中绑定的焊盘集与所述待拼子板中的待匹配焊盘集进行匹配还包括:将各元器件在第一子板中绑定的焊盘集中各焊盘的形状信息与所述待拼子板中的待匹配焊盘集中各焊盘的形状信息进行匹配。
在一些实施例中,在遍历待拼子板的元器件数据档中各元器件时,若各元器件对应的焊盘集中各焊盘新的的中心坐标与待拼子板中待匹配焊盘集中各焊盘的中心坐标均匹配成功,则将该匹配成功的焊盘集与对应的元器件进行绑定;否则,任一个元器件对应的的焊盘集中各焊盘新的中心坐标与待拼子板中待匹配焊盘集中各焊盘的中心坐标匹配失败时,停止对元器件数据档中其他元器件的遍历,进入步骤S807。
在一些实施例中,在遍历待拼子板的元器件数据档中各元器件时,若各元器件对应的焊盘集中各焊盘新的中心坐标与待拼子板中待匹配焊盘集中各焊盘的中心坐标均匹配成功,且各元器件对应的焊盘集中各焊盘的形状与待拼子板中待匹配焊盘集中各焊盘的形状也均匹配成功,则将该匹配成功的焊盘集与对应的元器件进行绑定;否则,任一个元器件对应的焊盘集中各焊盘新的中心坐标与待拼子板中待匹配焊盘集中各焊盘的中心坐标匹配失败或者任一个元器件对应的焊盘集中各焊盘的形状与待拼子板中待匹配焊盘集中各焊盘的形状匹配失败时,停止对元器件数据档中其他元器件的遍历,进入步骤S807。
步骤S807,判断所述待拼子板是否拼板成功,若是,进入步骤S808;否则,进入步骤S809。
若待拼子板的元器件数据档中各元器件均与待拼子板的焊盘数据中各焊盘集完成绑定,则判断所述待拼子板拼板成功。
步骤S808,从所述备选焊盘集中删除所述备选焊盘。
步骤S809,判断备选焊盘集中各备选焊盘是否全部完成试拼板,若是,则结束,否则,进入步骤S804。
现有技术中,一般对PCB进行0度或180度拼板。图8实施例提出一种支持任意指定角度的自动拼板方法。在某些情况下,PCB制造厂商可能并不知晓客户的拼板角度,因此需要对各种角度进行遍历,以确认正确的拼板角度。本发明实施例还提供一种支持非指定角度的自动拼板的方法。如图9a和图9b所示为本发明实施例提供的一种支持任意非指定角度进行PCB自动拼板的方法流程图,为了便于展示,图9a和图9b为同一个图拆分而成。所述方法包括:
步骤S901,获取包含至少两个子板的钢网的焊盘数据档、单子板的元器件数据档、所述钢网中第一子板的焊盘数据以及所述单子板的元器件数据档中各元器件与所述第一子板的焊盘数据中各焊盘集的绑定关系。
步骤S902,根据第一子板的焊盘数据确定第一子板的范围。
步骤S903,将所述第一子板的焊盘数据按焊盘形状大小进行分组,找出焊盘数量最少的焊盘分组,并从所述焊盘分组中任意选取一焊盘,将所述焊盘设置为参考焊盘。
具体的,每个焊盘分组内的各焊盘的大小和形状均相同,但焊盘呈现角度可不同。如图10所示,对第一子板的焊盘进行分组,假设各分组内焊盘数量最少的焊盘形状为焊盘11或焊盘12所对应的形状,选取左侧的焊盘11作为参考焊盘。
步骤S904,在钢网的焊盘数据档中过滤掉第一子板的焊盘数据后,查找与所述参考焊盘形状相似的各焊盘形成备选焊盘集。
步骤S905,从预设的拼板角度序列中获取一未进行试拼板的拼板角度作为当前拼板角度。
所述预设的拼板角度序列为由若干个预设的拼板角度,和/或若干个以预设的幅度递增或递减的拼板角度组成的序列。为了提高拼板效率,可优先对0度、180度、90度、270度等预设的拼板角度进行遍历,若拼板成功,则不需要对其他非常规角度进行遍历,若拼板失败,则进一步按照预设的幅度递增或递减的方式进行遍历,实现任意角度的拼板。比如从0度按照1度递增到180度,则需要遍历180次。
步骤S906,从所述备选焊盘集中获取一个在所述当前拼板角度下未进行试拼板的备选焊盘,根据所述参考焊盘的位置、所述备选焊盘的位置、所述当前拼板角度和所述第一子板的范围确定一待拼子板的范围。
步骤S907,在所述待拼子板的范围内查找待匹配的焊盘数量。
步骤S908,判断所述待匹配的焊盘数量是否小于第一子板中的焊盘数量,若是,则进入步骤S913;若否,则进入步骤S909。
如图10所示,选取备选焊盘13按照0度进行拼板形成的待拼子板200的范围所包含的焊盘数量明显小于第一子板中的焊盘数量,因此,说明该备选焊盘13在0度无法完成拼板。如图11所示,选取备选焊盘14按照180度进行拼板进行的待拼子板300的范围所包含的焊盘数量与第一子板中的焊盘数量相同,则说明该备选焊盘14在180度存在拼板可能,可根据进一步的元器件与焊盘匹配结果确认是否可成功拼板。
步骤S909,根据所述待拼子板的范围从钢网的焊盘数据档中筛选出待拼子板的焊盘数据,以及根据所述参考焊盘的位置、所述备选焊盘的位置、所述当前拼板角度、所述第一子板的范围和所述单子板的元器件数据档确定所述待拼子板的元器件数据档。
步骤S910,从所述待拼子板的元器件数据档中获取各元器件信息,将各元器件在第一子板中绑定的焊盘集与所述待拼子板中的待匹配焊盘集进行匹配,将匹配成功的焊盘集与对应的元器件进行绑定。
步骤S911,判断所述待拼子板是否拼板成功,若是,进入步骤S912;否则,进入步骤S913。
步骤S912,从所述备选焊盘集中删除所述备选焊盘。
步骤S913,判断所述备选焊盘集中各备选焊盘在所述当前拼板角度下是否全部完成试拼板,若是,则进入步骤S914,否则,进入步骤S906。
步骤S914,判断所述预设的拼板角度序列中各拼板角度是否已完成试拼板,或者所述备选焊盘集为空,若是,则结束,否则,进入步骤S905。
如图12所示,为本发明实施例提供的一种自动拼板完成后的PCB示意图。
在图8、图9a和图9b提供的自动拼板方法实施例中,在对其他子板中元器件与焊盘数据进行匹配时,是基于第一子板中各元器件和各焊盘集的绑定关系去建立其他子板中元器件与焊盘数据的绑定关系。需要说明的是,也可以采用图1或图7实施例中基于模板库中各元器件和各焊盘集的绑定关系去建立其他子板中元器件与焊盘数据的绑定关系。二者在本质上是一致的,当第一子板中各元器件与各焊盘集完成绑定后,实质上就相当于建立了各元器件与各焊盘集映射关系的模板库。图9a和图9b实施例中未详述的步骤可参考图8中描述。
根据本发明实施例,提供一种电子设备,如图13所示,为本发明实施例提供的一种电子设备的结构示意图,该电子设备可以包括处理器1301、通信接口1302、存储器1303和通信总线1304,其中,处理器1301、通信接口1302、存储器1303通过通信总线1304完成相互间的通信。处理器1301可以调用存储器1303中的逻辑指令,以执行上述任一种方法,例如,该方法包括获取包含至少一个子板的钢网的焊盘数据档以及单子板的元器件数据档;将所述钢网的焊盘数据档和所述单子板的元器件数据档进行对位,从所述钢网的焊盘数据档中筛选出与所述单子板的元器件数据档相对应的第一子板的焊盘数据;从所述单子板的元器件数据档中获取一元器件的信息;在预设的模板库中查找与所述元器件对应的焊盘模板信息,将所述焊盘模板信息与所述第一子板中的待匹配焊盘集进行匹配,将匹配成功的焊盘集与所述元器件进行绑定;从所述单子板的元器件数据档中获取下一个元器件的信息,采用上述相同的步骤进行匹配,直到所述单子板的元器件数据档中所有元器件遍历完成为止。
此外,上述存储器1303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在几个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,计算机软件产品存储于一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)执行本发明实施例中任一方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
根据本发明实施例,提供一种计算机可读存储介质,其类型如上所述,所述计算机可读存储介质存储有计算机可执行的指令,当所述计算机可执行指令被处理器执行时,所述处理器执行本发明实施例中任一方法的步骤。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。