技术领域
[0001] 本申请涉及数控技术领域,具体而言,涉及一种镗孔编程的刀位源文件的后处理方法、装置、计算机可读存储介质、计算机程序产品和数控机床系统。
相关背景技术
[0002] 主轴孔、凸轮轴孔以及惰轮轴孔等孔系的精加工是发动机的关键工序,为保证各孔的同轴度及加工效率等要求,一般应通过镗杆一次加工完毕,而因为镗杆一般较为细长,需要在主轴孔等裆部增加导套支撑,这样使得镗杆无法通过一次进刀完成加工。
[0003] 现有CAM(Computer Aided Manufacturing,计算机辅助制造)编程软件中对于孔类特征生成的刀轨一般为从孔顶部至孔底部的单段刀轨,而对于发动机主轴孔、凸轮轴孔等特征的编程,因需要进行让刀、主轴定向等操作,常规编程手段无法实现这种复杂的动作,输出的NC(Numerical Control,数字控制,简称数控)程序必须经过人工修改才能用于实际加工。
具体实施方式
[0028] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0029] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0030] 需要说明的是,本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0031] 正如背景技术中所介绍的,现有技术中将刀位源文件转译为NC程序后需要人工修改才可用于实际加工,占用大量人力资源,为解决如上技术问题,本申请的实施例提供了一种镗孔编程的刀位源文件的后处理方法、装置、计算机可读存储介质、计算机程序产品和数控机床系统。
[0032] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0033] 本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种镗孔编程的刀位源文件的后处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,所述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对所述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0034] 存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的镗孔编程的刀位源文件的后处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现所述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。所述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。所述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
[0035] 在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的镗孔编程的刀位源文件的后处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0036] 图2是根据本申请实施例的镗孔编程的刀位源文件的后处理方法的流程图。其中,所述刀位源文件为采用数控机床对待加工工件的多个同轴孔进行镗孔操作的程序文件,所述数控机床具体可以为加工中心。如图2所示,该方法包括以下步骤:
[0037] 步骤S201,根据预设的让刀距离、预设的主轴定向角以及所述刀位源文件中的第一移动位置,确定让刀位置在第一方向上的坐标和在第二方向上的坐标,以及根据所述刀位源文件中的第二移动位置以及第一预设刀补,确定所述让刀位置在第三方向上的坐标,得到所述让刀位置,并将控制所述数控机床的刀具移动至所述让刀位置的让刀程序写入数控程序模板中,所述主轴定向角为所述数控机床的主轴的定向固定角度,所述第一移动位置为第一次移动指令指示到达的位置,所述第二移动位置为倒数第二个循环加工指令指示到达的位置,所述第一预设刀补为所述数控机床的第一个精镗刃对刀点在所述第三方向上的刀补值,所述第一方向、所述第二方向以及所述第三方向两两相互垂直,且所述第三方向平行于多个所述同轴孔的中轴线;
[0038] 具体地,所述待加工工件中多个同轴孔间隔排布,多个所述同轴孔的中轴线重合,与所述第三方向平行。刀具包括多个镗刀结构,所述镗刀结构与所述同轴孔一一对应,所述数控机床的主轴带动所述刀具移动,控制多个镗刀结构同时对对应的多个所述同轴孔进行加工,在镗刀结构移动至对应的同轴孔的镗孔面的过程中,需要避让其不加工的同轴孔的毛坯面与镗模机构上的支撑导套,避免与这些未加工同轴孔的毛坯及导套发生干涉,所述让刀距离即镗刀结构需要避让的距离,所述让刀位置为各镗刀结构不与任一同轴孔的毛坯面和导套发生干涉的位置。所述镗孔面为所述同轴孔的待执行镗孔操作的表面。当所述刀具位于所述让刀位置的情况下,在所述第三方向上,同轴孔和镗刀结构按照最后一个同轴孔、最后一个镗刀结构、倒数第二个同轴孔、倒数第二个镗刀结构、……、第一个同轴孔、第一个镗刀结构的顺序排布。倒数第二个所述循环加工指令为采用倒数第二个镗刀结构对倒数第二个同轴孔进行加工的指令。所述第一个精镗刃为对第一个同轴孔进行镗孔操作的镗刀结构(即第一个镗刀结构)中的精镗刃。所述主轴上安装有镗杆。
[0039] 步骤S202,根据所述第一移动位置和所述第二移动位置,确定让刀后回正位置,将控制所述刀具移动至所述让刀后回正位置的回正程序写入所述数控程序模板中的所述让刀程序之后;
[0040] 具体地,所述让刀回正位置为所述刀具的各镗刀结构让刀后移动至对应的所述同轴孔的中轴线的位置。所述让刀回正位置可以与加工(镗孔)开始位置在第一方向和第二方向上的坐标相同。
[0041] 步骤S203,根据所述刀位源文件,确定加工处理参数,并将控制所述刀具按照所述加工处理参数运行的加工处理程序写入所述数控程序模板中的所述回正程序之后,得到控制所述数控机床加工的数控程序文件,所述数控程序文件用于对多个所述同轴孔同时执行所述镗孔操作。
[0042] 具体地,所述加工处理参数为对同轴孔进行镗孔操作时的控制参数,所述加工处理参数可以包括加工(镗孔)开始位置、加工(镗孔)结束位置以及进给量等加工(镗孔)过程参数。所述数控程序模板为控制数控机床加工的数控程序的模板文件,所述数控程序文件又叫做NC程序文件。
[0043] 通过所述实施例,首先根据让刀距离、主轴定向角以及刀位源文件中的第一移动位置,确定让刀位置在第一方向和第二方向上的坐标,以及根据刀位源文件中的第二移动位置以及第一预设刀补来确定让刀位置在第三方向上的坐标,从而得到让刀位置并将控制刀具移动至让刀位置的让刀程序写入数控程序模板中;然后,根据第一移动位置和第二移动位置,确定让刀后回正位置并将控制刀具移动至该让刀后回正位置的回正程序写入所述让刀程序之后;最后,根据所述刀位源文件确定加工处理参数,将控制刀具按照加工处理参数运行的加工处理程序写入回正程序之后,得到对待加工工件的多个同轴孔同时执行镗孔操作的数控程序文件。本申请在对刀位源文件进行后处理的过程中,根据让刀距离、主轴定向角和刀位源文件中的信息,分别确定让刀位置、让刀后回正位置以及加工处理参数,并对应生成让刀程序、让刀后的回正程序和加工处理程序写入数控程序模板中,得到数控程序文件,通过该数控程序文件可以自动控制数控机床对待加工工件的多个同轴孔同时进行镗孔操作,实现了在由刀位源文件转译为数控机床直接可用的程序的过程中自动添加让刀程序的效果,无需在得到NC程序后人工在其中添加让刀程序,解放了人力,解决了常规编程手段无法实现复杂的让刀动作,需要人工修改程序,造成人力资源浪费的问题。并且,相比于现有技术,本申请的方案提升了生成数控机床直接可用的数控程序文件的效率。
[0044] 需要说明的是,具有多个同轴孔的待加工工件位于带有支撑导套的镗模机构上,所述镗模机构位于所述数控机床的回转平台的限定位置上,所述限定位置用于一一对应地限定所述同轴孔,多个所述镗刀结构间隔位于所述镗杆上,第一个限定位置与第二个限定位置之间的距离以及第一个镗刀结构与第二个镗刀结构之间的距离相同,后面以此类推,使得所述限定位置与所述镗杆上的所述镗刀结构一一对应。此外,需要说明的是,所述的控制刀具移动至各个位置的程序中,均是控制主轴从原点移动至这些位置,从而带动刀具移动到对应位置,也相当于控制最后一个镗刀结构移动至这些位置,由于多个镗刀结构之间的位置固定,且与待加工工件的多个同轴孔的位置对应,通过所述移动可以带动每个镗刀结构到达对应位置。
[0045] 而且,每个所述镗刀结构包括一个精镗刃和一个粗镗刃,且粗镗刃在前。多个所述同轴孔可以包括主轴孔、凸轮轴孔以及惰轮轴孔。
[0046] 一种可选方案中,所述第一移动位置包括所述第一方向上的第一移动坐标值X0、所述第二方向上的第二移动坐标值Y0和所述第三方向上的第三移动坐标值Z0,记作位置(X0,Y0,Z0),所述第二移动位置包括所述第一方向上的第四移动坐标值X2、所述第二方向上的第五移动坐标值Y2和所述第三方向上的第六移动坐标值Z2,记作(X2,Y2,Z2),根据预设的让刀距离L、预设的主轴定向角SDIR以及所述刀位源文件中的第一移动位置,确定让刀位置在第一方向上的坐标和在第二方向上的坐标,以及根据所述刀位源文件中的第二移动位置以及第一预设刀补,确定所述让刀位置在第三方向上的坐标,包括:根据所述让刀距离、所述主轴定向角以及所述第一移动坐标值,确定第一补偿值为所述主轴定向角的余弦值与所述让刀距离的乘积,以及确定所述让刀位置在所述第一方向上的坐标X1为所述第一补偿值与所述第一移动坐标值之和,即X1=X0+L*cos(SDIR);根据所述让刀距离、所述主轴定向角以及所述第二移动坐标值,确定第二补偿值为所述主轴定向角的正弦值与所述让刀距离的乘积,以及确定所述让刀位置在所述第二方向上的坐标为所述第二补偿值与所述第二移动坐标值之和,即Y1=Y0+L*sin(SDIR);根据所述第六移动坐标值和所述第一预设刀补D3,确定所述让刀位置在第三方向上的坐标为所述第六移动坐标值和所述第一预设刀补之和,即Z2+D3。所述实施例中,根据主轴定向角将让刀距离转换为在第一方向上的让刀量和在第二方向上的让刀量,并在第一移动位置的基础上加上所述让刀量,得到所述让刀位置在所述第一方向上的坐标和在第二方向上的坐标,以及考虑到刀具磨损以及偏差等问题,在第二移动位置在第三方向上的坐标上增加所述第一预设刀补,得到所述让刀位置在所述第三方向上的坐标,可以得到较为准确的让刀位置,便于后续得到可以较为准确控制数控机床执行让刀动作的数控程序文件。
[0047] 其中,所述第六移动坐标值为倒数第二个同轴孔的镗孔结束位置与底偏置之和。每个所述同轴孔包括两个相对的镗孔面,按照镗孔先后顺序分别为顶镗孔面和底镗孔面,所述镗孔结束位置为倒数第二个同轴孔的靠近最后一个同轴孔的镗孔面(即倒数第二个同轴孔的底镗孔面)在第三方向上的坐标。所述底偏置为预设的偏置值。
[0048] 具体地,在确定让刀位置在第一方向上的坐标和在第二方向上的坐标之后,所述方法还包括:将控制所述主轴定向至所述主轴定向角的主轴定向程序写入所述数控程序模板,且位于所述让刀程序之前,也就是说,在让刀之前进行主轴定向旋转;更新所述第一移动位置为包括所述让刀位置在所述第一方向上的坐标、所述让刀位置在所述第二方向上的坐标和所述第三移动坐标值的位置,即更新后的第一移动位置为(X1,Y1,Z0),并将控制所述刀具移动至更新后的第一移动位置的初始移动程序写入所述数控程序模板,且位于所述主轴定向程序和所述让刀程序之间。本实施例先根据所述主轴定向角将控制所述主轴进行旋转的程序写入数控程序模板,实现了刀具移动之前的主轴位置初始化程序的写入,再根据让刀距离更新刀位源文件中的第一移动位置,并将控制刀具移动至更新后的第一移动位置的程序写入主轴定向程序之后,进一步地避免了刀具第一次移动过程镗刀结构与同轴孔之间发生干涉碰撞的问题。
[0049] 具体地,所述更新后的第一移动位置又叫做让刀起始位置。所述让刀位置又叫做让刀结束位置。一种示例性实施例中,当所述刀具位于所述让刀起始位置的情况下,在所述第三方向上,同轴孔和镗刀结构按照最后一个同轴孔、倒数第二个同轴孔、……、第一个同轴孔、最后一个镗刀结构、倒数第二个镗刀结构、……、第一个镗刀结构的顺序排布。
[0050] 进一步地,根据所述第一移动位置和所述第二移动位置,确定让刀后回正位置,包括:确定所述让刀后回正位置为包括所述第一移动坐标值、所述第二移动坐标值以及所述第六移动坐标值的位置,即所述让刀回正位置为(X0,Y0,Z2)。通过控制所述刀具从所述让刀位置到所述让刀后回正位置的程序,使得各个镗刀结构在所述第三方向上移动到对应的同轴孔的顶镗孔面的前方,且使得镗刀结构与对应的同轴孔在第一方向与第二方向构成的平面上的投影重叠,便于后续加工处理程序的执行。
[0051] 本申请的其他实施例中,在根据预设的让刀距离、预设的主轴定向角以及所述刀位源文件中的第一移动位置,确定让刀位置在第一方向上的坐标和在第二方向上的坐标之前,所述方法还包括:在接收到所述刀位源文件的后处理的启动操作的情况下,在显示面板显示编辑界面,所述编辑界面包括抓刀位置的编辑框、所述主轴的抓取角度的编辑框、刀具抓取方向矢量的编辑框、所述让刀距离的编辑框以及所述主轴定向角的编辑框;响应于作用在所述编辑界面上的预定操作,确定所述抓刀位置、所述主轴的抓取角度、所述刀具抓取方向矢量、所述让刀距离以及所述主轴定向角;根据所述刀位源文件中从起始程序到所述第一次移动指令之间的数据信息、所述抓刀位置、所述主轴的抓取角度以及所述刀具抓取方向矢量,将控制所述数控机床执行机内抓刀的初始化程序写入所述数控程序模板中的所述让刀程序之前。通过人机交互来设定所述抓刀位置、所述主轴的抓取角度、所述刀具抓取方向矢量、所述让刀距离以及所述主轴定向角的具体数值,再由这些值生成对数控机床进行初始化操作的程序并写入数控程序模板,通过该初始化程序可以使得绝对坐标系与用户建立的数控机床的机床坐标系对应上。
[0052] 在实际的应用过程中,所述刀位源文件位于CAM编程软件中,具体可以为NXCAM、MasterCAM、CIMATRON、PowerMILL等编程软件中,通过点击CAM编程软件中的后处理操作按钮,来生成所述刀位源文件的后处理的启动操作。所述显示面板为所述CAM编程软件所在的电子设备的显示面板。所述刀位源文件具体为通过CAM软件生成的包含刀具坐标数据、需要进行后处理的文件,一般为APT语言格式。本申请所述的后处理是将CAM软件生成的加工刀位源文件转换成特定机床可以识读的NC程序的过程。
[0053] 本领域技术人员通过操作抓刀位置的编辑框、所述主轴的抓取角度的编辑框、刀具抓取方向矢量的编辑框、所述让刀距离的编辑框以及所述主轴定向角的编辑框,实现对所述抓刀位置、所述主轴的抓取角度、所述刀具抓取方向矢量、所述让刀距离以及所述主轴定向角的设定。所述编辑框具体可以为输入框,也可以为选择框等形式显示在所述显示面板上。
[0054] 控制所述数控机床执行机内抓刀的初始化程序包括用于控制数控机床执行主轴抓取角度初始化的程序、用于控制数控机床抓到前执行回转台转动的程序以及用于控制数控机床执行抓刀位置初始化的程序。
[0055] 可选地,根据所述刀位源文件中从起始程序到所述第一次移动指令之间的数据信息、所述抓刀位置、所述主轴的抓取角度以及所述刀具抓取方向矢量,将控制所述数控机床执行机内抓刀的初始化程序写入所述数控程序模板中的所述让刀程序之前,包括:根据所述数据信息,确定所述刀具的名称、所述数控机床的回转台的回转中心位置以及所述第三方向的方向矢量,所述刀具以及所述待加工工件通过镗模机构限位在所述回转台上;根据所述方向矢量以及所述刀具抓取方向矢量,确定所述回转台的转动角度,所述转动角度为所述刀具抓取方向矢量与所述方向矢量之间的夹角;根据所述抓刀位置、所述转动角度以及所述回转中心位置,更新所述抓刀位置,得到更新后的抓刀位置,所述更新后的抓刀位置为所述回转台沿所述回转中心位置转动所述转动角度的情况下,对所述镗模机构上的所述刀具进行抓取的位置;生成包括所述刀具的名称、所述主轴的抓取角度、所述更新后的抓刀位置和所述转动角度的抓刀程序,并将所述抓刀程序写入所述数控程序模板中的所述让刀程序之前;生成控制所述刀具退回至第一安全位置的第一退刀程序,并将所述第一退刀程序写入所述数控程序模板中的所述抓刀程序之后且所述让刀程序之前。通过写入所述程序,使得数控程序文件具备控制回转台转动以带动刀具转动、再根据转动后的位置进行抓刀以及退刀、最后控制回转台转回原位置(即转动所述转动角度前的位置)的控制功能,通过控制刀具退回第一安全位置,避免回转台转回原位置的过程中与刀具发生干涉的问题。
[0056] 进一步地,根据所述方向矢量以及所述刀具抓取方向矢量,确定所述回转台的转动角度的具体过程为:BPOS=acos((TVEC*ZVEC)/(|TVEC|*|ZVEC|)),BPOS为所述转动角度,TVEC为所述刀具抓取方向矢量,ZVEC为所述方向矢量。根据所述抓刀位置、所述转动角度以及所述回转中心位置,更新所述抓刀位置,得到更新后的抓刀位置的具体过程为:
[0057] 确定更新后的抓刀位置在所述第一方向上的坐标为:
[0058] XPOS=cos(atan2(XORI‑XROT,ZORI‑ZROT)+BPOS*PI/180)*sqrt((XORI‑XROT)^2+(ZORI‑ZROT)^2)+XROT;
[0059] 确定更新后的抓刀位置在所述第二方向上的坐标为YPOS=YORI;
[0060] 确定更新后的抓刀位置在所述第三方向上的坐标为:
[0061] ZPOS=sin(atan2(XORI‑XROT,ZORI‑ZROT)+BPOS*PI/180)*sqrt((XORI‑XROT)^2+(ZORI‑ZROT)^2)+ZROT;其中,更新后的抓刀位置为(XPOS,YPOS,ZPOS),所述回转中心位置为(XROT,YROT,ZROT),所述抓刀位置为(XORI,YORI,ZORI),PI为圆周率。
[0062] 其中,所述第一方向、所述第二方向以及所述第三方向为绝对坐标系的方向向量。
[0063] 为了进一步地保证得到较为准确的加工处理参数,从而得到控制数控机床执行所述加工处理参数的数据程序来对数控机床进行镗孔操作的精准控制,根据本申请的又一些示例性方案,所述第一移动位置包括所述第一方向上的第一移动坐标值、所述第二方向上的第二移动坐标值和所述第三方向上的第三移动坐标值,根据所述刀位源文件,确定加工处理参数,包括:确定所述刀具的加工开始位置和加工结束位置在所述第一方向上的坐标为所述第一移动坐标,以及确定所述加工开始位置和所述加工结束位置在所述第二方向上的坐标为所述第二移动坐标;根据所述刀位源文件中的第三移动位置、镗孔深度、所述第一预设刀补和第二预设刀补,确定所述加工开始位置在所述第三方向上的坐标为所述第三移动位置在所述第三方向上的坐标与所述第二预设刀补之和,以及确定所述加工结束位置在所述第三方向上的坐标为所述镗孔深度与所述第一预设刀补之和,所述第三移动位置为最后一个所述循环加工指令指示到达的位置,所述镗孔深度为最后一个所述循环加工指令指示沿所述第三方向镗孔的深度值,所述第二预设刀补为所述数控机床的第一个粗镗刃对刀点在所述第三方向上的刀补值;从所述刀位源文件中读取包括主轴转速、所述刀具的进给量以及主轴正转指令的控制参数,得到包括所述加工开始位置、所述加工结束位置以及所述控制参数的所述加工处理参数。
[0064] 具体地,最后一个所述循环加工指令为采用最后一个镗刀结构对最后一个待加工工件进行加工的指令。所述第一个粗镗刃为对第一个待加工工件进行镗孔操作的镗刀结构(即第一个镗刀结构)中的粗镗刃。
[0065] 再一些可选实施例中,将控制所述刀具按照所述加工处理参数运行的加工处理程序写入所述数控程序模板中的所述回正程序之后,得到控制所述数控机床加工的数控程序文件,包括:将控制所述刀具按照所述加工处理参数运行的加工处理程序写入所述数控程序模板中的所述回正程序之后;生成控制所述刀具退回至第二安全位置的第二退刀程序,并将所述第二退刀程序写入数控程序模板中的所述加工处理程序之后;生成将所述刀具放至刀具收纳位置的放刀程序,并将所述放刀程序写入数控程序模板中的所述第二退刀程序之后,得到所述数控程序文件。通过生成加工处理程序、第二退刀程序和放刀程序,使得所述数控机床执行所述数控程序文件时可以实现对待加工工件的自动加工处理、退刀和放刀过程。
[0066] 所述第一安全位置和所述第二安全位置可以相同,也可以不同。
[0067] 具体地,在生成控制所述刀具退回至第二安全位置的第二退刀程序之前,所述方法还包括:根据所述让刀位置、所述第一移动位置以及第三预设刀补确定所述第二安全位置,其中,所述第二安全位置在所述第一方向上的坐标为所述让刀位置在所述第一方向上的坐标X1,所述第二安全位置在所述第二方向上的坐标为所述让刀位置在所述第二方向上的坐标Y1、所述第二安全位置在所述第三方向上的坐标为所述第三移动坐标值Z0与第三预设刀补之和,所述第三预设刀补为所述数控机床的镗杆最前端在所述第三方向上的刀补值,所述镗杆最前端为所述镗杆的位于所述第一粗镗刃远离第一精镗刃一侧的端点。
[0068] 具体地,所述镗杆以及多个所述镗刀结构的具体结构如图3所示,所述第一预设刀补为根据第一个精镗刃到镗杆装夹平面的距离确定的,所述第二预设刀补为根据第一个粗镗刃到镗杆装夹平面的距离确定的,所述第三预设刀补为根据镗杆最前端到镗杆装夹平面的距离确定的。
[0069] 为了使得本领域技术人员能够更加清楚地了解本申请的技术方案,以下将结合具体的实施例对本申请的镗孔编程的刀位源文件的后处理方法的实现过程进行详细说明。
[0070] 本实施例涉及一种具体的镗孔编程的刀位源文件的后处理方法,适用于采用带有导套的镗杆对多个同轴孔的工件同时进行镗孔操作的实施例,所述方法具体包括如下步骤:
[0071] 步骤S1:数据输入:
[0072] 刀轨编程完毕,得到刀位源文件后,启动后处理,触发镗杆让刀设置对话框(即编辑界面),对话框的具体内容见图4,其中,抓刀位置在绝对坐标系(绝对坐标系应与镗模与工件放置在机床上时的机床坐标系重合)下的原点坐标记为XORI、YORI、ZORI;主轴的抓取角度输入的值记为SPIC;刀具抓取方向矢量记为TVEC;让刀距离输入的值记为L;主轴定向角输入的值记为SDIR;
[0073] 步骤S2:让刀前数据处理:
[0074] 读取刀位源文件中“TOOL PATH”指令至第一次出现快速移动指令“RAPID”之间的数据,并对该段数据做如下处理:
[0075] 步骤S21:读取“TOOL”指令后的刀具名称,并在换刀程序段添加机内抓刀程序行,实施例为:
[0076] “CS_TPU(“$mom_tool_name”,1,SPIC,XPOS,YPOS,ZPOS,BPOS,1)”;其中:
[0077] $mom_tool_name表示刀具名称;SPIC表示主轴的抓取角度(°);XPOS表示X轴的抓取位置(mm);YPOS表示Y轴的抓取位置(mm);ZPOS表示Z轴的抓取位置(mm);BPO表示回转台转动角度(°);所述BPOS的值为刀具抓取方向在回转平面上与绝对坐标系Z轴的夹角,将绝对坐标系Z轴矢量记为ZVEC,以四轴卧式加工中心为例,计算公式如下:
[0078] BPOS=acos((TVEC*ZVEC)/(|TVEC|*|ZVEC|));
[0079] 所述XPOS、YPOS、ZPOS值计算方法如下:
[0080] 提取抓刀位置的绝对坐标值为XORI、YORI、ZORI,回转中心坐标值记为XROT,YROT,ZROT);
[0081] 基于绝对坐标值及BPOS计算XPOS、YPOS、ZPOS值,计算公式如下:
[0082] XPOS=cos(atan2(XORI‑XROT,ZORI‑ZROT)+BPOS*PI/180)*sqrt((XORI‑XROT)^2+(ZORI‑ZROT)^2)+XROT;
[0083] YPOS=YORI;
[0084] ZPOS=sin(atan2(XORI‑XROT,ZORI‑ZROT)+BPOS*PI/180)*sqrt((XORI‑XROT)^2+(ZORI‑ZROT)^2)+ZROT;
[0085] 步骤S22:在机内抓刀程序段后方添加自动退刀程序段;
[0086] 步骤S3:让刀数据处理:
[0087] 步骤S31:在初始移动位置添加主轴定向程序段“SPOS=SDIR”,用于控制主轴定向至主轴定向角;
[0088] 步骤S32:让刀起始位置计算:
[0089] 读取刀位源文件第一次出现快速移动指令“RAPID”后的坐标数据,将其中的X、Y、Z坐标值记为X0、Y0、Z0;根据偏心距离L更新NC程序初始移动坐标:
[0090] X1=X0+L*cos(SDIR);
[0091] Y1=Y0+L*sin(SDIR);
[0092] Z1=Z0;
[0093] 步骤S33:让刀结束位置计算:
[0094] (1)读取数据至“CYCLE/OFF”,记录“CYCLE/OFF”前出现的CYCLE次数,并获取倒数第二次“CYCLE”指令后的“GOTO”指令坐标,将其中的Z坐标记为Z2,如图5所示,Z2的值为:孔系倒数第二个孔面的结束位置+底偏置;
[0095] (2)屏蔽CYCLE循环输出的程序段,添加程序段“G0 G90 X1 Y1 Z2 D3”,D3为镗杆第一个精镗刃对刀点的径向刀补,即所述的第一预设刀补;
[0096] (3)添加刀具回正程序段“G0 G90 X0 Y0 Z2”;
[0097] 步骤S4:加工处理:
[0098] 步骤S41:加工开始位置计算:
[0099] (1)获取“CYCLE/OFF”前最后一次“CYCLE”指令后的“GOTO”指令坐标,将其中的Z坐标记为Z3,如图5所示,Z3的值为:孔系最后一个孔面的开始位置+顶偏置;
[0100] (2)添加程序段“G0 G90 X0 Y0 Z3 D2”,D2为镗杆第一个粗镗刃对刀点的径向刀补,即所述的第二预设刀补;
[0101] (3)输出程序段,其包含主轴转速、进给、主轴正转指令;
[0102] 步骤S42:加工结束位置计算:
[0103] 获取最后一次“CYCLE”指令镗孔深度值,记为Z4;添加程序段“G1 G90 X0 Y0 Z4 D2”;
[0104] 步骤S5:退刀处理:
[0105] 添加主轴停转及主轴定向程序段“SPOS=0 M5”;添加程序段“G1 G90 X0 Y0 Z2 D3”;添加程序段“G0 G90 X1 Y1”;添加主轴定向程序段“SPOS=SDIR”;添加程序段“G0 G90 X1 Y1 Z1 D1”,D1为镗杆最前端的径向刀补,即所述第三预设刀补;添加程序段“G0 G90 Z=500”。
[0106] 步骤S6:结束步骤:读取刀位源文件数据至“END‑OF‑PATH”,在工序结束位置添加放刀程序段:
[0107] “CS_TPU(“$mom_tool_name”,0,SPOS,XPOS,YPOS,ZPOS,BPOS,‑1)”。
[0108] 数控机床通过运行通过所述步骤得到的数控程序文件,对待加工工件进行加工的步骤如图6所示,具体步骤如下:镗杆让刀进入多个同轴孔,到达让刀开始位置;镗杆快速进刀至让刀结束位置;结束让刀,刀具回正;镗杆与导套支撑配合进刀至加工开始位置;带动镗杆对待加工工件进行加工并到达加工结束位置;主轴定向到固定角度(瓦盖结合面处);主轴定向退至加工开始位置;主轴定向至主轴定向角;镗杆退至让刀开始位置;镗杆让刀退出。
[0109] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0110] 本申请实施例还提供了一种镗孔编程的刀位源文件的后处理装置,需要说明的是,本申请实施例的镗孔编程的刀位源文件的后处理装置可以用于执行本申请实施例所提供的用于镗孔编程的刀位源文件的后处理方法。该装置用于实现所述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0111] 以下对本申请实施例提供的镗孔编程的刀位源文件的后处理装置进行介绍。
[0112] 图7是根据本申请实施例的镗孔编程的刀位源文件的后处理装置的示意图。其中,所述刀位源文件为采用数控机床对待加工工件的多个同轴孔进行镗孔操作的程序文件,所述数控机床具体可以为加工中心。如图7所示,该装置包括:
[0113] 第一确定单元10,用于根据预设的让刀距离、预设的主轴定向角以及所述刀位源文件中的第一移动位置,确定让刀位置在第一方向上的坐标和在第二方向上的坐标,以及根据所述刀位源文件中的第二移动位置以及第一预设刀补,确定所述让刀位置在第三方向上的坐标,得到所述让刀位置,并将控制所述数控机床的刀具移动至所述让刀位置的让刀程序写入数控程序模板中,所述主轴定向角为所述数控机床的主轴的定向固定角度,所述第一移动位置为第一次移动指令指示到达的位置,所述第二移动位置为倒数第二个循环加工指令指示到达的位置,所述第一预设刀补为所述数控机床的第一个精镗刃对刀点在所述第三方向上的刀补值,所述第一方向、所述第二方向以及所述第三方向两两相互垂直,且所述第三方向平行于多个所述同轴孔的中轴线;
[0114] 具体地,所述待加工工件中多个同轴孔间隔排布,多个所述同轴孔的中轴线重合,与所述第三方向平行。刀具包括多个镗刀结构,所述镗刀结构与所述同轴孔一一对应,所述数控机床的主轴带动所述刀具移动,控制多个镗刀结构同时对对应的多个所述同轴孔进行加工,在镗刀结构移动至对应的同轴孔的镗孔面的过程中,需要避让其不加工的同轴孔的毛坯面与镗模机构上的支撑导套,避免与这些未加工同轴孔的毛坯及导套发生干涉,所述让刀距离即镗刀结构需要避让的距离,所述让刀位置为各镗刀结构不与任一同轴孔的毛坯面和导套发生干涉的位置。所述镗孔面为所述同轴孔的待执行镗孔操作的表面。当所述刀具位于所述让刀位置的情况下,在所述第三方向上,同轴孔和镗刀结构按照最后一个同轴孔、最后一个镗刀结构、倒数第二个同轴孔、倒数第二个镗刀结构、……、第一个同轴孔、第一个镗刀结构的顺序排布。倒数第二个所述循环加工指令为采用倒数第二个镗刀结构对倒数第二个同轴孔进行加工的指令。所述第一个精镗刃为对第一个同轴孔进行镗孔操作的镗刀结构(即第一个镗刀结构)中的精镗刃。所述主轴上安装有镗杆。
[0115] 第二确定单元20,用于根据所述第一移动位置和所述第二移动位置,确定让刀后回正位置,将控制所述刀具移动至所述让刀后回正位置的回正程序写入所述数控程序模板中的所述让刀程序之后;
[0116] 具体地,所述让刀回正位置为所述刀具的各镗刀结构让刀后移动至对应的所述同轴孔的中轴线的位置。所述让刀回正位置可以与加工(镗孔)开始位置在第一方向和第二方向上的坐标相同。
[0117] 第三确定单元30,用于根据所述刀位源文件,确定加工处理参数,并将控制所述刀具按照所述加工处理参数运行的加工处理程序写入所述数控程序模板中的所述回正程序之后,得到控制所述数控机床加工的数控程序文件,所述数控程序文件用于对多个所述同轴孔同时执行所述镗孔操作。
[0118] 具体地,所述加工处理参数为对同轴孔进行镗孔操作时的控制参数,所述加工处理参数可以包括加工(镗孔)开始位置、加工(镗孔)结束位置以及进给量等加工(镗孔)过程参数。所述数控程序模板为控制数控机床加工的数控程序的模板文件,所述数控程序文件又叫做NC程序文件。
[0119] 通过所述实施例,通过第一确定单元根据让刀距离、主轴定向角以及刀位源文件中的第一移动位置,确定让刀位置在第一方向和第二方向上的坐标,以及根据刀位源文件中的第二移动位置以及第一预设刀补来确定让刀位置在第三方向上的坐标,从而得到让刀位置并将控制刀具移动至让刀位置的让刀程序写入数控程序模板中;通过第二确定单元根据第一移动位置和第二移动位置,确定让刀后回正位置并将控制刀具移动至该让刀后回正位置的回正程序写入所述让刀程序之后;通过第三确定单元根据所述刀位源文件确定加工处理参数,将控制刀具按照加工处理参数运行的加工处理程序写入回正程序之后,得到对待加工工件的多个同轴孔同时执行镗孔操作的数控程序文件。本申请在对刀位源文件进行后处理的过程中,根据让刀距离、主轴定向角和刀位源文件中的信息,分别确定让刀位置、让刀后回正位置以及加工处理参数,并对应生成让刀程序、让刀后的回正程序和加工处理程序写入数控程序模板中,得到数控程序文件,通过该数控程序文件可以自动控制数控机床对待加工工件的多个同轴孔同时进行镗孔操作,实现了在由刀位源文件转译为数控机床直接可用的程序的过程中自动添加让刀程序的效果,无需在得到NC程序后人工在其中添加让刀程序,解放了人力,解决了常规编程手段无法实现复杂的让刀动作,需要人工修改程序,造成人力资源浪费的问题。并且,相比于现有技术,本申请的方案提升了生成数控机床直接可用的数控程序文件的效率。
[0120] 所述镗孔编程的刀位源文件的后处理装置包括处理器和存储器,所述第一确定单元、所述第二确定单元以及所述第三确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的所述程序单元来实现相应的功能。所述模块均位于同一处理器中;或者,所述各个模块以任意组合的形式分别位于不同的处理器中。
[0121] 处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来现有技术中将刀位源文件转译为NC程序后需要人工修改才可用于实际加工,占用大量人力资源的问题。
[0122] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
[0123] 本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行所述镗孔编程的刀位源文件的后处理方法。
[0124] 本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述镗孔编程的刀位源文件的后处理方法。
[0125] 本发明实施例提供了一种数控机床系统,包括:
[0126] 数控机床;
[0127] 所述数控机床的控制器,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
[0128] 本文中的控制器可以是服务器、PC、PAD、手机等。
[0129] 本申请还提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时至少实现如下方法步骤的程序:
[0130] 步骤S201:根据预设的让刀距离、预设的主轴定向角以及所述刀位源文件中的第一移动位置,确定让刀位置在第一方向上的坐标和在第二方向上的坐标,以及根据所述刀位源文件中的第二移动位置以及第一预设刀补,确定所述让刀位置在第三方向上的坐标,得到所述让刀位置,并将控制所述数控机床的刀具移动至所述让刀位置的让刀程序写入数控程序模板中,所述主轴定向角为所述数控机床的主轴的定向固定角度,所述第一移动位置为第一次移动指令指示到达的位置,所述第二移动位置为倒数第二个循环加工指令指示到达的位置,所述第一预设刀补为所述数控机床的第一个精镗刃对刀点在所述第三方向上的刀补值,所述第一方向、所述第二方向以及所述第三方向两两相互垂直,且所述第三方向平行于多个所述同轴孔的中轴线;
[0131] 步骤S202:根据所述第一移动位置和所述第二移动位置,确定让刀后回正位置,将控制所述刀具移动至所述让刀后回正位置的回正程序写入所述数控程序模板中的所述让刀程序之后;
[0132] 步骤S203:根据所述刀位源文件,确定加工处理参数,并将控制所述刀具按照所述加工处理参数运行的加工处理程序写入所述数控程序模板中的所述回正程序之后,得到控制所述数控机床加工的数控程序文件,所述数控程序文件用于对多个所述同轴孔同时执行所述镗孔操作。
[0133] 显然,本领域的技术人员应该明白,所述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0134] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0135] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0136] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0137] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0138] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0139] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0140] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
[0141] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0142] 以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。