本发明涉及印刷电路板工程cam领域,尤其涉及一种pcb盘中孔自动识别方法、装置、设备及存储介质。
背景技术:
pcb(printedcircuitboard,印制电路)盘中孔是指pcb表面贴焊盘中有包含的导通孔。pcb盘中孔有很多优势:可增大表面焊盘面积,对于线宽线距较小,pcb布线、pad区域较小时,完成导通性的同时能很好缩小面积,减小pcb的尺寸。pcb盘中孔的生产工艺和成本都比较高,如果使用树脂塞孔结合电镀填平pofv的生产工艺成本会增加300~800rmb/平米,这就需要识别pcb文件中是否需要pcb盘中孔并和客户确认才能满足客户的需求。
传统方法中主要通过人工方式识别pcb盘中孔,这种方式成本高效率低并且准确性差很容易造成损失;或者使用半自动化方式依赖钢网文件进行识别,如果没有钢网文件或钢网文件错误的情况下会有漏报pcb盘中孔的风险。因此,采用一种自动的pcb盘中孔识别方法和工具迫在眉睫。
技术实现要素:
有鉴于此,本发明提供了一种pcb盘中孔自动识别方法、装置、设备及存储介质,能够自动识别已经设计好的pcb中是否存在盘中孔,以方便后续针对盘中孔进行加工等操作,无需人工识别,也不需要额外准备钢网文件,成本更低,效率更高。
为解决上述技术问题,第一方面,本发明提供了一种pcb盘中孔自动识别方法,包括:
根据pcb加工数据识别钻孔类型,根据钻孔类型确定via孔;
根据所述pcb加工数据识别焊盘类型,根据焊盘类型确定与所述via孔对应的smd焊盘;
判断所述via孔和对应的所述smd焊盘之间位置关系是否满足预设相交条件,若满足则确定所述via孔为盘中孔。
第二方面,本发明提供了一种pcb盘中孔自动识别装置,包括:
钻孔识别模块,用于根据pcb加工数据识别钻孔类型,根据钻孔类型确定via孔;
焊盘识别模块,用于根据所述pcb加工数据识别焊盘类型,根据焊盘类型确定与所述via孔对应的smd焊盘;
盘中孔识别模块,用于判断所述via孔和对应的所述smd焊盘之间位置关系是否满足预设相交条件,若满足则确定所述via孔为盘中孔。
第三方面,本发明提供了一种计算机设备,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明任一实施例提供的pcb盘中孔自动识别方法。
第四方面,本发明提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现如本发明任一实施例提供的pcb盘中孔自动识别方法。
本发明提供的pcb盘中孔自动识别方法,能够根据pcb加工数据自动识别钻孔类型和焊盘类型,以确定via孔和smd焊盘,并进一步根据via孔和smd焊盘的位置关系判断二者是否满足预设相交条件,以判断via孔是否是pcb盘中孔,实现了根据pcb加工数据自动识别pcb盘中孔,避免根据图片、数据等形式人工识别的费时费力,也无需制作钢网文件以识别pcb盘中孔,有效的提高了加工效率,降低成本,并且自动识别的准确率更高,避免人工识别漏判情况。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本申请的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的一种pcb盘中孔自动识别方法的流程图;
图2是本发明实施例二提供的一种pcb盘中孔自动识别方法的子流程图;
图3是本发明实施例二提供的一种pcb盘中孔自动识别方法的子流程图;
图4是本发明实施例三提供的一种pcb盘中孔自动识别装置的结构示意图;
图5是本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施中的技术方案进行清楚、完整的描述。可以理解的是,此处所描述的具体实施例仅仅是本申请一部分实施例,而不是全部的实施例,仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个特征的组合。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。需要说明的是,当一个部被称为“固定于”另一个部,它可以直接在另一个部上也可以存在居中的部。当一个部被认为是“连接”到另一个部,它可以是直接连接到另一个部或者可能同时存在居中部。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述,只是为了说明的目的,并不表示是唯一的实施方式。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
参见图1,本实施例提供了一种pcb盘中孔自动识别方法,该方法可以由终端或计算机设备执行,也可以通过计算机设备与终端的交互完成,本实施例中以终端为例进行说明,具体的,该方法包括以下步骤:
s110、根据pcb加工数据识别钻孔类型,根据钻孔类型确定via孔。
pcb盘中孔是pcb表面贴焊盘中包含的via孔(导通孔)中的一种,实际上是位于焊盘中间的via孔,因此需要识别pcb盘中孔需要先识别via孔,以在所有via孔中进一步识别pcb盘中孔。
通常情况下,pcb上有大大小小的孔,这些孔大体可以分为pth(platingthroughhole,电镀通孔)孔及npth(nonplatingthroughhole,非电镀通孔孔)两种,而via孔是pth孔中的一种类型,一般在pcb上的pth孔有两种用途:一种是用来焊接传统dip零件脚用的,这些孔的孔径必须比零件的焊接脚直径来得大一些,这样才能把零件插到孔中;另一种用来连接及导通电路板(pcb)的两层或多层之间的铜箔线路用的,这种就是via孔。二者在生产过程中加工工艺有所不同,因此本实施例中基于pcb加工数据进行pcb上钻孔类型识别,以先识别出在尺寸上符合要求的via孔。
具体的,本实施例中终端上预设有识别pcb盘中孔的软件程序,终端通过该软件程序自gerber文件中读取pcb加工数据,根据pcb加工数据中与钻孔相关的信息识别钻孔类型,以确定钻孔中的via孔。
s120、根据所述pcb加工数据识别焊盘类型,根据焊盘类型确定与所述via孔对应的smd焊盘。
前文已经提到,pcb盘中孔是指在焊盘中的via孔,因此在识别了via孔之后,需要结合焊盘进一步识别via孔中的pcb盘中孔。pcb上焊盘也有不同类型,而并非所有焊盘适合配合pcb盘中孔,因此本实施例中进一步对焊盘进行筛选,以确定可能存在pcb盘中孔的焊盘,即smd焊盘(smd是指电阻层开口小于金属垫焊接工艺),再确定via孔和smd焊盘之间的对应关系:按照位置上最接近原则配对via孔和smd焊盘(pcb盘中孔是指在开在焊盘中的via孔)。
具体的,终端中的软件程序在识别了via孔之后,进一步根据pcb加工数据区分pcb上的焊盘,以确定smd焊盘,并进一步确定via孔与smd焊盘在位置上的对应关系,以方便后续进一步确定via孔是否为pcb盘中孔。
s130、判断所述via孔和对应的所述smd焊盘之间位置关系是否满足预设相交条件,若满足则确定所述via孔为盘中孔。
本实施例中,预设相交条件为via孔和smd焊盘相交,且相交面积大于预设比例(例如smd焊盘的百分之五十、via孔的百分之九十等,具体可以根据实际情况自行设置标准),即根据via孔与smd焊盘的对应关系判断via孔与smd焊盘是否相交,若相交且相交面积大于预设比例,则满足预设相交条件,确定对应的via孔为pcb盘中孔。
via孔和smd焊盘位于pcb上的不同板层,via孔位于钻孔层,smd焊盘位于线路层,对于pcb盘中孔,存在在板层交界处相交的smd焊盘,据此可以识别via孔中的pcb盘中孔。
具体的,本实施例中,终端中的软件程序在确定了距离最接近的via孔和smd焊盘后,进一步根据具体位置关系确定via孔是否作为pcb盘中孔使用,以识别pcb盘中孔。
本实施例提供了一种pcb盘中孔自动识别方法,能够根据pcb加工数据自动识别钻孔类型和焊盘类型,以确定via孔和smd焊盘,并进一步根据via孔和smd焊盘的位置关系判断二者是否满足预设相交条件,以判断via孔是否是pcb盘中孔,实现了根据pcb加工数据自动识别pcb盘中孔,避免根据图片、数据等形式人工识别的费时费力,也无需制作钢网文件以识别pcb盘中孔,有效的提高了加工效率,降低成本,并且自动识别的准确率更高,避免人工识别漏判情况。
实施例二
实施例二提供了一种pcb盘中孔自动识别方法,其与实施例一的区别在于,对实施例一中的部分内容进行了进一步解释和补充,具体包括:
如图2所示,步骤s110具体包括步骤s111-112:
s111、根据所述pcb加工数据确定钻孔层中钻孔的孔径,以及组焊层中与钻孔对应的开窗状态。
前文已经提到pth孔包括两种,via孔是其中一种,对于非via孔和via孔,二者有着不同的规格标准,具体的可以根据钻孔的孔径和开窗状态确定钻孔具体属于哪种规格。
s112、根据所述孔径和对应的开窗状态按照预设规则识别via孔。
本实施例中,所述开窗状态包括开窗、盖油和电镀,如果有阻焊图形覆盖,对应的钻孔则为开窗,否则对应的钻孔为盖油,预设规则中包括钻孔属性定义参数,钻孔属性定义参数包括双面盖油via最大值、盖油孔径via最大值、双面开窗pth最小值和pth孔环最小值,根据孔径和开窗状态确定为via孔具体包括三种情况:
第一种,若钻孔的开窗属性为盖油,同时钻孔的孔径大于等于双面开窗pth孔径最小值且小于等于盖油via孔径最大值,则确定对应的钻孔为via孔;
第二种,若钻孔的开窗属性为开窗,同时钻孔的孔径大于等于双面开窗pth孔径最小值且小于等于盖油via孔径最大值,则确定对应的钻孔为via孔;
第三种,若钻孔的开窗属性为电镀,同时钻孔的孔径大于等于0且小于等于双面开窗pth孔径最小值,则确定钻孔为via孔。
除上述三种情况之外的钻孔都被识别为非via孔。
具体的,在一些实施例中,如图3所示,步骤s120中识别焊盘类型包括步骤s121-122:
s121、根据所述pcb加工数据识别非圆形焊盘。
具体的,识别非圆形焊盘时需要先根据pcb加工数据确定pad焊盘,在进一步在pad焊盘中确定非圆形焊盘。在确定pad焊盘时,需要使用预先设置好的焊盘属性定义规则参数,包括阻焊层与线路焊盘之间的误差值参数,在线路焊盘满足于与阻焊开窗对应且单边差异值在误差值参数定义的范围之内时(需满足任意一边的单边差异值均在误差值参数定义的范围之内),定义该线路焊盘为pad焊盘。在确定了pad焊盘之后,需要进一步识别pad焊盘中的非圆形焊盘,以在非圆形焊盘中识别smd焊盘,此处可以根据焊盘的形状进行区分。
s122、基于所述非圆形焊盘结合所述pcb加工数据根据阻焊开窗类型识别smd焊盘。
s123、根据钻孔层和线路层的位置关系确定与所述via孔对应的smd焊盘。
在线路层和钻孔层的交界面确定via孔和smd焊盘的距离,以距离最近为标准对via孔和smd焊盘进行对应配对得到对应关系。
可选的,在一个实施例中,在步骤s110之前还包括步骤s210(图未示):
s210、设置预设参数,所述预设参数包括钻孔属性定义规则参数、焊盘属性定义规则参数以及盘中孔属性定义规则参数,所述孔属性定义规则参数用于识别via孔,所述焊盘属性定义规则参数用于识别smd焊盘,所述盘中孔属性定义规则参数用于识别盘中孔。
步骤s210用于在终端中预先设置用于识别via孔的钻孔属性定义规则参数、用于识别smd焊盘的焊盘属性定义规则参数以及用于识别盘中孔的盘中孔属性定义规则参数。钻孔属性定义参数包括双面盖油via最大值、盖油孔径via最大值、双面开窗pth最小值和pth孔环最小值;焊盘属性定义规则参数包括阻焊层与线路焊盘之间的误差值参数;盘中孔属性定义规则参数包括via孔与对应的smd焊盘相交面积的预设比例。
本实施例提供的一种pcb盘中孔自动识别方法,进一步提供了识别via孔的具体方式,以及识别smd焊盘的具体方式,方便快速根据pcb加工数据确定决定是否是pcb盘中孔的两个要素,以快速自动识别pcb上的盘中孔,方便快捷。
实施例三
图4为本发明实施例三提供的一种pcb盘中孔自动识别装置300的结构示意图,该装置包括:
钻孔识别模块310,用于根据pcb加工数据识别钻孔类型,根据钻孔类型确定via孔;
焊盘识别模块320,用于根据所述pcb加工数据识别焊盘类型,根据焊盘类型确定与所述via孔对应的smd焊盘;
盘中孔识别模块330,用于判断所述via孔和对应的所述smd焊盘之间位置关系是否满足预设相交条件,若满足则确定所述via孔为盘中孔。
可选的,在一些实施例中,钻孔识别模块310包括:
孔径和开窗状态确定单元,用于根据所述pcb加工数据确定钻孔层中钻孔的孔径,以及组焊层中与钻孔对应的开窗状态;
via孔识别单元,用于根据所述孔径和对应的开窗状态按照预设规则识别via孔。
可选的,在一些实施例中,所述开窗状态包括开窗、盖油和电镀,via孔识别单元具体用于:若钻孔的开窗属性为盖油,同时钻孔的孔径大于等于双面开窗pth孔径最小值且小于等于盖油via孔径最大值,则确定对应的钻孔为via孔;
若钻孔的开窗属性为开窗,同时钻孔的孔径大于等于双面开窗pth孔径最小值且小于等于盖油via孔径最大值,则确定对应的钻孔为via孔;
若钻孔的开窗属性为电镀,同时钻孔的孔径大于等于0且小于等于双面开窗pth孔径最小值,则确定钻孔为via孔。
可选的,在一些实施例中,焊盘识别模块320包括:
非圆形焊盘识别单元,用于根据所述pcb加工数据识别非圆形焊盘;
smd焊盘识别单元,用于基于所述非圆形焊盘结合所述pcb加工数据根据阻焊开窗类型识别smd焊盘;
关系对应单元,用于根据钻孔层和线路层的位置关系确定与所述via孔对应的smd焊盘。
可选的,在一些实施例中,非圆形焊盘识别单元具体用于:根据阻焊层与线路焊盘之间的误差值参数确定pad焊盘,并根据所述pad焊盘的形状确定非圆形焊盘。
可选的,在一些实施例中,盘中孔识别模块330具体用于:判断via孔与对应的smd焊盘是否相交,若相交且相交面积大于预设比例,则满足预设相交条件。
可选的,在一些实施例中,还包括:参数预设模块,用于设置预设参数,所述预设参数包括钻孔属性定义规则参数、焊盘属性定义规则参数以及盘中孔属性定义规则参数,所述孔属性定义规则参数用于识别via孔,所述焊盘属性定义规则参数用于识别smd焊盘,所述盘中孔属性定义规则参数用于识别盘中孔。
本实施例提供了一种pcb盘中孔自动识别装置,能够根据pcb加工数据自动识别钻孔类型和焊盘类型,以确定via孔和smd焊盘,并进一步根据via孔和smd焊盘的位置关系判断二者是否满足预设相交条件,以判断via孔是否是pcb盘中孔,实现了根据pcb加工数据自动识别pcb盘中孔,避免根据图片、数据等形式人工识别的费时费力,也无需制作钢网文件以识别pcb盘中孔,有效的提高了加工效率,降低成本,并且自动识别的准确率更高,避免人工识别漏判情况。
实施例四
图5为本发明实施例六提供的一种计算机设备400的结构示意图,如图5所示,该计算机设备包括存储器410、处理器420,计算机设备中处理器420的数量可以是一个或多个,图5中以一个处理器420为例;计算机设备中的存储器410、处理器420可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的pcb盘中孔自动识别方法对应的程序指令/模块(例如,pcb盘中孔自动识别装置中的行为钻孔识别模块310、焊盘识别模块320、盘中孔识别模块330)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的pcb盘中孔自动识别方法。
其中,所述处理器420用于运行存储在存储器410中的计算机可执行程序,以实现如下步骤:步骤s110、根据pcb加工数据识别钻孔类型,根据钻孔类型确定via孔;步骤s120、根据所述pcb加工数据识别焊盘类型,根据焊盘类型确定与所述via孔对应的smd焊盘;步骤s130、判断所述via孔和对应的所述smd焊盘之间位置关系是否满足预设相交条件,若满足则确定所述via孔为盘中孔。
当然,本发明实施例所提供的一种计算机设备,该计算机设备不限于如上所述的方法操作,还可以执行本发明实施例任意实施例所提供的pcb盘中孔自动识别方法中的相关操作。
存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提供了一种计算机设备,能够根据pcb加工数据自动识别钻孔类型和焊盘类型,以确定via孔和smd焊盘,并进一步根据via孔和smd焊盘的位置关系判断二者是否满足预设相交条件,以判断via孔是否是pcb盘中孔,实现了根据pcb加工数据自动识别pcb盘中孔,避免根据图片、数据等形式人工识别的费时费力,也无需制作钢网文件以识别pcb盘中孔,有效的提高了加工效率,降低成本,并且自动识别的准确率更高,避免人工识别漏判情况。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种pcb盘中孔自动识别方法,该pcb盘中孔自动识别方法包括:
根据pcb加工数据识别钻孔类型,根据钻孔类型确定via孔;
根据所述pcb加工数据识别焊盘类型,根据焊盘类型确定与所述via孔对应的smd焊盘;
判断所述via孔和对应的所述smd焊盘之间位置关系是否满足预设相交条件,若满足则确定所述via孔为盘中孔。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的pcb盘中孔自动识别方法中的相关操作。
通过以上关于实施方式的描述,所述领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,设备,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述pcb盘中孔自动识别装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。