CN116095980B - 一种基于最大二分配的贴片机吸嘴分配方法 - Google Patents
一种基于最大二分配的贴片机吸嘴分配方法 Download PDFInfo
- Publication number
- CN116095980B CN116095980B CN202211392089.1A CN202211392089A CN116095980B CN 116095980 B CN116095980 B CN 116095980B CN 202211392089 A CN202211392089 A CN 202211392089A CN 116095980 B CN116095980 B CN 116095980B
- Authority
- CN
- China
- Prior art keywords
- suction nozzle
- suction
- distribution
- chain
- index
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K3/00—Apparatus or processes for manufacturing printed circuits
- H05K3/30—Assembling printed circuits with electric components, e.g. with resistor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/04—Mounting of components, e.g. of leadless components
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
- H05K13/085—Production planning, e.g. of allocation of products to machines, of mounting sequences at machine or facility level
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
- H05K13/085—Production planning, e.g. of allocation of products to machines, of mounting sequences at machine or facility level
- H05K13/0857—Product-specific machine setup; Changeover of machines or assembly lines to new product type
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/08—Monitoring manufacture of assemblages
- H05K13/0882—Control systems for mounting machines or assembly lines, e.g. centralized control, remote links, programming of apparatus and processes as such
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Operations Research (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Supply And Installment Of Electrical Components (AREA)
Abstract
一种基于最大二分配的贴片机吸嘴分配方法,涉及电器技术及电气工程技术领域,针对现有技术中由于人工的方式指定吸杆可安装的吸嘴类型,这样降低了贴片机整体工作效率的问题,本申请提出了一种基于最大二分配的贴片机吸嘴分配方法,在改进匈牙利方法的基础上,能同时保证并列式贴片机吸嘴更换次数和拾取周期的最小化,本申请根据有限的吸嘴资源和吸嘴分配约束条件,分配不同吸嘴到吸杆上,保证工作周期和吸嘴更换次数的最小化,提升贴片机整体工作效率。
Description
技术领域
本发明涉及电器技术及电气工程技术领域,具体为一种基于最大二分配的贴片机吸嘴分配方法。
背景技术
表面贴装行业中最重要的贴片机装备对吸嘴头的分配方法非常关注,合理的分配方法会提高生产效率,减少可能产生的生产问题。由于印刷电路板(简称PCB)贴装点元件类型的多样性,为了保证贴装效率的最大化,贴片机作业过程中吸杆通常会根据不同的PCB,选择性地将若干吸杆装配同类型的吸嘴,并在贴装过程中前往ANC(Auto Nozzle Changer,自动吸嘴更换装置)更换吸嘴。操作人员根据不同贴片机特性或自身经验,指定其中吸杆可安装的吸嘴类型。这种人工的方式降低了贴片机整体工作效率。
发明内容
本发明的目的是:针对现有技术中由于人工的方式指定吸杆可安装的吸嘴类型,这样降低了贴片机整体工作效率的问题,提出一种基于最大二分配的贴片机吸嘴分配方法。
本发明为了解决上述技术问题采取的技术方案是:
一种基于最大二分配的贴片机吸嘴分配方法,包括以下步骤:
步骤一:获取PCB板生产数据,并根据PCB板生产数据获取贴装元件所需的吸嘴类型、吸嘴类型的贴装点数目以及贴片机装配吸杆数,并获取吸嘴可用吸杆约束NzUseableHD(s),之后利用吸嘴类型以及吸嘴类型的贴装点数目确定吸嘴分配周期的上界与下界,在吸嘴分配周期的上界与下界之间根据吸嘴类型和吸嘴分配周期进行分组,得到吸嘴分配组;
步骤二:遍历吸嘴分配组,并在每个吸嘴分配组中,根据吸嘴类型、贴片机装配吸杆数以及吸嘴可用吸杆约束NzUseableHD(s)确定拾贴周期内吸杆的吸嘴分配初始解;
步骤三:根据吸嘴分配初始解,在满足吸嘴可用吸杆约束NzUseableHD(s)条件下,对各吸杆间的工作负载进行平衡,得到可行解,取不同可行解之间的工作效率指标最高的解为最优解,即完成贴片机吸嘴分配,其中,s代表者吸嘴的类型。
进一步的,所述步骤一中确定吸嘴分配周期的上界与下界的具体步骤为:
步骤一一:统计各类型吸嘴对应的贴装点数目,并按照贴装点数目降序进行排列,得到吸嘴组NozzleGroup(i),表示为:
NozzleGroup(i)=[NzGroupType(i)NzGroupNum(i)]
其中,NzGroupType(i)表示为贴装点数目排序第i多对应贴装数据中使用的吸嘴类型,NzGroupNum(i)表示贴装点数目排序第i多对应贴装数据中贴装点的数量;
NzGroupNum(i)需要满足以下下条件:
其中,m为总的使用的吸嘴类型数目,n为不同吸嘴类型对应的最大贴装点数;
步骤一二:计算吸嘴分配周期数cycle的上界cyclemin与下界cyclemax;
吸嘴分配周期数的上界与下界表示为:
其中,cyclemax和cyclemin为吸嘴分配周期数的上界和下界,n为对应的贴装点数,nSpindles为贴片机可以使用的吸杆数量,NzGroupNum(i)表示当前考虑的吸嘴对应的贴装点数。
进一步的,所述步骤一中在吸嘴分配周期的上界与下界之间根据吸嘴类型和吸嘴分配周期进行分组,得到吸嘴分配组的具体步骤为:
令cycle=cyclemin,然后将吸嘴贴装点数按照吸嘴分配周期数进行分组,得到当前的吸嘴分配组NzDividedGroup;
令cycle=cycle+1,进行迭代,直到cycle>cyclemax时停止,得到所有的吸嘴分配组。
进一步的,所述步骤二中在每个吸嘴分配组中,根据吸嘴类型、贴片机装配吸杆数以及吸嘴可用吸杆约束NzUseableHD(s)确定拾贴周期内吸杆的吸嘴分配初始解的具体步骤为:
步骤二一:记j为吸嘴分配组NzDividGroup的索引,k为工作链索引,初始化j=1,k=1,将吸嘴分配组进行排序,排序规则第一优先级为吸嘴分配组贴装点数、第二优先级为吸嘴类型对应的贴装点数;
对排序后的吸嘴分配组NzDividedGroup重新编号,记录吸嘴分配组数量为K;
步骤二二:初始化二维矩阵ColUseableHD为nSpindles行和nSpindles列,二维矩阵中元素值为:
其中,row为矩阵ColUseableHD的行索引,col为矩阵ColUseableHD列索引,ColUseableHD第row行的元素表示某一个工作链可分配的吸杆序号集合;
步骤二三:初始化吸嘴分配结果NzResult为n行、nSpindles列的空矩阵,NzResult中的列表示一个工作链;
设计矩阵RowIndex表示NzResult矩阵中各个列当前已经分配的贴装点数量,初始化RowIndex为有nSpindles个元素的空矩阵;
集合S表示当前吸嘴分配组不可被分配的工作链索引集合,令
步骤二四:令工作链索引
表示在当前可被分配的工作链中分配贴装点数量最少的工作链索引,令r=RowIndex(c),r表示工作链c对应的已分配贴装点点数;
步骤二五:令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的可用数量上限;
步骤二六:计算tmpCoIUseableHD,tmpColUseableHD表示吸嘴分配组NzDividedGroup(j)至工作链k后,各工作链可分配的吸杆序号集合,具体计算方法为:
c′=1,2,3...K;
步骤二七:用二分匹配构造当前吸嘴分配结果是否满足吸嘴约束条件,具体过程为:
步骤二七一:根据tmpColUseableHD构造大小为nSpindles×nSpindles的关系矩阵MatchMatrix,MatchMatrix表示工作链和吸杆之间是否存在映射关系,其具体计算方法为:
其中,row为工作链编号,col为吸杆的编号,temColUseableHD表示吸嘴分配组NzDividGroup(j)至工作链k后,各工作链可分配的吸杆序号集合;
若MatchMatrix(row,col)=1,表示第row条工作链可被分配到吸杆col上,MatchMatrix(row,col)=0,不可分配;
步骤二七二:令linkindex=1、headindex=1,linkindex和headindex分别表示工作链索引和吸杆索引,同时记录各个吸杆所用的工作链索引HeadUsedCol,初始化HeadUsedCol为大小为nSpindles元素全为0的向量;
步骤二七三:令isVisited为大小为nSpindles元素全为0的向量,isVisited表示当前已经访问的吸杆索引,若MatchMatrix(linkindex,headindex)=1,则执行步骤二七四,否则执行步骤二七六;
步骤二七四:标记吸杆headindex已经被访问过,即令isVisited(headindex)=1,若吸杆headindex已经同一工作链组成匹配关系,即HeadUsedCol(headindex)≠0,执行步骤二七五,否则执行步骤二七六;
步骤二七五:继续判定工作链HeadUsedCol(headindex)是否存在其他未被访问的可用的匹配吸杆headindex′;
若存在匹配关系,且吸杆headindex′尚未与工作链组成匹配关系,则令
HeadUsedCol(headindex′)=HeadUsedCol(headindex)
HeadUsedCol(headindex)=linkindex
其中,HeadUsedCol为工作链与吸杆之间的匹配关系,headindex为吸杆标号;
若存在匹配关系,但吸杆headindex′已经与某个工作链组成匹配关系,则跳转到步骤二七四进行递归搜索;
若递归过程中的某个工作链不存在未被访问过的可用匹配吸杆,则执行步骤二八;
步骤二七六:若工作链1到linkindex均已经找到匹配的吸杆,退出递归过程,执行步骤二九;
若HeadUsedCol(headindex)不存在其他未被访问的可用的匹配吸杆,表示工作链linkindex无法确定合适的吸杆安装位置,执行步骤二八;
步骤二八:令S=S∪{linkindex},执行步骤二四到步骤二六,如果满足以下条件:
|S|=nSpindles
表示当前吸嘴分配组不存在可行解;
步骤二九:分配NzDividedGroup(j)至工作链c,即令
NzResult(r+1:r+1+NzDividedGroup(j).num,c)=NzDividedGroup(j).nztype
步骤二十:令k=k+1,而后重复步骤二三到步骤二九,直到k>K,得到吸嘴分配初始解。
进一步的,所述步骤三中得到平衡解的具体步骤为:
步骤三一:确定NzResult中各个工作链最后被分配的吸嘴类型LastNzType(c)和额外贴装点数LastNzNum(c),具体过程为:
步骤三一一:确定各个工作链最后被分配的吸嘴类型有:
其中矩阵元素″为空;
步骤三一二:确定工作链的最小工作量有:
步骤三一三:确定工作链额外贴装点数有:
步骤三二:对LastNzType类型相同的工作链贴装点进行任务均分,具体均分方法为:遍历所有最后被分配的吸嘴类型,对于给定吸嘴类型s,计算LastNzType类型相同额外贴装点数总和NzAccum(s),即:
NzAccum(s)=sum{LastNzNum(c)|LastNzType(c)=s,c=1,2,...,nSpindles};
步骤三三:在满足吸嘴约束条件的前提下,对LastNzType中类型不同的工作链贴装点进行任务均分,折算均分代价,具体过程为:
步骤三三一:确定工作链中贴装点总数最大的工作链索引集合P,令
寻找工作链c″满足:
步骤三三二:重复步骤三三一,直到找不到满足条件的工作链c″,则执行步骤三四;
步骤三四:根据工作链可用吸杆ColUsedHD,采用递归二分匹配的方法,将工作链分配到各个吸杆上,得到可行解。
进一步的,所述步骤三中取不同可行解之间的工作效率指标高的解为最优解的具体步骤为:
步骤三五:计算吸嘴分配解NzResult的工作效率指标E,工作效率指标E指吸嘴分配解的工作周期数E1的和吸嘴更换次数E2加权和,具体计算方法如下:
步骤三五一:工作周期数E1表示NzResult的最大行数,具体计算方法:
E1=max(len(NzResult(:,k)),k=1,2,......,K
步骤三五二:吸嘴更换次数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;
步骤三五三,计算工作效率指标E=aE1+bE2,其中a,b为加权系数,取决于不同机器的运动特性。
进一步的,所述a=1,b=2。
进一步的,所述cycle为5。
本发明的有益效果是:
本申请提出了一种基于最大二分配的贴片机吸嘴分配方法,在改进匈牙利方法的基础上,能同时保证并列式贴片机吸嘴更换次数和拾取周期的最小化,本申请根据有限的吸嘴资源和吸嘴分配约束条件,分配不同吸嘴到吸杆上,保证工作周期和吸嘴更换次数的最小化,提升贴片机整体工作效率。
附图说明
图1为贴片机吸嘴分配方法流程图;
图2为吸嘴分配组构造示意图;
图3为吸嘴分配组排序结果示意图;
图4为吸嘴分配组-工作链转换示意图;
图5为相同吸嘴类型工作链贴装点均摊示意图。
具体实施方式
需要特别说明的是,在不冲突的情况下,本申请公开的各个实施方式之间可以相互组合。
具体实施方式一:参照图1具体说明本实施方式,本实施方式所述的一种基于最大二分配的贴片机吸嘴分配方法,包括以下步骤:
步骤一:根据PCB板生产数据,统计贴装元件用到的吸嘴类型以及对应的贴装点数目,确定吸嘴分配周期的上界与下界;
步骤二:根据步骤一中的吸嘴类型参数、贴片机装配吸杆数、指定吸嘴约束条件,确定拾贴周期内吸杆的安装吸嘴类型初始解;
步骤三:根据步骤二中确定的吸嘴分配初始解,在满足吸嘴约束条件下,对各吸杆间的工作负载进行平衡。
步骤一中所述的确定吸嘴分配周期数的上界与下界方法,具体为:
步骤一一:确定贴片机机械参数和吸嘴可用约束条件:可用吸杆数nSpindles,各类型吸嘴可用数量上限NzLimits(s)和吸嘴可用吸杆约束NzUseableHD(s),其中,s代表者吸嘴的类型;例如,CN065.吸嘴可用吸杆约束元素为吸杆的索引集合NzUseableHD(‘CN065’)={1,2,5},表示吸嘴CN065仅仅只能被安装在编号1、2、5的吸杆上;
步骤一二:处理PCB板导入数据,对应贴装点数据为结构体数组MountPGroup(i),数组元素表示完整的贴装点信息,用公式表示为:
MountPGroup(i)={posx,posy,cptype,nztype}
其中,i代表对应贴装点数据的编号,posx为贴装点的x坐标,posy为贴装点的y坐标,cptype为元件类型,nztype为使用的吸嘴类型,元件类型与使用的吸嘴类型严格一一对应,即每种元件对应的吸嘴类型有且仅有一种;
步骤一三:统计各类型吸嘴对应的贴装点数目,并按照贴装点数目降序进行排列,得到吸嘴组NozzleGroup(i),用公式表示为:
NozzleGroup(i)=[NzGroupType(i) NzGroupNum(i)]
其中,NzGroupType(i)表示为贴装点数目排序第i多对应贴装数据中使用的吸嘴类型,NzGroupNum(i)表示贴装点数目排序第i多对应贴装数据中贴装点的数量;
NzGroupNum(i)需要满足以下条件:
其中,m为总的使用的吸嘴类型数目,n为不同吸嘴类型对应的最大贴装点数;
步骤一四:计算吸嘴分配周期数cycle的上界与下界cyclemin,cyclemax,吸嘴分配周期数用于将步骤一三中确定的吸嘴组中各元素进行分组;
令cycle=cyclemin,得到当前的吸嘴分配组NzDividedGroup;
吸嘴贴装点数按照分配周期数进行分组,计算吸嘴分配周期数的上界与下界公式为:
其中,cyclemin和cyclemax为吸嘴分配周期数的上界和下界,n为对应的贴装点数,nSpindles为贴片机可以使用的吸杆数量,NzGroupNum(i)表示当前考虑的吸嘴对应的贴装点数;
步骤一五:使用步骤一四的方法对每个吸嘴对应的贴装点数据进行分组,吸嘴分配组的组成元素为二元数组:
{nztype,num}
其中,nztype为吸嘴类型,num为分配组对应的贴装点数;
例:如图2所示,假定有三种类型吸嘴CN065、CN220、CN140,对应贴装点数为10、8、6,吸嘴分配周期数cycle为5,则吸嘴组被划分为6组吸嘴分配组;
步骤一六:令cycle=cycle+1,确定吸嘴分配组,然后执行步骤二与步骤三,然后再跳转到步骤一四,直到cycle>cyclemax。
所述步骤二中根据步骤一中的吸嘴类型参数、贴片机装配吸杆数、指定吸嘴约束条件,确定拾贴周期内吸杆的安装吸嘴类型初始解,具体过程为:
步骤二一:记j为吸嘴分配组NzDividGroup的索引,k为工作链索引,初始化j=1,k=1,将吸嘴分配组进行排序,排序规则第一优先级为吸嘴分配组贴装点数、第二优先级为吸嘴类型对应的贴装点数;
例:将图2中的吸嘴分配组排序后得到结果如图3所示;
对排序后的吸嘴分配组NzDividedGroup重新编号,记录分配吸嘴组数量为K;
步骤二二:初始化可变长的二维矩阵ColUseableHD为nSpindles行和nSpindles列,其中,nSpindles为贴片机可以使用的吸杆数量,令矩阵中元素值为:
其中,row为矩阵ColUseableHD的行索引,col为矩阵ColUseableHD列索引,ColUseableHD第row行的元素表示某一个工作链可分配的吸杆序号集合,初始条件下,任一工作链可分配到任一吸杆上,工作链由若干顺序确定的吸嘴分配组构成,表示贴片头中单个吸杆在各个拾取周期完成贴装任务所用的吸嘴;
步骤二三:初始化吸嘴分配结果NzResult为n行、nSpindles列的空矩阵,NzResult中的列表示一个工作链;
设计矩阵RowIndex表示NzResult矩阵中各个列当前已经分配的贴装点数量,初始化RowIndex为有nSpindles个元素的空矩阵;
集合S表示当前吸嘴分配组不可被分配的工作链索引集合,令
步骤二四:令工作链索引表示当前可被分配的工作链中,NzResult中已经被分配贴装点数量最少的工作链索引,令r=RowIndex(c),表示工作链c对应的已分配贴装点点数;
步骤二五:令s=NzDividedGroup(j).nztype,计算nAssignedNz(r+1,s),表示NzResult矩阵中r+1行中吸嘴s的数目,令UseableHD=NzUseableHD(s)∩ColUseableHD(c),表示工作链c可分配的吸杆集合,若nAssignedNz(row,s)<NzLimit(s)且执行步骤二六,否则令S=S∪{linkindex},执行步骤二四;
步骤二六:计算tmpColUseableHD,表示吸嘴分配组NzDividedGroup(j)至工作链k后,各工作链可分配的吸杆序号集合,具体计算方法为:
步骤二七:用二分匹配构造当前吸嘴分配结果是否满足吸嘴约束条件,具体过程为:
步骤二七一:根据tmpColUseableHD构造大小为nSpindles×nSpindles的关系矩阵MatchMatrix,表示工作链和吸杆之间是否存在映射关系,其具体计算方法为:
其中,row为工作链编号,col为吸杆的编号,temColUseableHD表示吸嘴分配组NzDividGroup(j)至工作链k后,各工作链可分配的吸杆序号集合;
若MatchMatrix(row,col)=1,表示第row条工作链可被分配到吸杆col上,否则,不成立;
步骤二七二:令linkindex=1、headindex=1分别表示工作链索引和吸杆索引,同时记录各个吸杆所用的工作链索引HeadUsedCol,初始化HeadUsedCol为大小为nSpindles元素全为0的向量;
步骤二七三:令isVisited为大小为nSpindles元素全为0的向量,记录当前已经访问的吸杆索引,若MatchMatrix(linkindex,headindex)=1,则执行步骤二七四,否则执行步骤二六六;
步骤二七四:标记吸杆headindex已经被访问过,即令isVisited(headindex)=1,若吸杆headindex已经同一工作链组成匹配关系,即HeadUsedCol(headindex)≠0,执行步骤二七五,否则执行步骤二七六;
步骤二七五:继续判定工作链HeadUsedCol(headindex)是否存在其他未被访问的可用的匹配吸杆headindex′;
若存在匹配关系,且吸杆headindex′尚未与工作链组成匹配关系,则令
HeadUsedCol(headindex′)=HeadUsedCol(headindex)
HeadUsedCol(headindex)=linkindex
其中,HeadUsedCol为工作链与吸杆之间的匹配关系,headindex为吸杆标号;
若存在匹配关系,但吸杆headindex′已经与某个工作链组成匹配关系,则跳转到步骤二七四进行递归搜索;
若递归过程中的某个工作链不存在未被访问过的可用匹配吸杆,则执行步骤二八
若工作链1到linkindex均已经找到匹配的吸杆,退出递归过程,执行步骤二九;
若HeadUsedCol(headindex)不存在其他未被访问的可用的匹配吸杆,表示工作链linkindex无法确定合适的吸杆安装位置,执行步骤二八;
步骤二八:令S=S∪{linkindex},执行步骤二四到步骤二六,如果满足以下条件:
|S|=nSpindles
表示当前吸嘴分配组不存在可行解,步骤二结束,跳转到步骤一五;
步骤二九:分配NzDividedGroup(j)至工作链c,即令
NzResult(r+1:r+1+NzDividedGroup(j).num,c)=NzDividedGroup(j).nztype
步骤二十:令k=k+1,而后重复步骤二三到步骤二九,直到k>K,其中K为分配吸嘴组数量;
在步骤三中,根据步骤二中确定的吸嘴分配初始解,在满足吸嘴约束条件下,对各吸杆间的工作负载进行平衡,具体过程为:
步骤三是基于前述的吸嘴可用吸杆NzUseableHD、工作链可用吸杆ColUseableHD和吸嘴分配初始解NzResult进行的;
步骤三一:确定NzResult中各个工作链最后被分配的吸嘴类型LastNzType(c)和额外贴装点数LastNzNum(c),具体过程为:
步骤三一一:确定各个工作链最后被分配的吸嘴类型有:
其中矩阵元素“″”为空。
步骤三一二:确定工作链的最小工作量有:
其中矩阵元素“″”为空。
步骤三一三:确定工作链额外贴装点数有:
其中矩阵元素“″”为空。
步骤三二:对LastNzType类型相同的工作链贴装点进行任务均分,具体均分方法为:遍历所有最后被分配的吸嘴类型,对于给定吸嘴类型s,计算LastNzType类型相同额外贴装点数总和NzAccum(s),即:
NzAccum(s)=sum{LastNzNum(c)|LastNzType(c)=s,c=1,2,...,nSpindles}
例:将图3中的贴装点均摊至分配吸嘴类型为s的工作链中,如图4所示;
各个工作链的最后分配吸嘴类型分别是CN065、CN065、CN140、CN220、CN140、CN065,额外贴装点数为7、0、2、4、8、1,共有3条工作链使用;
用吸嘴CN065,NzAccum(′CN065′)=8,均摊总和无法被工作链整除,因而将额外贴装点数除以工作链数的结果向下取整,额外点数依次分配到各个工作链1个贴装点,直到额外点数为0,即均摊工作链1、2、6贴装点工作分别为3、3、2,同理对CN140进行均摊,得到相同类型吸嘴均摊最后结果,如图5所示;
步骤三三:在满足吸嘴约束条件的前提下,对LastNzType中类型不同的工作链贴装点进行任务均分,折算均分代价,具体过程为:
步骤三三一:确定工作链中贴装点总数最大的工作链索引集合P,令
寻找工作链c″满足:
步骤三三二:重复步骤三三一,直到找不到满足条件的工作链c″
步骤三四:根据工作链可用吸杆ColUsedHD,同理步骤二七,采用递归二分匹配的方法,将工作链分配到各个吸杆上。
本实施例为:
选用吸杆数量为6的并列式贴片机,选用10组生产线常用的贴装数据,使用上述的基于最大二分配的贴片机吸嘴分配方法,验证本发明的有效性:
表1基于最大二分配的贴片机吸嘴分配结果
需要注意的是,具体实施方式仅仅是对本发明技术方案的解释和说明,不能以此限定权利保护范围。凡根据本发明权利要求书和说明书所做的仅仅是局部改变的,仍应落入本发明的保护范围内。
Claims (5)
1.一种基于最大二分配的贴片机吸嘴分配方法,其特征在于包括以下步骤:
步骤一:获取PCB板生产数据,并根据PCB板生产数据获取贴装元件所需的吸嘴类型、吸嘴类型的贴装点数目以及贴片机装配吸杆数,并获取吸嘴可用吸杆约束NzUseableHD(s),之后利用吸嘴类型以及吸嘴类型的贴装点数目确定吸嘴分配周期的上界与下界,在吸嘴分配周期的上界与下界之间根据吸嘴类型和吸嘴分配周期进行分组,得到吸嘴分配组;
步骤二:遍历吸嘴分配组,并在每个吸嘴分配组中,根据吸嘴类型、贴片机装配吸杆数以及吸嘴可用吸杆约束NzUseableHD(s)确定拾贴周期内吸杆的吸嘴分配初始解;
步骤三:根据吸嘴分配初始解,在满足吸嘴可用吸杆约束NzUseableHD(s)条件下,对各吸杆间的工作负载进行平衡,得到可行解,取不同可行解之间的工作效率指标最高的解为最优解,即完成贴片机吸嘴分配,其中,s代表吸嘴的类型;
所述步骤二中在每个吸嘴分配组中,根据吸嘴类型、贴片机装配吸杆数以及吸嘴可用吸杆约束NzUseableHD(s)确定拾贴周期内吸杆的吸嘴分配初始解的具体步骤为:
步骤二一:记j为吸嘴分配组NzDividedGroup的索引,k为工作链索引,初始化j=1,k=1,将吸嘴分配组进行排序,排序规则第一优先级为吸嘴分配组贴装点数、第二优先级为吸嘴类型对应的贴装点数;
对排序后的吸嘴分配组NzDividedGroup重新编号,记录吸嘴分配组数量为K;
步骤二二:初始化二维矩阵ColUseableHD为nSpindles行和nSpindles列,二维矩阵中元素值为:
其中,row为矩阵ColUseableHD的行索引,col为矩阵ColUseableHD列索引,ColUseableHD第row行的元素表示某一个工作链可分配的吸杆序号集合;
步骤二三:初始化吸嘴分配结果NzResult为n行、nSpindles列的空矩阵,NzResult中的列表示一个工作链;
设计矩阵RowIndex表示NzResult矩阵中各个列当前已经分配的贴装点数量,初始化RowIndex为有nSpindles个元素的空矩阵;
集合S表示当前吸嘴分配组不可被分配的工作链索引集合,令
步骤二四:令工作链索引
表示在当前可被分配的工作链中分配贴装点数量最少的工作链索引,令r=RowIndex(c),r表示工作链c对应的已分配贴装点点数;
步骤二五:令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的可用数量上限,nztype为吸嘴类型;
步骤二六:计算tmpColUseableHD,tmpColUseableHD表示吸嘴分配组NzDividedGroup(j)至工作链k后,各工作链可分配的吸杆序号集合,具体计算方法为:
c′=1,2,3...K;
步骤二七:用二分匹配构造当前吸嘴分配结果是否满足吸嘴约束条件,具体过程为:
步骤二七一:根据tmpColUseableHD构造大小为nSpindles×nSpindles的关系矩阵MatchMatrix,MatchMatrix表示工作链和吸杆之间是否存在映射关系,其具体计算方法为:
其中,row为工作链编号,col为吸杆的编号,tmpColUseableHD表示吸嘴分配组NzDividedGroup(j)至工作链k后,各工作链可分配的吸杆序号集合;
若MatchMatrix(row,col)=1,表示第row条工作链可被分配到吸杆col上,MatchMatrix(row,col)=0,不可分配;
步骤二七二:令linkindex=1、headindex=1,linkindex和headindex分别表示工作链索引和吸杆索引,同时记录各个吸杆所用的工作链索引HeadUsedCol,初始化HeadUsedCol为大小为nSpindles元素全为0的向量;
步骤二七三:令isVisited为大小为nSpindles元素全为0的向量,isVisited表示当前已经访问的吸杆索引,若MatchMatrix(linkindex,headindex)=1,则执行步骤二七四,否则执行步骤二七六;
步骤二七四:标记吸杆headindex已经被访问过,即令isVisited(headindex)=1,若吸杆headindex已经同一工作链组成匹配关系,即HeadUsedCol(headindex)≠0,执行步骤二七五,否则执行步骤二七六;
步骤二七五:继续判定工作链HeadUsedCol(headindex)是否存在其他未被访问的可用的匹配吸杆headindex′;
若存在匹配关系,且吸杆headindex′尚未与工作链组成匹配关系,则令
HeadUsedCol(headindex′)=HeadUsedCol(headindex)
HeadUsedCol(headindex)=linkindex
其中,HeadUsedCol为工作链与吸杆之间的匹配关系,headindex为吸杆标号;
若存在匹配关系,但吸杆headindex′已经与某个工作链组成匹配关系,则跳转到步骤二七四进行递归搜索;
若递归过程中的某个工作链不存在未被访问过的可用匹配吸杆,则执行步骤二八;
步骤二七六:若工作链1到linkindex均已经找到匹配的吸杆,退出递归过程,执行步骤二九;
若HeadUsedCol(headindex)不存在其他未被访问的可用的匹配吸杆,表示工作链linkindex无法确定合适的吸杆安装位置,执行步骤二八;
步骤二八:令S=S∪{linkindex},执行步骤二四到步骤二六,如果满足以下条件:
|S|=nSpindles
表示当前吸嘴分配组不存在可行解;
步骤二九:分配NzDividedGroup(j)至工作链c,即令
NzResult(r+1:r+1+NzDividedGroup(j).num,c)=NzDividedGroup(j).nztype
步骤二十:令k=k+1,而后重复步骤二三到步骤二九,直到k>K,得到吸嘴分配初始解,num为分配组对应的贴装点数;
所述步骤一中确定吸嘴分配周期的上界与下界的具体步骤为:
步骤一一:统计各类型吸嘴对应的贴装点数目,并按照贴装点数目降序进行排列,得到吸嘴组NozzleGroup(i),表示为:
NozzleGroup(i)=[NzGroupType(i) NzGroupNum(i)]
其中,NzGroupType(i)表示为贴装点数目排序第i多对应贴装数据中使用的吸嘴类型,NzGroupNum(i)表示贴装点数目排序第i多对应贴装数据中贴装点的数量;
NzGroupNum(i)需要满足以下条件:
其中,m为总的使用的吸嘴类型数目,n为不同吸嘴类型对应的最大贴装点数;
步骤一二:计算吸嘴分配周期数cycle的上界cyclemin与下界cyclemax;
吸嘴分配周期数的上界与下界表示为:
其中,cyclemin和cyclemax为吸嘴分配周期数的上界和下界,n为对应的贴装点数,nSpindles为贴片机能够使用的吸杆数量,NzGroupNum(i)表示当前考虑的吸嘴对应的贴装点数;
所述步骤一中在吸嘴分配周期的上界与下界之间根据吸嘴类型和吸嘴分配周期进行分组,得到吸嘴分配组的具体步骤为:
令cycle=cyclemin,然后将吸嘴贴装点数按照吸嘴分配周期数进行分组,得到当前的吸嘴分配组NzDividedGroup;
令cycle=cycle+1,进行迭代,直到cycle>cyclemax时停止,得到所有的吸嘴分配组。
2.根据权利要求1所述的一种基于最大二分配的贴片机吸嘴分配方法,其特征在于所述步骤三中得到可行解的具体步骤为:
步骤三一:确定NzResult中各个工作链最后被分配的吸嘴类型LastNzType(c)和额外贴装点数LastNzNum(c),具体过程为:
步骤三一一:确定各个工作链最后被分配的吸嘴类型有:
其中矩阵元素″为空;
步骤三一二:确定工作链的最小工作量有:
步骤三一三:确定工作链额外贴装点数有:
步骤三二:对LastNzType类型相同的工作链贴装点进行任务均分,具体均分方法为:遍历所有最后被分配的吸嘴类型,对于给定吸嘴类型s,计算LastNzType类型相同额外贴装点数总和NzAccum(s),即:
NzAccum(s)=sum{LastNzNum(c)|LastNzType(c)=s,c=1,2,...,nSpindles};
步骤三三:在满足吸嘴约束条件的前提下,对LastNzType中类型不同的工作链贴装点进行任务均分,折算均分代价,具体过程为:
步骤三三一:确定工作链中贴装点总数最大的工作链索引集合P,令
寻找工作链c″满足:
步骤三三二:重复步骤三三一,直到找不到满足条件的工作链c″,则执行步骤三四;
步骤三四:根据工作链可用吸杆ColUsedHD,采用递归二分匹配的方法,将工作链分配到各个吸杆上,得到可行解。
3.根据权利要求2所述的一种基于最大二分配的贴片机吸嘴分配方法,其特征在于所述步骤三中取不同可行解之间的工作效率指标最高的解为最优解的具体步骤为:
步骤三五:计算吸嘴分配解NzResult的工作效率指标E,工作效率指标E指吸嘴分配解的工作周期数E1的和吸嘴更换次数E2加权和,具体计算方法如下:
步骤三五一:工作周期数E1表示NzResult的最大行数,具体计算方法:
E1=max(len(NzResult(:,k)),k=1,2,......,K)
步骤三五二:吸嘴更换次数E2为各吸杆吸嘴更换的总和,记函数L(x,y)为二值函数,若x=y,则L(x,y)=1,否则L(x,y)=0,E2=sumlL(NzResult(l,k),NzResult(l,k+1)),l=1,2,......,E1-1;
步骤三五三,计算工作效率指标E=aE1+bE2,其中a,b为加权系数,取决于不同机器的运动特性。
4.根据权利要求3所述的一种基于最大二分配的贴片机吸嘴分配方法,其特征在于所述a=1,b=2。
5.根据权利要求4所述的一种基于最大二分配的贴片机吸嘴分配方法,其特征在于所述cycle为5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211392089.1A CN116095980B (zh) | 2022-11-08 | 2022-11-08 | 一种基于最大二分配的贴片机吸嘴分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211392089.1A CN116095980B (zh) | 2022-11-08 | 2022-11-08 | 一种基于最大二分配的贴片机吸嘴分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116095980A CN116095980A (zh) | 2023-05-09 |
CN116095980B true CN116095980B (zh) | 2023-08-22 |
Family
ID=86199914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211392089.1A Active CN116095980B (zh) | 2022-11-08 | 2022-11-08 | 一种基于最大二分配的贴片机吸嘴分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116095980B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0964594A (ja) * | 1995-08-25 | 1997-03-07 | Matsushita Electric Ind Co Ltd | 電子部品実装方法 |
JP2002057499A (ja) * | 2000-08-08 | 2002-02-22 | Juki Corp | 表面実装部品装着機 |
US6842974B1 (en) * | 1999-09-27 | 2005-01-18 | Matsushita Electric Industrial Co., Ltd. | Component mounting method and component mounting apparatus |
CN103857196A (zh) * | 2013-02-16 | 2014-06-11 | 中国科学院合肥物质科学研究院 | 多头拱架型高速高精度贴片机离线优化方法 |
CN104156780A (zh) * | 2014-07-09 | 2014-11-19 | 华南理工大学 | 一种基于协同进化的拱架型贴片机集成优化方法 |
CN107079617A (zh) * | 2014-11-11 | 2017-08-18 | 富士机械制造株式会社 | 电子元件安装机的控制装置及向该控制装置输入数据的数据输入装置 |
CN108925126A (zh) * | 2018-07-25 | 2018-11-30 | 哈尔滨工业大学 | 一种单动臂并列式贴片头贴片机的吸杆任务分配方法 |
CN112105253A (zh) * | 2020-10-28 | 2020-12-18 | 宁波智能装备研究院有限公司 | 一种基于迭代二分遗传算法的多功能贴片机元件分配方法 |
CN113905606A (zh) * | 2021-09-13 | 2022-01-07 | 中国地质大学(武汉) | 基于深度强化学习的贴片机贴装调度模型训练方法 |
-
2022
- 2022-11-08 CN CN202211392089.1A patent/CN116095980B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0964594A (ja) * | 1995-08-25 | 1997-03-07 | Matsushita Electric Ind Co Ltd | 電子部品実装方法 |
US6842974B1 (en) * | 1999-09-27 | 2005-01-18 | Matsushita Electric Industrial Co., Ltd. | Component mounting method and component mounting apparatus |
JP2002057499A (ja) * | 2000-08-08 | 2002-02-22 | Juki Corp | 表面実装部品装着機 |
CN103857196A (zh) * | 2013-02-16 | 2014-06-11 | 中国科学院合肥物质科学研究院 | 多头拱架型高速高精度贴片机离线优化方法 |
CN104156780A (zh) * | 2014-07-09 | 2014-11-19 | 华南理工大学 | 一种基于协同进化的拱架型贴片机集成优化方法 |
CN107079617A (zh) * | 2014-11-11 | 2017-08-18 | 富士机械制造株式会社 | 电子元件安装机的控制装置及向该控制装置输入数据的数据输入装置 |
CN108925126A (zh) * | 2018-07-25 | 2018-11-30 | 哈尔滨工业大学 | 一种单动臂并列式贴片头贴片机的吸杆任务分配方法 |
CN112105253A (zh) * | 2020-10-28 | 2020-12-18 | 宁波智能装备研究院有限公司 | 一种基于迭代二分遗传算法的多功能贴片机元件分配方法 |
CN113905606A (zh) * | 2021-09-13 | 2022-01-07 | 中国地质大学(武汉) | 基于深度强化学习的贴片机贴装调度模型训练方法 |
Non-Patent Citations (1)
Title |
---|
郭姝娟 ; 靳志宏 ; .表面组装技术生产线贴片机负荷均衡优化.计算机集成制造系统.2009,第15卷(第4期),第817-822页. * |
Also Published As
Publication number | Publication date |
---|---|
CN116095980A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108925126B (zh) | 一种单动臂并列式贴片头贴片机的吸杆任务分配方法 | |
US7899561B2 (en) | Operating time reducing method, operating time reducing apparatus, program and component mounter | |
US7395129B2 (en) | Method for optimization of an order of component mounting, apparatus using the same, and mounter | |
EP0435451B1 (en) | Set-up optimization for flexible manufacturing systems | |
KR100850596B1 (ko) | 부품 실장순서 최적화 방법, 이것을 이용하는 장치, 및실장기 | |
CN100477901C (zh) | 部件装配机的部件装配优化方法和装置 | |
CN111615325B (zh) | 一种基于聚类的多功能贴片机贴装路径规划方法 | |
CN103717007A (zh) | 基于聚类分析与遗传算法的多吸嘴贴片机贴装工艺优化方法 | |
CN116095980B (zh) | 一种基于最大二分配的贴片机吸嘴分配方法 | |
CN111479404B (zh) | 一种基于混合遗传算法的led贴片机拾贴路径优化方法 | |
MOYER et al. | Simultaneous component sequencing and feeder assignment for high speed chip shooter machines | |
US5933349A (en) | Component placement | |
JP4960312B2 (ja) | 実装条件決定方法 | |
Ji et al. | Planning for printed circuit board assembly: the state-of-the-art review | |
CN112105253B (zh) | 一种基于迭代二分遗传算法的多功能贴片机元件分配方法 | |
CN111586992B (zh) | 一种基于最近插入法的贴片机贴装路径规划方法 | |
Pyöttiälä et al. | Minimizing the assembly cycle time on a revolver gantry machine | |
JPH10209681A (ja) | 電子部品実装最適化方法 | |
CN111615324A (zh) | 一种基于禁忌搜索算法的led贴片机拾贴路径优化方法 | |
CN111465210B (zh) | 一种基于聚类的led贴片机拾贴路径优化方法 | |
CN112188825B (zh) | 一种基于蝙蝠算法的多头贴片机贴装效率优化方法及系统 | |
CN117641880B (zh) | 贴片机飞达排布优化方法及系统、存储介质 | |
CN115623770B (zh) | 基于k近邻算法的直排式贴片机贴装路径优化方法 | |
CN115996524A (zh) | 一种基于行列分组遗传算法的贴片机贴装路径优化方法 | |
CN116113171A (zh) | 一种在贴片机生产的同时进行拾贴路径在线优化的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |