System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及路径优化,尤其涉及一种基于分簇的两层结构式飞针测试机路径优化方法。
技术介绍
1、印刷电路板(pcb)是电子元器件的集成平台,广泛应用于各个领域。随着微电子技术的进步,元件布局密度增高,走线间距不断缩小,复杂度不断增加,使得pcb制造技术向高密度方向发展。因此,如何在高度自动化的生产环境中有效地检测高密度pcb并降低检测成本,具有重大的研究意义。
2、目前,飞针测试技术是pcb测试最主要的技术手段,其通过一组控制的飞针(也称为探针)来接触电路板上的测试点,通过输出信号检测电路的连通性和功能性。飞针测试机路径生成及优化问题的目标是找到一条最佳路径,使得飞针在测试过程中能够高效地接触到所有需要测试的点,同时尽量减少路径的长度和测试时间。然而,由于pcb行业发展迅速,需要检测的测试点数量急速增长,现有的飞针测试机运行效率低下、错检率较高。
3、目前,现有技术主要集中在单一网络的最短路径生成及优化。然而由于现代pcb板的结构复杂,测试点数量庞大,网络数量众多,仅仅考虑网络内部的路径规划是远远不够的,网络之间的检测顺序也是一个重要的考虑因素,对总体路径长度的优化有着显著的影响。
4、同时,在复杂的pcb板中,不同网络之间的测试点分布常呈现出复杂的交错和重叠的情况,如果不合理地安排网络之间的检测顺序,会导致路径冗余和飞针相撞,从而增加总体路径长度和损坏设备。因此,除了考虑网络内部路径的优化外,还需要重视网络之间检测顺序的规划。
5、另外,多数飞针测试机对于网络内部的路径生成算法主
技术实现思路
1、本专利技术旨在解决现有技术的飞针路径优化方法因为容易陷入局部最优导致对此优化效率问题。
2、为解决上述技术问题,本专利技术提供一种基于分簇的两层结构式飞针测试机路径优化方法,包括以下步骤:
3、s1、从设置有测试点的网络中导入网络数据,并将所述网络根据所述测试点是否设置于pcb板的单面或双面划分为单面网络或双面网络,之后,根据单面网络或双面网络上的所述测试点的数量,确定飞针的联动方式,所述飞针包括左飞针和右飞针;
4、s2、使用dbscan算法对pcb板上的所有所述网络进行分簇,并计算每个簇的中心坐标,并确定所述飞针在测试pcb板连通性时需要经过的簇;
5、s3、使用双指针法计算不同簇之间的最短距离点对,将所述最短距离点对作为簇间距离;
6、s4、使用预设第一算法确定所述飞针对不同簇的簇检测顺序;
7、s5、使用预设第二算法确定所述飞针对每个簇内部的所述测试点的测试点检测顺序;
8、s6、以所述网络为界限划分路径,得到所述飞针的移动路径;
9、s7、判断所述移动路径是否导致所述左飞针和所述右飞针发生碰撞,若是返回步骤s6;若否,输出所述移动路径作为路径优化结果。
10、更进一步地,所述联动方式包括异步式联动和同步式联动,异步式联动时,所述左飞针或所述右飞针在动作周期中只能有一个能够移动到下一个测试点;同步式联动式,所述左飞针和所述右飞针在动作周期中能够同时移动到下一个测试点;
11、步骤s1中,所述根据单面网络或双面网络上的所述测试点的数量,确定飞针的联动方式的步骤,具体为:
12、若所述网络为单面网络,则所述飞针为异步式联动;
13、若所述网络为双面网络,则确定正面的所述测试点的数量n1、以及反面的所述测试点的数量n2,n1小于n2时,正面的所述飞针为异步式联动,反面的所述飞针为同步式联动;n1大于或等于n2时,正面的所述飞针为同步式联动,反面的所述飞针为异步式联动。
14、更进一步地,步骤s2包括以下子步骤:
15、确定预设簇间测试点相差阈值,采用dbscan算法对pcb板上的所有所述网络进行分簇,并计算每个簇的中心坐标;
16、每个簇中的所述测试点数量n等于所述网络中的测试点总数v除以簇的数量c;
17、对于所包含的所述测试点的数量超过n的簇,采用离群点移除的方法,将离中心坐标最远的所述测试点移动到相邻的簇,直到所有簇中的所述测试点的数量都满足所述预设簇间测试点相差阈值。
18、更进一步地,步骤s3包括以下子步骤:
19、分别构造两个簇的测试点序列,其中每个测试点的属性为以簇的边界为坐标轴的横纵坐标之和,之后,将构建得到的两个序列按其中测试点属性的非递减顺序进行排序;
20、初始化左指针和右指针,左指针和右指针分别指向两个序列的开头;
21、开始序列循环,在循环中,比较当前循环时刻中左指针和右指针所指的两个测试点属性的值的差值,并记录该差值和对应的两个测试点属性,差值的计算使用绝对值,若当前循环时刻中的差值小于上一循环时刻的差值,则记录该差值为最小差值;之后,如果当前循环时刻中左指针所指的测试点属性的值较小,则将左指针向序列后端进行移动;如果当前循环时刻中右指针所指的测试点属性的值较小,则将右指针向序列后端进行移动;
22、序列循环结束,根据所述最小差值得到对应的两个簇的所述最短距离点对;
23、重复上述步骤,直到获取所有簇之间的所述最短距离点对;
24、根据所述中心坐标确定相邻的簇,如果两个簇的所述中心坐标的曼哈顿距离小于预设相邻阈值,则将两个簇之间的所述最短距离点对作为所述簇间距离。
25、更进一步地,步骤s4中的所述预设第一算法具体为:
26、以簇的中心作为节点,簇之间的所述最短距离点对代表作为不同节点之间的距离,根据所述节点,采用prim算法生成最小生成树,然后使用christofides算法将所述最小生成树转化为所述簇检测顺序。
27、更进一步地,步骤s5中的所述预设第二算法具体为:
28、定义对于n个测试点i={1,2,…,n},零一变量xij表示测试点i和测试点j是否电气连接,如果连接,则xij=1,否则为0,变量dij表示测试点i和测试点j的曼哈顿距离,根据存在一个固定的起点,所述飞针从起点出发,使得每个测试点被访问一次,且不需要回到起点,使所述飞针在簇内部的移动子路径最短的数学问题,建立满足关系式(1)的整数规划模型:
29、min∑i∈i∑j∈idij·xij (1);
30、所述整数规划模型具有以下约束:
31、
32、
33、xij=0,i=j (4);
34、
35、其中,约束(2)表示除了路径终点以外的所有测试点的出度为1;约束(3)表示除了起点以外的所有测试点的入度为1;约束(4)表示所有测试点之间不能自连接;
36、对所述整数规划模型进行求解,得到所本文档来自技高网...
【技术保护点】
1.一种基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,所述联动方式包括异步式联动和同步式联动,异步式联动时,所述左飞针或所述右飞针在动作周期中只能有一个能够移动到下一个测试点;同步式联动式,所述左飞针和所述右飞针在动作周期中能够同时移动到下一个测试点;
3.如权利要求1所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤S2包括以下子步骤:
4.如权利要求3所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤S3包括以下子步骤:
5.如权利要求4所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤S4中的所述预设第一算法具体为:
6.如权利要求5所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤S5中的所述预设第二算法具体为:
7.如权利要求6所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤S6具体为:
8.如权利要求6
9.如权利要求6所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤S7中,若所述移动路径导致所述左飞针和所述右飞针发生碰撞,则在返回步骤S6前,还包括以下步骤:
10.如权利要求5所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤S4还包括以下子步骤:
...【技术特征摘要】
1.一种基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,所述联动方式包括异步式联动和同步式联动,异步式联动时,所述左飞针或所述右飞针在动作周期中只能有一个能够移动到下一个测试点;同步式联动式,所述左飞针和所述右飞针在动作周期中能够同时移动到下一个测试点;
3.如权利要求1所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤s2包括以下子步骤:
4.如权利要求3所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤s3包括以下子步骤:
5.如权利要求4所述的基于分簇的两层结构式飞针测试机路径优化方法,其特征在于,步骤s4中的所述预设第一算法具体...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。