CN112454370A - 一种io可自由映射的点钻机器人编程示教方法 - Google Patents
一种io可自由映射的点钻机器人编程示教方法 Download PDFInfo
- Publication number
- CN112454370A CN112454370A CN202011130936.8A CN202011130936A CN112454370A CN 112454370 A CN112454370 A CN 112454370A CN 202011130936 A CN202011130936 A CN 202011130936A CN 112454370 A CN112454370 A CN 112454370A
- Authority
- CN
- China
- Prior art keywords
- point
- teaching
- bin
- coordinates
- state
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0081—Programme-controlled manipulators with master teach-in means
Abstract
本发明公开了一种IO可自由映射的点钻机器人编程示教方法,包括IO口功能状态设置;示教点胶点钻指令:获取料仓的位置点坐标,对料仓进行示教;获取产品的位置点坐标,对放料位置进行示教;示教完成,生成用于控制点钻机器人运动的示教程序。本发明通过可触摸的软件界面设置每个IO口的功能状态,且示教点胶点钻指令时只需打开相应的IO口。即使点钻机器人的IO口功能改变或者点钻机胶头、钻头个数改变,也不需要花费大量的时间和人力去更改硬件线路连接和进行软件程序设计,此示教编程方法大大简化了示教编程复杂度,节省了内存空间,提高了代码效率,节约了成本,还有效地提高了生产效率。
Description
技术领域
本申请属于编程示教技术领域,具体涉及一种IO可自由映射的点钻机器人编程示教方法。
背景技术
近年来,随着各类五金,相框,工艺品,钥匙扣等产品的装饰需求不断扩大,传统的人工点胶、点钻方式已经不能满足生产和工艺要求。自动点钻机的出现大大提高了生产效率,越来越受到人们的关注。
在实际的工业应用中,由于点钻机的品牌、型号、种类等不同,钻头、胶头气缸个数也就不同,在对项链等产品进行精密加工时还需要铆压气缸动作,所以通常需要根据实际的工业生产需求对气缸进行安装定制。
目前都是根据点钻机加工产品所需气缸的数量来固定点钻机控制板上每个IO口的具体功能,每个IO口只能控制固定的气缸动作,且每个IO口的功能一经设定就不能随意更改。加工不同的产品时,用到的IO口不一样,只能通过修改代码或硬件连接来改变IO口功能,浪费了大量的时间和人力,增加了成本,工作效率也大大降低。同时,由于对产品进行示教编程时需要对IO口进行频繁操作,示教编程的工作量也大大增加。因此,为了简化示教编程的复杂度,节省内存空间,提高工作效率,提出一种新的基于多功能IO口的点钻机器人运动平台的点胶点钻编程示教方法。
发明内容
本申请的目的在于提供一种IO可自由映射的点钻机器人编程示教方法,可动态设置点钻机器人上各IO口的功能,提高使用灵活性和便利性。
为实现上述目的,本申请所采取的技术方案为:
一种IO可自由映射的点钻机器人编程示教方法,所述点钻机器人设有多个用于控制气缸动作的IO口,并且点钻机器人具有可触屏的软件界面,所述IO可自由映射的点钻机器人编程示教方法,包括:
步骤S1、IO口功能状态设置:
在所述软件界面的第一操作页上显示多个第一操作控件和多个第一文本控件,将每个第一操作控件和每个第一文本控件一一对应绑定,每个第一操作控件对应一个IO口,每个第一文本控件用于显示所绑定的第一操作控件代表的IO口的功能状态,所述功能状态包括点胶状态、点钻状态、胶头下移状态、钻头下移状态、铆压状态以及默认的未启用状态;
接收用户对第一操作控件的一个或多个第一触摸操作;
响应于所述第一触摸操作,改变对应的第一操作控件代表的IO口的功能状态,同时更新对应的第一操作控件绑定的第一文本控件的显示;
步骤S2、示教点胶点钻指令:
在所述软件界面的第二操作页上显示多个第二操作控件和多个第二文本控件,将每个第二操作控件和每个第二文本控件一一对应绑定,每个第二操作控件对应一个IO口,每个第二文本控件用于显示所绑定的第二操作控件代表的IO口的功能状态,所述第二操作控件显示有选中状态和默认的未选中状态,所述第二操作控件的选中状态表示其所代表的IO口为开启状态,所述第二操作控件的未选中状态表示其所代表的IO口为关闭状态;
接收用户根据示教指令和每个IO口的功能状态对第二操作控件的一个或多个第二触摸操作,所述示教指令包括点胶指令、点钻指令和铆压指令;
响应于所述第二触摸操作,改变对应的第二操作控件的显示状态,即设置第二操作控件代表的IO口的开闭状态;
根据IO口的开闭状态控制对应的气缸执行所述示教指令,并在执行过程中保存气缸动作对应的点位坐标,完成点胶点钻指令示教;
步骤S3、获取料仓的位置点坐标,对料仓进行示教;
步骤S4、获取产品的位置点坐标,对放料位置进行示教;
步骤S5、示教完成,生成用于控制点钻机器人运动的示教程序。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
作为优选,所述步骤S3,获取料仓的位置点坐标,对料仓进行示教,包括:
移动其中一个点钻头到料仓起始的料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置1;其它轴不动,只沿X轴正方向移动点钻头直到料仓的最后一个料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置2;其它轴不动,继续只沿Y轴正方向移动点钻头到料仓的最后一个料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置3;
设定料仓位置1的坐标为(X1,Y1),料仓位置2的坐标为(X2,Y2),料仓位置3的坐标为(X3,Y3),料仓中横向料仓点个数为H,纵向料仓点个数为V;
从而得到料仓点(Xm,Yn)的坐标为:
其中,m=1,2,3,…,H,n=1,2,3,…,V。
作为优选,所述产品为独立个体并放置于产品盘中,则所述步骤S4,获取产品的位置点坐标,对放料位置进行示教,包括:
获取其中一个点胶头移动到产品盘中第一行第一个产品的位置点坐标保存为第一点位坐标,获取该点胶头移动到该产品盘中第一行第二个产品的位置点坐标保存为第二点位坐标,获取该点胶头移动到该产品盘中第二行第一个产品的位置点坐标保存为第三点位坐标,根据第一点位坐标、第二点位坐标和第三点位坐标计算产品在产品盘中相邻放料位置的横向偏移和纵向偏移。
作为优选,所述产品为条状加工产品并放置于产品轴O轴上,则所述步骤S4,获取产品的位置点坐标,对放料位置进行示教,包括:
令产品轴O轴不动且位于初始点位置,移动点钻头沿X轴、Y轴、Z轴3个方向运动,直至移动至放料位置,获取放料位置的坐标并保存为产品的执行坐标(X0,Y0,Z0);
设定带动所述产品轴O轴转动的伺服电机转一圈的脉冲数为P,加速比为i,丝杠螺距为j,齿数为N,则可以计算得到所述伺服电机转一圈走过的距离L为:
L=P/(P×i/j)
O轴每次旋转的距离O_Step为:
O_Step=L/N
从而得到产品的第n′个位置点运动到放料位置时O轴需要旋转的距离Dn为:
Dn=(n′-1)/N×L
其中n′=1,2,3,…,N。
本申请提供的IO可自由映射的点钻机器人编程示教方法,通过可触摸的软件界面设置每个IO口的功能状态,且示教点胶点钻指令时只需打开相应的IO口。即使点钻机器人的IO口功能改变或者点钻机胶头、钻头个数改变,也不需要花费大量的时间和人力去更改硬件线路连接和进行软件程序设计,此示教编程方法大大简化了示教编程复杂度,节省了内存空间,提高了代码效率,节约了成本,还有效地提高了生产效率。
附图说明
图1为本申请的IO可自由映射的点钻机器人编程示教方法的流程图;
图2为本申请条状加工产品的加工示意图;
图3为本申请实施例1中IO可自由映射的点钻机器人编程示教方法的流程图;
图4为本申请实施例1软件界面的第一操作页的页面显示图;
图5为本申请实施例1软件界面的第二操作页的页面显示图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
其中一个实施例中,提供一种IO可自由映射的点钻机器人编程示教方法,可实现点钻机器人上每个IO口用于点胶、点钻、胶头下移、钻头下移、铆压等功能的自由映射,实现IO口功能的动态调整,从而减少示教编程工作量,节省内存空间,使点钻机更灵活通用,效率大大提高。
容易理解的是,对于点钻机而言,本实施例的IO口功能的动态调整的设置不仅针对点钻机器人而言,还可以针对其他点钻机实现,本实施例选取具有代表性的点钻机器人进行描述。并且本实施例重点在于对点钻机的编程示教,因此对于点钻机的结构不进行详述,但点钻机应是包含基本部件(例如气缸、伺服电机、运动轴、控制板等)能够正常工作的设备。
对于每个点钻机而言,均设有多个IO口用于控制气缸运动,从而实现点胶点钻等动作,并且点钻机具有可触屏的软件界面,以便于用户操作。
如图1所示,本实施例的IO可自由映射的点钻机器人编程示教方法,包括以下步骤:
步骤S1、IO口功能状态设置。
在所述软件界面的第一操作页上显示多个第一操作控件和多个第一文本控件,将每个第一操作控件和每个第一文本控件一一对应绑定,每个第一操作控件对应一个IO口,每个第一文本控件用于显示所绑定的第一操作控件代表的IO口的功能状态,所述功能状态包括点胶状态、点钻状态、胶头下移状态、钻头下移状态、铆压状态以及默认的未启用状态。
接收用户对第一操作控件的一个或多个第一触摸操作,多个第一触摸操作可针对同一第一操作控件执行,也可以是针对多个第一操作控件执行。
响应于所述第一触摸操作,改变对应的第一操作控件代表的IO口的功能状态,同时更新对应的第一操作控件绑定的第一文本控件的显示。
本实施例中对一个第一操作控件执行一个或多个第一触摸操作时,每执行一个第一触摸操作改变一次IO口的功能状态,并且功能状态在点胶状态、点钻状态、胶头下移状态、钻头下移状态、铆压状态以及未启用状态之间顺序切换,每个IO口均默认为未启用状态。
需要说明的是,在其他实施例中,功能状态的切换顺序以及功能状态的种类可以根据实际使用情况进行调整,例如可以没有铆压状态,或者增加其他功能状态等。
在设置完成后可遍历第一操作控件获取IO口,同时遍历第一文本控件获取IO口的功能状态,并将IO口和其对应的功能状态进行存储,以避免每次使用点钻机都需要设置IO口的功能状态。
在保存为数组时,可以将不同的功能状态设置为不同的数字表示,例如设置点胶状态、点钻状态、胶头下移状态、钻头下移状态、铆压状态以及未启用状态分别为1、2、3、4、5进行表示。
步骤S2、示教点胶点钻指令。
在所述软件界面的第二操作页上显示多个第二操作控件和多个第二文本控件,将每个第二操作控件和每个第二文本控件一一对应绑定,每个第二操作控件对应一个IO口,每个第二文本控件用于显示所绑定的第二操作控件代表的IO口的功能状态,所述第二操作控件显示有选中状态和默认的未选中状态,所述第二操作控件的选中状态表示其所代表的IO口为开启状态,所述第二操作控件的未选中状态表示其所代表的IO口为关闭状态。
本实施例中以颜色区分第二操作控件的状态,例如采用灰色表示第二操作控件为选中状态,采用白色表示第二操作控件为未选中状态。容易理解的是,第二操作控件显示的选中状态和未选中状态还可以以其他颜色或者方式进行区分,例如阴影和无阴影等。
接收用户根据示教指令和每个IO口的功能状态对第二操作控件的一个或多个第二触摸操作,所述示教指令包括点胶指令、点钻指令和铆压指令。不同的指令所涉及的IO口不同,因此在示教时用户根据不同的指令打开需要的IO口,不启用未涉及的IO口,以完成对应指令的示教。
响应于所述第二触摸操作,改变对应的第二操作控件的显示状态,即设置第二操作控件代表的IO口的开闭状态。
根据IO口的开闭状态控制对应的气缸执行所述示教指令,并在执行过程中保存气缸动作对应的点位坐标,完成点胶点钻指令示教。在示教指令时,根据当前示教的指令改变对应的IO口的开闭状态,并示教气缸执行动作,一一记录气缸动作时的点位坐标,完成当前指令的示教;继续对下一指令进行示教直至完成所有指令的示教。在点胶点钻指令示教中,示教点胶指令时,不需要选择料仓,只需要选中相应的点胶和胶头下移IO口,控制各运动轴运动到产品位置上方后,打开胶头下移IO口,控制胶头下移到合适位置,记录此时的点位坐标,再打开点胶IO口,根据设置的出胶时间,对产品进行点胶;示教点钻指令时,需要对料仓进行选择,同时也需要选中相应的点钻和钻头下移IO口,控制各运动轴到达料仓位置先进行取料,再运动到产品位置上方后,打开钻头下移IO口,控制钻头下移到合适位置,记录此时的点位坐标,再打开点钻IO口,对产品进行点钻,从而完成对产品的点胶点钻示教。
本申请在示教过程中,每完成一个点位坐标的示教后,遍历第二操作控件获取当前IO口的开闭状态,取IO口的开启状态为1,取IO口的关闭状态为0,保存所有IO口的开闭状态于第二数组中,同时保存对应的当前的示教指令,以便于在示教完成正常工作时针对不同的点位坐标自动打开对应的IO口执行指令。
步骤S3、获取料仓的位置点坐标,对料仓进行示教。
移动其中一个点钻头到料仓起始的料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置1;其它轴不动,只沿X轴正方向移动点钻头直到料仓的最后一个料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置2;其它轴不动,继续只沿Y轴正方向移动点钻头到料仓的最后一个料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置3。
根据料仓的3个位置坐标以及料仓中横向料仓点个数和纵向料仓点个数,就可以计算得到料仓中每个料仓点的位置坐标,具体计算过程如下:
设定料仓位置1的坐标为(X1,Y1),料仓位置2的坐标为(X2,Y2),料仓位置3的坐标为(X3,Y3),料仓中横向料仓点个数为H,纵向料仓点个数为V;
从而得到料仓点(Xm,Yn)的坐标为:
其中,m=1,2,3,…,H,n=1,2,3,…,y。
步骤S4、获取产品的位置点坐标,对放料位置进行示教。
1)当产品为独立个体并放置于产品盘中,则获取产品的位置点坐标,对放料位置进行示教,包括以下步骤:
获取其中一个点胶头移动到产品盘中第一行第一个产品的位置点坐标保存为第一点位坐标,获取该点胶头移动到该产品盘中第一行第二个产品的位置点坐标保存为第二点位坐标,获取该点胶头移动到该产品盘中第二行第一个产品的位置点坐标保存为第三点位坐标,根据第一点位坐标、第二点位坐标和第三点位坐标计算产品在产品盘中相邻放料位置的横向偏移和纵向偏移。
2)如图2所示,当产品为条状加工产品并放置于产品轴O轴上,则获取产品的位置点坐标,对放料位置进行示教,包括以下步骤:
将要加工的产品放在固定的齿轮上,齿轮固定在产品轴O轴上,伺服电机控制产品轴旋转来完成对所有点位的加工。通过手动调试示教,保证产品轴O轴不动且为初始点位置,移动点钻头沿X轴、Y轴、Z轴3个方向运动,使其能够刚好到放料位置进行点胶点钻,获取此位置坐标并保存为产品的执行坐标(X0,Y0,Z0)。
根据伺服电机的参数,可以计算得到电机转一圈走过的距离。由于产品轴上的电机齿轮间距都是相等的,齿轮个数也已知,从而可以计算得到O轴每次旋转的距离和产品上每个点的位置坐标。
程序执行时点胶头、点钻头每次都移动到放料位置对产品进行点胶点钻加工。根据伺服电机相关参数,设定带动所述产品轴O轴转动的伺服电机转一圈的脉冲数为P,加速比为i,丝杠螺距为j,齿数为N,则可以计算得到所述伺服电机转一圈走过的距离L为:
L=P/(P×i/j)
O轴每次旋转的距离O_Step为:
O_Step=L/N
从而得到产品的第n′个位置点运动到放料位置时O轴需要旋转的距离Dn为:
Dn=(n′-1)/N×L
其中n′=1,2,3,…,N。
本实施例中针对条状加工产品所采用的示教方法基于电机一圈脉冲数和齿数进行计算,每次示教放料位置均能够自动补偿误差,避免以第一个放料位置顺推其余放料位置时容易产生误差累计的情况,可显著提高放料位置示教的准确性,确保加工精度,同时保护设备避免损坏。
步骤S5、示教完成,生成用于控制点钻机器人运动的示教程序。从而对产品进行点胶点钻操作,完成对产品的精密加工。待程序执行到加工完成产量等于设定任务产量后,点钻机自动停止。
本申请提供的编程示教方法,可用于在点钻机器人运动平台上灵活设置IO口功能,从而减少示教编程工作量。主要过程包括:在软件界面上触摸设置IO口的功能状态,示教点胶点钻指令时,需要打开相应的点胶或点钻IO口,读取并解析已保存的IO口信息,控制胶头或钻头到达产品位置后,打开相应的点胶、点钻IO口,完成对产品的点胶点钻操作。
本申请示教编程方法灵活高效,通过简便的软件触摸显示方式可完成对所需IO口功能的设置保存,再对料仓点和产品位置进行示教,执行点胶点钻操作。即使机器的IO口功能改变或者点钻机胶头、钻头个数改变,也不再需要花费大量的时间和人力去更改硬件线路连接和进行软件程序设计,此示教编程方法大大简化了示教编程复杂度,节省了内存空间,提高了代码效率,节约了成本,还有效地提高了生产效率。
为了提高对本申请编程示教方法的理解,以下通过一个实施例进一步说明。
实施例1
本实施例中的点钻机包括上位机显示屏,控制板和一套四轴伺服系统,如图3所示,其示教编程的方法包括:
1)IO口功能状态设置。
在上位机显示屏上触摸设置IO口功能状态信息保存为第一数组,具体如图4所示,在上位机显示屏的软件界面的IO设置界面(第一操作页)有Y0-Y27一共28个输出端口,每个IO端口都添加一个控件配置(第一操作控件),同时对应的IO端口下方也添加文本显示(第一文本控件),默认显示状态都是未启用状态。
接收用户对任意一个控件进行的第一次第一触摸操作。
响应于所述的第一次触摸操作,切换对应控件的显示状态为点胶状态。
接收用户对该控件进行的第二次第一触摸操作。
响应于所述的第二次第一触摸操作,切换对应控件的显示状态为点钻状态。
接收用户对该控件进行的第三次第一触摸操作。
响应于所述的第三次第一触摸操作,切换对应控件的显示状态为胶头下移状态。
接收用户对该控件进行的第四次第一触摸操作。
响应于所述的第四次第一触摸操作,切换对应控件的显示状态为钻头下移状态。
接收用户对该控件进行的第五次第一触摸操作。
响应于所述的第五次第一触摸操作,切换对应控件的显示状态为铆压状态。
接收用户对该界面区域所有控件进行的一次或多次第一触摸操作。响应于所述的一次或多次第一触摸操作,切换至对应的显示状态。
遍历所有控件生成用于记录IO口状态的第一数组。其中,第一数组包含28个元素,且数组的索引0到27作为IO口的序号,每个元素对应的元素值作为该控件的显示状态。
为了便于理解,本实施例以IO_Function[27]表示第一数组。
取IO_Function[i]的值为IO_Function[i]=0,则表示第(i+1)个IO口此时的状态是默认未启用状态。
取IO_Function[i]的值为IO_Function[i]=1,则表示第(i+1)个IO口此时的状态是点胶状态。
取IO_Function[i]的值为IO_Function[i]=2,则表示第(i+1)个IO口此时的状态是点钻状态。
取IO_Function[i]的值为IO_Function[i]=3,则表示第(i+1)个IO口此时的状态是胶头下移状态。
取IO_Function[i]的值为IO_Function[i]=4,则表示第(i+1)个IO口此时的状态是钻头下移状态。
取IO_Function[i]的值为IO_Function[i]=5,则表示第(i+1)个IO口此时的状态是铆压状态。依次遍历第一数组中的所有元素值,直至遍历完成。
按照遍历顺序组合所有IO口的状态信息并保存下发到控制板的FLASH内存中,每次开机系统会自动读取存储的数据信息,将用户设置的所有IO口状态信息读取到上位机软件界面并显示。每个IO口功能状态都可由用户根据实际需求自主设置,且设置好以后保存下发,每个IO口的功能也就被确定,生成了具体的点胶点钻IO口状态信息。
2)示教点胶点钻指令。
打开相应的点胶、点钻IO口并将此信息保存为第二数组,具体如图5所示,在上位机显示屏的软件界面的IO开启界面(第二操作页)有Y0-Y27一共28个输出端口,每个IO端口都添加一个控件配置(第二操作控件),同时对应的IO端口下方也添加文本显示(第二文本控件)。
接收用户对该界面(第二操作页)多个控件的第二触摸操作。
响应于所述的第二触摸操作,将所述第二触摸操作对应的控件标识为选中状态(如图5中的灰色即表示选中状态),其它控件均为未选中状态(如图5中的白色即表示未选中状态)。将选中状态的IO口置为1,未选中的置为0,并将当前所有IO口选中状态信息按位操作形式保存在第二数组中。
为了便于理解,本实施例以IO_Choose[27]表示第二数组。
取IO_Choose[i]的值为IO_Choose[i]=0,表示第(i+1)个IO口为气缸关闭状态。
取IO_Choose[i]的值为IO_Choose[i]=1,表示第(i+1)个IO口为气缸开启状态。
取IO_Choose[]的值为IO_Choose[]=0xFFFF,表示28个IO口全部为气缸开启状态。
取IO_Choose[]的值为IO_Choose[]=0x0000,表示28个IO口全部为气缸关闭状态。
依次遍历第二数组中的所有元素值,获取执行当前指令时选中的胶头、钻头、胶头下移、钻头下移等IO口信息,从而控制点钻机执行相应的点胶点钻操作,并记录执行时的点位坐标,完成当前指令的示教。以此类推完成所有指令的示教。
本实施例中操作页上除了必要的操作控件以及文本控件外,还显示有IO选择等关于页面的提示语,并设有返回控件,用于范围软件界面的主控界面。需要说明的是,在确保操作页上具有必要的操作控件以及文本控件的情况下,可对操作页的具体布局进行更改,也可以增加其他的显示或操作控件。
3)示教料仓点位置坐标。
获取料仓的位置点坐标,对料仓进行示教。本实施例中的料仓示教可参考上一实施例执行,也可以基于现有的料仓示教逻辑完成。
4)示教产品位置点坐标。
获取产品的位置点坐标,对放料位置进行示教。本实施例中的放料位置示教可参考上一实施例执行,也可以基于现有的放料位置示教逻辑完成。
5)示教完成,生成用于控制点钻机器人运动的示教程序,保存示教程序并下发到控制板。
6)示教编程完成进行产品加工。
当示教编程完成进行产品加工时,启动点钻机,上位机自动下发点胶点钻指令(示教时为用户手动选择并下发),下位机的控制板读取并解析指令信息,若接收到的为点胶指令,则伺服电机控制胶头移动到产品的放料位置,打开胶头下移IO口使点胶头下移指示教记录的点位坐标,然后开启相应的点胶IO口,根据预设置的出胶时间,对产品进行点胶;若接收到点钻指令,则伺服电机先控制钻头移动到指定料仓位置取料,再运动到产品放料位置,打开钻头下移IO口使点钻头下移指示教记录的点位坐标,然后开启相应的点钻IO口,对产品进行点钻;当点胶或点钻动作完成后,判断是否完成对所有产品的加工,若是则点钻机结束工作;否则点钻机继续读取上位机发送的点胶点钻指令。
本实施例提供的编程示教方法,通过可触摸的软件界面设置每个IO口的功能状态,且示教点胶点钻指令时只需打开相应的IO口,同时将这些显示信息保存为数组类型下发到控制板,执行点胶点钻操作时直接从控制板读取调用即可。该方法比现有固定的、复杂的设置更加方便清晰,给操作人员更多自主性以适应实际生产过程,实现生产加工过程更加的简单、灵活和高效。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (4)
1.一种IO可自由映射的点钻机器人编程示教方法,所述点钻机器人设有多个用于控制气缸动作的IO口,并且点钻机器人具有可触屏的软件界面,其特征在于,所述IO可自由映射的点钻机器人编程示教方法,包括:
步骤S1、IO口功能状态设置:
在所述软件界面的第一操作页上显示多个第一操作控件和多个第一文本控件,将每个第一操作控件和每个第一文本控件一一对应绑定,每个第一操作控件对应一个IO口,每个第一文本控件用于显示所绑定的第一操作控件代表的IO口的功能状态,所述功能状态包括点胶状态、点钻状态、胶头下移状态、钻头下移状态、铆压状态以及默认的未启用状态;
接收用户对第一操作控件的一个或多个第一触摸操作;
响应于所述第一触摸操作,改变对应的第一操作控件代表的IO口的功能状态,同时更新对应的第一操作控件绑定的第一文本控件的显示;
步骤S2、示教点胶点钻指令:
在所述软件界面的第二操作页上显示多个第二操作控件和多个第二文本控件,将每个第二操作控件和每个第二文本控件一一对应绑定,每个第二操作控件对应一个IO口,每个第二文本控件用于显示所绑定的第二操作控件代表的IO口的功能状态,所述第二操作控件显示有选中状态和默认的未选中状态,所述第二操作控件的选中状态表示其所代表的IO口为开启状态,所述第二操作控件的未选中状态表示其所代表的IO口为关闭状态;
接收用户根据示教指令和每个IO口的功能状态对第二操作控件的一个或多个第二触摸操作,所述示教指令包括点胶指令、点钻指令和铆压指令;
响应于所述第二触摸操作,改变对应的第二操作控件的显示状态,即设置第二操作控件代表的IO口的开闭状态;
根据IO口的开闭状态控制对应的气缸执行所述示教指令,并在执行过程中保存气缸动作对应的点位坐标,完成点胶点钻指令示教;
步骤S3、获取料仓的位置点坐标,对料仓进行示教;
步骤S4、获取产品的位置点坐标,对放料位置进行示教;
步骤S5、示教完成,生成用于控制点钻机器人运动的示教程序。
2.如权利要求1所述的IO可自由映射的点钻机器人编程示教方法,其特征在于,所述步骤S3,获取料仓的位置点坐标,对料仓进行示教,包括:
移动其中一个点钻头到料仓起始的料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置1;其它轴不动,只沿X轴正方向移动点钻头直到料仓的最后一个料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置2;其它轴不动,继续只沿Y轴正方向移动点钻头到料仓的最后一个料仓点位置正上方,获取此料仓点的位置坐标并保存为料仓位置3;
设定料仓位置1的坐标为(X1,Y1),料仓位置2的坐标为(X2,Y2),料仓位置3的坐标为(X3,Y3),料仓中横向料仓点个数为H,纵向料仓点个数为V;
从而得到料仓点(Xm,Yn)的坐标为:
其中,m=1,2,3,…,H,n=1,2,3,…,V。
3.如权利要求1所述的IO可自由映射的点钻机器人编程示教方法,其特征在于,所述产品为独立个体并放置于产品盘中,则所述步骤S4,获取产品的位置点坐标,对放料位置进行示教,包括:
获取其中一个点胶头移动到产品盘中第一行第一个产品的位置点坐标保存为第一点位坐标,获取该点胶头移动到该产品盘中第一行第二个产品的位置点坐标保存为第二点位坐标,获取该点胶头移动到该产品盘中第二行第一个产品的位置点坐标保存为第三点位坐标,根据第一点位坐标、第二点位坐标和第三点位坐标计算产品在产品盘中相邻放料位置的横向偏移和纵向偏移。
4.如权利要求1所述的IO可自由映射的点钻机器人编程示教方法,其特征在于,所述产品为条状加工产品并放置于产品轴O轴上,则所述步骤S4,获取产品的位置点坐标,对放料位置进行示教,包括:
令产品轴O轴不动且位于初始点位置,移动点钻头沿X轴、Y轴、Z轴3个方向运动,直至移动至放料位置,获取放料位置的坐标并保存为产品的执行坐标(X0,Y0,Z0);
设定带动所述产品轴O轴转动的伺服电机转一圈的脉冲数为P,加速比为i,丝杠螺距为j,齿数为N,则可以计算得到所述伺服电机转一圈走过的距离L为:
L=P/(P×i/j)
O轴每次旋转的距离O_Step为:
O_Step=L/N
从而得到产品的第n′个位置点运动到放料位置时O轴需要旋转的距离Dn为:
Dn=(n′-1)/N×L
其中n′=1,2,3,…,N。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011130936.8A CN112454370B (zh) | 2020-10-21 | 2020-10-21 | 一种io可自由映射的点钻机器人编程示教方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011130936.8A CN112454370B (zh) | 2020-10-21 | 2020-10-21 | 一种io可自由映射的点钻机器人编程示教方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112454370A true CN112454370A (zh) | 2021-03-09 |
CN112454370B CN112454370B (zh) | 2022-06-28 |
Family
ID=74833189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011130936.8A Active CN112454370B (zh) | 2020-10-21 | 2020-10-21 | 一种io可自由映射的点钻机器人编程示教方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112454370B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277425A (ja) * | 2009-05-29 | 2010-12-09 | Fanuc Ltd | 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置 |
CN104552300A (zh) * | 2014-12-26 | 2015-04-29 | 佛山市新鹏机器人技术有限公司 | 一种基于示教机器人的离线编程示教装置及方法 |
CN106297531A (zh) * | 2016-10-31 | 2017-01-04 | 成都乐创自动化技术股份有限公司 | 一种点胶示教界面显示方法及系统 |
DE102015012961A1 (de) * | 2015-10-08 | 2017-04-13 | Kastanienbaum GmbH | Robotersystem |
CN107309882A (zh) * | 2017-08-14 | 2017-11-03 | 青岛理工大学 | 一种机器人示教编程系统及方法 |
CN108340351A (zh) * | 2018-01-31 | 2018-07-31 | 广东工业大学 | 一种机器人示教装置、方法及示教机器人 |
CN210466058U (zh) * | 2019-01-16 | 2020-05-05 | 浙江工业大学 | 一种基于摇杆的点钻机示教控制装置 |
-
2020
- 2020-10-21 CN CN202011130936.8A patent/CN112454370B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277425A (ja) * | 2009-05-29 | 2010-12-09 | Fanuc Ltd | 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置 |
CN104552300A (zh) * | 2014-12-26 | 2015-04-29 | 佛山市新鹏机器人技术有限公司 | 一种基于示教机器人的离线编程示教装置及方法 |
DE102015012961A1 (de) * | 2015-10-08 | 2017-04-13 | Kastanienbaum GmbH | Robotersystem |
CN106297531A (zh) * | 2016-10-31 | 2017-01-04 | 成都乐创自动化技术股份有限公司 | 一种点胶示教界面显示方法及系统 |
CN107309882A (zh) * | 2017-08-14 | 2017-11-03 | 青岛理工大学 | 一种机器人示教编程系统及方法 |
CN108340351A (zh) * | 2018-01-31 | 2018-07-31 | 广东工业大学 | 一种机器人示教装置、方法及示教机器人 |
CN210466058U (zh) * | 2019-01-16 | 2020-05-05 | 浙江工业大学 | 一种基于摇杆的点钻机示教控制装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112454370B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100585525C (zh) | 数控系统 | |
CN101826273A (zh) | 基于网络连接的多数控系统教学设备及通讯方法 | |
CN208100376U (zh) | 交互式驱控一体装置和模块式机器人 | |
JPH04181403A (ja) | 対話形数値制御装置 | |
US5986425A (en) | Numerical controller | |
CN112454370B (zh) | 一种io可自由映射的点钻机器人编程示教方法 | |
CN109877828A (zh) | 机器点位调试方法、装置、计算机设备和存储介质 | |
JP2019171498A (ja) | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム | |
CN111258273B (zh) | 一种基于多轴点钻机运动平台的可变回零方法和系统 | |
JPH0375884B2 (zh) | ||
CN110618640A (zh) | 一种速度规划的点胶机示教系统 | |
JP3499740B2 (ja) | グラフィックエディター及びエディタープログラムを記録したコンピュータ読み取り可能な記録媒体 | |
EP0083502A1 (en) | Robot control method and arrangement | |
JPS58109905A (ja) | ロボット制御装置 | |
EP2475501B1 (en) | Service cell and method for controlling a service cell | |
JP2000137513A (ja) | Nc円テーブル用制御装置 | |
US11369984B2 (en) | Washing device and operation setting method therefor | |
JPH0772845B2 (ja) | Ncデ−タ作成装置 | |
WO1996015480A1 (fr) | Procede permettant de definir une constante de temps lors de la planification de la trajectoire d'un robot | |
JPH04217009A (ja) | 動作プログラムの教示方法 | |
KR100430760B1 (ko) | 복수 스핀들 구동형 권선기 제어시스템 및 이를 이용한 제어방법 | |
JPH0619522A (ja) | ロボット制御装置 | |
KR900008537B1 (ko) | 고급언어에 의한 프로그램과 오프라인 프로그램에 의한 콘트롤러와 그 제어방법 | |
JP2005131775A5 (zh) | ||
KR100514038B1 (ko) | 로봇 동작 설정 방법 |
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 |