CN111381555B - 一种多轴运动控制方法及多轴运动设备 - Google Patents

一种多轴运动控制方法及多轴运动设备 Download PDF

Info

Publication number
CN111381555B
CN111381555B CN201811620736.3A CN201811620736A CN111381555B CN 111381555 B CN111381555 B CN 111381555B CN 201811620736 A CN201811620736 A CN 201811620736A CN 111381555 B CN111381555 B CN 111381555B
Authority
CN
China
Prior art keywords
motion
axis
processor
control
target
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
Application number
CN201811620736.3A
Other languages
English (en)
Other versions
CN111381555A (zh
Inventor
刘庆福
刘伟
单丽
刘江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hongjing Microelectronics Technology Co.,Ltd.
Original Assignee
Hefei Macrosilicon Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei Macrosilicon Technology Co ltd filed Critical Hefei Macrosilicon Technology Co ltd
Priority to CN201811620736.3A priority Critical patent/CN111381555B/zh
Publication of CN111381555A publication Critical patent/CN111381555A/zh
Application granted granted Critical
Publication of CN111381555B publication Critical patent/CN111381555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32105Calculate machining axis, best feasible orientation for machining

Abstract

本申请实施例提供了一种多轴运动控制方法及设备,获取多轴运动设备的目标运动轴运动的控制指令;控制所述第一处理器对所述控制指令进行指令前瞻;基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动。这样,通过设备中的第一处理器对控制指令进行指令前瞻,再通过第二处理器控制目标运动轴执行指令前瞻得到的运动状态指令,使得控制指令可以通过模块化的方式得到分步处理和控制,以快速、高效地实现多轴联动控制,为多轴运动自动化提供了一个低成本、高效率、高精度的解决方案,而且可以实现模块化控制,易于扩展,便于实现高效通讯和兼顾实时性。

Description

一种多轴运动控制方法及多轴运动设备
技术领域
本申请涉及数控技术领域,具体而言,涉及一种多轴运动控制方法及多轴运动设备。
背景技术
随着科学技术的不断发展,在现有的制造工业中,数控技术成为现代化工业生产和工业化技术中必不可少的技术,如在电子、航空、汽车等的精密零器件加工设备的工业生产中,以及如机器人运动等的工业控制中。
目前的数控系统中,其对G指令的插补计算都是由处理器通过软件分析计算出各轴的脉冲量及速度,然后直接由处理器通过定时器产生脉冲信号给各轴控制器。但是,由于数控系统中的脉冲计算及输出是采用中断服务程序完成,因而随着设备中运动轴轴数的增多,中断时间将越来越长,这样就限制了轴数的增加及脉冲输出频率的提高,无法高速并行处理。
发明内容
有鉴于此,本申请实施例提供一种多轴运动控制方法及设备,能够快速、高效地实现多轴联动控制,为多轴运动自动化提供了一个低成本、高效率、高精度的解决方案。
一方面,本申请实施例提供了一种驾多轴运动控制方法,所述方法应用于包括第一处理器和至少一个第二处理器的多轴运动设备,所述方法包括:
获取多轴运动设备的目标运动轴运动的控制指令;
控制所述第一处理器对所述控制指令进行指令前瞻;
基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动。
进一步的,所述控制所述第一处理器对所述控制指令进行指令前瞻,包括:
控制所述第一处理器对所述控制指令进行解析处理;
基于对所述控制指令解析处理的结果,对所述控制指令进行拆分处理;
基于对所述控制指令的拆分结果,确定控制所述目标运动轴运动的多个运动状态指令。
进一步的,所述运动状态指令包括运动方向、运动距离、入口速度、加速度、目标速度、除去加速距离、减速距离和运动模式中的至少一者。
进一步的,在所述控制所述第一处理器对所述控制指令进行指令前瞻之后,所述方法包括:
将指令前瞻后得到的多个运动状态指令存储至目标缓存区,其中,优先存储到所述目标缓存区中运动状态指令优先读取;
控制所述第二处理器读取所述多个运动状态指令。
进一步的,所述基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动,包括:
通过所述第二处理器识别所述多个运动状态指令;
基于所述多个运动状态指令,生成与每个运动状态指令对应的脉冲控制指令;
通过所述第二处理器将多个脉冲控制指令控制发送至所述目标运动轴;
控制所述目标运动轴按照所述多个脉冲控制指令进行运动。
进一步的,在所述基于存储的所述多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动之后,所述方法包括:
检测所述目标运动轴的运动偏差;
确定所述运动偏差是否在预设偏差阈值内;
若所述运动偏差在所述预设偏差阈值内,基于所述运动偏差,对所述目标运动轴的运动进行补偿。
进一步的,在所述确定所述运动偏差是否在预设偏差阈值内之后,所述方法包括:
如所述运动偏差超出所述预设偏差阈值,控制所述第二处理器中断所述多个运动状态指令的获取;
检测所述目标运动轴的运动信息,并将所述运动信息发送至所述第一处理器;
基于所述运动信息,控制所述第一处理器对所述目标运动轴重新进行控制指令的指令前瞻。
另一方面,本申请实施例还提供一种多轴运动控制设备,所述多轴运动控制设备包括第一处理器和至少一个第二处理器,所述多轴运动控制设备包括:
获取模块,用于获取多轴运动设备的目标运动轴运动的控制指令;
第一控制模块,用于控制所述第一处理器对所述控制指令进行指令前瞻;
第二控制模块,用于基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动。
进一步的,所述第一控制模块具体用于:
控制所述第一处理器对所述控制指令进行解析处理;
基于对所述控制指令解析处理的结果,对所述控制指令进行拆分处理;
基于对所述控制指令的拆分结果,确定控制所述目标运动轴运动的多个运动状态指令。
进一步的,所述运动状态指令包括运动方向、运动距离、入口速度、加速度、目标速度、除去加速距离、减速距离和运动模式中的至少一者。
进一步的,所述多轴运动控制设备包括:
存储模块,用于将指令前瞻后得到的多个运动状态指令存储至目标缓存区,其中,优先存储到所述目标缓存区中运动状态指令优先读取;
读取模块,用于控制所述第二处理器读取所述多个运动状态指令。
进一步的,所述第二控制模块具体用于:
通过所述第二处理器识别所述多个运动状态指令;
基于所述多个运动状态指令,生成与每个运动状态指令对应的脉冲控制指令;
通过所述第二处理器将多个脉冲控制指令控制发送至所述目标运动轴;
控制所述目标运动轴按照所述多个脉冲控制指令进行运动。
进一步的,所述多轴运动控制设备包括:
第一检测模块,用于检测所述目标运动轴的运动偏差;
确定模块,用于确定所述运动偏差是否在预设偏差阈值内;
补偿模块,用于若所述运动偏差在所述预设偏差阈值内,基于所述运动偏差,对所述目标运动轴的运动进行补偿。
进一步的,所述多轴运动控制设备还包括:
第三控制模块,用于如所述运动偏差超出所述预设偏差阈值,控制所述第二处理器中断所述多个运动状态指令的获取;
第二检测模块,用于检测所述目标运动轴的运动信息,并将所述运动信息发送至所述第一处理器;
第四控制模块,用于基于所述运动信息,控制所述第一处理器对所述目标运动轴进行控制指令的指令前瞻。
另一方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如上述的多轴运动控制方法的步骤。
另一方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述的多轴运动控制方法的步骤。
本申请实施例提供的多轴运动控制方法及设备,获取多轴运动设备的目标运动轴运动的控制指令;控制所述第一处理器对所述控制指令进行指令前瞻;基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动。这样,通过设备中的第一处理器对控制指令进行指令前瞻,再通过第二处理器控制目标运动轴执行指令前瞻得到的运动状态指令,使得控制指令可以通过模块化的方式得到分步处理和控制,以快速、高效地实现多轴联动控制,为多轴运动自动化提供了一个低成本、高效率、高精度的解决方案,而且可以实现模块化控制,易于扩展,便于实现高效通讯和兼顾实时性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例所提供的多轴运动控制方法的流程图;
图2为本申请另一实施例所提供的多轴运动控制方法的流程图;
图3为两个数据块之间速度示意图;
图4为G代码拆分中加速拆分状态的示意图;
图5为G代码拆分中匀速拆分状态的示意图;
图6为G代码拆分中减速拆分状态的示意图;
图7为G代码拆分中优先减速拆分状态的示意图;
图8为本申请实施例提供的多轴运动控制设备的结构图之一;
图9为本申请实施例提供的多轴运动控制设备的结构图之二。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的多轴运动控制方法的流程图。所述方法应用于多轴运动设备,所述多轴运动设备包括至少包括第一处理器和第二处理器。如图1中所示,所述方法包括:
步骤101、获取多轴运动设备的目标运动轴运动的控制指令。
该步骤中,在多轴运动设备需要通过所述多轴运设备上的运动轴移动来进行零部件加工,如加工机床等加工零部件,或者是多轴运动设备需要通过所述多轴运设备上的运动轴移动来实现,如机器人等需要进行运动时,可以先获取到所述多轴运动设备的目标运动轴运动的控制指令。
其中,所述目标运动轴为所述多轴运动设备上的多个运动轴中的任意一个。
其中,所述控制指令,可以是指数控程序中的G指令或者G代码,使用G指令或者G代码可以实现快速定位、逆圆插补、顺圆插补、中间点圆弧插补、半径编程、跳转加工等工序。
其中,获取所述控制指令,可以是所述多轴运动设备实时接收用户输入的操作指令,并确定与操作指令对应的控制指令,再将确定的控制指令发送给所述第一处理器进行执行,也可以是在所述多轴运动设备中预先存储有控制所述多轴运动设备动作的程序指令,在所述多轴运动设备执行时,通过所述第一处理器从预先存储的程序指令中获取到对应的控制指令。
步骤102、控制所述第一处理器对所述控制指令进行指令前瞻。
该步骤中,所述多轴运动设备在获取到所述控制指令后,可以对所述控制指令进行识别和规划等,来确定要怎样控制所述目标运动轴进行运动,具体的,可以是控制所述第一处理器使用识别和前瞻性算法,来对所述控制指令进行识别,进而对所述控制指令进行指令前瞻,从而实现对所述控制指令的解析。
其中,所述第一处理器,可以是如ARM处理器等微处理器。
其中,对控制指令进行指令前瞻,可以是指对G代码的的解析并进行速度前瞻,速度前瞻的主要作用是计算每条G代码拆分成不同的数据块,每个数据块均为独立单元,存储了当前行G代码的运动数据,如运动方向(dir)、运动距离(L)、入口速度(Vi)、加速度(a)、目标速度(Vm)、除去加速距离(accele_except)、减速距离(decele_only)及此行G代码第1个数据块的运动模式(Mode)等。
这样,ARM处理器只实现部分功能,与硬件相关的脉冲及输入输出控制均由FPGA实现,处理器完成了G代码前瞻控制后,FPGA自动会根据分析当前状态,进行加减速规划,然后根据规划好的速度曲线按照插补算法输出对应的脉冲到各轴驱动器,实现多轴运动设备中运动轴的运动控制。再者,本方案使用功能的分块处理,可以通过FIFO接口实现FPGA的扩展,从而不会受到因为多轴运动设备运动轴数量过多,导致的数据处理无法处理或者处理慢的的问题。
本申请实施例提供的多轴运动控制方法,获取多轴运动设备的目标运动轴运动的控制指令;控制所述第一处理器对所述控制指令进行指令前瞻;基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动。这样,通过设备中的第一处理器对控制指令进行指令前瞻,再通过第二处理器控制目标运动轴执行指令前瞻得到的运动状态指令,使得控制指令可以通过模块化的方式得到分步处理和控制,以快速、高效地实现多轴联动控制,为多轴运动自动化提供了一个低成本、高效率、高精度的解决方案,而且可以实现模块化控制,易于扩展,便于实现高效通讯和兼顾实时性。
请参阅图2,图2为本申请另一实施例提供的一种多轴运动控制方法的流程图。所述方法应用于多轴运动设备,所述多轴运动设备包括至少包括第一处理器和第二处理器。如图2中所示,所述方法包括:
步骤201、获取多轴运动设备的目标运动轴运动的控制指令。
步骤202、控制所述第一处理器对所述控制指令进行指令前瞻。
步骤203、基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动。
步骤204、检测所述目标运动轴的运动偏差。
该步骤中,在通过所述第二处理器控制所述目标运动轴根据所述多个运动状态指令进行运动时,可以是对所述目标运动轴的运动情况进行实时检测,来检测所述目标运动轴是否按照所述多个运动状态指令对应的运动信息进行运动,或者是否出现了较大的运动偏差。
其中,检测所述运动偏差,可以是通过所述第二处理器对所述目标运动轴的运动状态进行检测,从而确定所述运动偏差。
步骤205、确定所述运动偏差是否在预设偏差阈值内。
该步骤中,在检测到所述目标运动轴发生运动偏差后,可以将苏搜狐运动偏差与预设偏差阈值进行比较,来看所述目标运动轴的运动偏差是否过大,以此来判断是否需要对所述目标运动轴进行校正。
其中,所述预设偏差阈值,可以是根据所述多轴运动设备的运动精度或者是对零部件的加工进度来进行设定的。
步骤206、若所述运动偏差在所述预设偏差阈值内,基于所述运动偏差,对所述目标运动轴的运动进行补偿。
该步骤中,如果确定出所述运动偏差在所述预设偏差阈值内,则认为所述目标运动轴的运动偏差不大,在可接受的范围内,并且可以通过运动补偿,是所述目标运动轴回到与所述多个运动状态指令对应的运动状态中,此时,可以根据检测到的所述运动偏差,结合所述多个运动状态指令所对应的所述目标运动轴原本应该处在的运动状态,来对对所述目标运动轴的运动进行补偿,以纠正运动偏差。
其中,步骤201至步骤203的描述可参照步骤101至步骤103的描述,并可以达到相同的技术效果,再次不做赘述。
可选的,在步骤206之后,所述方法包括:
如所述运动偏差超出所述预设偏差阈值,控制所述第二处理器中断所述多个运动状态指令的获取;检测所述目标运动轴的运动信息,并将所述运动信息发送至所述第一处理器;基于所述运动信息,控制所述第一处理器对所述目标运动轴重新进行控制指令的指令前瞻。
该步骤中,如果确定出所述运动偏差超出所述预设偏差阈值的话,则认为所述目标运动轴产生的运动偏差已经较大,无法继续运动,所述多轴运动设备可以通过控制所述第二处理器来终端所述多个运动状态指令的获取,从而控制所述目标运动轴停止运动,然后可以对所述目标运动轴的实际运动运动情况进行检测,来确定所述目标运动轴的实际的运动信息,然后将所述运动信息发送至所述第一处理器,接着,可以结合所述运动信息,以及重新获取到的所述目标运动轴的控制指令,控制所述第一处理器对所述目标运动轴重新进行控制指令的指令前瞻。
具体的,在一种实施例中,可以是实时检测目标运动轴的脉冲信号个数,当目标运动轴发出去的脉冲与反馈回来的编码器差值在可许范围内时,FPGA会自动再补偿几个脉冲,以对目标运动轴进行运动补偿;当两者差值过大时,FPGA会产生中断,通知ARM处理器,目前电机走位;如果相等,则FPGA直接退出,继续读取“脉冲FIFO”,直到数据处理完毕。
可选的,步骤202包括:
控制所述第一处理器对所述控制指令进行解析处理;基于对所述控制指令解析处理的结果,对所述控制指令进行拆分处理;基于对所述控制指令的拆分结果,确定控制所述目标运动轴运动的多个运动状态指令。
该步骤中,所述多轴运动设备在获取到所述控制指令后,可以控制所述第一处理器对所述控制指令进行解析处理,来对所述控制指令进行识别,从而确定所述控制指令中对所述目标运动轴的运动信息具有哪些指示,然后根据对所述控制指令解析处理的结果,可以按照不同的运动状态或者运动方式等对所述控制指令进行拆分处理,来得到不同拆分结果对应的不同的运动状态指令,进而确定控制所述目标运动轴运动的多个运动状态指令。
其中,对所述控制指令进行拆分处理,可以是通过所述第一处理器本身进行拆分,也可以是所述第一处理器控制的所述多轴运动设备中的速度曲线状态机模块对所述控制指令进行拆分。举例来讲,如对G代码的拆分,速度曲线状态机模块可以把当前行G代码,规划成7中不同的曲线形态,即仅匀速、匀速后减速、仅加速、加速后匀速、加速后减速、加速后匀速再减速、仅减速运动。
在一种实施例中,对G代码的拆分的过程,可以是以一个固定的单位时间(time_loop)运动,根据加速度、距离、当前的速度求出目标运动轴在下一时刻的速度,以及此时刻内目标运动轴的运动距离,再根据剩下的距离与仅减速的距离关系求出下一时刻目标运动轴的运动状态,若运动距离小于设备设定的最小步,则可以再增加一个单位时间循环上述运动。如图3中所示,图3为两个数据块之间速度示意图,以速度前瞻计算为例,速度前瞻计算主动计算最优速度计划的数据块块入口速度,而不计算数据块块内部速度。两个数据块中的速度连接时,上个数据块的出口速度即为下个数据块的入口速度,所以出口速度不需要计算。
举例来讲,在本实施例中,在进行G代码的拆分时,可以是根据“G代码第1个数据块的运动模式”拆分为四个拆分状态,分别为加速拆分状态、减速拆分状态、匀速拆分状态、优先减速拆分状。
请同时参阅图4,图4为G代码拆分中加速拆分状态的示意图,对于加速拆分状态(加速度a、距离L、仅减速距离decele_only、除去加速的距离accele_except,当前速度present_speed、剩余距离mm_rest),加速状态运动时存在三种情况,仅加速、加速后匀速、加速后减速。具体的可以通过以下步骤进行拆分:
首先根据加速运动固定的时间间隔time_loop,计算剩余距离mm_rest=L-(present_speed+0.5*a*time_loop)。
然后判断剩余距离mm_rest与除去加速的距离accele_except大小,若mm_rest>accele_except,则一直以time_loop的间隔加速运动,否则判断剩余距离与减速距离decele_only大小。
若剩余距离mm_rest与减速距离decele_only相等,则进入减速状态,否则进入匀速状态。
若进入减速状态,则可以控制所述多轴运动设备的拆分状态机的状态为“减速状态”;若进入匀速状态,则可以控制所述多轴运动设备的拆分状态机的状态为“匀速状态”。
请同时参阅图5,图5为G代码拆分中匀速拆分状态的示意图,对于匀速拆分状态(目标速度为Vm、减速距离decele_only、距离L、剩余距离mm_rest),具体的可以通过以下步骤进行拆分:
首先根据匀速运动固定的时间间隔time_loop运动,并计算剩余距离mm_rest=L-time_loop*Vm。
然后判断剩余距离mm_rest与减速距离decele_only的大小,若mm_rest<decele_only,则开始进入减速状态,否则一直以time_loop的间隔匀速运动。
若进入减速状态,则可以控制所述多轴运动设备的拆分状态机的状态为“减速状态”。
请同时参阅图6,图6为G代码拆分中减速拆分状态的示意图,对于减速拆分状态(当前速度present_speed、加速度a、剩余距离mm_rest),具体的可以通过以下步骤进行拆分:
首先按照减速运动固定的时间间隔time_loop运动,并计算剩余距离mm_rest,mm_rest=time_loop*(present_speed-0.5*a*time_loop)。
然后可以比较当前速度present_speed与a*time_loop大小,若present_speed>a*time_loop,则一直以time_loop的间隔减速运动,否则走到数据块的末尾,强制减速。
请同时参阅图7,图7为G代码拆分中优先减速拆分状态的示意图,对于优先减速拆分状态(最大速度为max_speed,即目标速度、减速距离decele_only、当前速度present_speed、加速度a),优先减速存在两种情况:优先减速状态、匀速状态。具体的可以通过以下步骤进行拆分:
优先减速运动可以是以固定的时间间隔time_loop运动,通过比较present_speed-max_speed的差值和a*time_loop大小,若差值大于a*time_loop,一直以time_loop的间隔优先减速运动,否则运动到最后一个time_loop,进入匀速状态。
若进入匀速状态,则可以控制所述多轴运动设备的拆分状态机的状态为“匀速状态”。
在一种实施例中,具体的,(1)通过ARM进行速度前瞻计算,计算出所述多轴运动设备中目标运动轴的运动方向(dir)、运动距离(L)、入口速度(Vi)、加速度(a)、目标速度(Vm)、除去加速距离(accele_except)、减速距离(decele_only)及此行G代码第1个数据块的运动模式(Mode),将相应数据存储到块数据结构中;(2)判断块数据是否为空,若为空则运动结束;否则运动继续,从块数据结构中读取一个块数据;(3)控制拆分状态机对块数据进行拆分,判断块数据是否拆分完成,若未完成,则将拆分数据运动时间time_loop、运动距离mm_distance存储在脉冲FIFO中;否则继续从块数据中取出一个块数据,循环(3)直到块数据为空,运动结束;(4)
FPGA取“脉冲FIFO”数据,采用DDA算法进行脉冲的发送。循环上述1-4步过程,即可实现对G代码的闭环控制。
可选的,在步骤202之后,所述方法包括:
将指令前瞻后得到的多个运动状态指令存储至目标缓存区,其中,优先存储到所述目标缓存区中运动状态指令优先读取;控制所述第二处理器读取所述多个运动状态指令。
该步骤中,在所述第一处理器对所述控制指令进行指令前瞻,确定多个运动状态指令,可以控制将指令前瞻后得到的多个运动状态指令存储至目标缓存区,并且可以控制所述第二处理器从所述目标缓存区中读取所述多个运动状态指令。
其中,优先存储到所述目标缓存区中运动状态指令优先读取。优选的,所述目标缓存区使用的存储方式为FIFO存储,其为先入先出的缓冲区,由FPGA内部的DPRAM搭建,功能类似芯片IDT7203,是一种异步通讯机制。即写入到FIFO的速度,与读取的速度可以不一致。因此本发明保证了处理器写入G代码连续性和脉冲的连续稳定输出。
可选的,步骤203包括:
通过所述第二处理器识别所述多个运动状态指令;基于所述多个运动状态指令,生成与每个运动状态指令对应的脉冲控制指令;通过所述第二处理器将多个脉冲控制指令控制发送至所述目标运动轴;控制所述目标运动轴按照所述多个脉冲控制指令进行运动。
该步骤中,在通过所述第一处理器对所述控制指令进行指令前瞻得到多个运动状态指令后,可以控制所述第二处理器读取所述多个运动状态指令,并对所述多个运动状态指令进行识别,来识别出需要控制所述目标运动轴运动的运动信息等,然后对应每个运动状态指令,生成与每个运动状态指令对应的脉冲控制指令,并且可以通过所述第二处理器将多个脉冲控制指令控制发送至所述目标运动轴,从而来控制所述目标运动轴按照所述多个脉冲控制指令进行运动。
本申请实施例提供的多轴运动控制方法,获取多轴运动设备的目标运动轴运动的控制指令;控制所述第一处理器对所述控制指令进行指令前瞻;基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动;检测所述目标运动轴的运动偏差;确定所述运动偏差是否在预设偏差阈值内;若所述运动偏差在所述预设偏差阈值内,基于所述运动偏差,对所述目标运动轴的运动进行补偿。
这样,通过设备中的第一处理器对控制指令进行指令前瞻,再通过第二处理器控制目标运动轴执行指令前瞻得到的运动状态指令,使得控制指令可以通过模块化的方式得到分步处理和控制,以快速、高效地实现多轴联动控制,为多轴运动自动化提供了一个低成本、高效率、高精度的解决方案,而且可以实现模块化控制,易于扩展,便于实现高效通讯和兼顾实时性,节约资源,减少处理器将圆弧拆分成线段的时间,更高效的进行插补,并且可以通过第二处理器检测目标运动轴的实时运动情况,及时发现运动异常,实现中断处理。
请参阅图8和图9,图8为本申请实施例提供的多轴运动控制设备的结构图之一,图9为本申请实施例提供的多轴运动控制设备的结构图之二。所述多轴运动控制设备800可以实现上述多轴运动控制方法执行的步骤。所述多轴运动控制设备800包括第一处理器和至少一个第二处理器。如图8中所示,所述多轴运动控制设备800包括:
获取模块810,用于获取多轴运动设备的目标运动轴运动的控制指令。
第一控制模块820,用于控制所述第一处理器对所述控制指令进行指令前瞻。
第二控制模块830,用于基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动。
可选的,所述第一控制模块820具体用于:
控制所述第一处理器对所述控制指令进行解析处理;
基于对所述控制指令解析处理的结果,对所述控制指令进行拆分处理;
基于对所述控制指令的拆分结果,确定控制所述目标运动轴运动的多个运动状态指令。
可选的,所述运动状态指令包括运动方向、运动距离、入口速度、加速度、目标速度、除去加速距离、减速距离和运动模式中的至少一者。
可选的,如图9中所示,所述多轴运动控制设备800包括:
存储模块840,用于将指令前瞻后得到的多个运动状态指令存储至目标缓存区,其中,优先存储到所述目标缓存区中运动状态指令优先读取。
读取模块850,用于控制所述第二处理器读取所述多个运动状态指令。
可选的,所述第二控制模块830具体用于:
通过所述第二处理器识别所述多个运动状态指令;
基于所述多个运动状态指令,生成与每个运动状态指令对应的脉冲控制指令;
通过所述第二处理器将多个脉冲控制指令控制发送至所述目标运动轴;
控制所述目标运动轴按照所述多个脉冲控制指令进行运动。
可选的,如图9中所示,所述多轴运动控制设备800包括:
第一检测模块860,用于检测所述目标运动轴的运动偏差。
确定模块870,用于确定所述运动偏差是否在预设偏差阈值内。
补偿模块880,用于若所述运动偏差在所述预设偏差阈值内,基于所述运动偏差,对所述目标运动轴的运动进行补偿。
可选的,如图9中所示,所述多轴运动控制设备800还包括:
第三控制模块801,用于如所述运动偏差超出所述预设偏差阈值,控制所述第二处理器中断所述多个运动状态指令的获取;
第二检测模块802,用于检测所述目标运动轴的运动信息,并将所述运动信息发送至所述第一处理器;
第四控制模块803,用于基于所述运动信息,控制所述第一处理器对所述目标运动轴进行控制指令的指令前瞻。
本申请实施例提供的多轴运动控制设备,通过获取多轴运动设备的目标运动轴运动的控制指令;控制所述第一处理器对所述控制指令进行指令前瞻;基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动。
这样,通过设备中的第一处理器对控制指令进行指令前瞻,再通过第二处理器控制目标运动轴执行指令前瞻得到的运动状态指令,使得控制指令可以通过模块化的方式得到分步处理和控制,以快速、高效地实现多轴联动控制,为多轴运动自动化提供了一个低成本、高效率、高精度的解决方案,而且可以实现模块化控制,易于扩展,便于实现高效通讯和兼顾实时性。
本申请实施例还提供一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如上述图2以及图3所示方法实施例中的多轴运动控制方法的步骤,并可以达到相同的技术效果,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图2以及图3所示方法实施例中的多轴运动控制方法的步骤,并可以达到相同的技术效果,具体实现方式可参见方法实施例,在此不再赘述。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种多轴运动控制方法,其特征在于,所述方法应用于包括第一处理器和至少一个第二处理器的多轴运动设备,所述方法包括:
获取多轴运动设备的目标运动轴运动的控制指令;
控制所述第一处理器对所述控制指令进行指令前瞻;
基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动;
所述控制所述第一处理器对所述控制指令进行指令前瞻,包括:
控制所述第一处理器对所述控制指令进行解析处理;
基于对所述控制指令解析处理的结果,对所述控制指令进行拆分处理;
基于对所述控制指令的拆分结果,确定控制所述目标运动轴运动的多个运动状态指令;
所述基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动,包括:
通过所述第二处理器识别所述多个运动状态指令;
基于所述多个运动状态指令,生成与每个运动状态指令对应的脉冲控制指令;
通过所述第二处理器将多个脉冲控制指令控制发送至所述目标运动轴;
控制所述目标运动轴按照所述多个脉冲控制指令进行运动;
其中,基于对所述控制指令解析处理的结果,对所述控制指令进行拆分处理包括:
解析G代码并进行速度前瞻,速度前瞻包括将每条G代码拆分成不同的数据块,每个数据块均为独立单元;
在所述控制所述第一处理器对所述控制指令进行指令前瞻之后,所述方法包括:
将指令前瞻后得到的多个运动状态指令存储至目标缓存区,其中,优先存储到所述目标缓存区中运动状态指令优先读取;
控制所述第二处理器读取所述多个运动状态指令。
2.如权利要求1所述的方法,其特征在于,所述运动状态指令包括运动方向、运动距离、入口速度、加速度、目标速度、除去加速距离、减速距离和运动模式中的至少一者。
3.如权利要求1所述的方法,其特征在于,在所述基于存储的所述多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动之后,所述方法包括:
检测所述目标运动轴的运动偏差;
确定所述运动偏差是否在预设偏差阈值内;
若所述运动偏差在所述预设偏差阈值内,基于所述运动偏差,对所述目标运动轴的运动进行补偿。
4.如权利要求3所述的方法,其特征在于,在所述确定所述运动偏差是否在预设偏差阈值内之后,所述方法包括:
如所述运动偏差超出所述预设偏差阈值,控制所述第二处理器中断所述多个运动状态指令的获取;
检测所述目标运动轴的运动信息,并将所述运动信息发送至所述第一处理器;
基于所述运动信息,控制所述第一处理器对所述目标运动轴重新进行控制指令的指令前瞻。
5.一种多轴运动控制设备,其特征在于,所述多轴运动控制设备包括第一处理器和至少一个第二处理器,所述多轴运动控制设备包括:
获取模块,用于获取多轴运动设备的目标运动轴运动的控制指令;
第一控制模块,用于控制所述第一处理器对所述控制指令进行指令前瞻;
第二控制模块,用于基于指令前瞻得到的多个运动状态指令,通过所述第二处理器控制所述目标运动轴运动;
所述第一控制模块具体用于:
控制所述第一处理器对所述控制指令进行解析处理;
基于对所述控制指令解析处理的结果,对所述控制指令进行拆分处理;
基于对所述控制指令的拆分结果,确定控制所述目标运动轴运动的多个运动状态指令;
所述第二控制模块具体用于:
通过所述第二处理器识别所述多个运动状态指令;
基于所述多个运动状态指令,生成与每个运动状态指令对应的脉冲控制指令;
通过所述第二处理器将多个脉冲控制指令控制发送至所述目标运动轴;
控制所述目标运动轴按照所述多个脉冲控制指令进行运动;
其中,基于对所述控制指令解析处理的结果,对所述控制指令进行拆分处理包括:
解析G代码并进行速度前瞻,速度前瞻包括将每条G代码拆分成不同的数据块,每个数据块均为独立单元;
所述多轴运动控制设备包括:
存储模块,用于将指令前瞻后得到的多个运动状态指令存储至目标缓存区,其中,优先存储到所述目标缓存区中运动状态指令优先读取;
读取模块,用于控制所述第二处理器读取所述多个运动状态指令。
6.如权利要求5所述的多轴运动控制设备,其特征在于,所述运动状态指令包括运动方向、运动距离、入口速度、加速度、目标速度、除去加速距离、减速距离和运动模式中的至少一者。
7.如权利要求5所述的多轴运动控制设备,其特征在于,所述多轴运动控制设备包括:
第一检测模块,用于检测所述目标运动轴的运动偏差;
确定模块,用于确定所述运动偏差是否在预设偏差阈值内;
补偿模块,用于若所述运动偏差在所述预设偏差阈值内,基于所述运动偏差,对所述目标运动轴的运动进行补偿。
8.如权利要求7所述的多轴运动控制设备,其特征在于,所述多轴运动控制设备还包括:
第三控制模块,用于如所述运动偏差超出所述预设偏差阈值,控制所述第二处理器中断所述多个运动状态指令的获取;
第二检测模块,用于检测所述目标运动轴的运动信息,并将所述运动信息发送至所述第一处理器;
第四控制模块,用于基于所述运动信息,控制所述第一处理器对所述目标运动轴进行控制指令的指令前瞻。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4中任一所述的多轴运动控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至4中任一所述的多轴运动控制方法的步骤。
CN201811620736.3A 2018-12-28 2018-12-28 一种多轴运动控制方法及多轴运动设备 Active CN111381555B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811620736.3A CN111381555B (zh) 2018-12-28 2018-12-28 一种多轴运动控制方法及多轴运动设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811620736.3A CN111381555B (zh) 2018-12-28 2018-12-28 一种多轴运动控制方法及多轴运动设备

Publications (2)

Publication Number Publication Date
CN111381555A CN111381555A (zh) 2020-07-07
CN111381555B true CN111381555B (zh) 2021-08-03

Family

ID=71219191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811620736.3A Active CN111381555B (zh) 2018-12-28 2018-12-28 一种多轴运动控制方法及多轴运动设备

Country Status (1)

Country Link
CN (1) CN111381555B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897291A (zh) * 2020-07-08 2020-11-06 浙江大华技术股份有限公司 多轴联动控制方法和装置、存储介质及电子装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744353A (zh) * 2012-10-24 2014-04-23 常州铭赛机器人科技有限公司 运动控制系统及运动控制方法
CN105045210A (zh) * 2015-07-13 2015-11-11 苏州谷夫道自动化科技有限公司 Cnc数控设备自适应控制弓高误差的平滑插补方法
CN105892412A (zh) * 2014-12-15 2016-08-24 广西大学 基于自定义总线的多轴运动控制系统硬件架构
CN106970561A (zh) * 2017-04-11 2017-07-21 周清睿 运动控制系统
CN107132814A (zh) * 2017-02-24 2017-09-05 上海交通大学 基于机器视觉状态监控与误差补偿的开放式数控系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744353A (zh) * 2012-10-24 2014-04-23 常州铭赛机器人科技有限公司 运动控制系统及运动控制方法
CN105892412A (zh) * 2014-12-15 2016-08-24 广西大学 基于自定义总线的多轴运动控制系统硬件架构
CN105045210A (zh) * 2015-07-13 2015-11-11 苏州谷夫道自动化科技有限公司 Cnc数控设备自适应控制弓高误差的平滑插补方法
CN107132814A (zh) * 2017-02-24 2017-09-05 上海交通大学 基于机器视觉状态监控与误差补偿的开放式数控系统
CN106970561A (zh) * 2017-04-11 2017-07-21 周清睿 运动控制系统

Also Published As

Publication number Publication date
CN111381555A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
JP4221016B2 (ja) 干渉チェックを行う数値制御装置
CN107850887B (zh) S型曲线规划方法、装置及数控机床
US9400496B2 (en) Numerical controller with inter-path waiting function
CN102375431B (zh) 具有机床的减速原因判别单元的刀具轨迹显示装置
US7689300B2 (en) Numerical control unit
JP5339999B2 (ja) 干渉チェック機能を有する数値制御装置
CN107710084B (zh) 一种加工路径规划方法、加工路径规划装置及数控机床
US20200086486A1 (en) Method and apparatus for collision-free motion planning of a manipulator
US7738992B2 (en) Numerical control system including machine control system and collision detection system
JP2010092161A (ja) 数値制御装置における衝突防止装置
CN111381555B (zh) 一种多轴运动控制方法及多轴运动设备
US9519280B2 (en) Numerical control device for machine tool
JP6440984B2 (ja) 停止距離による加減速制御を行う数値制御装置
CN109874403B (zh) 数控装置
CN110355753B (zh) 机器人控制装置、机器人控制方法和存储介质
CN110644128B (zh) 手套机机头控制方法、装置、设备及存储介质
CN105320075A (zh) 具有重叠控制的速度控制功能的数值控制装置
US20190217469A1 (en) Robot controller
CN113858213B (zh) 一种用于目标同步的机器人动态轨迹规划方法
CN108227638A (zh) 数值控制装置
CN111185801A (zh) 数值控制装置
JP4982170B2 (ja) 加工制御装置および加工制御プログラム
CN111699078A (zh) 机器人的运行
JP2019192103A (ja) 干渉監視装置
CN114131613B (zh) 一种基于s曲线的点动操作控制方法

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 230088 north, 9th floor, B1 building, animation base, 800 Wangjiang West Road, high tech Zone, Hefei City, Anhui Province

Patentee after: Hongjing Microelectronics Technology Co.,Ltd.

Address before: 230088 north, 9th floor, B1 building, animation base, 800 Wangjiang West Road, high tech Zone, Hefei City, Anhui Province

Patentee before: HEFEI MACROSILICON TECHNOLOGY CO.,LTD.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200707

Assignee: Anhui Xingtai Financial Leasing Co.,Ltd.

Assignor: Hongjing Microelectronics Technology Co.,Ltd.

Contract record no.: X2022980005647

Denomination of invention: A multi axis motion control method and multi axis motion equipment

Granted publication date: 20210803

License type: Exclusive License

Record date: 20220517

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A multi axis motion control method and multi axis motion equipment

Effective date of registration: 20220519

Granted publication date: 20210803

Pledgee: Anhui Xingtai Financial Leasing Co.,Ltd.

Pledgor: Hongjing Microelectronics Technology Co.,Ltd.

Registration number: Y2022980005868

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230727

Granted publication date: 20210803

Pledgee: Anhui Xingtai Financial Leasing Co.,Ltd.

Pledgor: Hongjing Microelectronics Technology Co.,Ltd.

Registration number: Y2022980005868

EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: Anhui Xingtai Financial Leasing Co.,Ltd.

Assignor: Hongjing Microelectronics Technology Co.,Ltd.

Contract record no.: X2022980005647

Date of cancellation: 20230810