一种基于历史数据的数控机床主轴数据仿真方法与流程

文档序号:13821408阅读:222来源:国知局
一种基于历史数据的数控机床主轴数据仿真方法与流程

本发明总体上涉及数控机床领域,并且特别涉及用于数控机床仿真的方法和装置。



背景技术:

在数控加工领域,仿真作为一种辅助决策手段已经得到越来越广泛的应用。仿真的优势例如在于可在计算机上对加工中机床、刀具的切削运动和工件余量去除过程获得真实感的动态显示,从而实现快捷有效的零件程序检验。

尽管仿真方法具有得天独厚的优势,但基于物理模型的仿真方式制约了它的发展和在实际应用中的作用。如公开号为cn103869755a的中国专利,以国产高档数控机床为研究对象,在给定复杂结构件加工代码的基础上,通过vericut软件对加工过程进行仿真模拟,并对vericut软件进行二次开发,对加工代码进行分段处理,根据需求的切削功率值、最大和最小进给速度,反推各段加工代码的进给速度,并对各段内的进给速度语句进行修改,最大限度保持机床主轴功率输出曲线平滑,以上方法仿真出来的结果误差比较明显,需要进行多次修正,比较耗费时间。



技术实现要素:

总体上,本发明的实施例提出一种用于数控机床仿真的技术方案。

在一个方面,本发明的实施例提供一种用于数控机床仿真的方法。所述方法包括:获取对应于第一代码的数控机床的工作任务数据和运行状态数据,其中,所述工作任务数据用于表示所述数控机床的工作任务,所述运行状态数据用于表示响应于执行所述工作任务所述数控机床的状态;利用获取的工作任务数据和运行状态数据对所述第一代码进行优化,得到第二代码;获取对应于所述第二代码的数控机床的工作任务数据和运行状态数据;根据获取的工作任务数据和运行状态数据计算比较参数;以及响应于所述比较参数满足设定条件,得到仿真结果。

在另一方面,本发明的实施例提供一种用于数控机床仿真的装置。所述装置包括:第一获取模块,被配置为获取对应于第一代码的数控机床的工作任务数据和运行状态数据,其中,所述工作任务数据用于表示所述数控机床的工作任务,所述运行状态数据用于表示响应于执行所述工作任务所述数控机床的状态;第一优化模块,被配置为利用获取的工作任务数据和运行状态数据对所述第一代码进行优化,得到第二代码;第二获取模块,被配置为获取对应于所述第二代码的数控机床的工作任务数据和运行状态数据;计算模块,被配置为根据获取的工作任务数据和运行状态数据计算比较参数;以及满足分支模块,被配置为响应于所述比较参数满足设定条件,得到仿真结果。

在又一方面,本发明的实施例提供一种用于数控机床仿真的计算机系统。该计算机系统包括:一个或多个处理器;一个或多个计算机可读介质;存储在计算机可读介质上的用于由一个或多个处理器中的至少一个执行的计算机程序指令,所述计算机程序指令包括:用于获取对应于第一代码的数控机床的工作任务数据和运行状态数据的计算机程序指令,其中,所述工作任务数据用于表示所述数控机床的工作任务,所述运行状态数据用于表示响应于执行所述工作任务所述数控机床的状态;用于利用获取的工作任务数据和运行状态数据对所述第一代码进行优化,得到第二代码的计算机程序指令;用于获取对应于所述第二代码的数控机床的工作任务数据和运行状态数据的计算机程序指令;用于根据获取的工作任务数据和运行状态数据计算比较参数的计算机程序指令;以及用于响应于所述比较参数满足设定条件,得到仿真结果的计算机程序指令。

在再一方面,本发明的实施例提供一种计算机可读的存储介质,可用于数控机床仿真。该计算机可读存储介质上存储有至少一个可执行的计算机程序指令,该计算机程序指令包括用于执行上述方法各步骤的计算机程序指令

根据本发明的实施例,可以提高效率,更快的得到满足需求的仿真结果。

附图说明

通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中:

图1示出了适于用来实现本发明实施例的环境;

图2示出了适于用来实现本发明实施例的另一环境;

图3示出了根据本发明实施例的一种用于数控机床仿真的方法的示意性流程图;

图4示出了根据本发明实施例的一种计算比较参数的方法的示意性流程图;

图5示出了根据本发明实施例的一种用于数控机床仿真的方法的示意性流程图;

图6示出了根据本发明实施例的一种用于数控机床仿真的方法的示意性流程图;

图7示出了根据本发明实施例的g0代码对应的主轴电流的示意图;

图8示出了根据本发明实施例的g1代码对应的主轴电流的示意图;

图9示出了根据本发明实施例的重新排序后的点集的示意图;

图10示出了根据本发明实施例的仿真电流和g0代码对应的主轴电流对比的示意图;以及

图11示出了根据本发明实施例的一种用于数控机床仿真的装置的的示意性的结构框图。

在附图中,相同或相似的标号被用来表示相同或相似的元素。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,本发明还可以以其他各种形式实现而不应限制在下面描述的具体的实施方式。在此提供这些具体的实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

图1示出了适于用来实现本发明实施方式的示例性环境的方框图。该环境可以是一个具有简单计算能力的终端100,也可以是具有复杂计算能力的节点100。

该环境例如包括计算机可读介质101。这些介质例如可以是易失性和非易失性介质,也可以是可移动的和不可移动的介质,只要能够具有计算能力的节点访问即可。

该环境例如还可以包括一个或多个程序模块103,这些程序模块通常用于执行本发明所述描述的实施例中的功能和/或方法。

该环境例如还可以包括一个或多个具有计算能力的模块105。

该环境可以独立执行本发明实施方式中所描述的方法和/或功能个,也可以与外部设备107通信以协作完成相应的方法和/或功能。

当然,本领域技术人员可以理解,该终端100或计算节点100例如可以是服务器或者计算机,也可以是嵌入在数控机床内的计算系统等,本发明并不加以限制。

图2示出了适于用来实现本发明实施方式的示例性环境的方框图。该环境包括终端201和计算节点203。该环境例如可以是一个云环境,此时计算节点203例如为云服务器,终端201例如为数控机床。当然,应该理解,云环境的布局还有更多种,此处并不对本发明加以限制。

下面将具体描述本发明实施例的机制和原理。除非特别声明,在下文和权利要求中使用的术语“基于”表示“至少部分地基于”。术语“包括”表示开放性包括,即“包括但不限于”。术语“多个”表示“两个或更多”。术语“一个实施例”表示“至少一个实施例”。术语“另一实施例”表示“至少一个另外的实施例”。其他术语的定义将在下文描述中给出。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

下面参照图3对本发明一实施例提供的一种用于数控机床仿真的方法进行详细的描述。图3示出了根据本发明一实施例提供的用于数控机床仿真的方法300的示意性流程图。方法300包括以下步骤。

在步骤301,获取对应于第一代码的数控机床的工作任务数据和运行状态数据,其中,所述工作任务数据用于表示所述数控机床的工作任务,所述运行状态数据用于表示响应于执行所述工作任务所述数控机床的状态。在本发明一实施例中,第一代码用于让数控机床理解以执行加工任务。例如,第一代码可以为原始的g代码。随着今后的技术发展,若数控机床可以理解其他的更多的语言,第一代码也可以为使用该语言编写的代码。并且,第一代码既可以是编写完成的原始g代码,也可以是经过处理和/或优化的g代码。本发明对此并不加以限制。

为了描述更加方便,在此,以首次执行在数控机床上的g代码作为第一代码进行举例说明。可以理解,首次执行既可以是绝对意义上的首次执行,也就是说第一次将该g代码执行在数控机床上,也可以是相对意义上的首次执行,也即对于本方法而言的第一次执行,甚至可以是对于本方法而言的一个执行阶段中的第一次执行。

本发明一实施例中,工作任务数据用于表示数控机床的工作任务。工作任务数据可以在任务执行之前就获取,也可以在任务执行中获取。例如,在指令域内,按照指令序列和指令执行时间来分析g代码,可以得到该g代码所描述的工作任务数据。指令域例如为g代码指令序列和该指令序列在数控系统上顺序执行所对应的时间序列的集合。因此,指令域既包含了时间的先后顺序,也包含了指令执行的先后顺序。上面提到的指令序列号、指令执行时间等工作任务数据均可以在任务执行前获得。在任务执行前就可以获得的工作任务数据还包括进给速度、刀具轨迹、换刀信息、主轴转速、切削深度等工艺参数信息。当然这些工作任务数据也可以是执行中获取的,本发明对此并不加以限制。

本发明另一实施例中,运行状态数据用于表示响应于执行工作任务该数控机床的状态。运行状态数据例如为零件数控加工的质量、精度和/或效率等的直接或间接的定量描述。运行状态数据例如包括内部电控数据。内部电控数据例如包括在机床执行工作任务过程中,数控系统内部产生的由控制信号和反馈信号构成的电控数据。举例而言,内部电控数据例如包括:主轴功率、主轴电流、进给轴电流、位置跟随误差、指令位置、实际位置、指令速度、实际速度、指令加速度、实际加速度等。运行状态数据例如还可以包括通过外部传感器采集的物理和集合数据,例如切削力、温度、振动、声发射信号、空间误差、热变形、零件尺寸精度、零件形位精度和零件表面粗糙度等。

本发明一实施例中,步骤301中例如获取工作任务数据中的进给速度和运行状态数据中的主轴电流。在本发明另一实施例中,还可以获取工作任务数据中的代码行号。可以理解,代码行号例如为第几行也可以直接是标注的行号,标注的行号可以并非从1开始,也可以不连续,本发明对此并不加以限制。

可以理解,当g代码超过1行时,获取的工作任务数据和/或运行状态数据例如为一个集合。可以对g代码的每一行都获取相应的工作任务数据和/或运行状态数据,也可以选择其中的部分行获取相应的工作任务数据和/或运行状态数据。

举例而言,对于第一代码,获取的进给速度不但可以用实际的值来表示进给速度,还可以采用其他方式来表示进给速度,本发明并不加以限制。其中,j表示第j行代码,j为g代码的总行数。对于第一代码,获取的主轴电流

可以理解,在步骤301中,可以是部分数据在机床的实际运行中获取,而部分数据在实际运行前获取。当然,也可以是全部数据均在运行中获取。由于获取了数控机床实际运行的数据进行后续的仿真,可以得到很优的结果,并且减少了仿真所需要的次数、时间、计算量等。

在步骤303,利用获取的工作任务数据和运行状态数据对所述第一代码进行优化,得到第二代码。可以理解,可以采用多种优化方法对第一代码进行优化而得到第二代码。在本发明一实施例中,优化例如可以通过调整工作任务数据来实现。在本发明另一实施例中,优化例如可以通过调整进给速度来实现。在本发明另一实施例中,优化例如可以实施为:当前进给速度结合主轴电流计算新的进给速度,并将新的进给速度更新到当前代码中,得到优化后的代码。

在本发明一实施例中,可以通过调整进给速度,使得其中n的取值为自然数,n表示第n代码。可以理解,第一代码优化后得到第二代码,相应的第n代码优化后得到第n+1代码。那么第n+1代码中的进给速度就可以按照上面的公式进行更新。其中,表示第n代码的第j行的进给速度,表示第n+1代码的第j行的进给速度,k为可调节系数,为第n代码对应的目标电流,为第n代码的第j行的主轴平均电流。其中,目标电流为第n代码对应的主轴电流中的最大值或者平均值或者其他合理值。对于该具体的优化方法的实施,公开号为cn105334803a的中国专利申请中的内容全部加入在此以供参考和理解。

通过根据实际运行所涉及的数据对g代码进行优化,改变进给速度,从而可以更快的得到更优的g代码。

通过执行步骤303,可以得到第二代码。并且在得到第二代码的同时或者之后,可以获取第二代码的进给速度

在步骤305,获取对应于第二代码的数控机床的工作任务数据和运行状态数据。可以理解步骤305中的部分可以和步骤303并行执行,或者说步骤305中的部分可以通过步骤303完成。例如步骤303中在计算第二代码的进给速度时,可以就直接获得了第二代码的进给速度f2,而不用再次进行单独的获取。也就是说步骤305中的部分的获取可以在步骤303中完成。本实施例中,例如获取第二代码对应的主轴电流

在步骤307,根据获取的工作任务数据和运行状态数据计算比较参数。在本发明一实施例中,例如可以根据所有的获取的工作任务数据和运行状态数据计算比较参数。这样可以参考多次获取的工作任务数据和运行状态数据来计算比较参数,使得最后的仿真结果更为准确,也可以更快的得到最优的g代码。

在步骤309,响应于所述比较参数满足设定条件,得到仿真结果。在本发明一实施例中,仿真结果例如为最优的g代码。可以理解,仿真结果还可以是其他内容,例如仿真电流、主轴电流等,本发明并不加以限制。在步骤309中,得到仿真结果可以是通过计算和处理得到,也可以是将某一内容确定为仿真结果。例如,在仿真结果为最优g代码时,该优化后的g代码已经在之前的步骤中得到了,但是由于没有进行是否满足设定条件的判断,可以认为是没有被确定为最优的g代码。响应于判断满足了设定条件时,可以认为确定之前得到的g代码为最优g代码从而作为得到的仿真结果。

可以理解,通过使用实际的工作任务数据和运行状态数据进行优化,并根据优化前后的数据进行仿真,得到具体的比较参数,并根据比较参数和设定条件判断是否结束方法。可以理解,比较参数的选择可以是多种的,例如可以是仿真电流,或者可以是仿真其他主轴数据,还可以是仿真其他的值,只要可以作为一个标准与设定条件进行比较即可,本发明并不加以限制。以下为了描述方便,以比较参数为仿真电流为例进行说明。相应的可以设定不同的设定条件,例如仿真电流的方差是否小于第一代码对应的主轴电流的方差。当然还可以设定其他的设定条件,例如用比较参数的波动性和第一代码对应的数据的波动性进行比较,本发明并不对设定条件进行限制。通过观察仿真结果的波动性,可以调整优化参数,使得加工效率得到提升的同时仿真数据波动也较为平稳,准确快捷的得到最优的g代码。正如上面所描述的,通过根据实际的工作任务数据和运行状态数据对代码进行优化,可以更快的得到更优更准确的仿真结果,减少重复加工次数,节省时间和材料。

如图4所示,例如可以采用如图4所示的方法400来实现方法300中的步骤307。方法400包括以下步骤。

在步骤401,计算基础主轴电流比值集合β2i。基础主轴电流比值集合中的元素为其计算方法为其中j表示g代码的第j行,为第一代码对应的第j行的主轴电流,为第二代码对应的第j行的主轴电流。

在步骤403,计算基础进给速度比值集合β2f。基础进给速度比值集合中的元素为其计算方法为表示第二代码对应的第j行代码的进给速度,表示第一代码对应的第j行代码的进给速度。在本实施例中,步骤401和步骤403之间没有特定的执行顺序。

在步骤405,按照基础进给速度比值的设定顺序对其对应的进行重新排序得到新的基础主轴电流比值集合β2i′。在本发明一实施例中,例如可以将第j行代码的基础主轴电流比值和第j行代码的基础进给速度比值构成一个点可以理解,这个点既可以用表示,也可以用表示。按照从小到大的顺序对构成的点集进行重新排序,得到可以理解,还可以采用其他的排序方式,本发明对此并不加以限制。相应的,也就得到了新的基础进给速度比值集合β2f′。

在步骤407,利用所述新的基础主轴电流比值集合β2i′和所述第一代码对应的主轴电流集合i1得到仿真电流in+1-sim,将所述仿真电流in+1-sim作为比较参数。

本发明一实施例中,对于n=1的情况,也就是说,执行完步骤305后,计算仿真电流可以理解,若仿真电流i2-sim就满足了设定条件,则将第二代码作为仿真结果结束本方法。若仿真电流i2-sim没有满足设定条件,则可以按照如图5所示的方法执行。可以理解,由于仿真电流i2-si满足设定条件的概率较小,所以也可以考虑不计算n=1的情况,而直接针对n>1的情况才计算仿真电流。

本发明另一实施例中,对于n>1的情况,仿真电流in+1-s中的元素的计算方式例如为

在本发明一实施例中,例如可以通过得到。

在本发明另一实施例中,例如可以通过以及的插值获得。在本发明一实施例中,该插值例如可以通过以下步骤实现:计算第n+1代码对应的第n+1进给速度比值集合β(n+1)f,其中,将第n+1进给速度比值集合中的元素按照从小到大的顺序重新排序得到元素通过线性变换映射到新的基础进给速度比值集合β2f′的区间上;按照线性插值的方法,根据新的基础主轴电流比值集合β2i′插值得到第n+1主轴电流集合β(n+1)i。

在本发明一实施例中,如图3所示的方法300还可以包括更多的步骤,例如迭代地对g代码进行优化,获得最优的g代码。

本发明一实施例中,如图5所示,例如可以对方法300进行改变得到如图5所示的用于数控机床仿真的方法500。

步骤501,获取对应于第一代码的数控机床任务数据和运行状态数据。

步骤503,利用获取的工作任务数据和运行状态数据对所述第一代码进行优化,得到第二代码。

步骤505,获取对应于所述第二代码的数控机床的工作任务数据和运行状态数据。

步骤507,利用获取的对应于第n代码的工作任务数据和运行状态数据对所述第n代码进行优化,得到第n+1代码,其中n取值自然数,且n大于或者等于2。

步骤509,根据获取的工作任务数据和运行状态数据计算比较参数。

步骤511,响应于比较参数不满足设定条件,将n的取值增大1,获取对应于第n代码的数控机床的工作任务数据和运行状态数据,并返回执行步骤507。

步骤513,响应于比较参数满足设定条件,得到仿真结果。

可以理解,上述迭代的实际执行有多种变形。例如考虑到仿真电流i2-sim可能满足设定条件时,例如可以将步骤505实施为获取对应于第n代码的数控机床工作任务数据和运行状态数据。这样步骤511就可以实施为,响应于比较参数不满足设定条件,将n的取值增大1,并返回执行步骤505。

例如考虑到仿真电流i2-sim满足设定条件的可能性较小时,例如可以在步骤507之后执行获取第n+1代码对应的数控机床工作任务数据和运行状态数据,然后再执行步骤509。相应的,步骤511就响应于比较参数不满足设定条件,将n的取值增大1,并返回执行步骤507。可以理解,本领域技术人员还可以根据上述公开得到更多的迭代的具体实现方式,本发明对此并不加以限制。

通过上述迭代,当设定条件满足时,可以得到最优的g代码,避免了费时费力的反复加工。

本发明上述各实施例之间可以彼此参考和结合,从而得到更多的实施例。例如,如图6所示,为上述各实施例彼此参考、结合得到的实施例。下面结合图6,对本发明一实施例提供的用于数控机床仿真的方法600进行详细的描述。

在步骤601,响应于在数控机床a上运行g代码(称此时的g代码为g0)进行加工,采集带有进给速度和主轴电流的程序行号m以及g0中的进给速度还有g0对应的主轴电流其中行号的取值为m=1,2,…,m,m为g代码的总行数。可以理解,行号m既可以用实际的代码中的行号表示,也可以抽象为第几行来表示。

以钻工中心加工手机壳零件为例,进行进一步的详细描述。

截取的部分g0代码如下所示:

g91g28z0

g40g49g80g90g69

g55

t02m06

g05.1q1

g90

g0x-66.838y16.836s13000.m03

g43z12.9h02

z2.11

g1x-67.232y16.906f5000.

x-67.77

g17g2x-69.683y18.17i0.0j2.08

g3x-70.07y18.426i-.387j-.164

x-70.269y18.375i0.0j-.42

g2x-70.24y18.006i-2.301j-.369

g1y13.506

g2x-70.269y13.136i-2.33j0.0

g3x-70.07y13.086i.199j.37

x-69.822y13.167i0.0j.42

g0z12.9

g0x-58.082y3.686

z6.1

z.95

g1y5.886

y11.486

x-60.748

y5.886

x-63.415

y11.486

x-66.082

y5.886

g0z3.95

g0z6.1

x-69.891y-8.848

z4.28

可以看到,g0代码中的默认进给速度是5000mm/min。相应的,采集得到的主轴电流i0如图7所示。其中,图7的横轴表示m的取值,例如为第m行来表示,纵轴为主轴电流的取值。

在步骤603,利用对g0代码进行第一次优化。其中为针对指令域波形图在指令域内求得的初始目标电流,并且该初始目标电流是所有主轴电流的平均值或所有主轴电流的最大值或其他合理值;k为可调节系数;共同构成优化的目标电流;为第n次优化g代码的第m行指令的进给速度,为第m行优化后的进给速度。n的取值为自然数。

通过调整k的值,获得第一次优化后的g代码中的进给速度并获得第一次优化后的g代码(此处称为g1代码)。g1代码的部分如下所示:

g91g28z0

g40g49g80g90g69

g55

t02m06

g05.1q1

g90

g0x-66.838y16.836s13000.m03

/m08

g43z12.9h02

z2.11

g1x-67.232y16.906f5000

x-67.77f5000

g17g2x-69.683y18.17i0.0j2.08f5000

g3x-70.07y18.426i-.387j-.164f5000

x-70.269y18.375i0.0j-.42f5000

g2x-70.24y18.006i-2.301j-.369f5080

g1y13.506f5285

g2x-70.269y13.136i-2.33j0.0f5267

g3x-70.07y13.086i.199j.37f5248

x-69.822y13.167i0.0j.42f5272

g0z12.9

g0x-58.082y3.686

z6.1

z.95

g1y5.886f5212

y11.486f5215

x-60.748f5254

y5.886f5219

x-63.415f5284

y11.486f5244

x-66.082f5239

y5.886f5224

g0z3.95

g0z6.1

x-69.891y-8.848

z4.28

从g1代码中可以看出,与之前g0代码的进给速度都发生了变化。

在步骤605,响应于采用步骤603得到的g1代码对工件进行加工,采集程序行号m和进给速度以及主轴电流如图8所示的为g1代码对应的主轴电流。

在步骤607,根据步骤601和步骤605中采集的进给速度和主轴电流,计算进给速度比值和主轴电流比值其中,由此可以获得一系列的点集

在步骤609,按照从小到大的顺序对步骤607得到的点集进行排序,从而到新的点集针对上面的示例性g代码,排序后的新的点集可以参照图9。

在步骤611,对g代码进行第n次优化。具体的优化公式例如可以采用由此可以得到第n次优化后的进给速度可以理解,在进行第n次优化前需要先获取优化所需的数据,例如进给速度和主轴电流,此处不再赘述。

在步骤613,建立仿真公式其中,为第n次优化后的第m行的仿真电流;为第n次优化后的主轴电流的比值。

当n>1时,在计算时,例如可以采用下面的方法1或者方法2进行。

方法1,直接使得

方法2,将按照从小到大进行重新排序,得到再将通过线性变换映射到的区间上,然后按照线性插值的方法,插值得到

在n=2时,优化后的g代码例如示出如下:

g91g28z0

g40g49g80g90g69

g55

t02m06

g05.1q1

g90

g0x-66.838y16.836s13000.m03

/m08

g43z12.9h02

z2.11

g1x-67.232y16.906f5000

x-67.77f5000

g17g2x-69.683y18.17i0.0j2.08f5000

g3x-70.07y18.426i-.387j-.164f5000

x-70.269y18.375i0.0j-.42f5000

g2x-70.24y18.006i-2.301j-.369f5280

g1y13.506f6315

g2x-70.269y13.136i-2.33j0.0f6444

g3x-70.07y13.086i.199j.37f6418

x-69.822y13.167i0.0j.42f6339

g0z12.9

g0x-58.082y3.686

z6.1

z.95

g1y5.886f6188

y11.486f6158

x-60.748f6076

y5.886f6242

x-63.415f6359

y11.486f6207

x-66.082f6261

y5.886f6208

g0z3.95

g0z6.1

x-69.891y-8.848

z4.28

此时,优化后的仿真电流和第一次采集的主轴电流i0的对比如图10所示。

在步骤615,判断得到的仿真电流in-sim的波动性,若仿真电流in-sim的方差大于i0的方差,则返回步骤611进行再一次的仿真和优化,若仿真电流in-sim的方差小于i0的方差,则执行步骤617。

在步骤617,得到最后一次执行的g代码作为仿真结果。此时的g代码就是此次仿真最优的g代码。

例如,得到了i0的方差为0.0263,而第n次优化后仿真电流的方差为0.0197,此时仿真电流的离散程度更小、波动性更小,就可以结束此次的方法的执行了。此时得到的g代码就可以作为最优g代码用于实际加工了。

图11示出了根据本发明实施例提供的一种用于数控机床仿真的装置1100的示意性框图。该装置1100包括:第一获取模块1101,被配置为获取对应于第一代码的数控机床的工作任务数据和运行状态数据,其中,所述工作任务数据用于表示所述数控机床的工作任务,所述运行状态数据用于表示响应于执行所述工作任务所述数控机床的状态;第一优化模块1103,被配置为利用获取的工作任务数据和运行状态数据对所述第一代码进行优化,得到第二代码;第二获取模块1105,被配置为获取对应于所述第二代码的数控机床的工作任务数据和运行状态数据;计算模块1107,被配置为根据获取的工作任务数据和运行状态数据计算比较参数;满足分支模块1109,被配置为响应于所述比较参数满足设定条件,得到仿真结果。

本实施例提供的装置1100的具体实现可以参照相应的方法实施例,在此不再赘述。

在本发明一实施例中,装置1100例如还可以进一步包括:第n优化模块,被配置为利用获取的对应于第n代码的工作任务数据和运行状态数据对所述第n代码进行优化,得到第n+1代码,其中n取值自然数,且n大于或者等于2;第n+1获取模块,被配置为获取对应于所述第n+1代码的数控机床的工作任务数据和运行状态数据;以及不满足分支模块,被配置为响应于所述比较参数不满足设定条件,将n的取值增大1,并调用所述第n优化模块执行利用获取的对应于第n代码的工作任务数据和运行状态数据对所述第n代码进行优化。可以理解,参考方法实施例中的描述,迭代有不同的具体实现方案,相应的,装置1100的迭代的具体实现也有不同的具体方案,模块的功能可能会有相应的调整和变化,本领域技术人员根据上面的公开可以实施相应的调整和变化。

本发明一实施例中,优化包括调整工作任务数据。本发明另一实施例中,调整工作任务数据包括:根据当前进给速度结合主轴电流计算新的进给速度,并将所述新的进给速度更新到当前代码中,得到优化后的代码。具体的可以参照方法实施例,此处不再赘述。

本发明一实施例中,计算模块1107例如包括:第一计算子模块,被配置为根据所有获取的工作数据和运行状态数据计算比较参数。

本发明另一实施例中,计算模块1107包括:基础主轴电流比值计算子模块,被配置为计算基础主轴电流比值集合β2i,其中,所述基础主轴电流比值集合的元素表示第一代码对应的运行状态数据中第j行代码的主轴电流,表示第二代码对应的运行状态数据中第j行代码的主轴电流;基础进给速度比值计算子模块,被配置为计算基础进给速度比值集合β2f,其中,所述基础进给速度比值集合的元素表示第二代码对应的工作状态数据中第j行代码的进给速度,表示第一代码对应的工作状态数据中第j行代码的进给速度;第一排序子模块,被配置为按照所述基础进给速度比值的设定顺序对其对应的进行重新排序得到新的基础主轴电流比值集合β2i′;以及仿真电流获取子模块,被配置为利用所述新的基础主轴电流比值集合β2i′和所述第一代码对应的主轴电流集合i1得到仿真电流in+1-s,将所述仿真电流in+1-s作为比较参数。

本发明一实施例中,设定顺序包括:从小到大的顺序。

本发明一实施例中,仿真电流获取子模块,包括:第n+1进给速度比值计算子模块,被配置为计算第n+1进给速度比值集合β(n+1)f,其中,第n+1排序子模块,被配置为将第n+1进给速度比值集合中的元素按照从小到大的顺序重新排序得到元素映射子模块,被配置为将通过线性变换映射到新的基础进给速度比值集合β2f′的区间上,所述新的基础进给速度比值集合β2f′是按照所述设定顺序对所述基础进给速度比值集合β2f进行重新排序得到的;插值子模块,被配置为按照线性插值的方法,根据所述新的基础主轴电流比值集合β2i′插值得到第n+1主轴电流集合β(n+1)i;以及第n+1仿真电流计算子模块,被配置为根据所述第n+1主轴电流集合得到仿真电流集合in+1-s,其中所述仿真电流集合in+1-s的元素

本发明一实施例中,仿真电流获取子模块包括:第n+1主轴电流计算子模块,被配置为计算第n+1主轴电流集合β(n+1)i,其中所述第n+1主轴电流集合β(n+1)i中的元素第n+1仿真电流计算子模块,被配置为根据所述第n+1主轴电流集合得到仿真电流in+1-sim,其中所述仿真电流in+1-s的元素

可以理解,上述迭代的方案中,每次迭代既可以使用相同的功能模块,也可以每次迭代使用不同的功能模块,本发明对此并不加以限制,只要能够完成相应的功能即可。

为清晰起见,图11中没有示出装置1100所包括的所有可选单元或者子单元。上述方法实施例以及通过参考和结合能够得到的实施例所描述的所有特征和操作分别适用于装置1100,故在此不再赘述。

本领域技术人员可以理解,装置1100中单元或子单元的划分不是限制性的而是示例性的,是为了更为方便本领域技术人员理解,从逻辑上描述其主要功能或操作。在装置1100中,一个单元的功能可以由多个单元来实现;反之,多个单元也可由一个单元来实现。本发明并不对此加以限制。

同样的,本领域技术人员可以理解,可以采用各种方式来实现装置1100所包含的单元,包括但不限于软件、硬件、固件或其任意组合,本发明并不对此加以限制。

本发明可以是系统、方法、计算机可读的存储介质和/或计算机程序产品。计算机可读存储介质例如可以是能够保持和存储由指令执行设备使用的指令的有形设备。

计算机可读/可执行的程序指令可以从计算机可读存储介质下载到各个计算/处理设备,也可以通过各种通信方式下载到外部计算机或外部存储设备。本发明并不具体限制用于实现计算机可读/可执行的程序指令的具体编程语言或者指令。

这里参照根据本发明实施例的方法、装置(系统)的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读/可执行的程序指令实现。

以上已经描述了本发明的各实施例,如上描述中已经说明,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例,各实施例之间彼此可以参考和结合得到更多的实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。

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