一种单动臂并列式贴片头贴片机的吸杆任务分配方法转让专利

申请号 : CN201810829630.8

文献号 : CN108925126B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高会军李政锴刘新鹏

申请人 : 哈尔滨工业大学

摘要 :

一种单动臂并列式贴片头贴片机的吸杆任务分配方法,本发明涉及贴片机表面贴装技术的优化方法。本发明的目的是解决目前单动臂并列式贴片头贴片机吸杆任务分配方法尚缺少完整有效的研究框架,无法兼顾各优化目标,且优化过程耗时太长,最终的优化结果不稳定的问题。具体过程为:一、得到原始贴片机生产数据;二、得到便于处理的中间数据;三:确定吸杆任务分配的循环条件,即确定所有吸嘴分配情形;四:进行吸嘴分配:五:确定吸杆间吸嘴任务交换;六:判断是否满足元件分配的循环条件,若是则进行七,否则返回三;七:进行元件分配:八:将所有吸嘴分配情形中最优的吸杆任务分配结果作为最终分配结果输出。本发明用于电器技术及电气工程领域。

权利要求 :

1.一种单动臂并列式贴片头贴片机的吸杆任务分配方法,其特征在于:所述方法具体过程为:步骤一、得到原始贴片机生产数据;

步骤二、对原始贴片机生产数据进行预处理,得到中间数据;

步骤三:确定“吸杆任务分配”的循环条件,即确定所有吸嘴分配情形,过程为:以中间数据中的“小组内吸嘴数上限”为循环变量,判断是否满足“吸杆任务分配”的循环条件,若满足循环条件,则还有吸嘴分配情形尚待搜索,执行步骤四到步骤七,否则,完成了对所有吸嘴分配情形的搜索,进行步骤八;

步骤四:进行“吸嘴分配”:

根据中间数据中的“原始的吸嘴号”、“原始的贴装数”、“小组内吸嘴数上限”,得到吸嘴分配结果,即得出各拾贴周期中各吸杆上的吸嘴号;

步骤五:确定吸杆间吸嘴任务交换,即确定吸嘴分配结果的所有交换方式;

步骤六:判断是否满足“元件分配”的循环条件,即是否有交换方式尚未被遍历到,若是则进行步骤七,否则返回步骤三;

步骤七:进行元件分配:

按照步骤六中遍历到的交换方式,对吸嘴分配结果进行交换,并基于交换后的吸嘴分配结果得到元件分配结果,即各拾贴周期中各吸杆上的元件号,同时还得到供料器组;使用代价函数对当前分配结果进行评价,若当前代价函数更优,则将最优元件分配结果更新为当前的元件分配结果,将最优吸嘴分配结果更新为当前的吸嘴分配结果,将最优供料器组更新为当前的供料器组;

步骤八:将所有吸嘴分配情形中最优的吸杆任务分配结果作为最终分配结果输出;

所述步骤一中得到原始贴片机生产数据;具体过程为:

步骤一一、进行贴片机生产数据初始化:具体过程为:

贴片机生产数据包括贴片机生产参数、供料器信息文件和元件信息文件;

步骤一一一、初始化贴片机生产参数;

所述贴片机生产参数包括吸杆总数、供料器槽总数、吸杆间隔、供料器槽位间隔;

步骤一一二、自动读取供料器信息文件、元件信息文件;

所述供料器信息文件包括“供料器类型名”、“X方向拾取偏移”、“Y方向拾取偏移”、“供料器占据槽位个数”;

所述元件信息文件包括“元件类型名”、各类型元件对应的“供料器类型名”、各类型元件对应的“吸嘴类型名”;

步骤一二、确定待贴PCB数据文件;

所述PCB数据文件包括元件号、元件类型、贴装位置;

步骤一三、进行自定义设置;

步骤一三一、吸杆的禁用:

将故障吸杆设置为不可用,更新可用吸杆数量S;

步骤一三二、供料器槽位的禁用:

首先分配盘式供料器以及杆式供料器,被盘式与杆式供料器占据的槽位自动识别为不可用;将故障供料器槽设置为不可用;

步骤一三三、设置“各类型元件可用的供料器个数”以及“各类型吸嘴的可用吸嘴数”。

2.根据权利要求1所述一种单动臂并列式贴片头贴片机的吸杆任务分配方法,其特征在于:所述步骤二中对原始贴片机生产数据进行预处理,得到中间数据;具体过程为:步骤二一、处理PCB数据文件中的PCB数据,得到数据间的索引关系;过程为:统计待贴PCB数据文件中的元件类型,得到元件类型总数为C,按照PCB数据文件中出现的先后顺序,将各元件类型编号为c∈{1,2,...,C},该编号被称作元件号,元件类型的贴装数也被称作元件号的贴装数;

所述元件类型的贴装数是指该类型元件在PCB上的所有贴装点的数量;

所述PCB数据文件包括元件号、元件类型、贴装位置;

根据PCB数据文件与元件信息文件,得到当前生产中的PCB用到的吸嘴类型、元件c与吸嘴的索引关系β(c);按照各吸嘴类型的贴装数降序排序,并以此对吸嘴类型编号为n∈{1,

2,...,N},N为吸嘴类型总数,该编号被称作吸嘴号,则有β(c)∈{1,2,...,N};吸嘴类型的贴装数也被称作吸嘴号的贴装数;

一类吸嘴能被用于多类元件的拾贴,将一类吸嘴对应的所有待贴元件类型的贴装数求和,得到该吸嘴类型的贴装数;

所述元件信息文件包括“元件类型名”、各类型元件对应的“供料器类型名”、各类型元件对应的“吸嘴类型名”;

根据PCB数据文件与元件信息文件,得到所用到的供料器类型,得到元件c与供料器的索引关系γ(c);用f∈{1,2,...,F}表示供料器类型的索引号,F为供料器类型总数,则有γ(c)∈{1,2,...,F};

步骤二二、定义两个N列行向量,其中一个行向量存储“吸嘴号”,称为“原始的吸嘴号”;

另一个行向量存储与“原始的吸嘴号”中各吸嘴号对应的贴装数,称为“原始的贴装数”;

“原始的吸嘴号”中的吸嘴号按照由小到大的顺序存储,因而“原始的贴装数”中各贴装数是降序排序的;

步骤二三、统计各吸嘴号对应的同时拾取类:

一类吸嘴对应多类元件,继而对应不同的同时拾取类型;

吸嘴n对应Mn个同时拾取类型,按照各同时拾取类型的贴装数降序存储,得到同时拾取类,并编号为SPTn_m∈{SPTn_1,SPTn_2,...,SPTn_Mn};

同时拾取类型的贴装数是指,同时拾取类型中各元件贴装数之和;

步骤二四、计算最小拾贴周期数K;过程为:

对PCB上所有元件号的贴装数求和,得到PCB贴装总数,PCB贴装总数除以可用吸杆数量S并向上取整得到K;

步骤二五、确定“小组内吸嘴数上限”cntK的变化范围:

最小拾贴周期数K减去一个正整数a1得到cntK的最小取值minK,最小拾贴周期数K加上一个正整数a2得到cntK的最大取值maxK,即有minK=K-a1与maxK=K+a2;

初始化“小组内吸嘴数上限”cntK为minK,即有cntK=minK;

所述a1=6、a2=10。

3.根据权利要求2所述一种单动臂并列式贴片头贴片机的吸杆任务分配方法,其特征在于:所述步骤三中确定“吸杆任务分配”的循环条件,即确定所有吸嘴分配情形,过程为:判断cntK是否小于maxK,若是,则执行步骤四到步骤七,否则,执行步骤八。

4.根据权利要求3所述一种单动臂并列式贴片头贴片机的吸杆任务分配方法,其特征在于:所述步骤四中进行“吸嘴分配”:使用中间数据中的“原始的吸嘴号”、“原始的贴装数”、“小组内吸嘴数上限”,得到吸嘴分配结果,即得出各拾贴周期中各吸杆上的吸嘴号;具体过程为:步骤四一、对应每个吸嘴号,定义两个行向量,分别称作“分组的吸嘴号”、“分组的贴装数”;

两者分别由“原始的吸嘴号”、“原始的贴装数”在“小组内吸嘴数上限”cntK的指导下得到;过程为:对应“原始的吸嘴号”中的吸嘴n,取出“原始的贴装数”中吸嘴n的贴装数Pn,Pn除以cntK,分别得到商d1和余数d2,对商向上取整得到 则吸嘴n的分组数为 即“分组的吸嘴号”、“分组的贴装数”皆为 列行向量;“分组的吸嘴号”存储的全都是吸嘴号n;

若d2等于0,“分组的贴装数”的各列存储的都是cntK;

若d2≠0,“分组的贴装数”的前 列中各列存储cntK,第 列存储d2,称前列为吸嘴n的“主列”,称第 列为吸嘴n的“尾列”;

若吸嘴n有“尾列”,定义尾列标识变量ELn,初始化ELn为0,n∈{1,2,...,N};

初始化“吸杆任务分配”的全局最优代价函数值GbestE为无穷大inf;

步骤四二、确定“吸嘴分配”的循环条件;

判断ELn是否全为1,若否,初始化吸嘴更换次数变量V为0,初始化往返吸嘴站次数变量W为0,然后执行步骤四三;若是,cntK=cntK+1,返回步骤三;

n∈{1,2,...,N}为吸嘴类型编号;

步骤四三、对应每个吸嘴号,定义两个行向量,分别称作“重组的吸嘴号”、“重组的贴装数”;两者分别由“分组的吸嘴号”、“分组的贴装数”在尾列标识变量ELn的指导下得到;过程为:首先依吸嘴号从小到大的顺序将各“分组的吸嘴号”、“分组的贴装数”中的“主列”存储入“重组的吸嘴号”、“重组的贴装数”中;

之后,由尾列标识变量ELn的取值决定各“尾列”在“重组的吸嘴号”、“重组的贴装数”中的存储顺序;

若尾列标识变量ELn等于0,吸嘴n的“尾列”应紧跟着其“主列”存储;若尾列标识变量ELn等于1,在“重组的吸嘴号”、“重组的贴装数”中,吸嘴n的“尾列”应存储在所有“主列”之后,尾列标识变量为1的各“尾列”间按照贴装数降序顺序存储;

步骤四四、定义两个S列行向量,分别称作“分配的吸嘴号”、“分配的贴装数”,先初始化两个行向量为全零向量;

S列对应着S个可用吸杆;

步骤四五、确定“分配的吸嘴号”、“分配的贴装数”;

步骤四五一、确定“分配的吸嘴号”、“分配的贴装数”的第一行;过程为:若“重组的吸嘴号”、“重组的贴装数”列数不大于S,那么将各列依次存入“分配的吸嘴号”、“分配的贴装数”中,直接执行步骤四六;

若“重组的吸嘴号”、“重组的贴装数”列数大于S,将“重组的吸嘴号”、“重组的贴装数”前S列依次存入“分配的吸嘴号”、“分配的贴装数”第一行的S列中;执行步骤四五二;

步骤四五二、确定“分配的吸嘴号”、“分配的贴装数”的后续各行;过程为:以“分配的吸嘴号”、“分配的贴装数”中最后一行为“当前行”,进行分配,取当前行中贴装数最少的那一列,称为被分配列,记录最小贴装数为Pk,其中k代表当前行的行号;

“重组的吸嘴号”、“重组的贴装数”中将被分配的列称作“待分配列”,若“重组的吸嘴号”的“待分配列”与“分配的吸嘴号”第k行的“被分配列”这两者吸嘴号相同,则将“分配的吸嘴号”第k行“被分配列”中贴装数更新为当前贴装数加上“重组的贴装数”的“待分配列”中的贴装数;

若“重组的吸嘴号”的“待分配列”与“分配的吸嘴号”第k行的“被分配列”这两者吸嘴号不同,则“分配的吸嘴号”、“分配的贴装数”中新建第k+1行;“分配的吸嘴号”第k+1行中的各非被分配列的吸嘴号与第k行相同,被分配列被赋值为“重组的吸嘴号”待分配列的吸嘴号;

“分配的贴装数”中的各非被分配列的贴装数为第k行中的贴装数减去Pk,“分配的贴装数”中的被分配列的贴装数被赋值为“重组的贴装数”待分配列的贴装数;吸嘴更换次数变量自加V=V+1;若Pk等于0,往返吸嘴站次数变量W不变,若Pk>0,往返吸嘴站次数变量自加W=W+

1;重复执行步骤四五二,直到“重组的吸嘴号”、“重组的贴装数”中所有列分配完毕;

步骤四六、改进“分配的吸嘴号”、“分配的贴装数”的最后一行:“分配的吸嘴号”、“分配的贴装数”的最后一行中,使用相同吸嘴号的各列平分贴装数;

步骤四七、进行最后一行中没有贴装任务的吸杆上吸嘴的再分配:“分配的贴装数”的最后一行中,若出现某一列的贴装数为0,视其为被分配列,最后一行中贴装数最多的列,视为待分配列,其他列称为非被分配列;

“分配的吸嘴号”、“分配的贴装数”都新建一行,其中的各非被分配列与上一行相同,“分配的吸嘴号”的被分配列与待分配列中的吸嘴号相同,“分配的贴装数”被分配列中存0;

“分配的吸嘴号”、“分配的贴装数”的最后一行中,使用相同吸嘴号的各列平分贴装数,从而减少拾贴周期数;

判断由此带来的拾贴周期数的减少是否大于e1,若是,则维持新建的最后一行,并更新V=V+1及W=W+1;否则,删去新建的最后一行;

其中,e1为单个吸嘴更换耗时与拾贴周期平均耗时的比值;

步骤四八、得到最终的“分配的吸嘴号”、“分配的贴装数”;

“分配的贴装数”的最后一行中的各列,若出现贴装数非零的两列贴装数不相等,记录最后一行中非零最小贴装数Pk,在最后一行后新建一行,贴装数为零的列保持不变,其他各列的贴装数为上一行中的贴装数减去Pk,若当前“分配的贴装数”的最后一行中某一列贴装数为0,则“分配的吸嘴号”中也存0,表示对应的吸杆没有吸嘴拾贴任务;

步骤四九、得到K行S列的“分配的吸嘴号”,定义K列行向量“吸嘴工作量”,“吸嘴工作量”的各列中存储“分配的贴装数”中的非零最小值,表示“分配的吸嘴号”各行对应拾贴周期数。

5.根据权利要求4所述一种单动臂并列式贴片头贴片机的吸杆任务分配方法,其特征在于:所述步骤五中确定吸杆间吸嘴任务交换,即确定吸嘴分配结果的所有交换方式;具体过程为:“分配的吸嘴号”的各列两两交换,S列对应着2S-1种交换方式,将所有交换方式存储下来,以iNz为交换方式的索引变量,初始化为iNz=1,iNz∈[1,2S-1]。

6.根据权利要求5所述一种单动臂并列式贴片头贴片机的吸杆任务分配方法,其特征在于:所述步骤六中判断是否满足“元件分配”的循环条件,即是否有交换方式尚未被遍历到,若是则进行步骤七,否则返回步骤三;具体过程为:步骤六一、判断iNz是否大于2S-1,若是,则说明完成了所有交换方式的遍历,执行步骤七八,否则,执行步骤六二;

步骤六二、按照第iNz种交换方式对“分配的吸嘴号”中的各列进行两两交换,得到“交换后的吸嘴号”;

“交换后的吸嘴号”包含K个子周期,定义子周期索引变量k∈{1,2,...,K},初始化并清零各子周期的“完成标识变量”,子周期k的“完成标识变量”Donek=0;定义“完成计数变量”,初始化为k1=0,用于统计完成元件分配的子周期数量,即Donek=1的个数;

Donek=0说明子周期k尚未进行元件分配,Donek=1说明子周期k已经完成元件分配;

初始化一个K行S列的全零二维数组,作为“交换后的元件号”,用于存储各子周期中各吸杆上所要拾贴的元件号,其中的各元件号与“交换后的吸嘴号”中的各吸嘴号在位置上相互对应;

初始化“吸杆任务分配”最优代价函数值bestE为无穷大inf;

步骤六三、判断完成计数变量k1是否大于K,若是,说明所有子周期的元件分配完成,执行步骤七七;若否,初始化子周期k=1,初始化“行间最大同时拾取数”变量maxSP=-1;

初始化“最优子周期”变量bestk=1,执行步骤六四;

步骤六四、若子周期k>K,说明子周期完成一次遍历,“交换后的元件号”中的bestk行更新为“行间最优元件行”,将“行间最优供料器组”合并入“已确定的供料器组”,bestk对应的“完成标识变量”Donebestk=1,完成计数变量k1=k1+1,返回步骤六三,否则,执行步骤六五;

步骤六五、判断子周期k是否已经完成元件分配,即判断是否有Donek=1;若是,更新循环变量k=k+1,返回步骤六四,否则,执行步骤六六;

步骤六六、“交换后的吸嘴号”中第k行赋值给一个S列行向量,并简称其为“吸嘴行”;

初始化一个全零S列行向量,并简称其为“元件行”,用于存储基于“吸嘴行”中的各吸嘴号分配得到的各元件号;执行步骤六七;

步骤六七、不重复地取出吸嘴行中的各吸嘴号存入集合 即同一吸嘴号仅存一次;初始化并清零同时拾取类标识变量flagSn=0;若吸嘴n对应Mn个同时拾取类型,则flagSn的最大取值为Mn,flagSn∈[0,Mn];

对应不同的flagSn组合,子周期k中的元件分配结果不同,得到的同时拾取数也不同;

定义“行内最大同时拾取数”变量maxSPk,初始化为maxSPk=-1;

执行步骤六八;

步骤六八、基于同时拾取类标识变量flagSn的循环条件:判断吸嘴行中各吸嘴号对应的同时拾取类标识变量flagSn是否都取最大值,即flagSn=Mn, 若是,执行步骤七六,否则,执行步骤七一。

7.根据权利要求6所述一种单动臂并列式贴片头贴片机的吸杆任务分配方法,其特征在于:所述步骤七中进行元件分配:即按照步骤六中遍历到的交换方式,对吸嘴分配结果进行交换,并基于交换后的吸嘴分配结果得到元件分配结果,即各拾贴周期中各吸杆上的元件号,同时还得到供料器组;使用代价函数对当前分配结果进行评价,若当前代价函数更优,则将最优元件分配结果更新为当前的元件分配结果,将最优吸嘴分配结果更新为当前的吸嘴分配结果,将最优供料器组更新为当前的供料器组;具体过程为:步骤七一、为元件行的各列分配元件号:

元件行的每一列仅分配一个元件号,分配依据同时拾取类标识变量flagSn,分配方式如下:若flagSn等于0,则吸嘴n对应的所有元件号都参与分配,分配按照元件号贴装数由多到少的顺序进行;

若flagSn等于 则分配同时拾取类 内的元件号,分配按照元件号贴装数由多到少的顺序进行;

“吸嘴工作量”第k列中存储了吸嘴行对应的拾贴周期数Pk;假设正在分配的元件号为元件 的剩余贴装数为 新建一个S列行向量,称作“元件行贴装数”,该向量中的元素全部初始化为Pk;若 则正在分配的列中存入贴装数 更新元件 的剩余贴装数为

0,否则,更新元件 的剩余贴装数为

步骤七二、吸嘴行的拆分:

取“元件行贴装数”的最小值Pc1,若Pc1≥Pk,则说明吸嘴行的工作量能被当前元件分配填满,若Pc1<Pk,则说明吸嘴行的工作量不能被当前元件分配填满,需要增加一个子周期;

过程为:

“交换后的吸嘴号”、“交换后的元件号”的最后增加一行,第k到第K行的内容赋值到第k+1到第K+1行;“吸嘴工作量”最后增加一列,“吸嘴工作量”中的第k+1到第K列赋值到第k+2到第K+1列,第k列中存入Pc1,第k+1列中存入Pk-Pc1;更新子周期总数K=K+1;

步骤七三、得到“理想同时拾取组”,定义“理想同时拾取组”索引变量i∈[1,I],初始化为i=1;“理想同时拾取组”中用0表示没有拾贴任务的吸杆;具体过程为:步骤七三一.新建一个S列行向量作为临时变量,存入元件行,称为“临时元件行”;

定义“元件行同时拾取数”SPk,用于存储子周期k的最大同时拾取数,初始化为SPk=0;

步骤七三二.判断“临时元件行”是否为空,若不为空,则执行步骤七三三,若为空,则执行步骤七四;

步骤七三三.判断“临时元件行”的第一列是否为0,若是,则删掉临时元件行的第一列,并返回步骤七三二;若否,新建一个S列行向量,称为“理想同时拾取组”,将“临时元件行”赋值给“理想同时拾取组”,执行步骤七三四;

步骤七三四.对“理想同时拾取组”中各列逐个进行判断,判断是否能与第一列构成“理想同时拾取”,若否,则在“理想同时拾取组”中对该列清零,若是,则在“临时元件行”中对该列清零;所有列都判断完毕后,返回步骤七三三;

“理想同时拾取”条件中,供料器宽度除以吸杆间隔得到的商向上取整,即为供料器占据吸杆个数;

步骤七四、更新“行内最优供料器组”:具体过程为:

步骤七四一.判断是否满足i>I,则执行步骤七五,否则执行步骤七四二;

步骤七四二.判断第i个“理想同时拾取组”是否为全零数组,若是,i=i+1,执行步骤七四四,否则,执行步骤七四三;

步骤七四三.对第i个“理想同时拾取组”进行分配,得到“元件行供料器组”:过程为:新建一个行向量,称为“候选供料器组”,将“理想同时拾取组”赋值给“候选供料器组”;

对“候选供料器组”逐列进行判断,若某列的元件号的可用供料器个数为0,则将“候选供料器组”中的该列清零;统计“候选供料器组”中的非零列数,记为能实现的最大同时拾取数SPi;

遍历步骤六四中的“已确定的供料器组”,配合可用供料器,最大化实现“理想同时拾取组”,记所能实现的最大同时拾取数为SPi1;

若SPi>SPi1,更新SPk=SPk+SPi,则将“候选供料器组”确定为“元件行供料器组”;

若SPi≤SPi1,更新SPk=SPk+SPi1,以该“已确定的供料器组”作为“元件行供料器组”;

SPk为“元件行同时拾取数”;

“理想同时拾取组”中被“行内最优供料器组”确定下来的列清零;返回步骤七四二;

步骤七四四.更新“行内最大同时拾取数”,更新“行内最优元件行”及“行内最优供料器组”;过程为:“元件行同时拾取数”SPk与“行内最大同时拾取数”maxSPk对比,若SPk>maxSPk,则更新maxSPk=SPk,将“行内最优元件行”更新为当前的元件行,更新“行内最优供料器组”为“元件行供料器组”;返回步骤七四一;若SPk≤maxSPk,则返回步骤七四一;

步骤七五:更新吸嘴行中各吸嘴号对应的同时拾取类标识变量,返回步骤六八;

步骤七六:更新“行间最大同时拾取数”,更新“行间最优元件行”及“行间最优供料器组”;过程为:设子周期k对应Ck个拾贴周期,比较Ck×maxSPk与“行间最大同时拾取数”maxSP;若Ck×maxSPk>maxSP,则更新maxSP=Ck×maxSPk,更新“行间最优元件行”为“行内最优元件行”,更新“行间最优供料器组”,更新最优子周期bestk=k,更新子周期k=k+1;返回步骤六四;

所述更新“行间最优供料器组”,即在行间最优供料器组中加入“行内最优供料器组”;

若Ck×maxSPk≤maxSP,返回步骤六四;

步骤七七:计算“吸杆任务分配”代价函数E,若优于当前“吸杆任务分配”最优代价函数值,即E<bestE,则更新最优代价函数bestE=E,并更新最优“吸杆任务分配”分配信息,即将“最优的吸嘴号”更新为“交换后的吸嘴号”,将“最优的元件号”更新为“交换后的元件号”、“最优的供料器组”更新为“已确定的供料器组”;更新交换方式的索引变量iNz+1,返回步骤六一;

所述“吸杆任务分配”代价函数的计算方法如下:

其中, 为拾贴周期数, 为拾贴周期索引,S为贴片头上的吸杆个数,j∈{1,2,...,S}为吸杆索引, 为吸嘴更换次数, 为吸嘴更换往返次数, 为同时拾取数量;e1为更换吸嘴权重;e2为更换吸嘴往返次数权重;e3为同时拾取权重;

e1取2,e2取0.5,e3取1/6;

吸嘴更换次数、吸嘴更换往返次数与步骤四二中的V、W对应,即步骤七八:判断是否优于“吸杆任务分配”的“全局最优代价函数值”,即bestE>GbestE,若是,则更新GbestE=bestE,将“全局最优的吸嘴号”更新为“最优的吸嘴号”,将“全局最优的元件号”更新为“最优的元件号”、将“全局最优的供料器组”更新为“最优的供料器组”,执行步骤七九;若否,则直接执行步骤七九;

GbestE为“吸杆任务分配”的全局最优代价函数值;

步骤七九:更新尾列标识变量ELn,返回步骤四二;

尾列标识变量ELn更新方式如下:

首先更新吸嘴1的尾列标识变量EL1=EL1+1,各吸嘴号对应的尾列标识变量按照吸嘴号由小到大的顺序进位,即若ELn-1>1,则ELn-1=0,ELn=ELn+1;

ELn-1为吸嘴n-1的尾列标识变量。

8.根据权利要求7所述一种单动臂并列式贴片头贴片机的吸杆任务分配方法,其特征在于:所述步骤八中将所有吸嘴分配情形中最优的吸杆任务分配结果作为最终分配结果输出;具体过程为:吸杆任务分配结果在步骤七八中更新得到,包括,“全局最优的吸嘴号”、“全局最优的元件号”与“全局最优的供料器组”。

说明书 :

一种单动臂并列式贴片头贴片机的吸杆任务分配方法

技术领域

[0001] 本发明涉及贴片机表面贴装技术的优化方法,特别涉及一种单动臂并列式贴片头贴片机的吸杆任务分配方法,属于电器技术及电气工程领域。

背景技术

[0002] 在现代化的生产生活中,各类电子设备扮演着愈发重要的角色,这使得印制电路板的生产需要满足高密度、高复杂度、大规模及柔性化的生产需求。作为目前印制电路板生产的主流技术,表面贴装技术得到了快速发展。表面贴装生产线上最关键、最复杂的设备是全自动贴片机,它高速、高精度、全自动地将贴片元器件贴装到印制电路板上的对应焊盘处。贴片机的拾取与贴装过程在表面贴装生产线中的耗时最长,因此成为了贴装生产效率提高的瓶颈,随之而来的是贴片机的拾取与贴装过程优化问题,该问题的求解旨在通过合理地规划拾取与贴装过程,以使单台贴片机的生产效率最大化。拾取与贴装过程优化可被分为吸杆任务分配与拾贴路径规划两部分,本发明提供了一种吸杆任务分配方法,特指单动臂并列式贴片头贴片机的吸杆任务分配方法。
[0003] 所述“印制电路板”,英文表达为Printed circuit board,缩写为PCB,后文即简称为“PCB”。PCB是电子元器件进行电气连接的载体,印制电路板表面有设计好的电子元器件的放置位置,放置之后的电子元器件的引脚可以借助焊锡与PCB上的焊盘焊接在一起,焊盘之间又通过PCB中的导线实现所需的电气连接。
[0004] 所述“贴片元器件”,是指通过表面贴装与焊盘连接的电子元器件,与通过引脚穿过过孔与焊盘连接的直插元器件相区分,本专利中只涉及“贴片元器件”,后文简称为“元件”。贴片元器件在印制电路板表面的放置位置被称作贴装点。
[0005] 所述“拾取与贴装过程”,由“Pick-and-place Process”翻译而来,有的地方也译作“拾取与放置过程”,贴片机完成一块PCB上的元件贴装任务的过程被称作对该PCB的拾取与贴装过程,后文简称为“拾贴过程”。
[0006] 所述“拾贴过程优化方法”,通过编程实现后,得到拾贴过程优化软件,运行拾贴过程优化软件得到的输出结果即拾贴过程优化问题的求解结果。其中,吸杆任务分配是首先要完成的,通过吸杆任务分配,将得到拾贴过程中各个吸杆上所应安装的吸嘴以及所应拾贴的元件类型,完成供料器分组,实现“拾贴周期数最小化”、“吸嘴更换次数最小化”、“往返吸嘴站次数最小化”、“同时拾取数量最大化”的目标。
[0007] 1、单动臂并列式贴片头贴片机机械结构
[0008] 单动臂并列式贴片头贴片机是动臂式贴片机(也称拱架式贴片机)的一种,由图1可见,贴片机的主体框架是一个三轴运动平台,其在结构上具有如下特征。
[0009] (1)运动机构
[0010] 由三个直线导轨控制实现水平面内的运动,其中两个相互平行的直线导轨被称作“定臂”,与定臂垂直安装的直线导轨被称作“动臂”,直线导轨由电机驱动,两个定臂对应的电机为Y轴电机,带动动臂沿Y轴方向运动,动臂对应的电机为X轴电机,带动贴片头实现X轴方向运动。所述“单动臂”即是指仅使用一个动臂,这区别于多动臂贴片机。
[0011] 如图1与图2所示,并列式贴片头即指贴片头中的所有吸杆并排地排成一列,这区别于所有吸杆环绕排列的转盘式贴片头贴片机及转塔式贴片头贴片机。
[0012] 吸杆在Z轴电机的驱动下实现Z轴方向运动,另外,还有电机带动吸杆绕其轴转动,这被称作R轴运动,对应的电机被称作R轴电机;
[0013] (2)关于元件拾取与供应的机构
[0014] 吸杆内部中空,并与真空泵连通,真空泵抽气则在吸杆内部建立真空环境,吸杆底部有安装孔,安装孔用于安装吸嘴,如图2所示,吸杆1未安装吸嘴,吸杆3~吸杆6则安装有不同类型的吸嘴,各类型吸嘴的末端形制不同,末端越大的吸嘴对应的内径越大,从而产生的吸力越大,可以用于拾取的元件尺寸越大且重量越重,反之亦然。值得一提的是,吸嘴类型多达二十余种。
[0015] 元件由供料器供应,供料器可以插入标准化机械接口(被称作供料器槽),从而被固定在供料器架上,动臂式贴片机的供料器架是固定的,区别于供料器架可以运动的贴片机机型。
[0016] 操作人员站在供料器架一侧,面向贴片机站立,此时操作人员的左右被称作贴片机的左右,操作人员的前后被称作贴片机的前后。按照由左到右增大的顺序对吸杆和供料器槽位进行编号。后文用S表示吸杆总数,用j∈{1,2,...,S}表示吸杆的索引号,本专利提供的例子中,S=6,即贴片头中有六个吸杆,对应编号为吸杆1~吸杆6。后文用F表示供料器架上的供料器槽位总数,用f∈{1,2,...,F}表示供料器槽位的索引号,本专利提供的例子中,F=60,即供料器架上有60个供料器槽位,对应编号为供料器槽1~供料器槽60。注意,本专利提供的方法不限于所提供的例子中的吸杆个数及供料器槽位个数。
[0017] 供料器包括三种,带式供料器、盘式供料器以及杆式供料器。其中盘式供料器以及杆式供料器被分配的供料器槽位由操作人员人工安排,贴片机的拾贴过程优化问题中的供料器槽位分配问题,特指对带式供料器进行的自动槽位分配,后文所述供料器亦特指带式供料器。
[0018] 带式供料器的结构如图3所示,其末端装有带式料盘,带式料盘是市面上最常见的针对元件的一类包装,带式供料器上方的前端开有元件拾取窗口(后简称拾取窗口),拾取窗口中的元件被拾取之后,新的元件将由带式供料器自动补充,出现在拾取窗口的中心。
[0019] 将元件拾取动作描述如下:吸杆移动到装有所要拾取的元件的供料器的拾取窗口正上方,吸杆下降直到吸嘴末端轻触元件的上表面,吸杆对应的真空泵建立真空环境,将元件吸附在吸嘴上,吸杆上升回到初始高度。图2中的吸杆2即正在从拾取窗口中拾取元件。
[0020] 不同类型的元件尺寸跨度很大,不同尺寸范围内的元件对应的带式供料器类型不同,图3和图4给出四种类型的带式供料器,由图可见,越大的元件对应的料盘越大,相应地,其对应的带式供料器也越宽越大,占据的供料器槽位个数也越多。约定如下,带式供料器所分配的槽位号为其占据的最左侧供料器槽位号,如图4所示,四个带式供料器的槽位号依次为:供料器槽1、供料器槽3、供料器槽6、供料器槽9。此外,不同类型带式供料器的拾取窗口位置也不同。值得一提的是,带式供料器类型多达二十余种。
[0021] 为了定位供料器的拾取窗口,定义供料器X方向拾取偏移、Y方向拾取偏移。以供料器所在槽位的左侧边线为参考,供料器的拾取窗口的中心相对左侧边线的偏移距离记作X方向拾取偏移。以供料器所在槽位的前端边线为参考,供料器的拾取窗口的中心相对前端边线的偏移距离记作Y方向拾取偏移。
[0022] (3)关于元件贴装的机构
[0023] 图5所示为贴片机贴装动作示意图,在拾贴过程开始前,一块待贴装的PCB由传送带传入,直到PCB被止挡捎阻挡停止传送,此时PCB到达贴装位置,即PCB的贴装位置是固定的。将元件贴装动作描述如下:拾取有元件的吸杆移动到所要贴装的贴装点正上方,吸杆下降直到元件轻触PCB的上表面,吸杆对应的真空泵由吸气变为吹气,从而对元件产生下压力,由于PCB表面预先涂覆有粘结剂,所以元件将被粘附在PCB表面的贴装点,吸杆上升回到初始高度。图5下图所示为对PCB处的局部放大图,如图中所示,PCB上已经完成部分元件的贴装,吸杆3正在进行元件的贴装。
[0024] (4)吸嘴站
[0025] 图1中有一个被称作“吸嘴站”的装置,如图所示,吸嘴站上有若干开孔,这些孔被称作吸嘴洞,吸嘴洞用于放置吸嘴。对吸嘴更换过程描述如下,当吸杆需要更换吸嘴时,控制该吸杆随贴片头移动到空闲吸嘴洞正上方(所述空闲是指该吸嘴洞内部无吸嘴),吸杆下降将吸嘴插入吸嘴洞,吸嘴洞内有卡簧机构,将当前吸嘴卸下,吸杆上升,移动吸杆到要安装的吸嘴所在吸嘴洞上方,吸杆下降直到吸嘴装入吸杆,即完成吸嘴更换过程。
[0026] (5)固定相机与飞行相机
[0027] 对图像检测说明如下:当吸杆上拾取有元件之后,从吸杆底部望去,元件的形心相对于参考点(即吸杆中心)有位置偏移,元件相对于参考方向(X轴正向)也有角度偏转,使用图像检测来获取上述位置偏移值与角度偏转值,从而在元件贴装前,可以对位置偏移与角度偏转进行补偿,实现高精度贴装。
[0028] 图1中有一个被称作“固定相机”的装置,固定相机是一个被固定安装的具有较大视场的相机,可用于对各种尺寸的元件进行图像检测。
[0029] 部分单动臂并列式贴片头贴片机仅装配固定相机,在对元件拾取之后、贴装之前,依次对各吸杆上的元件进行图像检测;为了减少图像检测耗时,大部分单动臂并列式贴片头贴片机的贴片头上还装配有飞行相机,虽然飞行相机只能对尺寸较小的元件进行图像检测,但是使用飞行相机后,无需专门移动贴片头到固定相机,从而节省移动耗时。本专利考虑使用飞行相机进行图像检测的情况,实际上,稍加修改便可应用于使用固定相机进行图像检测的情形。
[0030] 2、单动臂并列式贴片头贴片机工作流程
[0031] 首先定义拾取与贴装周期,后文简称为“拾贴周期”。拾贴过程包含许多个拾贴周期,后文用 表示拾贴周期总数,用 表示拾贴周期的索引号。每个拾贴周期都包含两个过程,其中一个过程是,贴片头上各吸杆完成从供料器拾取元件的过程,简称拾取过程,另一个过程是,贴片头上各吸杆完成在PCB表面贴装元件的过程,简称贴装过程。
[0032] 注意,不要被各定义的表述搞混,拾取过程包含了拾贴周期中各吸杆的拾取动作,贴装过程包含了拾贴周期中各吸杆的贴装动作;拾取过程、贴装过程是拾贴周期的组成部分;拾贴周期是拾贴过程的组成部分。
[0033] 参考图6所示的拾贴过程流程图,对单动臂并列式贴片头贴片机工作流程描述如下。
[0034] 步骤1:通过传感器检测是否有PCB被传入并被固定在PCB贴装位置处。如果有,则拾贴周期计数变量置1,进入步骤2;如果没有,则继续执行步骤1。
[0035] 步骤2:判断是否需要进行吸嘴更换来完成当前拾贴周期,若需要进行吸嘴更换,则贴片头移动到吸嘴站,对需要进行吸嘴更换的吸杆更换吸嘴,执行步骤3;若不需要进行吸嘴更换,直接执行步骤3。
[0036] 步骤3:贴片头移动到吸嘴站上方,使各吸杆依次到达当前拾贴周期中所用的供料器的拾取窗口上方并完成拾取动作。
[0037] 步骤4:对各吸杆吸附的元件进行图像检测,计算角度偏转值并转动吸杆进行补偿,计算位置偏移值并在后面贴装时进行位置补偿。
[0038] 步骤5:移动贴片头,使各吸杆依次到达当前拾贴周期中所要贴装的元件在PCB上的贴装点处并完成贴装动作。
[0039] 步骤6:判断当前的拾贴周期计数变量是否大于拾贴周期总数。若是,则用传送带将当前PCB传出,并返回步骤1;若否,则拾贴周期计数变量加1,返回步骤2。
[0040] 备注:一个拾贴周期对应于将步骤2~5顺序执行一次。
[0041] 3、拾贴过程优化简介
[0042] 运行拾贴过程优化软件得到的输出结果为拾贴过程优化问题的求解结果,求解结果包含供料器架上的供料器分配结果、各拾贴周期中各吸杆上安装的吸嘴类型、各拾贴周期中各吸杆的拾取坐标与拾取顺序以及贴装坐标与贴装顺序。在规划后的拾贴过程中,各个拾贴周期中的以下信息是确定的:
[0043] (1)各个吸杆上安装的吸嘴类型。
[0044] (2)各个吸杆上要拾贴的元件序号。所述元件序号为待贴PCB数据文件中按照先后顺序对元件进行的编号。所述“PCB数据文件”中存储的数据包括如下信息,元件序号、元件类型名、元件的X坐标、元件的Y坐标,参考表1。
[0045] 表1 PCB数据文件示例
[0046]序号 元件类型名 X坐标 Y坐标
1 TR2_TO252 38.56 78.74
… … … …
[0047] (3)供应各个吸杆所拾取元件的供料器槽位号。
[0048] (4)元件拾取过程中,各个吸杆的拾取先后顺序。
[0049] (5)元件贴装过程中,各个吸杆的贴装先后顺序。
[0050] 为了便于后文的表述,在XY面内,定义贴片头坐标,定义贴片头坐标为贴片头中吸杆1的轴心在XY面内投影的坐标。定义吸杆j的拾取坐标为吸杆j到达对应的供料器的拾取窗口的中心后的贴片头坐标。
[0051] 贴片机的拾贴过程优化的目的是使PCB拾贴生产效率最大化。要实现这个目标,一方面,要对生产数据进行综合分析,完成吸杆任务分配;另一方面,要对拾贴过程中的先后次序进行最优安排。
[0052] 备注:生产数据包括各种元件的可用供料器个数、各吸嘴的可用个数、可参与生产的吸杆号、可参与生产的供料器槽位号(因为故障等原因,某些吸杆或供料器槽位可能被用户禁用)。
[0053] 目前已有的对贴片机拾贴过程的优化问题的研究,大都按照供料器槽位分配问题、元件拾贴顺序问题两个子问题进行求解。供料器槽位分配问题通常被视作二次分配问题,元件拾贴顺序问题通常被视作旅行商问题。二次分配问题与旅行商问题都属于不具有多项式时间解的NP-hard组合优化问题,在涉及大量优化变量的情况下,无法在有限时间内求出最优解,因而相关文献中,大都采用启发式搜索算法寻得一个次优解。
[0054] 贴片机的拾贴过程的优化问题复杂度很大,采用不同的拾贴过程优化方法的差别很大,使用相同贴片机完成相同的PCB贴装任务的耗时相差会达到几个乃至几十个百分点。具体来说,求解复杂度这体现在:
[0055] (1)涉及的优化变量太多。不同批次的PCB贴装任务的生产数据各不相同,拾贴过程的优化问题的求解,需要考虑的优化变量很多(元件种类多达上百种、吸嘴类型多达二十余种、供料器类型多达二十余种),因而算法设计难度很大,并且如果问题没有得到充分简化,搜索过程会非常耗时。
[0056] (2)制定子问题分解方案的难度很大。拾贴过程的优化问题可以被分解若干子问题并逐个进行求解,实际上,各子问题之间仍然有很高的关联度,如何分解得到子问题对最终结果的影响很大。若按照前面提及的分解方法,分解为供料器槽位分配问题、元件拾贴顺序问题两个子问题,则有些优化目标无法放入优化算法中进行优化,因而并非最佳选择。上述无法被优化的目标是指吸嘴更换次数的最小化以及同时拾取数量的最大化,后文会具体讲述。
[0057] 与其他类型贴片机相比,动臂式并列式贴片头贴片机机械结构具有特殊性,其拾贴过程的优化问题,包含吸嘴更换次数的最小化以及同时拾取数量的最大化,这增加了优化问题的求解难度。
[0058] 3-1、关于同时拾取数量最大化的说明
[0059] 并列式贴片头中,两相邻吸杆之间的间隔是两相邻供料器槽之间的间隔的两倍(所述两相邻吸杆之间的间隔是指吸杆轴心间的间隔距离,两相邻供料器槽之间的间隔是指供料器槽位左侧边线间的间隔距离,本专利提供的实例中,两相邻吸杆之间的间隔为30mm,两相邻供料器槽之间的间隔为15mm),两种间隔的比例关系使得并列式贴片头可以进行同时拾取。所述同时拾取是指,贴片头在供料器槽上方进行拾取时,若出现两个或更多个吸杆的拾取坐标相同的情况,这些吸杆可以同时完成拾取动作,而无需逐个完成拾取动作。
2个吸杆进行同时拾取,则称为2同时拾取,5个吸杆进行同时拾取,则称为5同时拾取,以此类推。多个吸杆进行同时拾取,可以减少拾取动作耗时,若同时拾取数量为SP,那么可以节省SP-1个拾取动作的平均耗时。要实现从几个供料器中同时拾取元件,这些供料器需要满足三个条件:
[0060] (1)供料器占据槽位个数相同。
[0061] (2)供料器X方向拾取偏移相同,供料器Y方向拾取偏移相同。
[0062] (3)供料器所在槽位之间的间隔,与贴片头上吸杆之间的间隔相同。
[0063] 按照不同的槽位个数和拾取偏移,可将元件划分为不同的同时拾取类型,满足上述条件(1)和(2)的元件称为同一类同时拾取。
[0064] 在同时拾取时,不同类型供料器对应的最小吸杆间隔不同,按照不同的最小吸杆间隔,分为零间隔同时拾取与多间隔同时拾取:
[0065] (1)零间隔同时拾取。当供料器占据供料器槽个数小于2时,最多能够实现6个元件的同时拾取,被称作无吸杆间隔的同时拾取,后简称零间隔同时拾取,图7a、7b中的供料器仅占据一个供料器槽位,图7c、7d中的供料器占据2个供料器槽位,这两种供料器都能实现最多6个元件的同时拾取。
[0066] (2)多间隔同时拾取。当供料器占据供料器槽个数大于2时,由于机械尺寸的限制(见图8a、8b与图8c、8d),最多能够实现的同时拾取数量不大于3,被称作多个吸杆间隔的同时拾取,简称多间隔同时拾取。图8a、8b中的供料器占据3个供料器槽位,这种供料器最多能实现3个元件的同时拾取,相应地,进行同时拾取的两个吸杆之间需间隔至少1个吸杆,简称1间隔同时拾取,图8a、8b中的同时拾取被称作1间隔3同时拾取。图8c、8d中的供料器占据5个供料器槽位,这种供料器最多能够实现2个元件的同时拾取,相应地,进行同时拾取的两个吸杆之间需间隔至少2个吸杆,简称2间隔同时拾取,图8c、8d中的同时拾取被称作2间隔2同时拾取。
[0067] 备注:本发明中的“吸杆间吸嘴任务交换”、“元件分配”两部分,能够实现对零间隔同时拾取与多间隔同时拾取的最大化。
[0068] 动臂式并列式贴片头贴片机以外的其他机型不存在同时拾取的情形,这些机型为了能够使拾取与贴装距离最小化,一种元件只分配一个供料器即可,所有供料器也会被紧凑地安装在离PCB最近的供料器槽位上,上述紧凑是形容供料器之间没有空闲的供料器槽(空闲是指没有安装供料器)。
[0069] 但是,动臂式并列式贴片头贴片机必须考虑同时拾取数量最大化问题。在可用供料器数量充足的情况下,通过合理分配供料器所在的供料器槽位,通常可以增加同时拾取。上述合理分配增加了供料器槽位分配问题的搜索空间,这体现在两方面:一方面,可能为一种元件分配多个供料器;另一方面,供料器之间可能有空闲供料器槽。
[0070] 3-2、关于吸嘴更换次数最小化的说明
[0071] 动臂式并列式贴片头贴片机必须考虑吸嘴更换次数最小化问题。虽然动臂式并列式贴片头贴片机的一大优势在于其可贴装的元件种类最全,但是这也带来一个问题,即其可贴装的元件的尺寸跨度很大,为了能够拾取贴装不同尺寸范围内的元件,需要更换不同类型的吸嘴。并且,并列式贴片头上的吸杆是并列安装的,由于机械尺寸的空间受限,与转塔贴片头相比,吸杆个数较少(通常少于10个),因而单一的吸嘴配置无法完成复杂拾贴任务,往往需要更换吸嘴。另外,增加吸嘴更换次数可能带来同时拾取数量的增加,两个目标间需要进行取舍。考虑到上述原因,动臂式并列式贴片头贴片机进行拾贴过程中,通常存在将贴片头移动到吸嘴站进行吸嘴更换的情况,而吸嘴更换耗时很长,约为拾贴周期的平均耗时的2倍。所以将吸嘴更换次数最小化是动臂式并列式贴片头贴片机的拾贴过程优化问题的一个重要目标。而动臂式并列式贴片头贴片机以外的其他贴片机机型,在拾贴过程中,大多数不存在吸嘴更换这个动作。
[0072] 3-3、吸杆任务分配简介
[0073] 本发明提出将单动臂并列式贴片头贴片机的拾贴过程优化问题分解为两个子问题,即“吸杆任务分配问题”与“拾贴路径规划问题”,继而重点给出了一种吸杆任务分配方法。吸杆任务分配得到的输出结果为各拾贴周期中各吸杆上安装的吸嘴类型、各拾贴周期中各吸杆拾贴的元件类型、按照同时拾取关系分组得到的供料器组。吸杆任务分配结果是“拾贴路径规划”的输入信息,基于吸杆任务分配结果,“拾贴路径规划”将进一步确定供料器组的槽位分配结果、各拾贴周期中各吸杆的拾取坐标与拾取顺序以及贴装坐标与贴装顺序。吸杆任务分配实现以下优化目标:拾贴周期数最小化、吸嘴更换次数最小化、往返吸嘴站次数最小化、同时拾取数量最大化。“拾贴路径规划”以拾贴路径最小化为目标。与“拾贴路径规划”相比,“吸杆任务分配”的优化目标更能够带来时间的大幅缩减,是拾贴过程优化问题中的核心难题。
[0074] 4、单动臂并列式贴片头贴片机相比其他类型贴片机的优势
[0075] (1)动臂式并列式贴片头贴片机采用了固定的供料器架及固定的PCB贴装平台,系统结构简单,具有更高的贴片精度;
[0076] (2)动臂式并列式贴片头贴片机属于多功能贴片机,适用于各种大小、形状的元件,能够拾取与贴装其他类型贴片机所不能拾取与贴装的大型或异型元件。
[0077] (3)动臂式并列式贴片头贴片机能够实现同时拾取,因而拾贴效率很高。
[0078] (4)动臂式并列式贴片头贴片机适于中小批量生产,也可多台机组合用于大批量生产,因而使用范围很广。
[0079] 单动臂并列式贴片头贴片机相比其他类型贴片机存在一些优势,是目前市场上的一类主流机型,所以对单动臂并列式贴片头贴片机的优化进行改进意义重大。
[0080] 5、相关专利文件
[0081] 相关专利文件列于表2。
[0082] 表2相关专利
[0083]
[0084] 专利1提供了一种较为完整的针对动臂式贴片机的贴装优化方法,考虑了吸嘴分配、供料器分配以及贴装路径优化,但是没有考虑吸嘴更换及同时拾取,而这两个问题往往是贴装效率提升的瓶颈。专利2提供了一种针对动臂式贴片机的贴装优化方法,没有考虑吸嘴更换。专利3提供了一种针对动臂式贴片机的拾贴顺序优化方法,考虑了同时拾取问题,但是并未提及吸嘴分配和供料器分配。专利4提供了一种针对单吸杆动臂式贴片机的贴装优化方法,但无法应用于多吸杆动臂式贴片机。专利5提供了一种针对不同元件贴片动作的优化方法,是针对更加底层的技术细节进行的优化。专利6提供了一种针对整条电路板生产线的优化方案,是针对更加顶层的优化。
[0085] 6、目前的研究缺陷
[0086] 解决单动臂并列式贴片头贴片机的拾贴过程的优化问题具有很大的挑战性,因为其涉及的优化目标多,并且各优化目标之间的关系复杂,现有解决方案仍有很大的提升空间。
[0087] (1)尚缺少完整有效的研究框架,无法兼顾各优化目标。
[0088] 针对动臂式并列式贴片头贴片机的拾贴过程优化问题的现有研究,采用了与其他类型贴片机的拾贴过程优化问题相同的分解方式,即分解得到两个子问题:供料器槽位分配问题、元件拾贴顺序问题。但事实上,上述优化问题分解方案并不适用于单动臂并列式贴片头贴片机,因为按照这种分解策略构建的研究框架,并未考虑吸嘴更换次数最小化问题,并且同时拾取数量最大化问题也很难嵌入到这样的研究框架中求解。
[0089] (2)采用智能优化算法对优化子问题进行求解,未能使用专家经验来充分缩小优化搜索空间,优化过程耗时长,且优化结果不稳定唯一。
[0090] 现在针对拾贴过程优化问题包含的各子问题的求解,采用了启发式搜索方法或者元启发式搜索方法,这样的优化过程有随机性,由于缺少足够的专家经验来缩小搜索范围,搜索效果较差,体现为以下两点。
[0091] (2-1)优化效率低下,优化过程耗时太长;
[0092] (2-2)最终的优化结果并不稳定,即在使用相同的生产数据来完成相同的拾取与贴装任务时,输出的优化结果不同,优化程度不同。
[0093] 本发明的目的是:
[0094] (1)提供一种单动臂并列式贴片头贴片机的吸杆任务分配方法,该优化方法能够构建一个完整有效的研究框架,研究框架可以兼顾各项优化目标,进而实现拾贴过程效率的最大化。
[0095] 各项优化子目标是指:拾贴周期数最小化、吸嘴更换次数最小化、往返吸嘴站次数最小化、同时拾取数量最大化。
[0096] (2)提供针对各子问题的高效可靠的求解方法。所述子问题包括:吸嘴分配问题、元件分配问题。使用专家经验来充分缩小优化搜索空间,缩短优化算法搜索耗时,并且在使用相同生产数据的情况下,输出稳定唯一的优化结果。

发明内容

[0097] 本发明的目的是解决目前单动臂并列式贴片头贴片机吸杆任务分配方法尚缺少完整有效的研究框架,无法兼顾各优化目标,且优化过程耗时太长,最终的优化结果不稳定的问题,而提出一种单动臂并列式贴片头贴片机的吸杆任务分配方法。
[0098] 一种单动臂并列式贴片头贴片机的吸杆任务分配方法具体过程为:
[0099] 步骤一、导入贴片机生产数据,用户自定义,得到原始贴片机生产数据;
[0100] 步骤二、拾贴过程优化软件对原始贴片机生产数据进行预处理,即封装得到便于处理的中间数据;
[0101] 步骤三:确定“吸杆任务分配”的循环条件,即确定所有吸嘴分配情形,过程为:
[0102] 以中间数据中的“小组内吸嘴数上限”为循环变量,判断是否满足“吸杆任务分配”的循环条件,若满足循环条件,则说明还有吸嘴分配情形尚待搜索,那么在由循环变量所确定的情形下,执行循环体,即顺序执行步骤四到步骤七,否则,说明完成了对所有吸嘴分配情形的搜索,进行步骤八(即将所有情形中得到的最优吸杆任务分配结果输出);
[0103] 步骤四:进行“吸嘴分配”:
[0104] 使用中间数据中的“原始的吸嘴号”、“原始的贴装数”、“小组内吸嘴数上限”,得到吸嘴分配结果,即得出各拾贴周期中各吸杆上的吸嘴号;
[0105] 步骤五:确定吸杆间吸嘴任务交换,即确定吸嘴分配结果的所有交换方式;
[0106] 步骤六:判断是否满足“元件分配”的循环条件,即是否有交换方式尚未被遍历到,若是则进行步骤七,否则返回步骤三;
[0107] 步骤七:进行元件分配:即按照步骤六中遍历到的交换方式,对吸嘴分配结果进行交换,并基于交换后的吸嘴分配结果得到元件分配结果,即各拾贴周期中各吸杆上的元件号,同时还得到供料器组;使用代价函数对当前分配结果进行评价,若当前代价函数更优,则将最优元件分配结果更新为当前的元件分配结果,将最优吸嘴分配结果更新为当前的吸嘴分配结果,将最优供料器组更新为当前的供料器组;
[0108] 步骤八:进行到本步骤表明已经完成在步骤三中循环条件所限定的所有情形下的吸杆任务分配,将所有吸嘴分配情形中最优的吸杆任务分配结果作为最终分配结果输出。
[0109] 本发明的有益效果为:
[0110] 本发明公开了一种用于单动臂并列式贴片头贴片机的吸杆任务分配方法,构建了一个完整有效的研究框架,能够兼顾各优化目标的优化求解,从而能够实现拾取与贴装过程效率的最大化。本发明使用专家经验来充分缩小优化搜索空间,优化过程耗时短,并且能够得到稳定唯一的优化结果。实验表明,本发明提供的方法可以大幅提升单动臂并列式贴片头贴片机的生产效率,最大效率提升达20.9%。本发明提供的优化方法具备完整有效性、求解快速性、优化结果稳定性,并且容易移植和扩展。
[0111] 具体来说,本发明具备如下4个创新点。(1)本发明考虑了更加全面的优化目标,提供了一个全新的完整有效的研究框架,可以兼顾各项优化目标,进而能够实现拾贴过程效率的最大化。本发明提供的优化方法采用了与以往不同的优化问题分解方案,即将原优化问题分解为“吸杆任务分配”子问题和“拾贴路径规划”子问题。“吸杆任务分配”子问题将得到各拾贴周期中的各吸杆上的拾取与贴装任务,具体来说,上述“吸杆任务分配”子问题又包括“吸嘴分配”、“吸杆间吸嘴任务交换”、“元件分配”。“吸嘴分配”的求解将得到各拾贴周期中各吸杆上安装的吸嘴类型。“吸嘴分配”实现了拾贴周期数最小化、吸嘴更换次数最小化、往返吸嘴站次数最小化。“吸杆间吸嘴任务交换”在“吸嘴分配”结果的基础上,增加“元件分配”结果的多样性,从而增加同时拾取次数。“元件分配”的求解将得到各拾贴周期中各吸杆拾贴的元件类型,并将能够同时拾取的供料器分组。“元件分配”实现了同时拾取数量的最大化。(2)本发明创新地提供了一种高效可靠的“吸嘴分配”方法。“吸嘴分配”方法能实现拾贴周期数最小化、吸嘴更换次数最小化、往返吸嘴站次数最小化。(3)本发明提供了一种高效可靠的“元件分配”方法。提出“吸杆任务分配”、和“供料器组”的概念,这为连接“吸嘴分配”和“拾贴路径规划”提供了过渡桥梁。“元件分配”方法可以实现:为一种元件分配多个供料器;占据多个槽位的供料器的灵活分配;多间隔同时拾取的最大化。(4)使用了专家经验来充分缩小优化搜索空间,缩短优化算法搜索耗时,并且最终得到稳定唯一的优化结果。“吸嘴分配”与“元件分配”借助于专家经验,缩小了搜索空间、提高了搜索效率,可以得到稳定唯一的优化结果。“吸杆任务分配”预先确定了各拾贴周期中各吸杆上的拾贴任务,限定了“拾贴路径规划”的搜索空间,提升了搜索效率。

附图说明

[0112] 图1所示为单动臂并列式贴片头贴片机贴装动作示意图;图2所示为并列式贴片头结构示意图;图3所示为供料器结构示意图;图4所示为供料器与供料器槽位关系示意图;图5所示为单动臂并列式贴片头贴片机拾取动作示意图;图6所示为拾贴过程流程图;图7a所示为无吸杆间隔的同时拾取情形一正视图;图7b所示为无吸杆间隔的同时拾取情形一侧视图;图7c所示为无吸杆间隔的同时拾取情形二正视图;图7d所示为无吸杆间隔的同时拾取情形二侧视图;图8a所示为多个吸杆间隔的同时拾取情形一正视图;图8b所示为多个吸杆间隔的同时拾取情形一侧视图;图8c所示为多个吸杆间隔的同时拾取情形二正视图;图8d所示为多个吸杆间隔的同时拾取情形二侧视图;图9所示为拾贴优化算法流程图;图10所示为吸嘴分配过程示意图,图中的每个小矩形块代表一次贴装,用不同的纹理代表不同的吸嘴号;图11所示为尾列标识变量在吸嘴分配中的作用示意图。

具体实施方式

[0113] 具体实施方式一:本实施方式的一种单动臂并列式贴片头贴片机的吸杆任务分配方法具体过程为:
[0114] 步骤一、导入贴片机生产数据,用户自定义,得到原始贴片机生产数据;步骤二、拾贴过程优化软件对原始贴片机生产数据进行预处理,即封装得到便于处理的中间数据;步骤三:确定“吸杆任务分配”的循环条件,即确定所有吸嘴分配情形,过程为:以中间数据中的“小组内吸嘴数上限”为循环变量,判断是否满足“吸杆任务分配”的循环条件,若满足循环条件,则说明还有吸嘴分配情形尚待搜索,那么在由循环变量所确定的情形下,执行循环体,即顺序执行步骤四到步骤七(“吸杆任务分配”),否则,说明完成了对所有吸嘴分配情形的搜索,进行步骤八(即将所有情形中得到的最优吸杆任务分配结果输出);步骤四:进行“吸嘴分配”:根据中间数据中的“原始的吸嘴号”、“原始的贴装数”、“小组内吸嘴数上限”,得到吸嘴分配结果,即得出各拾贴周期中各吸杆上的吸嘴号;步骤五:确定吸杆间吸嘴任务交换,即确定吸嘴分配结果的所有交换方式;步骤六:判断是否满足“元件分配”的循环条件,即是否有交换方式尚未被遍历到,若是则进行步骤七(元件分配),否则返回步骤三;步骤七:进行元件分配:按照步骤六中遍历到的交换方式,对吸嘴分配结果进行交换,并基于交换后的吸嘴分配结果得到元件分配结果,即各拾贴周期中各吸杆上的元件号,同时还得到供料器组;使用代价函数对当前分配结果进行评价,若当前代价函数更优,则将最优元件分配结果更新为当前的元件分配结果,将最优吸嘴分配结果更新为当前的吸嘴分配结果,将最优供料器组更新为当前的供料器组;步骤八:将所有吸嘴分配情形中最优的吸杆任务分配结果作为最终分配结果输出。
[0115] 备注:步骤三中的循环变量对吸嘴分配情形的确定是在步骤四一中实现的,吸嘴分配情形首先限定了吸嘴分配,吸嘴分配继而限定元件分配,从而限定了整个吸杆任务分配。这种吸嘴分配情形的产生方式,既大幅缩小了搜索空间,又能够保证涵盖最优分配情形。
[0116] 具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一中导入贴片机生产数据,用户自定义,得到原始贴片机生产数据;具体过程为:
[0117] 步骤一一、操作人员运行“拾贴过程优化软件”(即本发明所提供优化算法的代码实现),进行贴片机生产数据初始化:具体过程为:
[0118] 贴片机生产数据包括贴片机生产参数、供料器信息文件和元件信息文件;
[0119] 步骤一一一、初始化贴片机生产参数;所述贴片机生产参数包括吸杆总数、供料器槽总数、吸杆间隔、供料器槽位间隔等,对于特定的一台机器,这些生产参数是已知且固定的。
[0120] 步骤一一二、自动读取供料器信息文件(表4供料器信息文件)、元件信息文件(表5元件信息文件);
[0121] 所述供料器信息文件包括“供料器类型名”、“X方向拾取偏移”、“Y方向拾取偏移”、“供料器占据槽位个数”;
[0122] 所述元件信息文件包括“元件类型名”、各类型元件对应的“供料器类型名”、各类型元件对应的“吸嘴类型名”;
[0123] 步骤一二、操作人员将待贴PCB数据文件导入“拾贴过程优化软件”;
[0124] 所述PCB数据文件包括元件号、元件类型、贴装位置;如表3PCB数据文件。
[0125] 步骤一三、操作人员在“拾贴过程优化软件”中进行自定义设置;
[0126] 步骤一三一、吸杆的禁用:通常不会禁用吸杆,但有时个别吸杆会因为故障无法使用,此时需要将故障吸杆设置为不可用,更新可用吸杆数量S;
[0127] 步骤一三二、供料器槽位的禁用:操作人员会根据经验首先分配盘式供料器以及杆式供料器,被盘式与杆式供料器占据的槽位自动识别为不可用;有时个别供料器槽会因为故障无法使用,此时需要将故障供料器槽设置为不可用;
[0128] 步骤一三三、用户设置“各类型元件可用的供料器个数”以及“各类型吸嘴的可用吸嘴数”;
[0129] 步骤一四、完成上述设置之后,操作人员点击“优化按钮”,拾贴过程优化软件开始运行,依次执行后续步骤。
[0130] 备注:后续步骤皆为优化软件自动运行的结果,无需操作人员参与。
[0131] 其它步骤及参数与具体实施方式一相同。
[0132] 具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤二中拾贴过程优化软件对原始贴片机生产数据进行预处理,即封装得到便于处理的中间数据;具体过程为:
[0133] 步骤二一、处理PCB数据文件中的PCB数据,得到数据间的索引关系;过程为:
[0134] 统计待贴PCB数据文件中的元件类型(元件类型名相同的元件属于同一元件类型),得到元件类型总数为C,按照PCB数据文件中出现的先后顺序,将各元件类型编号为c∈{1,2,...,C},该编号被称作元件号,元件类型的贴装数也被称作元件号的贴装数;使用“元件c”来泛指某一类待贴元件。
[0135] 所述元件类型的贴装数是指该类型元件在PCB上的所有贴装点的数量;
[0136] 备注:所述PCB数据文件包括元件序号、元件类型、贴装位置;参考表3PCB数据文件。
[0137] 根据PCB数据文件与元件信息文件,得到当前生产中的PCB用到的吸嘴类型、元件c与吸嘴的索引关系β(c)(表3PCB数据文件中的元件名,在表5元件信息文件中就能找到对应的吸嘴名与供料器名);按照各吸嘴类型的贴装数降序排序,并以此对吸嘴类型编号为n∈{1,2,...,N},N为吸嘴类型总数,该编号被称作吸嘴号,则有β(c)∈{1,2,...,N};吸嘴类型的贴装数也被称作吸嘴号的贴装数;后文使用“吸嘴n”来指代某一类待贴元件。
[0138] 备注:一类吸嘴可能被用于多类元件的拾贴,将一类吸嘴对应的所有待贴元件类型的贴装数求和,得到该吸嘴类型的贴装数;
[0139] 备注:所述元件信息文件包括“元件类型名”、各类型元件对应的“供料器类型名”、各类型元件对应的“吸嘴类型名”;
[0140] 根据PCB数据文件与元件信息文件,得到所用到的供料器类型,得到元件c与供料器的索引关系γ(c);用f∈{1,2,...,F}表示供料器类型的索引号,F为供料器类型总数,则有γ(c)∈{1,2,...,F};
[0141] 步骤二二、定义两个N列行向量,其中一个行向量存储“吸嘴号”,称为“原始的吸嘴号”;另一个行向量存储与“原始的吸嘴号”中各吸嘴号对应的贴装数,称为“原始的贴装数”;
[0142] “原始的吸嘴号”中的吸嘴号按照由小到大的顺序存储,由于吸嘴号已经按照贴装数降序排序,因而“原始的贴装数”中各贴装数是降序排序的;
[0143] 备注:“原始的吸嘴号”、“原始的贴装数”在步骤四一中被使用,用于得到“分组的吸嘴号”、“分组的贴装数”。
[0144] 步骤二三、统计各吸嘴号对应的同时拾取类:本步骤获取同时拾取类,用于元件分配(步骤六七与步骤七一)。
[0145] 备注:由元件信息文件可知,一类吸嘴可以被用于多类元件的拾贴,又由供料器信息文件可知,供应不同类型的元件的供料器类型可能不同,所以一类吸嘴对应多类元件,继而对应不同的同时拾取类型;
[0146] 按照所属同时拾取类型,对各吸嘴号对应的元件进行分类。以吸嘴n为例,假设吸嘴n对应Mn个同时拾取类型,按照各同时拾取类型的贴装数降序存储,得到同时拾取类,并编号为SPTn_m∈{SPTn_1,SPTn_2,...,SPTn_Mn};
[0147] 备注:同时拾取类型的贴装数是指,同时拾取类型中各元件贴装数之和;
[0148] 步骤二四、计算最小拾贴周期数K;过程为:
[0149] 对PCB上所有元件号的贴装数求和,得到PCB贴装总数,PCB贴装总数除以可用吸杆数量S并向上取整得到K;
[0150] 步骤二五、确定“小组内吸嘴数上限”cntK的变化范围:
[0151] 最小拾贴周期数K减去一个正整数a1得到cntK的最小取值minK,最小拾贴周期数K加上一个正整数a2得到cntK的最大取值maxK,即有minK=K-a1与maxK=K+a2;
[0152] 初始化“小组内吸嘴数上限”cntK为minK,即有cntK=minK;
[0153] 所述小组是指步骤四一中的“分组的吸嘴号”、“分组的贴装数”。这两个小组,就是按照小组内吸嘴数上限得到的。所以才如此命名。
[0154] 备注:“小组内吸嘴数上限”cntK在步骤三的循环条件中作为循环变量,取值遍历minK到maxK,从而在步骤四中,指导“原始的吸嘴号”、“原始的贴装数”产生不同的分组。
[0155] 所述a1、a2取值越大,搜索的吸嘴分配情形越多,越能保证搜索到最优的情形,但是相应的搜索耗时也越长,通过大量测试发现,设置a1=6、a2=10可保证吸嘴分配结果是最优的,在极少数情况下吸嘴分配结果是近似最优的,但是与最优结果相差无几。
[0156] 其它步骤及参数与具体实施方式一或二相同。
[0157] 具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三中确定“吸杆任务分配”的循环条件,即确定所有吸嘴分配情形,过程为:
[0158] 判断cntK是否小于maxK,若是,则执行步骤四到步骤七,否则,执行步骤八。
[0159] 其它步骤及参数与具体实施方式一至三之一相同。
[0160] 具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤四中进行“吸嘴分配”:使用中间数据中的“原始的吸嘴号”、“原始的贴装数”、“小组内吸嘴数上限”,得到吸嘴分配结果,即得出各拾贴周期中各吸杆上的吸嘴号;具体过程为:
[0161] 步骤四一、对应每个吸嘴号,定义两个行向量,分别称作“分组的吸嘴号”、“分组的贴装数”;
[0162] 两者分别由“原始的吸嘴号”、“原始的贴装数”在“小组内吸嘴数上限”cntK的指导下得到;过程为:
[0163] 以吸嘴n为例,说明分组过程。对应“原始的吸嘴号”中的吸嘴n,取出“原始的贴装数”中吸嘴n的贴装数Pn,Pn除以cntK,分别得到商d1和余数d2,对商向上取整得到 则吸嘴n的分组数为 即“分组的吸嘴号”、“分组的贴装数”皆为 列行向量;“分组的吸嘴号”存储的全都是吸嘴号,即n;
[0164] 若d2等于0,“分组的贴装数”的各列存储的都是cntK,此时不存在d2≠0情形中的尾列以及尾列标识变量;
[0165] 若d2≠0,“分组的贴装数”的前 列中各列存储cntK,第 列存储d2,称前列为吸嘴n的“主列”,称第 列为吸嘴n的“尾列”;
[0166] 若吸嘴n有“尾列”,定义尾列标识变量ELn(布尔变量,即取值非0即1),用于步骤四三中,判断“吸嘴n尾列”在“重组的吸嘴号”、“重组的贴装数”中的放置顺序,初始化ELn为0,n∈{1,2,...,N};
[0167] 初始化“吸杆任务分配”的全局最优代价函数值GbestE为无穷大inf;
[0168] 备注:在步骤七八中,GbestE用于判断不同尾列标识变量的组合下,是否能够带来更优的分配结果。
[0169] 步骤四二、确定“吸嘴分配”的循环条件;
[0170] 判断ELn是否全为1,若否,初始化吸嘴更换次数变量V为0,初始化往返吸嘴站次数变量W为0,然后执行步骤四三;若是,cntK=cntK+1,返回步骤三;
[0171] 备注:n∈{1,2,...,N}为吸嘴类型编号;
[0172] 步骤四三、对应每个吸嘴号,定义两个行向量,分别称作“重组的吸嘴号”、“重组的贴装数”;两者分别由“分组的吸嘴号”、“分组的贴装数”在尾列标识变量ELn的指导下得到;过程为:
[0173] 上述“重组的吸嘴号”、“重组的贴装数”的生成方法如下。首先依吸嘴号从小到大的顺序将各“分组的吸嘴号”、“分组的贴装数”中的“主列”存储入“重组的吸嘴号”、“重组的贴装数”中;
[0174] 之后,由尾列标识变量ELn的取值决定各“尾列”在“重组的吸嘴号”、“重组的贴装数”中的存储顺序;
[0175] 以吸嘴n为例,若尾列标识变量ELn等于0,吸嘴n的“尾列”应紧跟着其“主列”存储(如图10);若尾列标识变量ELn等于1,在“重组的吸嘴号”、“重组的贴装数”中,吸嘴n的“尾列”应存储在所有“主列”之后,尾列标识变量为1的各“尾列”间按照贴装数降序顺序存储(如图11);
[0176] 步骤四四、定义两个S列行向量,分别称作“分配的吸嘴号”、“分配的贴装数”,先初始化两个行向量为全零向量;
[0177] 备注:S列即对应着S个可用吸杆;
[0178] 备注:在后续步骤中,“分配的吸嘴号”、“分配的贴装数”会再增加新的行,步骤四结束时会变为两个多行S列数组。
[0179] 步骤四五、确定“分配的吸嘴号”、“分配的贴装数”;
[0180] 步骤四五一、确定“分配的吸嘴号”、“分配的贴装数”的第一行;过程为:
[0181] 若“重组的吸嘴号”、“重组的贴装数”列数不大于S,那么将各列依次存入“分配的吸嘴号”、“分配的贴装数”中,直接执行步骤四六;
[0182] 若“重组的吸嘴号”、“重组的贴装数”列数大于S,将“重组的吸嘴号”、“重组的贴装数”前S列依次存入“分配的吸嘴号”、“分配的贴装数”第一行的S列中;执行步骤四五二;
[0183] 步骤四五二、确定“分配的吸嘴号”、“分配的贴装数”的后续各行(除第一行外的各行);过程为:
[0184] 以“分配的吸嘴号”、“分配的贴装数”中最后一行为“当前行”,进行分配,由“重组的吸嘴号”、“重组的贴装数”的第S+1列开始,依次分配,直到各列都分配完。分配过程如下,取当前行中贴装数最少的那一列,称为被分配列(其他列称为非被分配列),记录最小贴装数为Pk,其中k代表当前行的行号;
[0185] 备注:若“分配的贴装数”中的当前行中,有多列的贴装数并列最少,则列号最小者为被分配列。
[0186] “重组的吸嘴号”、“重组的贴装数”中即将被分配的列称作“待分配列”,[0187] 若“重组的吸嘴号”的“待分配列”与“分配的吸嘴号”第k行的“被分配列”这两者吸嘴号相同,则将“分配的吸嘴号”第k行“被分配列”中贴装数更新为当前贴装数加上“重组的贴装数”的“待分配列”中的贴装数;
[0188] 若“重组的吸嘴号”的“待分配列”与“分配的吸嘴号”第k行的“被分配列”这两者吸嘴号不同,则“分配的吸嘴号”、“分配的贴装数”中新建第k+1行;“分配的吸嘴号”第k+1行中的各非被分配列的吸嘴号与第k行相同,被分配列被赋值为“重组的吸嘴号”待分配列的吸嘴号;“分配的贴装数”中的各非被分配列的贴装数为第k行中的贴装数减去Pk,“分配的贴装数”中的被分配列的贴装数被赋值为“重组的贴装数”待分配列的贴装数;此时,由于发生了吸嘴更换,吸嘴更换次数变量自加V=V+1;若Pk等于0,说明k行与k+1行之间发生多次吸嘴更换,如此只需往返吸嘴站一次,故往返吸嘴站次数变量W不变,反之,若Pk>0,往返吸嘴站次数变量自加W=W+1;
[0189] 重复执行步骤四五二,直到“重组的吸嘴号”、“重组的贴装数”中所有列分配完毕;
[0190] 步骤四六、改进“分配的吸嘴号”、“分配的贴装数”的最后一行:“分配的吸嘴号”、“分配的贴装数”的最后一行中,使用相同吸嘴号的各列平分贴装数,如此有可能减少最后一行的各列中最多的贴装数,从而有机会减少拾贴周期数;
[0191] 步骤四七、进行最后一行中没有贴装任务的吸杆上吸嘴的再分配:“分配的贴装数”的最后一行中,若出现某一列的贴装数为0,视其为被分配列,最后一行中贴装数最多的列,视为待分配列,其他列称为非被分配列;
[0192] “分配的吸嘴号”、“分配的贴装数”都新建一行,其中的各非被分配列与上一行相同,“分配的吸嘴号”的被分配列与待分配列中的吸嘴号相同,“分配的贴装数”被分配列中存0;执行与步骤四六中相同的操作,“分配的吸嘴号”、“分配的贴装数”的最后一行中,使用相同吸嘴号的各列平分贴装数,从而减少拾贴周期数;
[0193] 判断由此带来的拾贴周期数的减少是否大于e1,若是,则维持新建的最后一行,并更新V=V+1及W=W+1;否则,删去新建的最后一行;
[0194] 其中,e1为单个吸嘴更换耗时与拾贴周期平均耗时的比值,实施例中取e1=2。吸嘴更换与拾贴周期两个目标之前存在矛盾,使用e1作为权值进行取舍。
[0195] 步骤四八、得到最终的“分配的吸嘴号”、“分配的贴装数”;
[0196] “分配的贴装数”的最后一行中的各列,若出现贴装数非零的两列贴装数不相等,记录最后一行中非零最小贴装数Pk,在最后一行后新建一行,贴装数为零的列保持不变,其他各列的贴装数为上一行中的贴装数减去Pk,若当前“分配的贴装数”的最后一行中某一列贴装数为0,则“分配的吸嘴号”中也存0,表示对应的吸杆没有吸嘴拾贴任务;
[0197] 步骤四九、步骤四(吸嘴分配)完成,得到K行S列的“分配的吸嘴号”,定义K列行向量“吸嘴工作量”,“吸嘴工作量”的各列中存储“分配的贴装数”中的非零最小值,表示“分配的吸嘴号”各行对应拾贴周期数;
[0198] 备注:“分配的吸嘴号”的一行对应若干拾贴周期,为了表述方便,定义“子周期”的概念,一个子周期对应了吸杆任务相同的若干相邻拾贴周期。
[0199] 其它步骤及参数与具体实施方式一至四之一相同。
[0200] 具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述步骤五中确定吸杆间吸嘴任务交换,即确定吸嘴分配结果的所有交换方式;具体过程为:
[0201] “分配的吸嘴号”的各列两两交换,S列即对应着2S-1种交换方式,将所有交换方式存储下来,以iNz为交换方式的索引变量,初始化为iNz=1,iNz∈[1,2S-1];
[0202] 备注:“分配的吸嘴号”中各列进行两两交换,不会影响与吸嘴分配相关的指标(拾贴周期数、吸嘴更换次数、往返吸嘴站次数),但是有机会增加“多间隔同时拾取”的数量。备注:“吸嘴工作量”不受吸嘴任务交换影响。
[0203] 其它步骤及参数与具体实施方式一至五之一相同。
[0204] 具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:所述步骤六中判断是否满足“元件分配”的循环条件,即是否有交换方式尚未被遍历到,若是则进行步骤七(元件分配),否则返回步骤三;具体过程为:
[0205] 步骤六一、判断iNz是否大于2S-1,若是,则说明完成了所有交换方式的遍历,执行步骤七八,否则,执行步骤六二;
[0206] 步骤六二、按照第iNz种交换方式对“分配的吸嘴号”中的各列进行两两交换,得到“交换后的吸嘴号”;
[0207] “交换后的吸嘴号”包含K个子周期,定义子周期索引变量k∈{1,2,...,K},初始化并清零各子周期的“完成标识变量”,比如子周期k的“完成标识变量”Donek=0;定义“完成计数变量”,初始化为k1=0,用于统计完成元件分配的子周期数量,即Donek=1(k∈{1,2,...,K})的个数。
[0208] 备注:Donek=0说明子周期k尚未进行元件分配,Donek=1说明子周期k已经完成元件分配;
[0209] 初始化一个K行S列的全零二维数组,作为“交换后的元件号”,用于存储各子周期中各吸杆上所要拾贴的元件号,其中的各元件号与“交换后的吸嘴号”中的各吸嘴号在位置上相互对应;
[0210] 初始化“吸杆任务分配”最优代价函数值bestE为无穷大inf;
[0211] 备注:在步骤七七中,bestE用于判断“分配的吸嘴号”按照第iNz种方式交换后,是否能够带来更优的分配结果。
[0212] 步骤六三、判断完成计数变量k1是否大于K(即是否完成了所有子周期的分配),若是,说明所有子周期的元件分配完成,执行步骤七七;若否,初始化子周期k=1,初始化“行间最大同时拾取数”变量maxSP=-1;
[0213] 初始化“最优子周期”变量bestk=1,执行步骤六四;
[0214] 备注:在步骤七六中,maxSP被用于对“行间最优元件行”及“行间最优供料器组”的更新,因为比较对象是不同子周期的元件分配结果,所以称为“行间最大同时拾取数”。
[0215] 步骤六四、若子周期k>K,说明子周期完成一次遍历,“交换后的元件号”中的bestk行更新为“行间最优元件行”,将“行间最优供料器组”合并入“已确定的供料器组”,bestk对应的“完成标识变量”Donebestk=1,完成计数变量k1=k1+1,返回步骤六三,否则,执行步骤六五;
[0216] 步骤六五、判断子周期k是否已经完成元件分配,即判断是否有Donek=1;若是,更新循环变量k=k+1,返回步骤六四,否则,执行步骤六六;
[0217] 步骤六六、“交换后的吸嘴号”中第k行赋值给一个S列行向量,并简称其为“吸嘴行”;
[0218] 初始化一个全零S列行向量,并简称其为“元件行”,用于存储基于“吸嘴行”中的各吸嘴号分配得到的各元件号;执行步骤六七;
[0219] 备注:假设吸嘴行中有吸嘴n,步骤七以吸嘴n为例进行元件分配的说明。
[0220] 步骤六七、不重复地取出吸嘴行中的各吸嘴号存入集合 即同一吸嘴号仅存一次;初始化并清零同时拾取类标识变量flagSn=0;若吸嘴n对应Mn个同时拾取类型,则flagSn的最大取值为Mn,flagSn∈[0,Mn];
[0221] 备注:对应不同的flagSn组合,子周期k中的元件分配结果不同,得到的同时拾取数也不同;
[0222] 定义“行内最大同时拾取数”变量maxSPk,初始化为maxSPk=-1;
[0223] 执行步骤六八;
[0224] 备注:maxSPk用于步骤七五中对“行内最优元件行”及“行内最优供料器组”的比较更新,其之所以被称为“行内最大同时拾取数”,是因为比较对象是同一元件行(即子周期k)内的不同元件分配结果,区分于“行间最大同时拾取数”。
[0225] 步骤六八、基于同时拾取类标识变量flagSn的循环条件:
[0226] 判断吸嘴行中各吸嘴号对应的同时拾取类标识变量flagSn是否都取最大值,即flagSn=Mn, 若是,执行步骤七六,否则,执行步骤七一。
[0227] 备注:flagSn将在步骤七中被使用,用于指导得到不同的元件行分配结果,对于各吸嘴的同时拾取类标识变量的不同组合,将得到不同的元件行。
[0228] 其它步骤及参数与具体实施方式一至六之一相同。
[0229] 具体实施方式八:本实施方式与具体实施方式一至七之一不同的是:所述步骤七中进行元件分配:即按照步骤六中遍历到的交换方式,对吸嘴分配结果进行交换,并基于交换后的吸嘴分配结果得到元件分配结果,即各拾贴周期中各吸杆上的元件号,同时还得到供料器组;使用代价函数对当前分配结果进行评价,若当前代价函数更优,则将最优元件分配结果更新为当前的元件分配结果,将最优吸嘴分配结果更新为当前的吸嘴分配结果,将最优供料器组更新为当前的供料器组;具体过程为:
[0230] 步骤七一、为元件行的各列分配元件号:
[0231] 注意元件行的每一列仅分配一个元件号,分配依据同时拾取类标识变量flagSn,分配方式如下:
[0232] 若flagSn等于0,则吸嘴n对应的所有元件号都参与分配,分配按照元件号贴装数由多到少的顺序进行;
[0233] 若flagSn等于 则分配同时拾取类 内的元件号,分配按照元件号贴装数由多到少的顺序进行;
[0234] 备注:上述分配方式保证了,贴装数更多的元件号具有更高的分配优先级。
[0235] “吸嘴工作量”第k列中存储了吸嘴行对应的拾贴周期数Pk;假设正在分配的元件号为 元件 的剩余贴装数为 新建一个S列行向量,称作“元件行贴装数”,该向量中的元素全部初始化为Pk;若 则正在分配的列中存入贴装数 更新元件 的剩余贴装数为0,否则,更新元件 的剩余贴装数为
[0236] 步骤七二、吸嘴行的拆分:
[0237] 取“元件行贴装数”的最小值Pc1,若Pc1≥Pk,则说明吸嘴行的工作量能被当前元件分配填满,若Pc1<Pk,则说明吸嘴行的工作量不能被当前元件分配填满,需要增加一个子周期;过程为:
[0238] “交换后的吸嘴号”、“交换后的元件号”的最后增加一行,第k到第K行的内容赋值到第k+1到第K+1行;“吸嘴工作量”最后增加一列,“吸嘴工作量”中的第k+1到第K列赋值到第k+2到第K+1列,第k列中存入Pc1,第k+1列中存入Pk-Pc1;更新子周期总数K=K+1。
[0239] 步骤七三、得到“理想同时拾取组”,定义“理想同时拾取组”索引变量i∈[1,I],初始化为i=1;“理想同时拾取组”中用0表示没有拾贴任务的吸杆;具体过程为:
[0240] 步骤七三一、新建一个S列行向量作为临时变量,存入元件行(对应子周期k),称为“临时元件行”;
[0241] 定义“元件行同时拾取数”SPk,用于存储子周期k的最大同时拾取数,初始化为SPk=0;
[0242] 步骤七三二、判断“临时元件行”是否为空,若不为空,则执行步骤七三三,若为空,则执行步骤七四;
[0243] 步骤七三三、判断“临时元件行”的第一列是否为0(0代表吸杆无拾贴任务),若是,则删掉临时元件行的第一列,并返回步骤七三二;若否,新建一个S列行向量,称为“理想同时拾取组”,将“临时元件行”赋值给“理想同时拾取组”,执行步骤七三四;
[0244] 步骤七三四、对“理想同时拾取组”中各列逐个进行判断,判断是否能与第一列构成“理想同时拾取”,若否,则在“理想同时拾取组”中对该列清零,若是,则在“临时元件行”中对该列清零;所有列都判断完毕后,返回步骤七三三;
[0245] 备注:“理想同时拾取”条件如下:
[0246] (1)供料器占据槽位个数相同;
[0247] (2)供料器X方向拾取偏移相同,供料器Y方向拾取偏移相同;
[0248] (3)元件对应的供料器占据的吸杆间隔不大于要拾取该元件的吸杆间隔(所述吸杆与元件行中的列一一对应);
[0249] 备注:“理想同时拾取组”不考虑可用吸杆数量的限制,可用吸杆数量将在步骤七四中判断,从而得到“同时拾取组”,“同时拾取组”代表了可以实现的同时拾取。
[0250] 备注:上述“理想同时拾取”条件中,供料器宽度除以吸杆间隔得到的商向上取整,即为供料器占据吸杆个数。
[0251] 备注:后续步骤中,假设步骤七三得到了I个“理想同时拾取组”,定义“理想同时拾取组”索引变量i∈[1,I],初始化为i=1。
[0252] 备注:“理想同时拾取组”中用0表示没有拾贴任务的吸杆。
[0253] 步骤七四、更新“行内最优供料器组”:具体过程为:
[0254] 步骤七四一、判断是否满足“理想同时拾取组”的循环条件,即若i>I,则执行步骤七五,否则执行步骤七四二;
[0255] 步骤七四二、判断第i个“理想同时拾取组”是否为全零数组,若是,i=i+1,执行步骤七四四,否则,执行步骤七四三;
[0256] 步骤七四三、对第i个“理想同时拾取组”进行分配,得到“元件行供料器组”:过程为:
[0257] 新建一个行向量,称为“候选供料器组”,将“理想同时拾取组”赋值给“候选供料器组”;对“候选供料器组”逐列进行判断,若某列的元件号的可用供料器个数为0,则将“候选供料器组”中的该列清零;统计“候选供料器组”中的非零列数,记为能实现的最大同时拾取数SPi;
[0258] 遍历步骤六四中的“已确定的供料器组”,配合可用供料器,最大化实现“理想同时拾取组”,记所能实现的最大同时拾取数为SPi1;
[0259] 若SPi>SPi1,更新SPk=SPk+SPi,则将“候选供料器组”确定为“元件行供料器组”;
[0260] 若SPi≤SPi1,更新SPk=SPk+SPi1,说明用“已确定的供料器组”能得到更优的结果,以该“已确定的供料器组”作为“元件行供料器组”;
[0261] SPk为“元件行同时拾取数”;
[0262] “理想同时拾取组”中被“行内最优供料器组”确定下来的列清零;返回步骤七四二;
[0263] 步骤七四四、更新“行内最大同时拾取数”,更新“行内最优元件行”及“行内最优供料器组”;过程为:
[0264] “元件行同时拾取数”SPk与“行内最大同时拾取数”maxSPk对比,若SPk>maxSPk,则更新maxSPk=SPk,将“行内最优元件行”更新为当前的元件行,更新“行内最优供料器组”为“元件行供料器组”;返回步骤七四一;若SPk≤maxSPk,则直接返回步骤七四一;
[0265] 步骤七五、更新吸嘴行中各吸嘴号对应的同时拾取类标识变量,返回步骤六八;
[0266] 备注:各吸嘴号对应的同时拾取类标识变量按照吸嘴号由小到大的顺序进位(顺序进位方式参考步骤七九中尾列标识变量的更新方式)。
[0267] 步骤七六、更新“行间最大同时拾取数”,更新“行间最优元件行”及“行间最优供料器组”;过程为:
[0268] 设子周期k对应Ck个拾贴周期(即“吸嘴工作量”中的第k列,此处用Ck表示泛指),比较Ck×maxSPk与“行间最大同时拾取数”maxSP;若Ck×maxSPk>maxSP,则更新maxSP=Ck×maxSPk,更新“行间最优元件行”为“行内最优元件行”,更新“行间最优供料器组”,更新最优子周期bestk=k,更新子周期k=k+1;返回步骤六四;
[0269] 所述更新“行间最优供料器组”,即在行间最优供料器组中加入“行内最优供料器组”;
[0270] 若Ck×maxSPk≤maxSP,返回步骤六四;
[0271] 步骤七七、计算“吸杆任务分配”代价函数E,若优于当前“吸杆任务分配”最优代价函数值,即E<bestE,则更新最优代价函数bestE=E,并更新最优“吸杆任务分配”分配信息,即将“最优的吸嘴号”更新为“交换后的吸嘴号”,将“最优的元件号”更新为“交换后的元件号”、“最优的供料器组”更新为“已确定的供料器组”;更新交换方式的索引变量iNz+1,返回步骤六一;
[0272] 所述“吸杆任务分配”代价函数的计算方法如下:
[0273]
[0274] 其中, 为拾贴周期数, 为拾贴周期索引,S为贴片头上的吸杆个数,j∈{1,2,...,S}为吸杆索引, 为吸嘴更换次数, 为吸嘴更换往返次数,为同时拾取数量;e1为更换吸嘴权重;e2为更换吸嘴往返次数权重;e3为同时拾取权重;
[0275] 由于设计多个与周期数相关变量,在此做备注说明如下:最小拾贴周期数K是一个中间变量,在步骤二六中用来获取“小组内吸嘴数上限”。k是“吸嘴分配”的拾贴周期计数变量,在步骤四“吸嘴分配”的过程中会动态增加,吸嘴分配完成之后,将得到拾贴周期总数K。步骤七二中进行了吸嘴行拆分,拾贴周期数会发生变化,为了与k、K区分,此处用的不同的吸杆任务分配结果的拾贴周期数是不同的,此处用来泛指按照当前搜索到的分配方式得到的拾贴周期数。
[0276] 所有权重通过将相应目标以单个拾贴周期的平均耗时为基准折算得到。默认设置为,e1取2,e2取0.5,e3取1/6;
[0277] 备注:吸嘴更换次数、吸嘴更换往返次数与步骤四二中的V、W对应,即[0278] 步骤七八、判断是否优于“吸杆任务分配”的“全局最优代价函数值”,即bestE>GbestE,若是,则更新GbestE=bestE,将“全局最优的吸嘴号”更新为“最优的吸嘴号”,将“全局最优的元件号”更新为“最优的元件号”、将“全局最优的供料器组”更新为“最优的供料器组”,执行步骤七九;若否,则直接执行步骤七九;
[0279] 备注:GbestE为“吸杆任务分配”的全局最优代价函数值;
[0280] 步骤七九、更新尾列标识变量ELn,返回步骤四二;
[0281] 尾列标识变量ELn更新方式如下:
[0282] 首先更新吸嘴1的尾列标识变量EL1=EL1+1,各吸嘴号对应的尾列标识变量按照吸嘴号由小到大的顺序进位,即若ELn-1>1,则ELn-1=0,ELn=ELn+1(在步骤四三中,用于指导得到“分组的吸嘴号”、“分组的贴装数”);
[0283] 备注:ELn-1为吸嘴n-1的尾列标识变量。
[0284] 其它步骤及参数与具体实施方式一至七之一相同。
[0285] 具体实施方式九:本实施方式与具体实施方式一至八之一不同的是:所述步骤八中将所有吸嘴分配情形中最优的吸杆任务分配结果作为最终分配结果输出;具体过程为:
[0286] 吸杆任务分配结果在步骤七八中更新得到,包括,“全局最优的吸嘴号”、“全局最优的元件号”与“全局最优的供料器组”。
[0287] 其它步骤及参数与具体实施方式一至八之一相同。
[0288] 采用以下实施例验证本发明的有益效果:
[0289] 实施例一:
[0290] 本实施例一种单动臂并列式贴片头贴片机的吸杆任务分配方法具体是按照以下步骤制备的:
[0291] 算例考虑一台单动臂六吸杆并列式贴片头贴片机的拾贴优化过程。
[0292] “生产初始化”。需要导入的“PCB数据”列于表3,
[0293] 表3 PCB数据文件
[0294]
[0295] “供料器信息文件”列于表4,
[0296] 表4供料器信息文件
[0297] 供料器类型名 X方向拾取偏移 Y方向拾取偏移 占据槽位个数SM8 7.25 -13.5 1
SM12 15.3 -42 2
SM16 15.3 -42 2
SM24 20.05 -62 3
[0298] “元件信息文件”列于表5,
[0299] 表5元件信息文件
[0300]元件类型名 吸嘴类型名 供料器类型名
TR2_TO252 CN220 SM16
SOT23 CN065 SM8
1117_3.3V CN220 SM12
QFP_ATME CN400 SM16
SOJ2-ds2505 CN065 SM12
74SOP16 CN140 SM16
PLCC-29SF CN750 SM24
[0301] 已知没有对吸杆或供料器槽位的禁用,并且用户提供的吸嘴个数充足(每种吸嘴6个),供料器个数充足(每种元件的可用供料器6个)。
[0302] “生产数据预处理”。操作人员点击“优化按钮”之后,拾贴优化过程开始,首先是“生产数据预处理”。首先,按照PCB数据中的顺序为各元件类型分配元件号,按照各吸嘴类型的贴装点数降序的顺序为各吸嘴类型分配吸嘴号,借助“元件信息文件”建立元件号与吸嘴号之间的索引关系列于表6。
[0303] 表6元件与吸嘴间的索引关系
[0304] 元件类型名 元件号 贴装点数 吸嘴类型名 吸嘴号TR2_TO252 CP1 5 CN220 NZ3
SOT23 CP2 9 CN065 NZ5
1117_3.3V CP3 8 CN220 NZ3
QFP_ATME CP4 10 CN400 NZ4
SOJ2-ds2505 CP5 13 CN065 NZ2
74SOP16 CP6 9 CN140 NZ2
PLCC-29SF CP7 24 CN750 NZ1
[0305] 随后,借助“元件信息文件”与“供料器信息文件”,统计各吸嘴号对应的同时拾取类,如表7所示(本例中使用的数据较为简单,每类吸嘴仅对应一种同时拾取类)。
[0306] 表7各吸嘴号对应的同时拾取类
[0307]吸嘴号 元件号
NZ1 CP7
NZ2 CP5、CP6
NZ3 CP1、CP3
NZ4 CP4
NZ5 CP2
[0308] 最后,计算最小拾贴周期数 得到“小组内吸嘴数上限”cntK的最小取值minK=K-6=7,最大取值maxK=K+10=23。
[0309] “吸嘴分配”。为了避免繁琐地描述循环过程,本例仅对cntK=14、EL1=0、EL2=0的情形,给出具体的“吸嘴分配”描述,如图10所示,其中的每个小矩形块代表贴装数为1,用不同的纹理代表不同的吸嘴号。首先对各吸嘴号按照贴装数的多少排序并赋予吸嘴号,得到“原始的吸嘴号”与“原始的贴装数”,然后依照“小组内吸嘴数上限”cntK=14进行分组,得到“分组的吸嘴号”与“分组的贴装数”。按照EL1=0、EL2=0的尾列标识变量,将“分组的吸嘴号”与“分组的贴装数”重组,得到七组“重组的吸嘴号”与“重组的贴装数”。依次分配前六组到各吸杆上,得到吸嘴行的第一行,第七组被安排到目前贴装数最少的吸杆4上,此时吸嘴更换次数自加变为V=1,往返吸嘴站次数自加变为W=1,至此得到“分配的吸嘴号”与“分配的贴装数”。然后对最后一行中的相同吸嘴号的贴装数进行平分,图中可见吸杆1与吸杆2之间的贴装数平分了。最后向没有贴装任务的吸杆(贴装数为0的吸杆)上分配贴装数最多的吸嘴号,即图中在吸杆6上安装了NZ5,此时吸嘴更换次数自加变为V=2,往返吸嘴站次数自加变为W=2,虽然增加了吸嘴更换,但是拾贴周期数从17减少为14。为了说明尾列标识变量的作用,再补充尾列标识变量为EL1=0、EL2=1的情形,见图11。由于EL2=1,在得到“分组的吸嘴号”与“分组的贴装数”时,NZ2的尾列被放置到各主列之后,这样可以增加“重组的吸嘴号”与“重组的贴装数”的多样性,从而有机会得到更优的吸嘴分配结果。
[0310] “元件分配”。接着“吸嘴分配”中的例子进行“元件分配”。表8所示为吸杆间未交换吸嘴任务的分配结果。
[0311] 表8吸杆间吸嘴任务未进行交换时的结果
[0312]
[0313]
[0314] 供料器组一 CP5 CP6 CP3 CP4供料器组二 CP5 CP1 CP4
供料器组三 CP2 CP2
供料器组四 CP7      
[0315]同时拾取类型 1S 2S 3S 4S 5S 6S
次数 28 6 2 8 0 0
[0316] 此时的同时拾取次数为
[0317] 此时的代价函数值为:E=14+e1·2+e2·2-e3·34≈13.3
[0318] 进行“吸杆间吸嘴任务交换”之后的最优“元件分配”结果,如表9所示,[0319] 表9吸杆间吸嘴任务进行交换后的结果
[0320]
[0321]
[0322] 供料器组一 CP7   CP7    供料器组二 CP5   CP3 CP4 CP6
供料器组三 CP5   CP1 CP4  
供料器组四 CP2 CP2      
[0323]同时拾取类型 1S 2S 3S 4S 5S 6S
次数 4 18 2 8 0 0
[0324] 此时的同时拾取次数为
[0325]
[0326] 此时的代价函数值为:
[0327] E=14+e1·2+e2·2-e3·46≈11.3
[0328] 可见,同时拾取较未交换吸嘴任务时增加了12个,这是因为元件CP7属于多间隔同时拾取,在最优分配结果中,CP7在6个拾贴周期中实现了1间隔2同时拾取。
[0329] 本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。