APP下载

一种开放式并行数控系统研究*

2013-09-12魏胜利戴国强

组合机床与自动化加工技术 2013年7期
关键词:细粒度PC机实时性

魏胜利,戴国强

(安阳工学院计算机科学与信息工程学院,河南安阳 455000)

0 引言

经过了数十年的发展,数控系统由专用封闭的体系结构逐渐向开放化、并行化、网络化的方向发展。开放化是为了满足市场对产品日益灵活多变的需求,要求数控系统具备容易配置、调整、进行二次开发等能力的必然趋势;并行化是为了满足人们对数控系统更高加工精度、更快加工速度和更复杂加工计算的要求而充分利用其它闲置的计算资源的必然措施;网络化是为了实现远程监控、远程故障诊断以及集成制造必然选择。

为了满足上述要求,人们研究各种不同的数控系统结构。目前,开放式数控系统通常采用主从结构,以PC机作为上位机,以微控制器或者微处理器作为下位机[1]。上位机主要用于提供友好的人机界面、进行管理、任务分配、通信等功能;下位机主要用于插补运算与控制。多数研究采用PC机加美国Delta Tau公司的PMAC(Programmable Multiple Axes Controller)多轴运动控制器来构成开放的数控系统。钱俊晗在他的硕士论文中提出了一种基于PMAC的开放式数控系统的设计与实现方法[2]。王春[3]和孟璇[4]提出了基于PMAC的并行双CPU开放式数控系统。采用PMAC或者其它专用多轴控制器实现开放式数控系统,技术成熟,有利于快速构建系统,但由于采用的是专用的控制器,在技术上还是受制于人,开放程度不够灵活。因此也有人采用PC机加DSP构成的控制器模式。

现在人们对数控系统的加工速度和加工精度要求越来越高,要加工的工件形状更加复杂,这就要求处理器以更快的速度处理数据。同时人们也对数控系统提出了更多的功能要求,如故障诊断、加工结果重现等,这些都极大的增加了数控系统的计算量。要完成这些计算,一个CPU的运算能力通常是难以胜任的。由此人们开始研究并行数控系统,利用多个CPU来完成数控系统的计算。充分利用数控系统中或者其它可用的有剩余运算能力的CPU就成了构建并行数控系统的首选方法。并行可分多个层次,有粗粒度级的,有细粒度级的。文献[3-8]都对并行数控系统进行了研究。文献7提出了一种细粒度级的并行算法。

1 体系结构

本文所提出的开放式并行数控系统采用PC机加高性能微处理器构成,其体系结构如图1所示。系统可看成三层结构,上层是PC机(为了更加稳定可靠,常采用工控机),其次是系统的核心单元——微处理器,由ARM+DSP双核芯片承担,下层是各个运动轴的控制伺服单元。PC主要承担零件外形辅助设计、参数设置、预处理和准备运算,并将需要加工的工艺参数通过高速局域网传输给微处理器。微处理器采用ARM+DSP双核芯片。ARM主要用来进入任务管理、数据传输、用户交互;DSP用来进行数控插补运算,计算出刀具运行的位置、速度、加速度等信息。这些信息经由ARM通过微处理器的I/O口经CAN总线传松给各个轴的控制单元。

图1 数控系统体系结构

2 任务分解

2.1 数控系统任务分析

数控技术当中涉及大量的运算,主要有:工件加工形状设计、数据预处理、加工前的准备运算、干涉估算、精度控制、刀具补偿、插补运算、输出控制、错误诊断、加工结果重现等。工件加工形状设计指的是根据通过其它途径获取的形状的离散点和约束等要求,利用图形软件设计出要加工的图形。要加工的图形有时需要多次不断的修正和改善,最终完成形状设计。比如,以NURBS(NON -Uniform Rational B-Spline,非均匀有理B样条)描述的工件形状,需要根据工件曲面的离散的型值点,通过反求工程求出曲面的控制点和权因子。我们设计的数控系统主要基于NURBS曲面直接插补算法的,所以,设计好的形状主要是NURBS的控制点和权因子。控制点和权因子是传递给插补运算器的主要参数。数据预处理是根据工件的形状进行加工区域的划分,每个区域可能是一个NURBS曲面,需要求出每个曲面的控制点和权因子。当采用矩阵方法求解NURBS曲线曲面的时候,需要将该矩阵事先求出来,以减少插补过程中的运算量。准备运算是指加工前的模拟加工过程,根据设计的形状在PC机上根据要求进行模拟的加工,以确定哪里可能产生干涉,确定合理加工步长和加工行距来保证加工精度。干涉信息、加工步长、加工行距等参数也需要传递给微处理器。这些通过模拟加工获得的参数只是初步的估计,在加工过程中可能需要对这些参数进行一些修正。插补运算是数控系统中的核心运算,用来给出下一步刀具要加工的位置、速度、加速度等信息。刀具补偿针对刀具的磨损,对刀具的尺寸实时调整,以满足加工精度。错误诊断是指根据加工过程中运行情况,判断是否出现问题,问题出在哪里,如何解决等。加工结果重现是将加工工件的形状及时的在电脑上显示出来,有助于操作者判断加工效果。在这些运算当中,插补运算、刀具补偿属于实时性要求比较强的运算,必须在一个加工周期中给出结果。加工周期越小,加工速度就越快。这些实时性要求强的运算在微处理器上进行。其它运算实时性要求不强,在PC机上进行运算。

2.2 任务分配

如上所述,现代数控系统需要进行的运算量越来越大,单靠一个CPU进行处理已经力不从心。同时PC机则有很强大的运算能力,并且PC机很多情况下处于空闲状态,因此可以让PC机分担一些运算,提高数控的效率,充分利用PC机的性能。在我们设计的系统中,PC机主要承担工件加工形状设计、数据预处理、插补前的准备运算、干涉估算、加工过程重现、进行错误诊断等数据量大而实时性要求不强的运算。微处理器则主要承担插补运算及控制运算等实时性要求比较强的运算。

工件设计完成后,进行数据预处理和准备运算,这些运算前期需要完成。错误诊断和加工结果重现也在PC机上完成运算,但是它们和插补运算同步运行,处于并行运行的状态。PC机和微处理器承担的运算任务如图2所示,由PC机到微处理器的数据传送如图中虚箭头所示,微处理器向PC机传送数据如图中实箭头所示。

图2 任务分配

2.3 任务并行模式

数控系统中的并行运算分为粗粒度级的和细粒度级的。粗粒度级指的是上述这些任务之间的并行,如错误诊断、加工结果重现和插补运算的并行。细粒度级指的是每个任务又分为几个步骤,这些步骤也采用并行运算。

(1)粗粒级的并行 加工前的工作准备完成后,PC机把加工参数传输给微处理器开始加工。在加工过程中,PC机和微处理器分别并行的承担不同的任务,微处理器主要承担实时性要求高的插补运算和输出控制,这部分功能主要由微处理器中的DSP核来承担,而它的ARM核主要用来进行任务管理、人机交互和通信。微处理器将插补产生的数据发送给PC机,PC机的通信任务获取这些数据交给错误诊断任务和加工结果重现任务。错误诊断任务根据发送过来的插补数据分析有没有加工错误,加工结果重现任务根据这些数据将加工的过程以图形的形式动态的表现出来。

(2)细粒度级的并行如果数控系统不需要加工结果重现和错误诊断,在加工期间PC机经常处于空闲状态,这是计算资源的浪费,而同时微处理器则要进行大量复杂的运算,此时也可以采取措施,让PC机承担一些计算工作,减轻微处理器的负担,提高加工效率。通常进行曲面加工时,要将曲面分解成曲线,刀具加工每条曲线以完成整个曲面的加工。将曲面分解成曲线有很多种方法,比如切割法、等高线法、固定参数法等。以NURBS曲面为例,当固定一个参数为常数,曲面表达式就成了一条NURBS曲线表达式[9]。要对曲线进行加工,首先要求出这条曲线的控制点和权因子等信息,还要确定加工的步长、行间距等信息。那么在加工一条曲线的时候,下一条要加工的曲线的控制点、权因子、加工步长、行间距可以由PC机来完成。当正在加工的曲线加工完成后,下一条要加工的曲线的参数已经由PC机计算出来了,可以直接使用,不再需要在插补算法中计算,从而提高加工速度,实现并行运算。

2.4 软件开发方法

微处理器采用ARM+DSP结构,增加了在这上面运行的软件开发的难度。在该系统中,ARM上面运行WinCE6.0操作系统,DSP上运行插补运算程序,二者之间通过共享存储区域的方式进行数据通信。在文中提出的系统中,PC机上运行的任务要求实时性不高,但为了进一步保证数控系统的响应时间,可以对PC机上运行的Windows系统进行实时性改造。文献10给出了一种对Windows进行实时扩展的方法。

3 结论

本文提出了一种开放式并行数控系统,系统采用任务并行的方式,增强数控系统的功能,提高数控系统的加工效率,充分利用闲置的计算资源。在粗粒度级并行模式下,在保证插补周期的前提下,提供了错误诊断、加工结果重现等功能。在细粒度级并行模式下,缩短了插补运算周期,提高了加工速度。经测算,根据每条曲线插补点数的不同,提高的效率有所不同,一般在5% ~20%。加工结果重现如图3所示。

图3 加工结果重现

[1]胡俊,吴祖育,蔡建国.主从式数控系统中的数据通讯[J].机床与液压,2000(1):32-33.

[2]钱俊晗.基于PMAC的开放式数控系统的设计与实现[D].东南大学,2008.

[3]王春,温圣,关慧贞,等.基于PMAC的并行双CPU开放式数控系统[J].制造技术与机床,2001(3):15-17.

[4]孟璇,邢玉生,王春.基于PMAC的并行双CPU开放式数控系统的研究与开发[J].组合机床与自动化加工技术,2000(10):28-30.

[5]傅勇,刘娟.基于PC+运动控制器的并行双CPU数控系统[J].微计算机信息,2008(12-1):167-169.

[6]方淳.多线程并行处理技术在五坐标数控加工仿真中的应用[D].西北工业大学,2006.

[7]余湛悦,周儒荣,庄海军,等.一种数控加工刀轨生成的并行算法[J].机械科学与技术,2004(3):266-268.

[8]李永亮,王琨琦,王峰.并行数控系统研究[J].机械工程师,2005(3):29-31.

[9]魏胜利,陈玮,高军礼.基于NURBS曲面的五轴联动插补算法[J].组合机床与自动化加工技术,2007(11):29-32.

[10]陈宗雨,郭伟,王立峰,等.基于Windows NT与实时扩展的开放式数控系统的研究[J].计算机集成制造系统,2006(4):568-574.

猜你喜欢

细粒度PC机实时性
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
基于规则实时性的端云动态分配方法研究
细粒度的流计算执行效率优化方法
基于PC机与单片机的多机通信技术及抗干扰方法
基于双线性卷积网络的细粒度图像定位
基于虚拟局域网的智能变电站通信网络实时性仿真
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
航空电子AFDX与AVB传输实时性抗干扰对比
VC.NET下实现dsPIC单片机与PC机的通信
支持细粒度权限控制且可搜索的PHR云服务系统