一种基于最大二分配的贴片机吸嘴分配方法

文档序号:34102180发布日期:2023-05-10 17:47阅读:62来源:国知局
一种基于最大二分配的贴片机吸嘴分配方法

本发明涉及电器技术及电气工程,具体为一种基于最大二分配的贴片机吸嘴分配方法。


背景技术:

1、表面贴装行业中最重要的贴片机装备对吸嘴头的分配方法非常关注,合理的分配方法会提高生产效率,减少可能产生的生产问题。由于印刷电路板(简称pcb)贴装点元件类型的多样性,为了保证贴装效率的最大化,贴片机作业过程中吸杆通常会根据不同的pcb,选择性地将若干吸杆装配同类型的吸嘴,并在贴装过程中前往anc(auto nozzle changer,自动吸嘴更换装置)更换吸嘴。操作人员根据不同贴片机特性或自身经验,指定其中吸杆可安装的吸嘴类型。这种人工的方式降低了贴片机整体工作效率。


技术实现思路

1、本发明的目的是:针对现有技术中由于人工的方式指定吸杆可安装的吸嘴类型,这样降低了贴片机整体工作效率的问题,提出一种基于最大二分配的贴片机吸嘴分配方法。

2、本发明为了解决上述技术问题采取的技术方案是:

3、一种基于最大二分配的贴片机吸嘴分配方法,包括以下步骤:

4、步骤一:获取pcb板生产数据,并根据pcb板生产数据获取贴装元件所需的吸嘴类型、吸嘴类型的贴装点数目以及贴片机装配吸杆数,并获取吸嘴可用吸杆约束nzuseablehd(s),之后利用吸嘴类型以及吸嘴类型的贴装点数目确定吸嘴分配周期的上界与下界,在吸嘴分配周期的上界与下界之间根据吸嘴类型和吸嘴分配周期进行分组,得到吸嘴分配组;

5、步骤二:遍历吸嘴分配组,并在每个吸嘴分配组中,根据吸嘴类型、贴片机装配吸杆数以及吸嘴可用吸杆约束nzuseablehd(s)确定拾贴周期内吸杆的吸嘴分配初始解;

6、步骤三:根据吸嘴分配初始解,在满足吸嘴可用吸杆约束nzuseablehd(s)条件下,对各吸杆间的工作负载进行平衡,得到可行解,取不同可行解之间的工作效率指标最高的解为最优解,即完成贴片机吸嘴分配,其中,s代表者吸嘴的类型。

7、进一步的,所述步骤一中确定吸嘴分配周期的上界与下界的具体步骤为:

8、步骤一一:统计各类型吸嘴对应的贴装点数目,并按照贴装点数目降序进行排列,得到吸嘴组nozzlegroup(i),表示为:

9、nozzlegroup(i)=[nzgrouptype(i) nzgroupnum(i)]

10、其中,nzgrouptype(i)表示为贴装点数目排序第i多对应贴装数据中使用的吸嘴类型,nzgroupnum(i)表示贴装点数目排序第i多对应贴装数据中贴装点的数量;

11、nzgroupnum(i)需要满足以下下条件:

12、

13、其中,m为总的使用的吸嘴类型数目,n为不同吸嘴类型对应的最大贴装点数;

14、步骤一二:计算吸嘴分配周期数cycle的上界cyclemin与下界cyclemax;

15、吸嘴分配周期数的上界与下界表示为:

16、

17、其中,cyclemax和cyclemin为吸嘴分配周期数的上界和下界,n为对应的贴装点数,nspindles为贴片机可以使用的吸杆数量,nzgroupnum(i)表示当前考虑的吸嘴对应的贴装点数。

18、进一步的,所述步骤一中在吸嘴分配周期的上界与下界之间根据吸嘴类型和吸嘴分配周期进行分组,得到吸嘴分配组的具体步骤为:

19、令cycle=cyclemin,然后将吸嘴贴装点数按照吸嘴分配周期数进行分组,得到当前的吸嘴分配组nzdividedgroup;

20、令cycle=cycle+1,进行迭代,直到cycle>cyclemax时停止,得到所有的吸嘴分配组。

21、进一步的,所述步骤二中在每个吸嘴分配组中,根据吸嘴类型、贴片机装配吸杆数以及吸嘴可用吸杆约束nzuseablehd(s)确定拾贴周期内吸杆的吸嘴分配初始解的具体步骤为:

22、步骤二一:记j为吸嘴分配组nzdividgroup的索引,k为工作链索引,初始化j=1,k=1,将吸嘴分配组进行排序,排序规则第一优先级为吸嘴分配组贴装点数、第二优先级为吸嘴类型对应的贴装点数;

23、对排序后的吸嘴分配组nzdividedgroup重新编号,记录吸嘴分配组数量为k;

24、步骤二二:初始化二维矩阵coluseablehd为nspindles行和nspindles列,二维矩阵中元素值为:

25、

26、其中,row为矩阵coluseablehd的行索引,col为矩阵coluseablehd列索引,coluseablehd第row行的元素表示某一个工作链可分配的吸杆序号集合;

27、步骤二三:初始化吸嘴分配结果nzresult为n行、nspindles列的空矩阵,nzresult中的列表示一个工作链;

28、设计矩阵rowindex表示nzresult矩阵中各个列当前已经分配的贴装点数量,初始化rowindex为有nspindles个元素的空矩阵;

29、集合s表示当前吸嘴分配组不可被分配的工作链索引集合,令

30、步骤二四:令工作链索引

31、表示在当前可被分配的工作链中分配贴装点数量最少的工作链索引,令r=rowindex{c),r表示工作链c对应的已分配贴装点点数;

32、步骤二五:令s=nzdividedgroup(j).nztype,计算nassignednz(r+1,s),nassignednz表示nzresult矩阵中r+1行中吸嘴s的数目,令useablehd=nzuseablehd(s)∩coluseablehd(c),useablehd表示工作链c可分配的吸杆集合,若nassignednz(row,s)<nzlimit(s)且执行步骤二六,否则令s=s∪{linkindex},执行步骤二四,其中,nzlimit(s)表示吸嘴s的可用数量上限;

33、步骤二六:计算tmpcoluseablehd,tmpcoluseablehd表示吸嘴分配组nzdividedgroup(j)至工作链k后,各工作链可分配的吸杆序号集合,具体计算方法为:

34、

35、c′=1,2,3...k;

36、步骤二七:用二分匹配构造当前吸嘴分配结果是否满足吸嘴约束条件,具体过程为:

37、步骤二七一:根据tmpcoluseablehd构造大小为nspindles×nspindles的关系矩阵matchmatrix,matchmatrix表示工作链和吸杆之间是否存在映射关系,其具体计算方法为:

38、

39、其中,row为工作链编号,col为吸杆的编号,temcoluseablehd表示吸嘴分配组nzdividgroup(j)至工作链k后,各工作链可分配的吸杆序号集合;

40、若matchmatrix(row,col)=1,表示第row条工作链可被分配到吸杆col上,matchmatrix(row,col)=0,不可分配;

41、步骤二七二:令linkindex=1、headindex=1,linkindex和headindex分别表示工作链索引和吸杆索引,同时记录各个吸杆所用的工作链索引headusedcol,初始化headusedcol为大小为nspindles元素全为0的向量;

42、步骤二七三:令isvisited为大小为nspindles元素全为0的向量,isvisited表示当前已经访问的吸杆索引,若matchmatrix(linkindex,headindex)=1,则执行步骤二七四,否则执行步骤二七六;

43、步骤二七四:标记吸杆headindex已经被访问过,即令isvisited(headindex)=1,若吸杆headindex已经同一工作链组成匹配关系,即headusedcol(headindex)≠0,执行步骤二七五,否则执行步骤二七六;

44、步骤二七五:继续判定工作链headusedcol(headindex)是否存在其他未被访问的可用的匹配吸杆headindex′;

45、若存在匹配关系,且吸杆headindex′尚未与工作链组成匹配关系,则令

46、headusedcol(headindex′)=headusedcol(headindex)

47、headusedcol(headindex)=linkindex

48、其中,headusedcol为工作链与吸杆之间的匹配关系,headindex为吸杆标号;

49、若存在匹配关系,但吸杆headindex′已经与某个工作链组成匹配关系,则跳转到步骤二七四进行递归搜索;

50、若递归过程中的某个工作链不存在未被访问过的可用匹配吸杆,则执行步骤二八;

51、步骤二七六:若工作链1到linkindex均已经找到匹配的吸杆,退出递归过程,执行步骤二九;

52、若headusedcol(headindex)不存在其他未被访问的可用的匹配吸杆,表示工作链linkindex无法确定合适的吸杆安装位置,执行步骤二八;

53、步骤二八:令s=s∪{linkindex},执行步骤二四到步骤二六,如果满足以下条件:

54、|s|=nspindles

55、表示当前吸嘴分配组不存在可行解;

56、步骤二九:分配nzdividedgroup(j)至工作链c,即令

57、nzresult(r+1:r+1+nzdividedgroup(j).num,c)=nzdividedgroup(j).nztype

58、步骤二十:令k=k+1,而后重复步骤二三到步骤二九,直到k>k,得到吸嘴分配初始解。

59、进一步的,所述步骤三中得到平衡解的具体步骤为:

60、步骤三一:确定nzresult中各个工作链最后被分配的吸嘴类型lastnztype(c)和额外贴装点数lastnznum(c),具体过程为:

61、步骤三一一:确定各个工作链最后被分配的吸嘴类型有:

62、

63、其中矩阵元素″为空;

64、步骤三一二:确定工作链的最小工作量有:

65、

66、步骤三一三:确定工作链额外贴装点数有:

67、

68、步骤三二:对lastnztype类型相同的工作链贴装点进行任务均分,具体均分方法为:遍历所有最后被分配的吸嘴类型,对于给定吸嘴类型s,计算lastnztype类型相同额外贴装点数总和nzaccum(s),即:

69、nzaccum(s)=sum{lastnznum(c)|lastnztype(c)=s,c=1,2,...,nspindles};

70、步骤三三:在满足吸嘴约束条件的前提下,对lastnztype中类型不同的工作链贴装点进行任务均分,折算均分代价,具体过程为:

71、步骤三三一:确定工作链中贴装点总数最大的工作链索引集合p,令

72、

73、寻找工作链c″满足:

74、

75、步骤三三二:重复步骤三三一,直到找不到满足条件的工作链c″,则执行步骤三四;

76、步骤三四:根据工作链可用吸杆colusedhd,采用递归二分匹配的方法,将工作链分配到各个吸杆上,得到可行解。

77、进一步的,所述步骤三中取不同可行解之间的工作效率指标高的解为最优解的具体步骤为:

78、步骤三五:计算吸嘴分配解nzresult的工作效率指标e,工作效率指标e指吸嘴分配解的工作周期数e1的和吸嘴更换次数e2加权和,具体计算方法如下:

79、步骤三五一:工作周期数e1表示nzresult的最大行数,具体计算方法:

80、e1=max(len(nzresult(:,k)),k=1,2,......,k

81、步骤三五二:吸嘴更换次数e2为各吸杆吸嘴更换的总和,记函数l(x,y)为二值函数,若x=y,则l(x,y)=1,否则l(x,y)=0e2=sumll(nzresult(l,k),nzresult(l,k+1)),l=1,2,......,e1-1;

82、步骤三五三,计算工作效率指标e=ae1+be2,其中a,b为加权系数,取决于不同机器的运动特性。

83、进一步的,所述a=1,b=2。

84、进一步的,所述cycle为5。

85、本发明的有益效果是:

86、本技术提出了一种基于最大二分配的贴片机吸嘴分配方法,在改进匈牙利方法的基础上,能同时保证并列式贴片机吸嘴更换次数和拾取周期的最小化,本技术根据有限的吸嘴资源和吸嘴分配约束条件,分配不同吸嘴到吸杆上,保证工作周期和吸嘴更换次数的最小化,提升贴片机整体工作效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1