CN106406227B - 一种数控***插补方法和数控*** - Google Patents
一种数控***插补方法和数控*** Download PDFInfo
- Publication number
- CN106406227B CN106406227B CN201610833670.0A CN201610833670A CN106406227B CN 106406227 B CN106406227 B CN 106406227B CN 201610833670 A CN201610833670 A CN 201610833670A CN 106406227 B CN106406227 B CN 106406227B
- Authority
- CN
- China
- Prior art keywords
- interpolation
- stride
- driving
- time
- real
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/404—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35408—Calculate new position data from actual data to compensate for contour error
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种数控***插补算法和数控***。该方法包括:在实时操作***层,插补运算线程接收非实时操作***层传输的实时控制数据;插补运算线程将该实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息;通过总线通信线程回调伺服驱动器的位置控制信息并发送给伺服驱动器。通过本发明的方案,能够基于实时以太网总线技术进行数控***插补算法,结构和接线简单、实时性高、传输效率高、传输距离长、抗干扰能力强、稳定性好、易于扩展和维护。
Description
技术领域
本发明涉及核心基础类装备制造业技术领域,尤其涉及一种数控***插补方法和数控***。
背景技术
数控机床属于核心基础装备制造业,号称“工业母机”,广泛应用于汽车、航空航天、军事工业以及3C制造等领域。它反映出一个国家制造业的发达程度,是决定一个国家在精密制造成就的高精尖技术。数控***是数控机床的“大脑”,决定着数控机床的性能、功能、可靠性等关键因素。
数控装置根据输入的零件程序的信息,将程序段所描述的曲线的起点、终点之间的空间进行数据密化,从而形成要求的轮廓轨迹,这种“数据密化”功能就称为“插补”。插补算法是数控***最核心的算法之一,影响着数控机床的加工精度、效率、光滑度等关键指标。
影响数控插补效果最重要的因素是实时性。一是插补运算的实时性,一是插补控制器与相关设备(比如伺服驱动器、I/O板等)的通信实时性。由于数控***的插补运算不但实时性要求高,而且运算数据量也大,因此较好的方案是在实时操作***环境下实现主站的插补运算。目前,关于实时操作***的研究比较成熟,市面上有很多成熟的产品可供选择,如RTX、VxWorks、uC/OS-II、RT-Linux、QNX等。从实时性、易用性、成熟度、厂商支持力度、可维护性等各方面综合考虑,RTX(windows扩展实时内核子***)是较合适的选择。
在插补控制器与关键的伺服驱动器设备的实时通信方面,目前仍以脉冲技术为主。市场上大多数伺服驱动器以及数控***都是基于脉冲控制的。脉冲技术的特点是,插补控制器一般通过一块专门的运动控制卡与伺服驱动器以专门的通信线缆连接,以一定速率传输模拟量脉冲控制信号。
实时以太网总线技术作为脉冲技术的替代技术,已成为下一步技术发展趋势,正在处于快速发展阶段。总线处于设备的底层,有协议简单、容错能力强、安全性好、成本低的特点,不仅能使***与外部装置之间高速传输大量的数据,从而满足高精高速的加工需求,而且能简化***便于扩展。但长期以来,现场总线互不兼容,各家争论不休,互通与互操作问题很难解决,且存在一些设计缺陷。目前现场总线技术开始转向工业实时以太网。为了满足高实时性能应用的需要,各大公司和标准组织纷纷提出各种提升工业以太网实时性的技术解决方案。这些方案建立在IEEE802.3标准的基础上,通过对其和相关标准的实时扩展提高实时性,并且做到与标准以太网的无缝连接,这就是实时以太网(Real Time Ethernet,简称RTE)。为了规范实时以太网,2003年5月,IEC/SC65C专门成立了WG11实时以太网工作组,负责制定IEC 61784-2“基于IOS/IEC 8802-3的实时应用***中工业通信网络行规”国际标准。该标准包括EtherCAT等11种实时以太网行规集,其中有EPA、EtherCAT、Powerlink、PROFINET、Modbus-IDA和Ethernet/IP等6个主要竞争者。目前,上述实时以太网技术的在国内外已有大量的研究,部分标准已有较为成熟的产品,最突出要数EtherCAT。在关键的伺服驱动器方面,国内外已有不少厂商支持EtherCAT。由于以太网实时扩展技术的突破,实时以太网已延伸至运动控制领域,从而成为能覆盖整个工业自动化领域的网络技术。和传统技术相比,实时以太网总线技术具有如下优点:(1)传输速度快,数据包容量大,传输距离长;(2)使用通用以太网元器件,性价比高;(3)可以接入标准以太网,利于实现“E网到底”的管控一体化目标。
发明内容
为了解决上述问题,本发明提出了一种数控***插补方法和数控***,能够基于实时以太网总线技术进行数控***插补算法,结构和接线简单、实时性高、传输效率高、传输距离长、抗干扰能力强、稳定性好、易于扩展和维护。
为了达到上述目的,本发明提出了一种数控***插补方法,该方法包括:
在实时操作***层,插补运算线程接收非实时操作***层传输的实时控制数据。
插补运算线程将实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息。
通过总线通信线程回调伺服驱动器的位置控制信息并发送给伺服驱动器。
可选地,插补运算线程将实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息包括:
插补运算线程根据预设的精度参数将实时控制数据中包含的各个轴的多个控制分量分别离散化为多个等距的微控制分量,并将每个微控制分量作为伺服驱动器的一个驱动步幅;计算每个驱动步幅相对应的连续的时间点以及与该时间点相对应的位置坐标。
可选地,该方法还包括:插补运算线程以插补循环的方式完成插补运算。
其中,以插补循环的方式完成插补运算包括:
从各个从站中分别选取各个轴中所需的驱动步幅数最多的轴,将驱动步幅数最多的轴作为当前从站中的长轴;将当前从站的各个轴中除长轴以外的轴作为短轴。
以长轴为基础,每次插补循环取长轴上的一个驱动步幅,直至取完长轴上的全部驱动步幅。
在每次插补循环中,取长轴上的一个驱动步幅的同时,在各个短轴上分别依据步数比例取相应的步幅,直至取完长轴上的全部驱动步幅,同时取完各个短轴上的全部驱动步幅。
可选地,插补运算线程计算每个驱动步幅中包含的与连续的时间点相对应的位置坐标还包括:
插补循环每取一个驱动步幅,根据预设的加速度获取每个驱动步幅所对应的连续的时间点。
根据每个驱动步幅的长度和连续的时间点计算出每个驱动步幅中连续的时间点相对应的位置坐标。
可选地,该方法还包括:根据每个驱动步幅的长度和预设的加速度计算驱动步幅的平均速度;并通过平均速度计算每个驱动步幅所需的时间。
通过总线通信线程回调伺服驱动器的位置控制信息包括:
每进行一次插补循环,插补运算线程对当次插补循环之前的全部驱动步幅的所需的时间进行一次累积时间的计算。
当该累积时间小于预设的总线通信线程回调周期时,进行下一次插补循环;当该累积时间大于或等于预设的总线通信线程回调周期时,总线通信线程回调所累积的全部驱动步幅,并将全部驱动步幅传输给各个轴的驱动服务器。
可选地,该方法还包括:
在插补运算线程运行过程中,总线通信线程从输入/输出I/O从站采集附加功能信息;其中,所述附加功能信息包含进给倍率、急停、暂停、原点或手轮信息。
每次插补循环检测总线通信线程是否采集到该附加功能信息。。
当检测到总线通信线程采集到附加功能信息时,退出插补循环,并针对该附加功能信息进行相应处理。
可选地,该方法还包括:在插补运算线程接收非实时操作***层传输的实时控制数据之前,在非实时操作***层进行加工路径的光顺处理和速度规划,其中速度规划中包含预设的加速度信息。
为了达到上述目的,本发明还提出了一种数控***,该***包括:插补运算模块、通信总线模块和伺服驱动器。
插补运算模块,用于在实时操作***层,接收非实时操作***层传输的实时控制数据。
插补运算模块,还用于将该实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息。
通信总线模块,用于通过总线通信线程回调伺服驱动器的位置控制信息并发送给伺服驱动器。
可选地,插补运算模块将实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息包括:
插补运算线程根据预设的精度参数将实时控制数据中包含的各个轴的多个控制分量分别离散化为多个等距的微控制分量,并将每个微控制分量作为伺服驱动器的一个驱动步幅;计算每个驱动步幅相对应的连续的时间点以及与该时间点相对应的位置坐标。
可选地,插补运算模块还用于:在插补运算线程中以插补循环的方式完成插补运算。
其中,以插补循环的方式完成插补运算包括:
从各个从站中分别选取各个轴中所需的驱动步幅数最多的轴,将驱动步幅数最多的轴作为当前从站中的长轴;将当前从站的各个轴中除长轴以外的轴作为短轴。
以长轴为基础,每次插补循环取长轴上的一个驱动步幅,直至取完长轴上的全部驱动步幅。
在每次插补循环中,取长轴上的一个驱动步幅的同时,在各个短轴上分别依据步数比例取相应的步幅,直至取完长轴上的全部驱动步幅,同时取完各个短轴上的全部驱动步幅。
可选地,插补运算模块计算每个驱动步幅中包含的与连续的时间点相对应的位置坐标还包括:
插补循环每取一个驱动步幅,根据预设的加速度获取每个驱动步幅所对应的连续的时间点。
根据每个驱动步幅的长度和连续的时间点计算出每个驱动步幅中连续的时间点相对应的位置坐标。
可选地,插补运算模块还用于:根据每个驱动步幅的长度和预设的加速度计算驱动步幅的平均速度;并通过平均速度计算每个驱动步幅所需的时间。
通信总线模块通过总线通信线程回调伺服驱动器的位置控制信息包括:
每进行一次插补循环,插补运算线程对当次插补循环之前的全部驱动步幅的所需的时间进行一次累积时间的计算。
当累积时间小于预设的总线通信线程回调周期时,进行下一次插补循环;当累积时间大于或等于预设的总线通信线程回调周期时,总线通信线程回调所累积的全部驱动步幅,并将全部驱动步幅传输给各个轴的驱动服务器。
与现有技术相比,本发明包括:在实时操作***层,插补运算线程接收非实时操作***层传输的实时控制数据;插补运算线程将该实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息;通过总线通信线程回调伺服驱动器的位置控制信息并发送给伺服驱动器。通过本发明的方案,能够基于实时以太网总线技术进行数控***插补算法,结构和接线简单、实时性高、传输效率高、传输距离长、抗干扰能力强、稳定性好、易于扩展和维护。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为本发明实施例的数控***插补方法流程图;
图2为本发明实施例的数控***组成框图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
目前市场上大多数伺服驱动器以及数控***都是基于脉冲技术的,相应的插补算法也是基于脉冲技术设计的。基于脉冲技术的数控***有很多局限性:结构复杂、接线多、传输效率低、传输距离受限、抗干扰能力差、稳定性差、不利于扩展。采用实时以太网总线技术的新型数控***可以很好的解决上述问题。采用实时以太网技术加上实时操作***,去掉了插在控制器里的运动控制卡,避免了很多插卡造成的稳定性问题。控制器采用标准网卡,使用标准网线串联各个伺服驱动器和I/O从站,去掉了原来繁杂的连线,极大简化了数控***的结构,易于安装维护,便于扩展新的节点。由于采用100M以太网高速传输,极大提高了通信传输效率。由于是数字量传输,极大提高了通信的抗干扰能力。基于实时以太网的数控***代表了该领域新技术的发展趋势,优势十分明显。要实现总线数控***,除了改变底层的硬件结构外,最主要是改造原有基于脉冲的插补算法,实现新的基于实时总线的插补算法。本发明提供了一种基于实时以太网总线技术的数控***插补算法实现方案,在总线条件下实现基本的插补运动功能,同时也实现了其他一些关键的配套功能:通过倍率开关实时调节加工速度、插补过程中实时响应急停/暂停/原点等I/O信号、插补过程根据实时采集的手轮计数进行手轮引导运动。
为了达到上述目的,本发明提出了一种数控***插补方法,如图1所示,该方法包括步骤S101-S103:
S101、在实时操作***层,插补运算线程接收非实时操作***层传输的实时控制数据。
在本发明实施例中,设计了插补运算模块,创建插补运算线程,该插补运算线程接收上层插补操作命令,即上述的实时控制数据,该实时控制数据可以是通过CAD(计算机辅助设计)或CAM(计算机辅助制造)利用造型技术设计出想要加工的曲线或曲面形状后,转换成的G代码,该操作是在非实时操作***层完成的,插补运算线程根据获得的G代码执行基本线段的插补运算,获取伺服驱动器的位置控制信息。
在本发明实施例中,从实时性、易用性、成熟度、厂商支持力度、可维护性等各方面综合考虑,选择RTX(windows扩展实时内核子***)作为实时操作***,选择国际标准EtherCAT作为实时以太网总线标准。
另外,为保证实时性,根据RTX的特点,给RTX分配至少2颗核心CPU,剩余核心CPU分配给非实时的Windows,即非实时操作***层,并且RTX以独占模式运行。对实时性要求高的插补运算和总线通信均运行在RTX中。
可选地,该方法还包括:在插补运算线程接收非实时操作***层传输的实时控制数据之前,在非实时操作***层进行加工路径的光顺处理和速度规划,其中速度规划中包含预设的加速度信息。
在本发明实施例中,大数据量和运算量的加工路径前瞻光顺处理和速度规划放到非实时操作***层实现;基本线段插补运算和总线通信功能放到实时操作***层实现。非实时的Windows与实时RTX以共享内存方式进行通信,保证了大数据量的及时传输。将非实时的Windows中进行的大数据量和运算量的加工路径前瞻光顺处理和速度规划,通过共享内存传递到RTX中进行最终的插补处理。
S102、插补运算线程将实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息。
可选地,插补运算线程将总线通信线程提供的实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息包括:
插补运算线程根据预设的精度参数将实时控制数据中包含的各个轴的多个控制分量分别离散化为多个等距的微控制分量,并将每个微控制分量作为伺服驱动器的一个驱动步幅;计算每个驱动步幅相对应的连续的时间点以及与该时间点相对应的位置坐标。
在本发明实施例中,基本线段(即上述的曲线或曲面形状)在各轴上分配的控制分量事先按设定精度参数离散化为,即进一步细分为多个等距离微小线段,每个微小线段称为一步。即上述的一个驱动步幅。
基于上述的各个州的控制分量的细分处理,可选地,该方法还包括:插补运算线程以插补循环的方式完成插补运算。
其中,以插补循环的方式完成插补运算包括步骤S201-S203:
S201、从各个从站中分别选取各个轴中所需的驱动步幅数最多的轴,将驱动步幅数最多的轴作为当前从站中的长轴;将当前从站的各个轴中除长轴以外的轴作为短轴。
S202、以长轴为基础,每次插补循环取长轴上的一个驱动步幅,直至取完长轴上的全部驱动步幅。
S203、在每次插补循环中,取长轴上的一个驱动步幅的同时,在各个短轴上分别依据步数比例取相应的步幅,直至取完长轴上的全部驱动步幅,同时取完各个短轴上的全部驱动步幅。
在本发明实施例中,选取各个从站中最大步数的轴为长轴。插补循环主要是针对长轴的步数进行设计,每次循环只取长轴的一步,直到取完退出循环,结束插补运算。长轴每次循环取一步,其他轴,即上述的短轴,按步数比例每次循环取相应的步数,或者多次循环取一步,需保证长轴取完最后一步时,其他轴步数也刚好取完。
基于上述的插补循环的方式,可选地,插补运算线程计算每个驱动步幅中包含的与连续的时间点相对应的位置坐标还包括:
插补循环每取一个驱动步幅,根据预设的加速度获取每个驱动步幅所对应的连续的时间点。
根据每个驱动步幅的长度和连续的时间点计算出每个驱动步幅中连续的时间点相对应的位置坐标。
可选地,该方法还包括:根据每个驱动步幅的长度和预设的加速度计算驱动步幅的平均速度;并通过平均速度计算每个驱动步幅所需的时间。
在本发明实施例中,插补循环每取一步后,根据事先设定的速度、加速度等速度控制相关参数,以及前瞻速度规划结果,通过预设的速度控制算法,得出该步的平均速度。如果把一步看作一点的话,该步的平均速度可看作是一点的瞬时速度。通过该步的平均速度,可计算出该步所需的时间。
可选地,该方法还包括:
在插补运算线程运行过程中,总线通信线程从输入/输出I/O从站采集附加功能信息;其中,所述附加功能信息包含进给倍率、急停、暂停、原点或手轮信息。
每次插补循环检测总线通信线程是否采集到该附加功能信息。
当检测到总线通信线程采集到附加功能信息时,退出插补循环,并针对附加功能信息进行相应处理。
在本发明实施例中,在插补循环过程中,每次插补循环都会检查总线通信线程实时采集的I/O数据,主要涉及进给倍率、急停、暂停、原点、手轮等相关信息。如果检测到急停或暂停按钮按下的信号,会退出插补循环,终止插补运动。如果是回原点过程,并且检测到原点信号,会记录当前原点位置,并立即减速直到停止运动。速度控制算法会根据当前进给倍率最终计算得出每一步的平均速度,从而实现通过进给倍率开关实时调节运动速度的功能。根据读取到的手轮计数、手轮倍率信息,计算出积累的手轮步数,作为速度控制的剩余目标步数,并据此计算每一步的平均速度,手轮步数多,速度就快,手轮步数少,速度就慢,没有手轮步数,则停止运动等待手轮计数,从而实现手轮引导运动过程。
本发明实施例的插补循环的功能设计首先能保证各轴位置精确性;其次在最小细粒度(每一个驱动步幅)上进行速度控制,有效保证了速度控制的平滑性和柔和性,同时又兼顾效率,并且方便实现通过倍率开关实时调节运动速度的功能;最后每次插补循环都检查急停、暂停、原点、手轮等I/O数据,便于根据用户需要实现及时急停、暂停、发现特定点(例如原点)、手轮引导运动等功能。总之,本文提出的插补循环的功能设计,除了可完美实现插补算法的主要目标(位置控制和速度控制)外,还能很方便的扩展实现针对插补运动过程提出的其他用户需求。
S103、通过总线通信线程回调伺服驱动器的位置控制信息并发送给伺服驱动器。
在本发明实施例中,还设计了通信总线模块,实现EtherCAT标准协议,负责和EtherCAT从站设备进行通信。通信总线模块创建总线通信线程,提供周期回调函数机制,允许其他模块根据需要将自己的周期回调函数指针设置给通信总线模块,通信总线模块负责以设定好的固定周期调用该函数指针,并且保证周期的稳定性。总线回调周期参数值的设定一般由伺服驱动器的参数决定,目前最低可达到250微秒。本算法在250微秒的总线回调周期下进行实测,周期误差不超过20微秒。
在本发明实施例中,总线通信线程与插补运算线程是分开的,各自独立运行。总线通信线程最主要功能是按总线周期参数要求提供稳定的周期回调。在周期回调里提供各个从站设备的实时数据的输入输出功能。在插补运算线程中需要用到总线通信线程从I/O从站采集的进给倍率、急停/暂停/原点、手轮计数等I/O信号输入信息,并且需要将插补运算结果位置控制信息输出到伺服从站。
在本发明实施例中,总线通信线程与插补运算线程分开,各自独立运行,使得总线周期避免受到不必要的干扰,有效保证了总线周期的稳定性,从而保证了伺服驱动器等各从站节点的实时性和同步性,从根本上保证了插补运动中各轴联动的同步性。
可选地,通过总线通信线程回调伺服驱动器的位置控制信息包括步骤S301-S302:
S301、每进行一次插补循环,插补运算线程对当次插补循环之前的全部驱动步幅的所需的时间进行一次累积时间的计算。
S302、当该累积时间小于预设的总线通信线程回调周期时,进行下一次插补循环;当该累积时间大于或等于预设的总线通信线程回调周期时,总线通信线程回调所累积的全部驱动步幅,并将全部驱动步幅传输给各个轴的驱动服务器。
在本发明实施例中,通过上述的插补运算线程可知,在插补循环中计算每一步所需时间,并将每一步换算后的目标位置坐标与所需时间累加到相应的缓存数据中。这样,多次循环可以积累多步累积时间,将该累积时间与总线的回调周期进行比对,如果累积时间比总线的回调周期小,则继续循环,如果累积时间超过总线的回调周期,则等待总线回调将数据取走。在最后一步计算完后,不管是否超过总线的回调周期,都会等待总线回调将最后的数据取走,保证目标位置的精确性。总线回调周期回调取走积累步数,减少相应的积累时间,并将取走的累积步数传输到各轴的伺服驱动器执行运动控制。
另外,由于插补运算和总线回调分别属于不同的线程,因此二者对于共同的缓存数据的读写操作需要保证数据一致性。采用临界区加锁的方式可以很好的解决这个问题,并且对实时性的影响可以忽略不计。即总线通信线程与插补运算线程二者在必要时通过临界区的方式对共享数据进行加锁读写访问,在保证共享数据一致性的前提下进行数据交换。
为了达到上述目的,本发明还提出了一种数控***1,如图2所述,需要说明的是,上述的数控***插补算法实施例中的任何一个实施例仅适用于本发明的数控紫铜实施例中,在此不一一赘述。该***包括:插补运算模块01、通信总线模块02和伺服驱动器03。
插补运算模块01,用于在实时操作***层,接收非实时操作***层传输的实时控制数据。
插补运算模块01,还用于将该实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器03的位置控制信息。
通信总线模块02,用于通过总线通信线程回调伺服驱动器的位置控制信息并发送给伺服驱动器。
可选地,插补运算模块01将实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息包括:
插补运算线程根据预设的精度参数将实时控制数据中包含的各个轴的多个控制分量分别离散化为多个等距的微控制分量,并将每个微控制分量作为伺服驱动器的一个驱动步幅;计算每个驱动步幅相对应的连续的时间点以及与该时间点相对应的位置坐标。
可选地,插补运算模块01还用于:在插补运算线程中以插补循环的方式完成插补运算。
其中,以插补循环的方式完成插补运算包括:
从各个从站中分别选取各个轴中所需的驱动步幅数最多的轴,将驱动步幅数最多的轴作为当前从站中的长轴;将当前从站的各个轴中除长轴以外的轴作为短轴。
以长轴为基础,每次插补循环取长轴上的一个驱动步幅,直至取完长轴上的全部驱动步幅。
在每次插补循环中,取长轴上的一个驱动步幅的同时,在各个短轴上分别依据步数比例取相应的步幅,直至取完长轴上的全部驱动步幅,同时取完各个短轴上的全部驱动步幅。
可选地,插补运算模块01计算每个驱动步幅中包含的与连续的时间点相对应的位置坐标还包括:
插补循环每取一个驱动步幅,根据预设的加速度获取每个驱动步幅所对应的连续的时间点。
根据每个驱动步幅的长度和连续的时间点计算出每个驱动步幅中连续的时间点相对应的位置坐标。
可选地,插补运算模块01还用于:根据每个驱动步幅的长度和预设的加速度计算驱动步幅的平均速度;并通过平均速度计算每个驱动步幅所需的时间。
通信总线模块02通过总线通信线程回调伺服驱动器的位置控制信息包括:
每进行一次插补循环,插补运算线程对当次插补循环之前的全部驱动步幅的所需的时间进行一次累积时间的计算。
当累积时间小于预设的总线通信线程回调周期时,进行下一次插补循环;当累积时间大于或等于预设的总线通信线程回调周期时,总线通信线程回调所累积的全部驱动步幅,并将全部驱动步幅传输给各个轴的驱动服务器。
与现有技术相比,本发明包括:在实时操作***层,插补运算线程接收非实时操作***层传输的实时控制数据;;插补运算线程将该实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息;通过总线通信线程回调伺服驱动器的位置控制信息并发送给伺服驱动器。通过本发明的方案,能够基于实时以太网总线技术进行数控***插补算法,结构和接线简单、实时性高、传输效率高、传输距离长、抗干扰能力强、稳定性好、易于扩展和维护。
总之,本发明实施例方案具有以下有益效果:
相比现有的基于脉冲的数控***,基于实时以太网总线的数控***具有结构和接线简单、实时性高、传输效率高、传输距离长、抗干扰能力强、稳定性好、易于扩展和维护等优点,是目前数控***技术发展的新趋势。目前市场上已经有很多知名厂商推出基于总线的伺服驱动器。本文提出的算法和技术方案解决了实现基于实时以太网总线的数控***所面临的核心插补算法问题,比既有的基于脉冲的插补算法更具有实时性、可靠性和先进性,加工效率得到进一步提高。同时由于去掉了专门的运动控制卡和专用线缆,使用通用标准网卡和网线,因此无论是从成本上还是从伺服厂商支持上来讲都具有很好的实用性。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
Claims (8)
1.一种数控***插补方法,其特点在于,所述方法包括:
在实时操作***层,插补运算线程接收非实时操作***层传输的实时控制数据;
所述插补运算线程将所述实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息;所述插补运算线程以插补循环的方式完成插补运算;
通过总线通信线程回调所述伺服驱动器的位置控制信息并发送给所述伺服驱动器;
其中,所述插补运算线程将所述实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息包括:
所述插补运算线程根据预设的精度参数将所述实时控制数据中包含的各个轴的多个控制分量分别离散化为多个等距的微控制分量,并将每个所述微控制分量作为所述伺服驱动器的一个驱动步幅;计算每个驱动步幅相对应的连续的时间点以及与所述时间点相对应的位置坐标;
所述以插补循环的方式完成插补运算包括:
从各个从站中分别选取各个轴中所需的驱动步幅数最多的轴,将所述驱动步幅数最多的轴作为当前从站中的长轴;将当前从站的各个轴中除所述长轴以外的轴作为短轴;
以所述长轴为基础,每次插补循环取所述长轴上的一个驱动步幅,直至取完所述长轴上的全部驱动步幅;
在每次插补循环中,取所述长轴上的一个驱动步幅的同时,在各个短轴上分别依据步数比例取相应的步幅,直至取完所述长轴上的全部驱动步幅,同时取完各个短轴上的全部驱动步幅。
2.如权利要求1所述的数控***插补方法,其特征在于,所述插补运算线程计算每个驱动步幅中包含的与连续的时间点相对应的位置坐标还包括:
所述插补循环每取一个驱动步幅,根据预设的加速度获取每个驱动步幅所对应的连续的时间点;
根据每个驱动步幅的长度和所述连续的时间点计算出每个驱动步幅中所述连续的时间点相对应的位置坐标。
3.如权利要求2所述的数控***插补方法,其特征在于,所述方法还包括:根据每个驱动步幅的长度和所述预设的加速度计算所述驱动步幅的平均速度;并通过所述平均速度计算每个驱动步幅所需的时间;
所述通过总线通信线程回调所述伺服驱动器的位置控制信息包括:
每进行一次插补循环,所述插补运算线程对当次插补循环之前的全部驱动步幅的所需的时间进行一次累积时间的计算;
当所述累积时间小于预设的总线通信线程回调周期时,进行下一次插补循环;当所述累积时间大于或等于预设的总线通信线程回调周期时,总线通信线程回调所累积的全部驱动步幅,并将所述全部驱动步幅传输给各个轴的驱动服务器。
4.如权利要求1所述的数控***插补方法,其特征在于,所述方法还包括:
在所述插补运算线程运行过程中,总线通信线程从输入/输出I/O从站采集附加功能信息;其中,所述附加功能信息包含进给倍率、急停、暂停、原点或手轮信息;
每次插补循环检测所述总线通信线程是否采集到所述附加功能信息;
当检测到所述总线通信线程采集到所述附加功能信息时,退出插补循环,并针对所述附加功能信息进行相应处理。
5.如权利要求2所述的数控***插补方法,其特征在于,所述方法还包括:在所述插补运算线程接收所述非实时操作***层传输的实时控制数据之前,在非实时操作***层进行加工路径的光顺处理和速度规划,其中所述速度规划中包含预设的加速度信息。
6.一种数控***,其特点在于,所述***包括:插补运算模块、通信总线模块和伺服驱动器;
所述插补运算模块,用于在实时操作***层,接收非实时操作***层传输的实时控制数据;
所述插补运算模块,还用于将所述实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息;其中,所述插补运算模块将所述实时控制数据通过预设的插补算法计算出各个从站的伺服驱动器的位置控制信息包括:
所述插补运算线程根据预设的精度参数将所述实时控制数据中包含的各个轴的多个控制分量分别离散化为多个等距的微控制分量,并将每个所述微控制分量作为所述伺服驱动器的一个驱动步幅;计算每个驱动步幅相对应的连续的时间点以及与所述时间点相对应的位置坐标;
所述插补运算模块还用于:在所述插补运算线程中以插补循环的方式完成插补运算;
其中,所述以插补循环的方式完成插补运算包括:
从各个从站中分别选取各个轴中所需的驱动步幅数最多的轴,将所述驱动步幅数最多的轴作为当前从站中的长轴;将当前从站的各个轴中除所述长轴以外的轴作为短轴;
以所述长轴为基础,每次插补循环取所述长轴上的一个驱动步幅,直至取完所述长轴上的全部驱动步幅;
在每次插补循环中,取所述长轴上的一个驱动步幅的同时,在各个短轴上分别依据步数比例取相应的步幅,直至取完所述长轴上的全部驱动步幅,同时取完各个短轴上的全部驱动步幅;
所述通信总线模块,用于通过总线通信线程回调所述伺服驱动器的位置控制信息并发送给所述伺服驱动器。
7.如权利要求6所述的数控***,其特征在于,所述插补运算模块计算每个驱动步幅中包含的与连续的时间点相对应的位置坐标还包括:
所述插补循环每取一个驱动步幅,根据预设的加速度获取每个驱动步幅所对应的连续的时间点;
根据每个驱动步幅的长度和所述连续的时间点计算出每个驱动步幅中所述连续的时间点相对应的位置坐标。
8.如权利要求7所述的数控***,其特征在于,所述插补运算模块还用于:根据每个驱动步幅的长度和所述预设的加速度计算所述驱动步幅的平均速度;并通过所述平均速度计算每个驱动步幅所需的时间;
所述通信总线模块通过总线通信线程回调所述伺服驱动器的位置控制信息包括:
每进行一次插补循环,所述插补运算线程对当次插补循环之前的全部驱动步幅的所需的时间进行一次累积时间的计算;
当所述累积时间小于预设的总线通信线程回调周期时,进行下一次插补循环;当所述累积时间大于或等于预设的总线通信线程回调周期时,总线通信线程回调所累积的全部驱动步幅,并将所述全部驱动步幅传输给各个轴的驱动服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610833670.0A CN106406227B (zh) | 2016-09-19 | 2016-09-19 | 一种数控***插补方法和数控*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610833670.0A CN106406227B (zh) | 2016-09-19 | 2016-09-19 | 一种数控***插补方法和数控*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106406227A CN106406227A (zh) | 2017-02-15 |
CN106406227B true CN106406227B (zh) | 2019-02-26 |
Family
ID=57997103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610833670.0A Active CN106406227B (zh) | 2016-09-19 | 2016-09-19 | 一种数控***插补方法和数控*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106406227B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783503B (zh) * | 2017-10-16 | 2020-03-17 | 五邑大学 | 一种基于双线程的速度预处理算法 |
CN107966954B (zh) * | 2017-11-24 | 2020-04-17 | 江俊逢 | 一种计算机数字控制方法与*** |
CN110412947B (zh) * | 2018-04-28 | 2021-01-08 | 北京北方华创微电子装备有限公司 | 工业设备控制方法及其***、存储设备 |
CN109623491B (zh) * | 2018-12-21 | 2020-04-07 | 电子科技大学 | 一种基于零件轮廓形貌的机床加工自适应数据采集方法 |
CN110333722A (zh) * | 2019-07-11 | 2019-10-15 | 北京电影学院 | 一种机器人轨迹生成和控制方法、装置及*** |
CN110412921B (zh) * | 2019-08-09 | 2021-07-27 | 山东大学 | 基于EtherCAT的机器人单腿高实时性控制*** |
CN113156890B (zh) * | 2020-01-22 | 2023-07-18 | 科德数控股份有限公司 | 一种非实时插补数控***的倍率控制方法 |
CN114200892B (zh) * | 2021-11-01 | 2024-07-05 | 苏州谋迅智能科技有限公司 | 交互输入设备平滑输出的方法和装置、存储介质和设备 |
CN114063568B (zh) * | 2021-11-18 | 2023-11-21 | 上海维宏电子科技股份有限公司 | 基于三次卷积插值实现数控***倍率调整控制的方法、装置、处理器及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100504688C (zh) * | 2007-01-15 | 2009-06-24 | 大连光洋科技工程有限公司 | 在环形总线数控***中实现总线控制器功能的专用芯片 |
CN102354154B (zh) * | 2011-07-22 | 2013-06-26 | 江俊逢 | 一种开放式数控***的实时内核芯片 |
JP5872869B2 (ja) * | 2011-12-05 | 2016-03-01 | ファナック株式会社 | 工具背面での切削点指令により加工を行う数値制御装置 |
CN103728923B (zh) * | 2013-12-24 | 2016-06-01 | 嘉兴学院 | 一种高效高平稳的数控***加减速控制方法 |
CN204925764U (zh) * | 2015-08-27 | 2015-12-30 | 毕延勇 | 一种五轴伺服数控冲床的数控*** |
CN205193561U (zh) * | 2015-12-11 | 2016-04-27 | 沈阳高精数控智能技术股份有限公司 | Miii总线数控装置 |
-
2016
- 2016-09-19 CN CN201610833670.0A patent/CN106406227B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106406227A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106406227B (zh) | 一种数控***插补方法和数控*** | |
CN103425106B (zh) | 一种基于Linux的EtherCAT主/从站控制***及方法 | |
WO2019109502A1 (zh) | 一种基于物联网的数控机床智能监控网关 | |
CN102253657B (zh) | 一种数控***网络化体系结构的实现方法 | |
CN107505882A (zh) | 一种多轴运动控制器及控制方法 | |
CN100504688C (zh) | 在环形总线数控***中实现总线控制器功能的专用芯片 | |
CN103901822A (zh) | 一种多轴联动运动控制*** | |
CN102291337B (zh) | EtherCAT协议与Profibus-DP协议通信转换的网关及其通信方法 | |
CN101329570B (zh) | 同步串行总线式数控*** | |
CN103163825B (zh) | 四通道的数控***endat2.2接口 | |
CN108345236A (zh) | 一种基于EtherCAT的控制*** | |
CN110989475B (zh) | 分布式***中编码器位置的处理方法、控制器及*** | |
CN203537414U (zh) | 基于嵌入式多微控制单元的通信协议转换装置 | |
CN110045681B (zh) | 一种基于位置预测的数控机床位置相关型误差的外置补偿方法 | |
CN110989499A (zh) | 基于高速无线通信的混合架构控制*** | |
CN109799790A (zh) | 一种刀具半径补偿方法及装置 | |
Li et al. | An open CNC system based on EtherCAT network | |
CN101477355A (zh) | 一种用于微型切割机的数控*** | |
CN201167335Y (zh) | Profibus-DP总线串口服务器 | |
CN202600433U (zh) | 嵌入式五轴联动控制*** | |
CN202094918U (zh) | 一种EtherCAT总线通用伺服脉冲量接口模块 | |
CN103376780A (zh) | 基于无线局域网的数控设备群控装置 | |
CN204155117U (zh) | 一种大功率变频器控制*** | |
CN202435022U (zh) | 一种电气化铁路牵引网微机馈线保护装置 | |
CN106933186A (zh) | 一种基于arm处理器的数控***精度保持设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |