CN101281027A - 检测不合格丝印标记的方法及装置 - Google Patents
检测不合格丝印标记的方法及装置 Download PDFInfo
- Publication number
- CN101281027A CN101281027A CNA2008101128543A CN200810112854A CN101281027A CN 101281027 A CN101281027 A CN 101281027A CN A2008101128543 A CNA2008101128543 A CN A2008101128543A CN 200810112854 A CN200810112854 A CN 200810112854A CN 101281027 A CN101281027 A CN 101281027A
- Authority
- CN
- China
- Prior art keywords
- angle
- silk marks
- degree
- marks
- silk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Structure Of Printed Boards (AREA)
- Inking, Control Or Cleaning Of Printing Machines (AREA)
Abstract
本发明公开了一种检测不合格丝印标记的方法,包括检测装置选定电路板中待检测的丝印标记;以及在所述选定的待检测的丝印标记中,检测出层面排列不合格的丝印标记和角度排列不合格的丝印标记。本发明还公开了对应的检测不合格丝印标记的检测装置以及另一种检测不合格丝印标记的方法和装置。本发明实现了对不合格丝印标记的自动检测,解决了人工检测不合格丝印标记效率低,且准确性难以保证的问题。
Description
技术领域
本发明涉及印刷电路板设计技术领域,尤其涉及一种检测不合格丝印标记的方法及装置。
背景技术
在印刷电路板(PCB,Print Circuit Board)的设计中,丝印标记是器件的唯一身份标识,根据丝印标记,可以在PCB板中查找对应器件的实际位置,因此,该标记对PCB板的实际生产、调试及维护起着很重要的辅助作用。
丝印标记中包含的信息主要有器件的名称信息(REFDES)、器件管脚的位号(pin number)、放置在表层的说明信息等,这些信息的主要作用在于指示某元器件大致的物理位置,以利于PCB板的生产、调试及维护等。如图1所示,为PCB板上的元器件电阻的示意图,图中的两个方框分别表示两个元器件电阻,而“R133”和“R138”则分别表示两个电阻的丝印标记,如需在PCB板上对这两个电阻的位置进行查找,只需查找其对应的丝印标记“R133”或“R138”的位置即可找到该电阻的位置。
通常PCB板分为内层和表层,其中,丝印标记位于PCB板的表层,而该表层又分为顶层(top)和底层(bottom),在进行PCB板的设计时,有这样的特点:top层上的丝印标记被设计为在印刷时不需要进行镜像处理的丝印标记,如图1中电阻的丝印标记“R133”和“R138”;而bottom层上的丝印标记则需要被设计为在印刷时需要进行镜像处理的丝印标记,如图2中电阻的丝印标记“R137”和“R118”。同时,为了使设计出的PCB板便于查看,在top层中或bottom层中对丝印标记的排列只能按照两个角度进行,即在0度与180度这两个角度中任选其一,并在90度和270度这两个角度中任选其一。如图1中的丝印标记“R133”的排列角度即为0度,丝印标记“R138”的排列角度则为90度,图2中的丝印标记“R137”的排列角度为0度,而丝印标记“R118”的排列角度为270度。
根据上述在进行PCB板设计时位于top层和bottom层上丝印标记的特点,以及丝印标记排列的规则,一般地,将出现以下几种情况的丝印标记被定为不合格的丝印标记:
1、在top层上的丝印标记为在印刷时需要进行镜像处理的丝印标记;
2、在bottom层上的丝印标记为在印刷时不需要进行镜像处理的丝印标记;
3、在同一层(top层或bottom层)上出现的丝印标记排列方向多于两个方向。
目前在现有技术中,在进行PCB板的设计时,是采用人工的方式来检查丝印标记的排列是否有以上几种不合格的情况,但一块PCB板上的丝印标记数量极大,这样的做法既浪费时间,又不能保证检查后PCB板的正确性。
发明内容
本发明提供一种检测不合格丝印标记的方法及装置,用以解决现有技术中通过人工的方法对不合格的丝印标记进行检测的效率低,且无法保证检测准确性的问题。
为此,本发明采用如下方案:
一种检测不合格丝印标记的方法,包括:检测装置选定电路板中待检测的丝印标记;以及在所述选定的待检测的丝印标记中,检测出层面排列不合格的丝印标记和角度排列不合格的丝印标记。
其中,所述检测出角度排列不合格的丝印标记具体包括:分别按照排列角度为第一角度、第二角度、第三角度和第四角度,将选定的处于电路板同一层面中的待检测丝印标记分组,所述第三角度与第一角度之差为90度的奇数倍,第二角度与第一角度之差为180度的奇数倍,第四角度与第三角度之差为180度的奇数倍;以及将选定的排列角度不为第一角度、第二角度、第三角度和第四角度的丝印标记定为角度排列不合格的丝印标记;基于所述分组的结果,比较排列角度为第一角度的一组丝印标记的个数和排列角度为第二角度的一组丝印标记的个数,并将个数较少的一组丝印标记定为角度排列不合格的丝印标记;以及比较排列角度为第三角度的一组丝印标记的个数和排列角度为第四角度的一组丝印标记的个数,并将个数较少的一组丝印标记定为角度排列不合格的丝印标记。
所述检测出角度排列不合格的丝印标记具体包括步骤:判断选定的处于电路板同一层面中的待检测丝印标记的排列角度是否属于预定的角度集合;以及将排列角度不属于所述角度集合的丝印标记定为角度排列不合格的丝印标记。
所述检测出层面排列不合格的丝印标记具体包括步骤:判断选定的待检测丝印标记在电路板顶层还是底层;若在顶层,判断待检测丝印标记在印刷时是否需要镜像,以及将判断结果需要镜像的丝印标记定为层面排列不合格的丝印标记;若在底层,判断待检测丝印标记在印刷时是否需要镜像,以及将判断结果不需要镜像的丝印标记定为层面排列不合格的丝印标记。
本发明方案还提供了一种检测不合格丝印标记的检测装置,包括:选定模块,用于选定电路板中待检测的丝印标记;检测模块,用于在所述选定的待检测的丝印标记中,检测出层面排列不合格的丝印标记和角度排列不合格的丝印标记。
其中,所述的检测模块具体包括:分组模块,用于分别按照排列角度为第一角度、第二角度、第三角度和第四角度,将选定模块选定的处于电路板同一层面中的待检测丝印标记分组,所述第三角度与第一角度之差为90度的奇数倍,第二角度与第一角度之差为180度的奇数倍,第四角度与第三角度之差为180度的奇数倍;第一判定模块,用于将选定模块选定的排列角度不为第一角度、第二角度、第三角度和第四角度的丝印标记定为角度排列不合格的丝印标记;第二判定模块,用于基于所述分组模块的分组结果,比较排列角度为第一角度的一组丝印标记的个数和排列角度为第二角度的一组丝印标记的个数,并将个数较少的一组丝印标记定为角度排列不合格的丝印标记;第三判定模块,用于基于所述分组模块的分组结果,比较排列角度为第三角度的一组丝印标记的个数和排列角度为第四角度的一组丝印标记的个数,并将个数较少的一组丝印标记定为角度排列不合格的丝印标记。
所述的检测模块具体包括:判断模块,用于判断选定模块选定的处于电路板同一层面中的待检测丝印标记的排列角度是否属于预定的角度集合;判定模块,用于将判断模块判断出的排列角度不属于所述角度集合的丝印标记定为角度排列不合格的丝印标记。
所述的检测模块具体包括:层面判断模块,用于判断选定模块选定的待检测丝印标记在电路板顶层还是底层;顶层镜像判断模块,用于在层面判断模块判断出待检测丝印标记在电路板顶层时,判断待检测丝印标记在印刷时是否需要镜像,以及将判断结果需要镜像的丝印标记定为层面排列不合格的丝印标记;底层镜像判断模块,用于在层面判断模块判断出待检测丝印标记在电路板底层时,判断待检测丝印标记在印刷时是否需要镜像,以及将判断结果不需要镜像的丝印标记定为层面排列不合格的丝印标记。
本发明对不合格丝印标记进行检测的方案采用自动检测的方式实现对不合格丝印标记的检查,与人工检查的方法相比,大大节省了时间和精力,从而提高了PCB板设计的效率和准确性。
附图说明
图1为位于PCB板上top层的元器件电阻及其丝印标记的示意图;
图2为位于PCB板上bottom层的元器件电阻及其丝印标记的示意图;
图3为本发明实施例一提供的检测不合格丝印标记的方法的主要实现原理流程图;
图4为本发明实施例一提供的检测不合格丝印标记的装置的结构示意图;
图5为本发明实施例二提供的检测不合格丝印标记的方法的主要实现原理流程图;
图6为本发明实施例二提供的检测不合格丝印标记的装置的结构示意图。
具体实施方式
本发明实施例一提供一种检测不合格丝印标记的方案,能够自动检测PCB板上不合格的丝印标记,解决了现有技术中采用人工方式进行检测效率低,准确性不高的问题。
如图3所示,为本发明提供的一种检测不合格丝印标记的方法流程图,该方法的主要实现原理如下:
步骤30,设定第一角度、第二角度、第三角度、第四角度;
其中,第三角度与第一角度之差为90度的2n+1(n为整数)倍;第二角度与第一角度之差为180度的2n+1(n为整数)倍;第四角度与第三角度之差为180度的2n+1(n为整数)倍。较佳的,例如第一角度可以取0度,第二角度可以取180度,第三角度可以取90度,第四角度可以取270度;
步骤31,选择PCB板上所有需要印刷的丝印标记;
步骤32,判断选择的丝印标记在哪个层面,如果在top层,进入步骤330,如果在bottom层,则进入步骤340;
步骤330,当丝印标记在top层时,判断丝印标记是否为在印刷时需要进行镜像处理的丝印标记,如果是,则将丝印标记定为层面排列不合格的丝印标记,转入步骤35,对判断为不合格的丝印标记信息进行存储;如果判断为不是,则进入步骤331;
步骤331,判断丝印标记的排列角度是否为第一角度、第二角度、第三角度或第四角度,如果是,则转入步骤332,如果不是,则将丝印标记定为角度排列不合格的丝印标记,转入步骤35,对判断为不合格的丝印标记信息进行存储;
步骤332,分别统计按照第一角度、第二角度、第三角度或第四角度排列的丝印标记的个数;
步骤333,比较按照第一角度排列的丝印标记的个数和按照第二角度排列的丝印标记的个数,得出个数较少的一组,并比较按照第三角度排列的丝印标记的个数和按照第四角度排列的丝印标记的个数,得出个数较少的一组;
步骤334,将比较得到的两组个数较少的丝印标记定为角度排列不合格的丝印标记,转入步骤35,对判断为不合格的丝印标记信息进行存储;特别地,当按照第一角度排列的丝印标记的个数与按照第二角度排列的丝印标记的个数相等时,将按照这两个角度中任意一个角度排列的丝印标记定为角度排列不合格的丝印标记;同理,当按照第三角度排列的丝印标记的个数与按照第四角度排列的丝印标记的个数相等时,也将按照这两个角度中任意一个角度排列的丝印标记定为角度排列不合格的丝印标记;
步骤340,当丝印标记在bottom层时,判断丝印标记是否为在印刷时需要进行镜像处理的丝印标记,如果不是,则将丝印标记定为层面排列不合格的丝印标记,转入步骤35,对判断为不合格的丝印标记信息进行存储;如果判断为是,则进入步骤341;
步骤341,判断丝印标记的排列角度是否为第一角度、第二角度、第三角度或第四角度,如果是,则转入步骤342,如果不是,则将丝印标记定为角度排列不合格的丝印标记,转入步骤35,对判断为不合格的丝印标记信息进行存储;
步骤342,分别统计按照第一角度、第二角度、第三角度或第四角度排列的丝印标记的个数;
步骤343,比较按照第一角度排列的丝印标记的个数和按照第二角度排列的丝印标记的个数,得出个数较少的一组,并比较按照第三角度排列的丝印标记的个数和按照第四角度排列的丝印标记的个数,得出个数较少的一组;
步骤344,将比较得到的两组个数较少的丝印标记定为角度排列不合格的丝印标记,转入步骤35,对判断为不合格的丝印标记信息进行存储;特别地,当按照第一角度排列的丝印标记的个数与按照第二角度排列的丝印标记的个数相等时,将按照这两个角度中任意一个角度排列的丝印标记定为角度排列不合格的丝印标记;同理,当按照第三角度排列的丝印标记的个数与按照第四角度排列的丝印标记的个数相等时,也将按照这两个角度中任意一个角度排列的丝印标记定为角度排列不合格的丝印标记;
步骤35,对判断为不合格的丝印标记信息进行存储;
步骤36,输出步骤35中存储的被判断为不合格的丝印标记信息;
步骤37,根据输出的不合格丝印标记信息,对不合格的丝印标记进行相应修改。
本发明实施例提供的上述检测不合格丝印标记的方法,可以基于ALLEGRO(一种PCB板设计布线工具),并采用SKILL语言(一种软件编程语言)实现,具体实现的程序代码如下,此时的第一角度、第二角度、第三角度以及第四角度分别定为0度、180度、90度和270度:
首先对需要印刷的丝印标记进行选择,一般地,需要印刷的丝印标记通常包括以下信息:
(1)器件的名称信息(REFDES),它放置在″REF DES/SILKSCREEN_TOP″和″REF DES/SILKSCREEN_BOTTOM″两个信息层面中;
(2)器件管脚的位号信息(pin number),它放置在″PACKAGE GEOMETRY/SILKSCREEN_TOP″和″PACKAGE GEOMETRY/SILKSCREEN_BOTTOM″两个信息层面中;
(3)需要被放置在表层的说明信息,它放置在″BOARD GEOMETRY/SILKSCREEN_TOP″和″BOARD GEOMETRY/SILKSCREEN_BOTTOM″两个信息层面中。
要选择PCB板中所有需要印刷的丝印标记,就需将以上各个信息层面进行打开,由于信息层面″PACKAGE GEOMETRY/SILKSCREEN_TOP″、″PACKAGE GEOMETRY/SILKSCREEN_BOTTOM″、″REFDES/SILKSCREEN_TOP″和″REF DES/SILKSCREEN_BOTTOM″在建立器件封装时已经包含进去,因此可以直接对这四个信息层面上的丝印标记进行选择,不再需要对这四个信息层面进行打开。这里只需要将其它两个信息层面打开,打开的操作语句如下:
axlVisibleDesign(nil)
axlVisibleLayer(″BOARD GEOMETRY/SILKSCREEN_TOP″,t)
axlVisibleLayer(″BOARD GEOMETRY/SILKSCREEN_BOTTOM″,t)
对打开后的″BOARD GEOMETRY/SILKSCREEN_TOP″和″BOARD GEOMETRY/SILKSCREEN_BOTTOM″信息层面中的丝印标记进行选择,所选择的丝印标记就存放在1_dbid变量里,通过以下语句实现:
axlSetFindFilter(?enabled list(″NOALL″,″TEXT″)
?onButtons list(″NOALL″,″TEXT″))
1_dbid=axlGetSelSet(axlAddSelectAll())
然后选择其余四个信息层面″PACKAGE GEOMETRY/SILKSCREEN_TOP″,″PACKAGE GEOMETRY/SILKSCREEN_BOTTOM″,″REF DES/SILKSCREEN_TOP″和″REF DES/SILKSCREEN_BOTTOM″的丝印标记,并将选择的丝印标记添加到1_dbid变量里,通过以下语句实现:
foreach(symbol axlDBGetDesign()->symbols
foreach(obj_dbid symbol->children
if(obj_dbid->objType==″text″&& member(obj_dbid->layer,
list(″PACKAGE GEOMETRY/SILKSCREEN_TOP″,
″PACKAGE GEOMETRY/SILKSCREEN_BOTTOM″,
″REF DES/SILKSCREEN_TOP″,
″REF DES/SILKSCREEN_BOTTOM″))
then
1_dbid=append1(1_dbid,obj_dbid)
);end-if
);end-foreach
);end-foreach
在选定需要印刷的丝印标记后,将选定的丝印标记所在的层面进行分类,分为top层和bottom层,如果丝印标记在top层上,并且印刷时需要进行镜像处理,则判断该丝印标记为层面排列不合格的丝印标记,将其储存在变量flg[10]里;如果丝印标记在bottom层上,并且印刷时不需要进行镜像处理,则判断该丝印标记也为层面排列不合格的丝印标记,将其储存在变量flg[11]里;此外,取一个排列变量flg,它包含12个变量,并将12个变量都赋值为空。其中,flg[0],flg[1],flg[2],flg[3],flg[4]和flg[10]六个变量分别用于对应储存top层上排列角度为0度,90度,180度,270度,其他角度以及层面排列不合格的丝印标记;而flg[5],flg[6],flg[7],flg[8],flg[9]和flg[11]六个变量则分别用于对应储存bottom层上排列角度为0度,90度,180度,270度,其他角度以及层面排列不合格的丝印标记。判断选定的丝印标记的层面排列以及角度排列是否合格的程序代码如下:
foreach(text 1_dbid
case(car(last(parseString(text->layer,″/_″)))
(″TOP″
if(text->mirrorType==″NO″then
case(text->rotation
(0.0 flg[0]=append1(flg[0],text));case
(90.0 flg[1]=append1(flg[1],text));case
(180.0 flg[2]=append1(flg[2],text));case
(270.0 flg[3]=append1(flg[3],text));case
(t flg[4]=append1(flg[4],text));case
);end-case
else
flg[10]=append1(flg[10],text)
);end-if
);case
(″BOTTOM″
if(text->mirrorType==″YES″then
case(text->rotation
(0.0 flg[5]=append1(flg[5],text));case
(90.0 flg[6]=append1(flg[6],text));case
(180.0 flg[7]=append1(flg[7],text));case
(270.0 flg[8]=append1(flg[8],text));case
(t flg[9]=append1(flg[9],text));case
);end-case
else
flg[11]=append1(flg[11],text)
);end-if
);case
);end-case
);end-foreach
按照丝印标记的排列角度进行统计和比较的程序代码如下:
if(length(flg[0])<length(flg[2])then
top=append1(top flg[0])
else
top=append1(top flg[2])
);end-if
if(length(flg[1])<length(flg[3])then
top=append1(top flg[1])
else
top=append1(top flg[3])
);end-if
if(flg[4]then top=append1(top flg[4]))
if(length(flg[5])<length(flg[7])then
bottom=append1(bottom flg[5])
else
bottom=append1(bottom flg[7])
);end-if
if(length(flg[6])<length(flg[8])then
bottom=append1(bottom flg[6])
else
bottom=append1(bottom flg[8])
);end-if
if(flg[9]then bottom=append1(bottom flg[9]))
最后,用fprintf函数,输出不合格的丝印标记信息,其中包括不合格丝印标记的名称、丝印标记的不合格信息、不合格丝印标记所在的层面以及所在层面上的该丝印标记的坐标。输出文件″checkref.log″,用以下语句实现:
filep=outfile(″checkref.log″)
close(filep)
axlUIViewFileCreate(″checkref.log″,″Check Silkscreen Log File″,nil)
其中,由文件″checkref.log″展示不合格丝印标记的名称、丝印标记的不合格信息、不合格丝印标记所在的层面以及所在层面上的该丝印标记的坐标。
相应地,本发明实施例还提供了一种检测不合格丝印标记的装置,用于自动检测PCB板上不合格的丝印标记,以解决采用人工方式进行检测效率低,准确性不高的问题。该装置的结构示意图如图4所示,包含:
角度存储模块40,用于存储第一角度、第二角度、第三角度、第四角度;
其中,第三角度与第一角度之差为90度的2n+1(n为整数)倍;第二角度与第一角度之差为180度的2n+1(n为整数)倍;第四角度与第三角度之差为180度的2n+1(n为整数)倍。较佳的,例如第一角度可以取0度,第二角度可以取180度,第三角度可以取90度,第四角度可以取270度;
选定模块41,用于选定PCB板上所有需要检测的丝印标记;
层面判断模块42,用于判断选定模块41所选定的丝印标记是在PCB板的top层还是bottom层;
顶层镜像判断模块430,用于根据层面判断模块42的判断结果,判断位于top层上的丝印标记是否为在印刷时需要进行镜像处理的丝印标记,如果是,则将在印刷时需要进行镜像处理的丝印标记定为层面排列不合格的丝印标记,并将定为层面排列不合格的丝印标记的信息存储到存储模块45,如果不是,则由分组模块431进一步处理;
分组模块431,用于分别按照排列角度为角度存储模块40中存储的第一角度、第二角度、第三角度和第四角度,将未被顶层镜像判断模块430定为层面排列不合格的丝印标记进行分组;
顶层第一判定模块432,用于将未被顶层镜像判断模块430定为层面排列不合格,但排列角度不为角度存储模块40中存储的第一角度、第二角度、第三角度和第四角度的丝印标记定为角度排列不合格的丝印标记,并将判断为角度排列不合格的丝印标记的信息存储到存储模块45;
顶层第二判定模块433,用于基于分组模块431的分组结果,比较排列角度为第一角度的一组丝印标记的个数和排列角度为第二角度的一组丝印标记的个数,将个数较少的一组丝印标记定为角度排列不合格的丝印标记,并将判断为角度排列不合格的丝印标记的信息存储到存储模块45;
顶层第三判定模块434,用于基于分组模块431的分组结果,比较排列角度为第三角度的一组丝印标记的个数和排列角度为第四角度的一组丝印标记的个数,将个数较少的一组丝印标记定为检测不合格的丝印标记,并将判断为角度排列不合格的丝印标记的信息存储到存储模块45;
底层镜像判断模块440,用于根据层面判断模块42判断的结果,判断位于bottom层上的丝印标记是否为在印刷时需要进行镜像处理的丝印标记,如果是,则将在印刷时需要进行镜像处理的丝印标记定为层面排列不合格的丝印标记,并将定为层面排列不合格的丝印标记的信息存储到存储模块45,如果不是,则由分组模块431进一步处理;
分组模块431,用于分别按照排列角度为角度存储模块40中存储的第一角度、第二角度、第三角度和第四角度,将未被底层镜像判断模块440定为层面排列不合格的丝印标记进行分组;
底层第一判定模块441,用于将未被底层镜像判断模块440定为层面排列不合格,但排列角度不为角度存储模块40中存储的第一角度、第二角度、第三角度和第四角度的丝印标记定为角度排列不合格的丝印标记,并将判断为角度排列不合格的丝印标记的信息存储到存储模块45;
底层第二判定模块442,用于基于分组模块431的分组结果,比较排列角度为第一角度的一组丝印标记的个数和排列角度为第二角度的一组丝印标记的个数,将个数较少的一组丝印标记定为角度排列不合格的丝印标记,并将判断为角度排列不合格的丝印标记的信息存储到存储模块45;
底层第三判定模块443,用于基于分组模块431的分组结果,比较排列角度为第三角度的一组丝印标记的个数和排列角度为第四角度的一组丝印标记的个数,将个数较少的一组丝印标记定为检测不合格的丝印标记,并将判断为角度排列不合格的丝印标记的信息存储到存储模块45;
存储模块45,用于存储顶层镜像判断模块430、顶层第一判定模块432、顶层第二判定模块433、顶层第三判定模块434,以及底层镜像判断模块440、底层第一判定模块441、底层第二判定模块442、底层第三判定模块443判断出的层面排列不合格和角度排列不合格的丝印标记信息;
输出模块46,用于输出存储模块45中存储的层面排列不合格和角度排列不合格的丝印标记信息;
修改模块47,用于根据输出模块46输出的层面排列不合格和角度排列不合格的丝印标记信息,对层面排列和角度排列不合格的丝印标记进行相应修改。
本发明实施例二提供另一种检测不合格丝印标记的方案,预先将PCB板的top层上合格的丝印标记的排列角度设定到第一角度集合中,将PCB板的bottom层上合格的丝印标记的排列角度设定到第二角度集合中;然后通过对PCB板上的丝印标记进行自动检测,将PCB板的top层上排列角度不属于第一角度集合的丝印标记,以及PCB板的bottom层上排列角度不属于第二角度集合的丝印标记输出,也可以解决现有技术中采用人工方式进行检测效率低,准确性不高的问题。
如图5所示,为本发明实施例提供的另一种检测不合格丝印标记的方法流程图,其主要实现原理如下:
步骤50,将PCB板的top层上合格的丝印标记的所有排列角度设定到第一角度集合中,将PCB板的bottom层上合格的丝印标记的所有排列角度设定到第二角度集合中,较优的,第一角度集合或第二角度集合中分别包含两个角度,且这两个角度之差为90度的奇数倍,如上述实施例中的第一角度和第三角度,或者第二角度和第四角度;
步骤51,选择PCB板中所有需要印刷的丝印标记;
步骤52,判断选择的丝印标记在哪个层面,如果在top层,进入步骤521,如果在bottom层,则进入步骤523;
步骤521,当丝印标记在top层时,判断丝印标记是否为在印刷时需要进行镜像处理的丝印标记,如果是,则转入步骤53;如果不是,则进入步骤522;
步骤522,判断丝印标记的排列角度是否属于第一角度集合,如果是,则转入步骤57,如果不是,则转入步骤53;
步骤523,当丝印标记在bottom层时,判断丝印标记是否为在印刷时需要进行镜像处理的丝印标记,如果不是,则转入步骤53;如果是,则进入步骤524;
步骤524,判断丝印标记的排列角度是否属于第二角度集合,如果是,则转入步骤57,如果不是,则转入步骤53;
步骤53,将top层上在印刷时需要进行镜像处理的丝印标记,以及bottom层上在印刷时不需要进行镜像处理的丝印标记定为层面排列不合格的丝印标记,并将top层上的排列角度不属于第一角度集合的丝印标记,以及bottom层上的排列角度不属于第二角度集合的丝印标记定为角度排列不合格的丝印标记;
步骤54,对定为层面排列不合格和角度排列不合格的丝印标记进行存储;
步骤55,输出存储的层面排列不合格和角度排列不合格的丝印标记;
步骤56,根据输出的不合格的丝印标记,对不合格的丝印标记进行对应的修改;
步骤57,流程结束。
相应地,本发明实施例还提供了一种检测不合格丝印标记的装置,该装置的结构示意图如图6所示,包含:
角度集合存储模块60,用于存储PCB板的top层上合格的丝印标记的所有排列角度,这里将其定义为第一角度集合,以及PCB板的bottom层上合格的丝印标记的所有排列角度,这里将其定义为第二角度集合,较优的,第一角度集合或第二角度集合中分别包含两个角度,且这两个角度之差为90度的奇数倍,如上述实施例中的第一角度和第三角度,或者第二角度和第四角度;
选定模块61,用于选定PCB板中所有需要检测的丝印标记;
层面判断模块62,用于判断选定模块61选定的PCB板中所有丝印标记所在的层面为top层还是bottom层;
顶层第一判定模块630,用于根据层面判断模块62的判断结果,判断位于top层上的丝印标记是否为在印刷时需要进行镜像处理的丝印标记,如果是,则将在印刷时需要进行镜像处理的丝印标记定为层面排列不合格的丝印标记,并将被定为层面排列不合格的丝印标记的信息存储到存储模块65;如果不是,则由顶层第二判定模块631进一步处理;
顶层第二判定模块631,用于判断top层上未被顶层第一判定模块630定为层面排列不合格的丝印标记的排列角度是否属于角度集合存储模块60中存储的第一角度集合,如果是,将该丝印标记定为合格的丝印标记,如果不是,则将该丝印标记定为角度排列不合格的丝印标记,并将被定为角度排列不合格的丝印标记信息存储到存储模块65;
底层第一判定模块640,用于根据层面判断模块62的判断结果,判断位于bottom层上的丝印标记是否为在印刷时需要进行镜像处理的丝印标记,如果不是,则将在印刷时需要进行镜像处理的丝印标记定为层面排列不合格的丝印标记,并将被定为层面排列不合格的丝印标记的信息存储到存储模块65;如果是,则由底层角第二判定模块641进一步处理;
底层第二判定模块641,用于判断bottom层上未被底层第一判定模块640定为层面排列不合格的丝印标记的排列角度是否属于角度集合存储模块60中存储的第二角度集合,如果是,将该丝印标记定为合格的丝印标记,如果不是,则将该丝印标记定为角度排列不合格的丝印标记,并将被定为角度排列不合格的丝印标记信息存储到存储模块65;
存储模块65,用于存储由顶层第一判定模块630和顶层第二判定模块631,以及底层第一判定模块640和底层第二判定模块641判断出的层面排列不合格和角度排列不合格的丝印标记信息;
输出模块66,输出存储模块65中存储的层面排列不合格和角度排列不合格的丝印标记信息;
修改模块67,根据输出模块66输出的层面排列不合格和角度排列不合格的丝印标记信息,对层面排列不合格和角度排列不合格的丝印标记进行对应的修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1、一种检测不合格丝印标记的方法,其特征在于,包括:
检测装置选定电路板中待检测的丝印标记;以及
在所述选定的待检测的丝印标记中,检测出层面排列不合格的丝印标记和角度排列不合格的丝印标记。
2、如权利要求1所述的方法,其特征在于,所述检测出角度排列不合格的丝印标记具体包括:
分别按照排列角度为第一角度、第二角度、第三角度和第四角度,将选定的处于电路板同一层面中的待检测丝印标记分组,所述第三角度与第一角度之差为90度的奇数倍,第二角度与第一角度之差为180度的奇数倍,第四角度与第三角度之差为180度的奇数倍;以及
将选定的排列角度不为第一角度、第二角度、第三角度和第四角度的丝印标记定为角度排列不合格的丝印标记;
基于所述分组的结果,比较排列角度为第一角度的一组丝印标记的个数和排列角度为第二角度的一组丝印标记的个数,并将个数较少的一组丝印标记定为角度排列不合格的丝印标记;以及
比较排列角度为第三角度的一组丝印标记的个数和排列角度为第四角度的一组丝印标记的个数,并将个数较少的一组丝印标记定为角度排列不合格的丝印标记。
3、如权利要求2所述的方法,其特征在于,所述第一角度为0度、第二角度为180度、第三角度为90度、第四角度为270度。
4、如权利要求1所述的方法,其特征在于,所述检测出角度排列不合格的丝印标记具体包括:
判断选定的处于电路板同一层面中的待检测丝印标记的排列角度是否属于预定的角度集合,以及
将排列角度不属于所述角度集合的丝印标记定为角度排列不合格的丝印标记。
5、如权利要求4所述的方法,其特征在于,所述角度集合中包含两个相互垂直的角度。
6、如1~5任一权利要求所述的方法,其特征在于,所述检测出层面排列不合格的丝印标记具体包括:
判断选定的待检测丝印标记在电路板顶层还是底层;
若在顶层,判断待检测丝印标记在印刷时是否需要镜像,以及将判断结果需要镜像的丝印标记定为层面排列不合格的丝印标记;
若在底层,判断待检测丝印标记在印刷时是否需要镜像,以及将判断结果不需要镜像的丝印标记定为层面排列不合格的丝印标记。
7、一种检测不合格丝印标记的检测装置,其特征在于,包括:
选定模块,用于选定电路板中待检测的丝印标记;
检测模块,用于在所述选定的待检测的丝印标记中,检测出层面排列不合格的丝印标记和角度排列不合格的丝印标记。
8、如权利要求7所述的装置,其特征在于,所述的检测模块具体包括:
分组模块,用于分别按照排列角度为第一角度、第二角度、第三角度和第四角度,将选定模块选定的处于电路板同一层面中的待检测丝印标记分组,所述第三角度与第一角度之差为90度的奇数倍,第二角度与第一角度之差为180度的奇数倍,第四角度与第三角度之差为180度的奇数倍;
第一判定模块,用于将选定模块选定的排列角度不为第一角度、第二角度、第三角度和第四角度的丝印标记定为角度排列不合格的丝印标记;
第二判定模块,用于基于所述分组模块的分组结果,比较排列角度为第一角度的一组丝印标记的个数和排列角度为第二角度的一组丝印标记的个数,并将个数较少的一组丝印标记定为角度排列不合格的丝印标记;
第三判定模块,用于基于所述分组模块的分组结果,比较排列角度为第三角度的一组丝印标记的个数和排列角度为第四角度的一组丝印标记的个数,并将个数较少的一组丝印标记定为角度排列不合格的丝印标记。
9、如权利要求8所述的装置,其特征在于,所述第一角度为0度、第二角度为180度、第三角度为90度、第四角度为270度。
10、如权利要求7所述的装置,其特征在于,所述的检测模块具体包括:
判断模块,用于判断选定模块选定的处于电路板同一层面中的待检测丝印标记的排列角度是否属于预定的角度集合;
判定模块,用于将判断模块判断出的排列角度不属于所述角度集合的丝印标记定为角度排列不合格的丝印标记。
11、如权利要求10所述的装置,其特征在于,所述的角度集合中包含两个相互垂直的角度。
12、如7~11任一权利要求所述的装置,其特征在于,所述的检测模块具体包括:
层面判断模块,用于判断选定模块选定的待检测丝印标记在电路板顶层还是底层;
顶层镜像判断模块,用于在层面判断模块判断出待检测丝印标记在电路板顶层时,判断待检测丝印标记在印刷时是否需要镜像,以及将判断结果需要镜像的丝印标记定为层面排列不合格的丝印标记;
底层镜像判断模块,用于在层面判断模块判断出待检测丝印标记在电路板底层时,判断待检测丝印标记在印刷时是否需要镜像,以及将判断结果不需要镜像的丝印标记定为层面排列不合格的丝印标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101128543A CN101281027B (zh) | 2008-05-26 | 2008-05-26 | 检测不合格丝印标记的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101128543A CN101281027B (zh) | 2008-05-26 | 2008-05-26 | 检测不合格丝印标记的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101281027A true CN101281027A (zh) | 2008-10-08 |
CN101281027B CN101281027B (zh) | 2010-06-16 |
Family
ID=40013609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101128543A Expired - Fee Related CN101281027B (zh) | 2008-05-26 | 2008-05-26 | 检测不合格丝印标记的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101281027B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101959370A (zh) * | 2010-10-12 | 2011-01-26 | 浪潮电子信息产业股份有限公司 | 一种防止pcb中器件位号标错位置的方法 |
CN102902832A (zh) * | 2011-07-26 | 2013-01-30 | 京信通信***(中国)有限公司 | 一种检测pcb板丝印序号误删的方法及装置 |
CN106294980A (zh) * | 2016-08-08 | 2017-01-04 | 浪潮集团有限公司 | 一种pcb中自动排列丝印的方法 |
CN107063151A (zh) * | 2017-04-19 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种快速检查芯片pin脚标识的方法 |
CN109657359A (zh) * | 2018-12-21 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种pcb设计中识别封装更新的方法及设备 |
CN114117997A (zh) * | 2022-01-28 | 2022-03-01 | 江山季丰电子科技有限公司 | 多site ATE项目的元器件丝印摆放的调整方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668360B1 (en) * | 2001-01-08 | 2003-12-23 | Taiwan Semiconductor Manufacturing Company | Automatic integrated circuit design kit qualification service provided through the internet |
CN100341387C (zh) * | 2003-05-21 | 2007-10-03 | 华为技术有限公司 | 在印刷电路板设计中自动生成器件标识的方法 |
CN100456307C (zh) * | 2005-11-30 | 2009-01-28 | 英业达股份有限公司 | 设计错误的检查***及方法 |
-
2008
- 2008-05-26 CN CN2008101128543A patent/CN101281027B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101959370A (zh) * | 2010-10-12 | 2011-01-26 | 浪潮电子信息产业股份有限公司 | 一种防止pcb中器件位号标错位置的方法 |
CN102902832A (zh) * | 2011-07-26 | 2013-01-30 | 京信通信***(中国)有限公司 | 一种检测pcb板丝印序号误删的方法及装置 |
CN102902832B (zh) * | 2011-07-26 | 2016-06-22 | 京信通信***(中国)有限公司 | 一种检测pcb板丝印序号误删的方法及装置 |
CN106294980A (zh) * | 2016-08-08 | 2017-01-04 | 浪潮集团有限公司 | 一种pcb中自动排列丝印的方法 |
CN107063151A (zh) * | 2017-04-19 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种快速检查芯片pin脚标识的方法 |
CN109657359A (zh) * | 2018-12-21 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种pcb设计中识别封装更新的方法及设备 |
CN114117997A (zh) * | 2022-01-28 | 2022-03-01 | 江山季丰电子科技有限公司 | 多site ATE项目的元器件丝印摆放的调整方法 |
CN114117997B (zh) * | 2022-01-28 | 2022-04-26 | 江山季丰电子科技有限公司 | 多site ATE项目的元器件丝印摆放的调整方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101281027B (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101281027B (zh) | 检测不合格丝印标记的方法及装置 | |
CN101206467B (zh) | 通用数控代码解析方法 | |
CN100541502C (zh) | 一种具有检错功能的pcb仿真***及其实现方法 | |
CN106874256A (zh) | 识别领域命名实体的方法及装置 | |
CN103559123B (zh) | 基于VxWorks操作***的函数调用栈分析方法及装置 | |
CN105468797B (zh) | 一种信息处理方法及装置 | |
CN105404680A (zh) | 一种搜索推荐方法及装置 | |
CN103544122B (zh) | 一种接口自适应匹配的协同***及其协同方法 | |
CN106339247A (zh) | 一种动态链接库文件的加载***及加载方法 | |
SE1250017A1 (sv) | System och metod för tillhandahållande av diagnostisk felinformation på basis av innehåll från två databaser | |
JP2014211754A (ja) | 入力装置 | |
CN110377566B (zh) | 整理pcb的s参数测试文件的方法及*** | |
CN106855835B (zh) | 一种基于xml技术的飞控***上电启动自检测方法 | |
CN107145689A (zh) | 一种pcb设计中检查文字方向的方法 | |
CN104965696B (zh) | 用于影响控制程序的方法和建模*** | |
CN102508728B (zh) | 一种对固化于flash载体的目标文件的检错及读取方法 | |
EP1517336A3 (en) | Method for facilitating error detection for content addressable memory | |
CN103488615B (zh) | 一种软硬件接口定义的源文件自动生成方法和装置 | |
CN202720288U (zh) | 一种用于产品首件生产的lcr半自动测试装置 | |
CN102902832A (zh) | 一种检测pcb板丝印序号误删的方法及装置 | |
CN112580283B (zh) | 跨时钟域模型检查器的控制方法、装置及电子设备 | |
CN101105794A (zh) | 信息标示***及方法 | |
CN103488640A (zh) | 一种映射文件的自动分析方法和装置 | |
CN108875224A (zh) | 改版与原版PCB的brd文件对比方法、装置、设备和存储介质 | |
CN101377790B (zh) | 零件精确定位***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100616 Termination date: 20180526 |