CN102692892B - 一种数控控制器以及数控机床 - Google Patents

一种数控控制器以及数控机床 Download PDF

Info

Publication number
CN102692892B
CN102692892B CN201110069468.2A CN201110069468A CN102692892B CN 102692892 B CN102692892 B CN 102692892B CN 201110069468 A CN201110069468 A CN 201110069468A CN 102692892 B CN102692892 B CN 102692892B
Authority
CN
China
Prior art keywords
processor
curve
cnc controller
processing
gpu
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
CN201110069468.2A
Other languages
English (en)
Other versions
CN102692892A (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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to CN201110069468.2A priority Critical patent/CN102692892B/zh
Publication of CN102692892A publication Critical patent/CN102692892A/zh
Application granted granted Critical
Publication of CN102692892B publication Critical patent/CN102692892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Numerical Control (AREA)

Abstract

本发明公开了一种数控控制器以及数控机床。其中,数控控制器包括:第一处理器,用于接收零件的曲线规范,生成相应的任务规范,将所述曲线规范和任务规范发送给第二处理器;所述第二处理器包括多个处理子单元,多个处理子单元中的至少两个处理子单元用于根据所述任务规范将分配给自身处理的曲线规范转换为机床加工的运动轨迹。本发明提供的设备能够更好地满足机床加工的要求。

Description

一种数控控制器以及数控机床
技术领域
本发明涉及现代数控(CNC,computer numerical control)机床技术,尤指一种数控控制器以及数控机床。
背景技术
具有多轴的高精度、高速度、多任务数控机床(CNC machine)是机床技术的发展方向。其中,STEP-NC技术是现代数控机床的发展趋势,在工业应用中越来越多地被采用,这一代机器代表了机床制造工业增长最快的部份。STEP-NC的总体目标是:从计算机辅助设计(CAD,computer aided design)到产品实现形成一条快速追踪的流程链;在CAD/CAM与数控之间提供有效链接;使得基于CAD几何形状的程序互操作性描述的是“做什么”而不是“如何做”;对加工过程进行高层次描述。STEP-NC的好处包括:提供给车间的信息质量更高;使用STEP进行直接信息交互;双向信息流动。基于以上原因,STEP-NC将成为数控机床的新标准。
现代STEP-NC要求数控控制器具有以下至少一个优点:成本低、支持高速度加工、支持高精度加工、在更多功能上具有灵活的可扩展性等。一个典型的STEP-NC流程如图1所示,包括:由STEP-NC编译器执行的NC核心步骤,以及由运动控制器执行的运动控制步骤。其中,NC核心步骤具体包括:对STEP-NC程序提供的几何图形和任务进行解析(parse/interpret)的子步骤,显示子步骤,编辑(edit)子步骤,插值子步骤等。
STEP-NC标准倾向于使用非均匀有理样条曲线(NURBS,Non-uniform rational B-spline)表述几何形状及产品规范。使用由NURBS曲线数据计算出的位置,数控控制器直接将NURBS曲线数据从零件加工程序转换成多个小线段。但是,针对多轴的高精度实时插值算法(比如NURBS等)会给数控控制器带来大量的计算负载。当STEP-NC标准中没有后处理过程时,数控控制器需要实时进行插值处理。因此,CNC系统的整体性能很大程度上取决于插值器的速度和精度。由于NURBS需要考虑计算约束条件,故具有较高的计算复杂性。在典型应用中,NURBS插值消耗了整个控制系统高达95%的时间。当使用NURBS作为数控机床的输入时,进给速度(feed rate)很大程度上取决于NURBS曲线的插值速度。也即,曲线插值速度对于高速度、高精度加工至关重要,曲线插值的计算复杂性高对于数控机床的速度和精度有很大的负面影响。此外,在典型的运动控制算法中,某些信号处理步骤(如FFT等)也将给数控控制器造成计算负担,从而影响数控机床的速度和精度。
现有技术中有两种方式可加快NURBS曲线的插值速度:基于多核CPU的方式和基于混合结构的方式,典型的混合结构是PC+FPGA,例如西门子公司提供的SINUMERIK 840D系统。多核/多处理器(multi-core/processor)并不是一种有效和经济的方案,因为数字控制核心(NCK,numeric control kernel)对处理能力要求过高且需要太多的资源。对于混合结构而言,复杂的FPGA价格昂贵,并且在进一步更新和扩展方面缺乏灵活性。不论是在硬件还是软件上,FPGA/ASIC的开发成本都非常高。比如,对于增加新的插值算法和/或新的运动控制功能,FPGA并不灵活,每个微小的变化都将消耗大量的开发时间,且是一个复杂的过程(比如每次都需要经过HDL编程+综合+仿真+验证等)。
发明内容
有鉴于此,本发明提出一种数控控制器以及数控机床,以便较好地满足机床加工的要求。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种数控控制器,包括:
第一处理器,用于接收零件的曲线规范,生成相应的任务规范,将所述曲线规范和任务规范发送给第二处理器;
所述第二处理器包括多个处理子单元,该多个处理子单元中至少两个处理子单元用于根据所述任务规范将分配给自身处理的曲线规范转换为机床加工的运动轨迹。
在本发明的一种实施方式中,所述第一处理器用于将所述曲线规范和所述任务规范从自身的主内存写入所述第二处理器的全局内存;所述至少两个处理子单元中的每个处理子单元用于从所述全局内存读取分配给自身处理的曲线规范,将其写入该处理子单元的一个或多个处理块的共享内存。
在本发明的一种实施方式中,所述一个或多个处理子单元的每个处理块用于根据自身共享内存中的曲线规范进行插值计算,得到该曲线规范所对应曲线段的插值点,并将计算出的插值点写入所述第二处理器的全局内存。
在本发明的一种实施方式中,所述一个或多个处理块中每个处理块包括一个或多个线程,用于从该处理块的共享内存读取相应的曲线规范进行插值计算。
在本发明的一种实施方式中,所述第一处理器用于在所述第二处理器的全局内存存储的插值点数量到达预定值时,从所述全局内存读取所述插值点写入自身的主内存。
在本发明的一种实施方式中,所述第二处理器进一步用于机床加工的信号处理和/或运动控制。
在本发明的一种实施方式中,所述第二处理器中多个处理子单元用于并行执行快速傅立叶变换(FFT)。
在本发明的一种实施方式中,所述第一处理器为中央处理器(CPU),所述第二处理器为图形处理器(GPU),所述处理子单元为所述图形处理器中的流处理器。
在本发明的一种实施方式中,所述曲线规范包括以下至少一个参数:曲线阶数、控制点集合、权重因子集合、节点矢量。
本发明实施例还提供了一种数控机床,包括:如上所述的数控控制器,以及与所述数控控制器连接的一个或多个伺服驱动器,每个伺服驱动器连接一个机床加工轴;
所述机床加工轴用于根据所述数控控制器得到的运动轨迹对零件的表面进行加工。
在本发明的一种实施方式中,所述数控控制器与所述伺服驱动器采用以太网或串行总线连接。
由上可见,本发明实施例提供的数控控制器以及数控机床,能够较好地满足机床加工的要求。
附图说明
图1示出典型的STEP-NC流程;
图2为本发明一个实施例中基于GPU的STEP-NC系统的结构示意图;
图3为本发明一个实施例中利用GPU进行并行NURBS插值的方法流程图;
图4示出本发明一个实施例中并行NURBS插值的数据流;
图5为本发明一个实施例中GPU块对任务进一步划分的示意图;
图6为本发明一个实施例中基于GPU的数控控制器8轴应用的结构示意图;
图7示出本发明一个实施例中基于GPU的NURUS插值的验证结果;
图8示出本发明一个实施例中基于GPU的FFT算法的验证结果。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明的实施例提出一种基于图形处理器(GPU,Graphic Processing Unit)的数控(CNC)控制器,以便更好地满足机床加工的要求。在一个具体实现的示例中,GPU在数控控制器中作为中央处理器(CPU)的一个协处理器(co-processor)。零件的NUBRS特征信息被传递到GPU,GPU以例如高度并行的方式对NUBRS曲线进行插值,NUBRS插值的输出即为每个机床加工轴的运动轨迹。之后,采用运动控制器的FFT算法处理这些运动轨迹,以便进行运动控制算法中的低通或带通滤波。对于FFT算法,GPU也可以用例如高度并行的方式进行处理。
基于GPU的STEP-NC系统如图2所示,包括:ISO 14649(即STEP-NC)程序生成单元201、电机驱动单元203、以及基于GPU的数控控制器202。其中,数控控制器202具体包括如下逻辑功能:通信系统、操作系统、普通应用接口、GPU应用接口、运动控制器、解析器、信号处理器、插值器、操作监视器、MMI、任务调度器、以及用于显示的图形系统。具体地,GPU应用接口、信号处理器、插值器、图形系统等采用GPU实现,在图2中以虚线示出,数控控制器202中的其他功能模块由CPU实现。进一步地,可以由GPU实现一些运动控制功能,从而降低CPU在运动控制上的处理负担。在图2所示的结构中,通信系统是最底层,操作系统位于通信系统上一层,依此类推,操作监视器等是整个结构中位于最上层的应用。需要指出,通过使用现成的组件和成熟的开发环境(例如NVIDIA的GTX系列),基于GPU的数控控制器的升级和扩展将更为容易且经济。
对于数控控制器中执行的插值,本发明的一个实施例采用CPU和GPU配合的方式实现并行NURBS插值,具体过程如图3所示,包括以下步骤:
步骤301是初始化步骤,CPU将曲线规范和任务规范等规范数据从主内存(MM,main memory)发送到GPU的全局内存(GM,global memory)。
需要指出,一个GPU有多个流处理器(或为Grid),而一个流处理器有多个GPU块,每个GPU块包括一个共享内存(SM,shared memory)和多个线程(thread),该SM为所述多个线程所共享。相应地,任务规范用于指定曲线段和流处理器的对应关系,或者曲线段和流处理器中的GPU块的对应关系。比如,将整个曲线划分为多个曲线段后,每个曲线段分配给一个流处理器,或者该流处理器中的部分GPU块进行NURBS插值,使得不同曲线段的NURBS插值可以并行执行。
步骤302:GPU中的每个流处理器(stream processor)从全局内存读取规范数据,写入该流处理器的每个GPU块的SM。本领域技术人员可以理解,在步骤302中,GPU的部分处理器也可以并不处于工作状态。
步骤303是以迭代方式对曲线进行插值的计算步骤。每次迭代后,根据指定的采样分辨率计算每个曲线段的采样点(或插值点),写入GPU的全局内存。具体地,流处理器根据待处理的曲线段的控制点进行插值,并将插值点从共享内存写入GPU的全局内存。
步骤304:全局内存中的插值点是否积累到一定数量,如果是则执行步骤305,否则执行步骤306。
步骤305:CPU将插值点从GPU的全局内存读回自身的主内存。
步骤306:判断是否所有的曲线段都处理完毕,如果是则流程结束,否则从未处理的曲线段中选择一个作为待处理的曲线段,返回步骤303对其进行处理。
相应地,图3所示并行NURBS插值过程的数据流见图4。对于GPU而言,输入数据主要包括曲线规范,还可以进一步包括采样分辨率等,从而定义出一个从PC(或为CPU)主内存到GPU的全局内存再到每个GPU块的共享内存的输入数据流。本实施例中,曲线规范例如包括:曲线阶数、控制点集合、权重因子集合、以及节点矢量等中的至少一个参数。输出数据包括曲线的所有采样点,按照曲线段(curvesegment)对采样点进行分组计算,并将计算出的采样点读回主内存。需要指出,输出数据流与输入的方向相反,也即从每个GPU块的共享内存到GPU的全局内存最后再到主内存。在并行算法中,整个曲线被逐段采样,每段采样或插值由预定数量的GPU块执行,图5为每个GPU块中多个线程之间的子任务划分和分配策略示意图。
在本发明一个实施例中,k阶NURBS由p+k+1个控制点构成、共分为p部分,其中每部分描述一个曲线段,表1和表2为相应的并行NURBS算法的伪码(pseudo code)。其中,k和p可为任意正整数。
表1并行NURBS算法的主输入
表2并行NURBS算法的设备功能
进一步地,FFT算法也可以在GPU的多个流处理器上并行执行。在其他领域被广泛使用的基于GPU的并行FFT算法为cuFFT和volFFT,这些算法都可以应用在本发明实施例提供的数控控制器中。具体地,cuFFT是由NVIDIA公司开发的FFT库,这种基于CUDA的库为利用GPU的并行FFT算法提供了一套完整的功能。volFFT是由V.Volkov开发的另一个FFT库,该库能够提供最快的利用GPU的并行FFT算法。
进一步地,图6示出本发明一个实施例中带有基于GPU的数控控制器的8轴数控机床。具体地,数控控制器的硬件部分包括:显示单元(图中未示出,具体实现时可为彩色的显示界面)、CPU、内存、GPU、I/O接口、用户输入设备(比如键盘,在图中未示出)等。其中,GPU可以有超过200个的流处理器(SP),用于实现NURBS插值、FFT算法等信号处理和一些运动控制功能(比如路径规划等)。相应地,采用GPU的数控控制器可以对具有复杂形状的待加工零件进行高速曲线差值。数控控制器与伺服驱动器之间可采用以太网或串行总线等连接。在实际应用中,数控机床可提供的机床加工轴的数目为一个或多个,也即可根据加工需求任意设置。
需要指出,本发明实施例提供的技术方案具有以下至少其中一个优点:
1、使用GPU技术实现高速度、高精度、低成本的STEP-NC,并进一步地将STEP-NC并行化。
(1)对高阶曲线进行高精度插值时,基于GPU的数控控制器的执行速度远超过传统的单CPU数控控制器。如图7所示,如果点数大于2^12,基于GPU的数控机床比传统的基于单CPU的数控机床快10-50倍。其中,图7中带上三角形的线条GPU-core所表示的时间扣除了将数据从主内存复制到GPU的全局内存的时间,带方块的线条GPU所表示的时间包括将数据从主内存复制到GPU的全局内存的时间。在一个具体实现中,图7中的验证可以采用GTX295+Intel i7 920实现,其NURBS阶数为4~11。
(2)从图8所示的验证结果可见,采用并行FFT的数控机床速度比传统的数控机床快近100倍。在一个具体实现中,图8可以采用9600GT+IntelT7700实现,对cuFFT、volFFT(图中标为voFFT)、FFTw三种算法进行比较。
(3)采用现成的组件使得成本较低,例如GTX 295当前的市面价格仅为3000元左右。
2、通过基于GPU的开放式架构(例如CUDA等),在更多功能上实现灵活的可扩展性且成本低。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
本发明提供一实施例如下:本发明公开了一种数控控制器以及数控机床。其中,数控控制器包括:第一处理器,用于接收零件的曲线规范,生成相应的任务规范,将所述曲线规范和任务规范发送给第二处理器;所述第二处理器包括多个处理子单元,多个处理子单元中的至少两个处理子单元用于根据所述任务规范将分配给自身处理的曲线规范转换为机床加工的运动轨迹。本发明提供的设备能够更好地满足机床加工的要求。

Claims (10)

1.一种数控控制器,所述数控控制器包括:
第一处理器,用于接收零件的曲线规范,生成相应的任务规范,将所述曲线规范和任务规范发送给第二处理器;
所述第二处理器包括多个处理子单元,所述多个处理子单元中至少两个处理子单元用于根据所述任务规范将分配给自身处理的曲线规范转换为机床加工的运动轨迹,其中,
所述第一处理器用于将所述曲线规范和所述任务规范从自身的主内存写入所述第二处理器的全局内存;
所述至少两个处理子单元中的每个处理子单元用于从所述全局内存读取分配给自身处理的曲线规范,并将其写入该处理子单元的一个或多个处理块的共享内存。
2.根据权利要求1所述的数控控制器,其中,所述一个或多个处理块用于根据自身共享内存中的曲线规范进行插值计算,得到该曲线规范所对应曲线段的插值点,并将计算出的插值点写入所述第二处理器的全局内存。
3.根据权利要求2所述的数控控制器,其中,所述一个或多个处理块中每个处理块包括一个或多个线程,用于从该处理块的共享内存读取相应的曲线规范进行插值计算。
4.根据权利要求2所述的数控控制器,其中,所述第一处理器用于在所述第二处理器的全局内存存储的插值点数量到达预定值时,从所述全局内存读取所述插值点写入自身的主内存。
5.根据权利要求1所述的数控控制器,其中,所述第二处理器进一步用于机床加工的信号处理和/或运动控制。
6.根据权利要求5所述的数控控制器,其中,所述第二处理器中多个处理子单元用于并行执行快速傅立叶变换FFT。
7.根据权利要求1-6中任一项所述的数控控制器,其中,所述第一处理器为中央处理器CPU,所述第二处理器为图形处理器GPU,所述处理子单元为所述图形处理器中的流处理器。
8.根据权利要求1-6中任一项所述的数控控制器,其中,所述曲线规范包括以下至少一个参数:曲线阶数、控制点集合、权重因子集合、节点矢量。
9.一种数控机床,所述数控机床包括:如权利要求1-8任一项所述的数控控制器,以及与所述数控控制器连接的一个或多个伺服驱动器,每个伺服驱动器连接一个机床加工轴;
所述机床加工轴用于根据所述数控控制器得到的运动轨迹对零件的表面进行加工。
10.根据权利要求9所述的数控机床,其中,所述数控控制器与所述伺服驱动器采用以太网或串行总线连接。
CN201110069468.2A 2011-03-22 2011-03-22 一种数控控制器以及数控机床 Active CN102692892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110069468.2A CN102692892B (zh) 2011-03-22 2011-03-22 一种数控控制器以及数控机床

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110069468.2A CN102692892B (zh) 2011-03-22 2011-03-22 一种数控控制器以及数控机床

Publications (2)

Publication Number Publication Date
CN102692892A CN102692892A (zh) 2012-09-26
CN102692892B true CN102692892B (zh) 2014-09-24

Family

ID=46858432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110069468.2A Active CN102692892B (zh) 2011-03-22 2011-03-22 一种数控控制器以及数控机床

Country Status (1)

Country Link
CN (1) CN102692892B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5752213B2 (ja) * 2013-11-20 2015-07-22 ファナック株式会社 テーブル形式データで複数の指令を同時に実行する機能を備えた数値制御装置
EP3370125A1 (en) * 2017-03-01 2018-09-05 PLETHORA IIoT, S.L. Device and system including multiple devices for supervision and control of machines in industrial installation
CN108549330A (zh) * 2018-05-10 2018-09-18 湖南工学院 一种多轴联动嵌入式数控系统及其开发方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2138596A (en) * 1983-03-16 1984-10-24 Inoue Japax Res Numerically controlled machining system
CN1102890A (zh) * 1994-07-02 1995-05-24 华中理工大学 可对曲面轮廓直接插补的cnc系统
CN1936745A (zh) * 2006-10-12 2007-03-28 武汉理工大学 基于arm和dsp的嵌入式数控系统
CN101382788A (zh) * 2007-09-07 2009-03-11 深圳市众为兴数控技术有限公司 一种基于arm7和fpga的嵌入式数控系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2470991A1 (en) * 2009-08-24 2012-07-04 ABB Technology AG Improved execution of real time applications with an automation controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2138596A (en) * 1983-03-16 1984-10-24 Inoue Japax Res Numerically controlled machining system
CN1102890A (zh) * 1994-07-02 1995-05-24 华中理工大学 可对曲面轮廓直接插补的cnc系统
CN1936745A (zh) * 2006-10-12 2007-03-28 武汉理工大学 基于arm和dsp的嵌入式数控系统
CN101382788A (zh) * 2007-09-07 2009-03-11 深圳市众为兴数控技术有限公司 一种基于arm7和fpga的嵌入式数控系统

Also Published As

Publication number Publication date
CN102692892A (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
Estévez et al. Automatic generation of PLC automation projects from component-based models
JP5791792B2 (ja) 工作機械の工作プロセスをシミュレーションするシミュレーション方法およびシミュレーションシステム
Xu et al. STEP-NC and function blocks for interoperable manufacturing
US9550295B2 (en) Interference check device
CN202372834U (zh) 一种双核cpu的嵌入式数控系统
Novak-Marcincin et al. Application of virtual reality technology in simulation of automated workplaces
CN109542046B (zh) 控制装置、控制方法及控制系统
CN102692892B (zh) 一种数控控制器以及数控机床
WO2011023204A1 (en) Simulation of distributed virtual control systems
Nocetti et al. Parallel processing in digital control
CN102354154B (zh) 一种开放式数控系统的实时内核芯片
Morell-Giménez et al. Efficient tool path computation using multi-core GPUs
Medeiros et al. Simulation based design for a shipyard manufacturing process
EP3547125B1 (en) Methods of configuring an automation system
Yu et al. Research on tool path planning method of nurbs surface based on cpu-gpu parallel computing
Ko et al. Machine control level simulation of an AS/RS in the automotive industry
Novak-Marcincin et al. Definition of computer aided manufacturing engineering and its place in CA systems chain
Xiao et al. An open architecture numerical control system based on Windows CE
Pollák et al. PLC Control of a 2-Axis Robotic Arm in a Virtual Simulation Environment
CN113705004B (zh) 一种适合dsp的实时系统行为级软件仿真方法
Juhás et al. Implementation of Heterogeneous Multirobotic Cell Control Using Visualization Techniques
Zhou et al. Real-time modeling of wheel-rail contact laws with system-on-chip
Othman New data processing strategy for intelligent CNC machine tool controller using function block technology
Ameddah et al. Impeller tool paths programming for rough machining in an intelligent NURBS STEPNC format
Deng et al. Research and Development of CNC Machine Simulating System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant