CN105573254A - 面向编码器/播放器式数控系统的运动比特流变换方法 - Google Patents

面向编码器/播放器式数控系统的运动比特流变换方法 Download PDF

Info

Publication number
CN105573254A
CN105573254A CN201610021830.1A CN201610021830A CN105573254A CN 105573254 A CN105573254 A CN 105573254A CN 201610021830 A CN201610021830 A CN 201610021830A CN 105573254 A CN105573254 A CN 105573254A
Authority
CN
China
Prior art keywords
motion
kth
bitstreams
stream
arc length
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.)
Granted
Application number
CN201610021830.1A
Other languages
English (en)
Other versions
CN105573254B (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201610021830.1A priority Critical patent/CN105573254B/zh
Publication of CN105573254A publication Critical patent/CN105573254A/zh
Application granted granted Critical
Publication of CN105573254B publication Critical patent/CN105573254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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/34Director, elements to supervisory
    • G05B2219/34148Coons interpolation, patch

Abstract

本发明涉及一种面向编码器/播放器式数控系统的运动比特流变换方法,属于数控系统中的运动控制技术领域。本发明的目的在于利用单位弧长增量法插补曲线精度较高的优点,并借助了比特位快速运算的优势,使得单位弧长增量法可以应用于速度灵活可调的高速加工中,推广单位弧长增量法的应用范围。本发明包括两种编码格式和两种解码算法。在加工开始之前,编码器可对任意参数曲线使用单位弧长增量法进行插补,获取一系列坐标增量值、并将坐标增量值化为一种编码格式的运动比特流进行存储。在加工的过程中,根据所给的编码格式,选取相应的解码算法,从运动比特流中还原出一个插补周期内的各轴坐标增量值,使机床各轴沿所给参数曲线运动。

Description

面向编码器/播放器式数控系统的运动比特流变换方法
技术领域
本发明属于数控系统中的运动控制技术领域,涉及一种面向编码器/播放器式数控系统的运动比特流变换方法。
背景技术
在机床的数控系统中,插补器的任务是读取由数控系统外部输入的加工运动轨迹指令,并根据加工运动轨迹指令计算机床的各个运动轴每隔一段固定的时间(称为插补周期)所应达到的位置(称为指令位置)。数控系统中的运动控制单元将指令位置转化为电机运动量的指令信号,使机床运动机构依照加工运动轨迹指令完成相应的运动,实现对工件的加工。作为数控系统中的关键模块,插补器所使用的插补方法对运动精度和运动速度的平稳性起着至关重要的作用。现有的机床数控系统所使用的插补方法大致可分为数据采样法和脉冲增量法两大类。
数据采样法是一种插补步长能够根据指定的速度进行调节的插补方法,在高速加工机床中的应用较为广泛。申请号为201310717322.3、名称为《一种基于FPGA的三次B样条曲线的硬件插补器》的专利,以及申请号为201310003017.8、名称为《一种基于ARM9嵌入式系统和FPGA的NURBS曲线分段插补方法》的专利均利用B样条曲线的参数直接执行精插补。然而,数据采样法当插补步长越大时插补精度往往越低,且其对参数曲线的粗插补存在精度不稳定的问题,在曲线尖拐角处有时会造成较大的速度波动。
与数据采样法不同,脉冲增量法(例如逐点比较法、数字积分法、最小偏差法和单位弧长增量法)具有插补步长十分微小、接近于机床的各轴脉冲当量(BLU)的特点,既可用于数据采样法的精插补环节,也可以独立使用、实现对曲线的直接精插补。申请号为200810229319.6、名称为《基于片上可编程系统的数控系统精插补器及其控制方法》的专利采用了上位机存储粗插补结果、由FPGA以数字积分法执行精插补计算。然而,若要利用脉冲增量法实现高速加工,有时需要在一个插补周期内执行几百步甚至数千步插补,造成计算量大大增加,给数控系统的处理器带来极大负担。申请号为201310202145.5,名称为《复合插补法及其系统软件》的专利使用改进的脉冲增量法插补参数曲线,并将若干步插补结果合并,对每一根轴的多步插补合并结果利用四个二进制位进行存储,在加工过程中可以直接取出预先存储的各轴插补结果作为各轴坐标增量,但该发明未考虑速度规划的需求,插补的速度调节精度受合并步数的限制。
尽管现有的数控系统的两大类插补方法仍各自有其不足之处,然而,这些不足之处可以通过借鉴其他领域的一些先进方法来改进。随着影视行业以及互联网行业的不断繁荣,视频的编码与解码技术得到了快速的发展。与此同时,计算机科学领域也开发了相当成熟的二进制位处理算法,微处理器架构也正逐渐提供越来越丰富的二进制位处理指令集。此外,申请号为201210328234.X、名称为《单位弧长增量插补法》的专利所提供了一种沿曲线进行弧长间距为1BLU的直接精插补的脉冲增量法,使得插补结果中保留了原始曲线的弧长信息,有助于使用精插补结果进行速度可调的曲线运动。鉴于上述技术的优点,本领域的技术人员在名称为《一种基于编码器/播放器体系架构的工业控制系统》的专利所提供的一种工业控制系统架构的基础之上,致力于开发一种面向编码器/播放器式数控系统的运动比特流变换方法,使得单位弧长增量法可以被应用于速度可调的高速加工中,实现对任意参数曲线的快速高精度稳定插补。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种面向编码器/播放器式数控系统的运动比特流变换方法,在编码器中将单位弧长增量法的插补结果转换为运动比特流的形式进行预先存储,并在加工的过程中利用播放器从运动比特流中快速提取各轴坐标增量值,使得单位弧长增量法可以被应用于速度可调的高速加工中,实现对任意参数曲线的快速高精度稳定插补。
本发明提供了一种面向编码器/播放器式数控系统的运动比特流变换方法,所述运动比特流变换方法为串行编码方法,包括使用数组存放单位弧长增量法生成的共计Mk步插补结果,所述数组一共有Mk个元素,第k个元素ξk存放了所述单位弧长增量法第k步插补的坐标增量ΔQk所对应的脉冲位σk,j和方向位δk,j,其中Mj为机床轴数,k=1,2,…,Mk,j=1,2,…,Mj
本发明提供了一种面向编码器/播放器式数控系统的运动比特流变换方法,所述运动比特流变换方法为并行编码方法,包括机床的每根轴使用两个一维数组,分别存储脉冲位和方向位;称存储所述脉冲位的所述一维数组为脉冲流,第j轴的所述脉冲流的第K个元素GK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的脉冲位σNK-N+1,jNK-N+2,j,…,σNK,j;称存储所述方向位的所述一维数组为方向流,第j轴的所述方向流的第K个元素DK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的方向位δNK-N+1,jNK-N+2,j,…,δNK,j;其中为向上取整符号。
本发明提供了一种面向编码器/播放器式数控系统的运动比特流变换方法,所述运动比特流变换方法为串行解码方法,包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步,其中第k步解码通过如下转换方法获取所述坐标增量ΔQk:若σk,j=0,则Δqk,j=0;若σk,j=1且δk,j=0,则Δqk,j=1;若σk,j=1且δk,j=1,则Δqk,j=-1;其中k=kp(t-T),kp(t-T)+1,…kp(t),计算在t时刻的指令位置增量: Δ Φ ( t ) = ΔQ k p ( t - T ) + 1 + ΔQ k p ( t - T ) + 2 + ... + ΔQ k p ( t ) .
本发明提供了一种面向编码器/播放器式数控系统的运动比特流变换方法,所述运动比特流变换方法为并行解码方法,包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步;对于第j轴,使用种群计数法统计所述脉冲流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数,记为以及所述方向流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数,记为计算在t时刻的第j轴指令位置增量j=1,2,…,Mj
本发明提供了一种面向编码器/播放器式数控系统的运动比特流变换方法,所述运动比特流变换方法为串行编码和串行解码方法,其中所述串行编码方法包括使用数组存放单位弧长增量法生成的共计Mk步插补结果,所述数组一共有Mk个元素,第k个元素ξk存放了所述单位弧长增量法第k步插补的坐标增量ΔQk所对应的脉冲位σk,j和方向位δk,j,其中Mj为机床轴数,k=1,2,…,Mk,j=1,2,…,Mj;所述串行解码方法包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步,其中第k步解码通过如下转换方法获取所述坐标增量ΔQk:若σk,j=0,则Δqk,j=0;若σk,j=1且δk,j=0,则Δqk,j=1;若σk,j=1且δk,j=1,则Δqk,j=-1;其中k=kp(t-T),kp(t-T)+1,…kp(t),计算在t时刻的指令位置增量: Δ Φ ( t ) = ΔQ k p ( t - T ) + 1 + ΔQ k p ( t - T ) + 2 + ... + ΔQ k p ( t ) .
本发明提供了一种面向编码器/播放器式数控系统的运动比特流变换方法,所述运动比特流变换方法为并行编码和串行解码方法,其中所述并行编码方法包括机床的每根轴使用两个一维数组,分别存储脉冲位和方向位;称存储所述脉冲位的所述一维数组为脉冲流,第j轴的所述脉冲流的第K个元素GK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的脉冲位σNK-N+1,jNK-N+2,j,…,σNK,j;称存储所述方向位的所述一维数组为方向流,第j轴的所述方向流的第K个元素DK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的方向位δNK-N+1,jNK-N+2,j,…,δNK,j;其中为向上取整符号;所述串行解码方法包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步,其中第k步解码通过如下转换方法获取所述坐标增量ΔQk:若σk,j=0,则Δqk,j=0;若σk,j=1且δk,j=0,则Δqk,j=1;若σk,j=1且δk,j=1,则Δqk,j=-1;其中k=kp(t-T),kp(t-T)+1,…kp(t),计算在t时刻的指令位置增量: Δ Φ ( t ) = ΔQ k p ( t - T ) + 1 + ΔQ k p ( t - T ) + 2 + ... + ΔQ k p ( t ) .
本发明提供了一种面向编码器/播放器式数控系统的运动比特流变换方法,所述运动比特流变换方法为并行编码和并行解码方法,包括其中所述并行编码方法包括机床的每根轴使用两个一维数组,分别存储脉冲位和方向位;称存储所述脉冲位的所述一维数组为脉冲流,第j轴的所述脉冲流的第K个元素GK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的脉冲位σNK-N+1,jNK-N+2,j,…,σNK,j;称存储所述方向位的所述一维数组为方向流,第j轴的所述方向流的第K个元素DK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的方向位δNK-N+1,jNK-N+2,j,…,δNK,j;其中为向上取整符号;所述并行解码方法包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步;对于第j轴,使用种群计数法统计所述脉冲流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数,记为以及所述方向流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数,记为计算在t时刻的第j轴指令位置增量j=1,2,…,Mj
要使播放器实现从运动比特流中快速提取各轴坐标增量值的功能,首先需要编码器根据单位弧长增量法插补结果的特点,以适当的方式对插补结果进行存储。单位弧长增量法的示意图如图1所示,给定一条待插补曲线
C ( u ) = ( c 1 ( u ) , c 2 ( u ) , ... , c M j ( u ) ) T
其中Mj为机床所含的轴的个数;cj(u)为曲线在第j轴上的分量,j=1,2,…,Mj。对曲线C(u)的第k步插补所得的各轴坐标增量记为
ΔQ k = ( Δq k , 1 , Δq k , 2 , ... , Δq k , M j ) T , k = 1 , 2 , ... , M k
其中Δqk,j为曲线的第j轴在第k步插补时的坐标增量,单位为BLU,j=1,2,…,Mj。单位弧长增量法是一种小步长插补算法,满足弧长增量Δs=1BLU和|Δqk,j|≤1BLU。由于脉冲当量是机床轴的最小分辨单位,因此Δqk,j的取值实际上只有三种可能:-1,0和+1BLU。因此,每个Δqk,j可以用一个整型变量存储。然而,因为计算机中一个整型变量一般要占据16~64位,而以1BLU是一个非常小的步长,对一条曲线插补的总步数Mk往往很大,需要生成大量的坐标增量数据。为了节约存储空间,将每个Δqk,j转换为两个运动比特位(一个脉冲位和一个方向位)进行存储,其转换规则如图2所示。其中σk,j为脉冲位,其值等于|Δqk,j|;δk,j为方向位,当Δqk,j≥0时δk,j=0,否则δk,j=1。
在计算机程序中,一般使用数组来存储大量的比特位。编码器在执行单位弧长增量法插补后所得的一系列运动比特位按照一定的格式和顺序排列于数组中,形成运动比特流。各个脉冲位σk,j和方向位δk,j在数组中的分布(即对插补结果的编码格式),影响着对运动比特流的解码(即从插补结果中提取各轴坐标增量)的速度。本发明提供两种对运动比特流的编码格式和两种在播放器中使用的解码算法,下面将分别进行详细说明。
一、串行编码格式
图3所示的是运动比特流的串行编码格式。该格式仅需短整型变量、整型变量或长整型变量的一维数组即可存储数据,称该数组为串行比特流数组。串行比特流数组一共有Mk个元素,其第k个元素ξk(k=1,2,…,Mk)存放了单位弧长增量法第k步插补的坐标增量ΔQk所对应的脉冲位σk,j和方向位δk,j,j=1,2,…,Mj,一共2Mj个运动比特位。设数组每个元素所占的位数为N,若要使串行比特流数组下标与单位弧长增量法插补步数保持1:1的对应关系(也就是要使数组的一个元素能够存放所有轴的一步插补结果),应使轴数Mj≤N/2。σk,j和δk,j在ξk中存放的位置可以任意排列,但要保证所有ξk对σk,j和δk,j的排列顺序都是相同的,以便于采用统一的算法对任意的ξk进行解码。
二、并行编码格式
图4所示的是运动比特流的并行编码格式。与图3对比可见,运动比特流的串行编码格式是对运动比特流进行横向分割,而运动比特流的并行编码格式则是对运动比特流进行纵向分割。机床的每根轴使用两支比特流(称为运动比特支流)分别存储该轴的脉冲位和方向位,每支运动比特支流可使用短整型变量、整型变量或长整型变量的一维数组进行存储,其下标为K,(为向上取整符号)。脉冲流的第K个元素GK,j存储了单位弧长增量法从第NK-N+1步到第NK步插补生成的脉冲位σNK-N+1,jNK-N+2,j,…,σNK,j。方向流的第K个元素DK,j存储了单位弧长增量法从第NK-N+1步到第NK步插补生成的方向位δNK-N+1,jNK-N+2,j,…,δNK,j。对于含有Mj个轴的机床,一共需要2Mj支运动比特支流来存储所有的运动比特位,因此需要列数为2Mj的二维数组来存储数据,称该二维数组为并行比特流数组。2Mj支运动比特支流在并行比特流数组中的列序号可以任意选择,只要保证它们所对应的列序号两两不同即可。
三、串行解码算法
串行解码算法的思想是对运动比特流进行逐位判断,遍历单位弧长增量法一个插补步所生成的所有运动比特位,由此获得该插补步所对应的各轴坐标增量。当需要获取第k个插补步所对应的第j轴坐标增量时,只需要从比特流数组中提取脉冲位σk,j和方向位δk,j,依照如如图2所示的规则做逆转换,即可获得Δqk,j。逆转换至多需要两步判断即可完成:若σk,j=0,则Δqk,j=0;若σk,j=1且δk,j=0,则Δqk,j=1;若σk,j=1且δk,j=1,则Δqk,j=-1。串行解码方法既可用于串行比特流数组的解码,也可用于并行比特流数组的解码。当数控系统在一个插补周期T内需要运动多个BLU的距离时,可将多步解码所得的各轴坐标增量累加。设机床在t时刻的指令位置为
其中为第j轴在t时刻的指令位置。设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步(即在t时刻需要解码至第kp(t)=kp(t-T)+Δkp(t)步),则在t时刻的指令位置增量为
其中为第j轴在t时刻的指令位置增量。t时刻的指令位置为
Φ(t)=Φ(t-T)+ΔΦ(t)
四、并行解码算法
串行解码算法是一种较为简单的运动比特流解码算法。然而,当进给速度较快时,一个插补周期内可能需要沿曲线运动数百甚至上千个BLU的距离。处理器当计算速度较慢或计算负担沉重时,将有可能来不及完成进给速度所要求的插补步数。为了缩短解码计算时间,更快地从运动比特流中获取各轴坐标增量,可使用并行解码算法。该方法只能用于并行比特流数组的解码,其思想为:使用比特位统计方法——种群计数法,分别统计每支运动比特支流中在当前插补周期内所需解码的所有运动比特位中的“1”的个数,再根据转换公式转换成各轴坐标增量。一些操作系统(如Linux)提供了种群计数内建函数,一些微处理器的指令集也提供了种群计数指令,这些种群计数内建函数或种群计数指令可直接统计一个整型变量或一个长整型变量中的“1”的个数。如图5所示,设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步(即在t时刻需要解码至第kp(t)=kp(t-T)+Δkp(t)步),则对于第j轴,使用种群计数法统计其脉冲流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数(记为),以及方向流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数(记为)。由可计算在t时刻的第j轴指令位置增量
由此可得t时刻的指令位置为
Φ(t)=Φ(t-T)+ΔΦ(t)
由于种群计数函数(或指令)只能作用于数组中的一个元素(即一个整型变量或一个长整型变量),因此当kp(t-T)+1和kp(t)不在并行比特流数组的同一行时(即时),需要对每支运动比特支流执行多次种群计数函数(或指令),再将每支运动比特支流的多次种群计数的结果相加。具体来说,设需要对每支运动比特支流中的第kp(t-T)+1到第K1N位(属于支流中的第K1个元素,即第K1行),第K1+1个元素,第K1+2个元素,……,第(K2-1)N+1位到第kp(t)位(属于支流中的第K2个元素,即第K2行)分别执行种群计数函数(或指令),再将这K2-K1+1次种群计数结果相加,即可获得(j=1,2,…,Mj)。
本发明提供了一种面向编码器/播放器式数控系统的运动比特流变换方法,包括两种编码格式和两种解码算法。在加工开始之前,编码器可对任意参数曲线使用单位弧长增量法进行插补,获取一系列坐标增量值、并将坐标增量值化为一种编码格式的运动比特流进行存储。在加工的过程中,播放器根据所给的编码格式选取相应的解码算法,从运动比特流中还原出一个插补周期内的各轴坐标增量值。本发明所提供的解码算法主要包括比特位的操作,既不涉及浮点数运算,也不存在传统的数据采样法的精度不稳定的问题,使得数控系统的实时插补具有良好的稳定性和可靠性。本发明利用了单位弧长增量法高精度的优点,并借助了比特位快速运算的优势,使得单位弧长增量法可以应用于速度灵活可调的高速加工中,推广了单位弧长增量法的应用范围。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的单位弧长增量法的示意图;
图2本发明的一个较佳实施例的是各轴坐标增量与运动比特位之间的转换规则示意图;
图3本发明的一个较佳实施例的是串行编码格式的示意图;
图4本发明的一个较佳实施例的是并行编码格式的示意图;
图5本发明的一个较佳实施例的是并行解码算法的示意图。
具体实施方式
在本发明的一个具体实施例中,编码器对申请号为201210328234.X、名称为《单位弧长增量插补法》的专利中的第一个实施例中使用单位弧长增量插补法插补平面第一象限中半径为10BLU的圆弧的结果以运动比特流的形式进行编码存储,播放器根据t时刻需要解码的步数Δkp(t)从运动比特流中提取所需的比特位并对其进行解码计算t时刻的指令位置增量。机床轴数Mj=2,插补的总步数Mk=16。使用整型变量数组存储运动比特流,并设整型变量的位数N=32,每步插补的各轴坐标增量为:
ΔQ1=(0,1)T,ΔQ2=(0,1)T,ΔQ3=(0,1)T,ΔQ4=(-1,1)T,ΔQ5=(0,1)T,
ΔQ6=(-1,1)T,ΔQ7=(0,0)T,ΔQ8=(-1,1)T,ΔQ9=(-1,1)T,ΔQ10=(-1,0)T,
ΔQ11=(0,1)T,ΔQ12=(-1,0)T,ΔQ13=(-1,1)T,ΔQ14=(-1,0)T,ΔQ15=(-1,0)T,
ΔQ16=(-1,0)T
下面提供两种编码格式和两种解码算法的实施例。
一、串行编码格式实施例
设串行比特流数组第k个元素的第0位至第3位分别表示σk,1,δk,1,σk,2和δk,2。根据图2所示的转换规则,将ΔQ1,ΔQ2,…,ΔQ16依次转换为Δξ1,Δξ2,…,Δξ16,以二进制形式表示如下(从右至左为从低位到高位):
Δξ1=0100B,Δξ2=0100B,Δξ3=0100B,Δξ4=0111B,Δξ5=0100B,
Δξ6=0111B,Δξ7=0000B,Δξ8=0111B,Δξ9=0111B,Δξ10=0011B,Δξ11=0100B,
Δξ12=0011B,Δξ13=0111B,Δξ14=0011B,Δξ15=0011B,Δξ16=0011B。
二、并行编码格式实施例
并行比特流数组一共有2Mj=4支运动比特支流,即4列,设第1支至第4支分别表示GK,1,DK,1,GK,2和DK,2。由于总插补步数Mk=16,因此并行比特流数组的行数为根据图2所示的转换规则,将ΔQ1,ΔQ2,…,ΔQ16转换为GK,1,DK,1,GK,2,DK,2,以二进制形式表示如下(从右至左为从低位到高位):
GK,1=1111101110101000B,DK,1=1111101110101000B,
GK,2=0001010110111111B,DK,2=0000000000000000B。
三、串行解码算法实施例
以kp(t-T)=8、Δkp(t)=4为例。此时有kp(t)=12。使用串行解码算法,根据图2所示的转换规则,对串行比特流数组中的4个元素Δξ9,Δξ10,Δξ11,Δξ12进行解码,或分别对并行比特流数组的4个运动比特支流GK,1,DK,1,GK,2,DK,2的第9至第12位(最低位为第1位)进行解码,均可获得相应的4组坐标增量:ΔQ9=(-1,1)T,ΔQ10=(-1,0)T,ΔQ11=(0,1)T,ΔQ12=(-1,0)T。在t时刻的指令位置增量为:
ΔΦ(t)=ΔQ9+ΔQ10+ΔQ11+ΔQ12=(-3,2)T
四、并行解码算法实施例
仍以kp(t-T)=8、Δkp(t)=4为例,kp(t)=12。使用并行解码算法,分别对并行比特流数组的4个运动比特支流GK,1,DK,1,GK,2,DK,2的第9至第12位(最低位为第1位)进行种群计数,可得 σ ^ 1 ( t ) = 3 , δ ^ 1 ( t ) = 3 , σ ^ 2 ( t ) = 2 , δ ^ 2 ( t ) = 0. 在t时刻的指令位置增量为
需要注意的是,运动比特流存储了一台机床需要进行加工时各轴应分别执行的运动。运动比特流的各个支流与机床运动轴相关。运动轴的配置和指令运动轨迹曲线的变化都会导致运动比特流发生变化。因此在对运动比特流进行编码后,还需要添加包含了一些辅助信息(如机床运动轴描述、程序段号、起点和终点坐标、终点弧长等)的文件头,与运动比特流共同存储于运动比特流文件中。对于本具体实施方式中的存储圆弧轨迹运动比特流的运动比特流文件,辅助信息如下:程序名称progName为“circularArc”,机床运动轴数numAxes为2,两个运动轴axis1和axis2的名称分别为X和Y,程序段号progIndex为1,曲线起点的X坐标startPointAxis1为10、Y坐标startPointAxis2为0,终点的X坐标endPointAxis1为0、Y坐标endPointAxis2为10,轨迹总弧长arcLength为16(BLU)。若以JSON格式表示辅助信息,则运动比特流文件的文件头的内容可表示如下:
本实施例中的圆弧的总弧长为16BLU,机床的运动轴数也仅为2,因此存储所有运动比特流只需要消耗64位(即8个字节)的存储空间。若曲线的总弧长较大、机床的运动轴数较多时,运动比特流可占用KB、MB甚至GB级的存储空间。因此在存储大量运动比特流时需要考虑数据压缩的问题。由于运动比特流存储的是加工运动轨迹,对加工精度有着直接的影响,因此须采用无损压缩格式对运动比特流进行存储。常用的无损压缩算法有霍夫曼(Huffman)算法和LZW(Lenpel-Ziv&Welch)压缩算法,其原理已有诸多文献给出介绍,受篇幅所限,本实施例不再对压缩算法予以赘述。
由于编码器和播放器可分布于不同硬件系统上(如将编码器置于云端服务器、将播放器置于机床数控系统客户端中),因此。为了在压缩运动比特流数据的同时可进行运动比特流数据的传输(而非在压缩全部完成后才开始传输)、节约时间,可将运动比特流数据拆分成多块,分块进行压缩成运动比特流数据包,再将分块的运动比特流数据包传输至客户端中。客户端对运动比特流数据包进行分块解压,将压缩的数据恢复为运动比特流。由于通讯网络可能存在工作不稳定的情况,运动比特流数据包的传输可能存在差错,因此有必要对运动比特流数据包附加上校验码(如循环冗余校验码或MD5值),然后在客户端利用与校验码对应的校验算法对运动比特流数据进行数据完整性校验,使得客户端能在运动比特流数据的传输发生差错(即数据完整性校验失败时)时及时提醒服务器重新传输运动比特流数据、防止加工运动轨迹发生差错所导致的加工精度恶化和加工失败等问题。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (7)

1.一种面向编码器/播放器式数控系统的运动比特流变换方法,其特征在于,所述运动比特流变换方法为串行编码方法,包括使用数组存放单位弧长增量法生成的共计Mk步插补结果,所述数组一共有Mk个元素,第k个元素ξk存放了所述单位弧长增量法第k步插补的坐标增量ΔQk所对应的脉冲位σk,j和方向位δk,j,其中Mj为机床轴数,k=1,2,...,Mk,j=1,2,...,Mj
2.一种面向编码器/播放器式数控系统的运动比特流变换方法,其特征在于,所述运动比特流变换方法为并行编码方法,包括机床的每根轴使用两个一维数组,分别存储脉冲位和方向位;称存储所述脉冲位的所述一维数组为脉冲流,第j轴的所述脉冲流的第K个元素GK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的脉冲位σNK-N+1,jNK-N+2,j,...,σNK,j;称存储所述方向位的所述一维数组为方向流,第j轴的所述方向流的第K个元素DK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的方向位δNK-N+1,jNK-N+2,j,...,δNK,j;其中 为向上取整符号。
3.一种面向编码器/播放器式数控系统的运动比特流变换方法,其特征在于,所述运动比特流变换方法为串行解码方法,包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步,其中第k步解码通过如下转换方法获取所述坐标增量ΔQk:若σk,j=0,则Δqk,j=0;若σk,j=1且δk,j=0,则Δqk,j=1;若σk,j=1且δk,j=1,则Δqk,j=-1;其中k=kp(t-T),kp(t-T)+1,...kp(t),计算在t时刻的指令位置增量: Δ Φ ( t ) = ΔQ k p ( t - T ) + 1 + ΔQ k p ( t - T ) + 2 + ... + ΔQ k p ( t ) .
4.一种面向编码器/播放器式数控系统的运动比特流变换方法,其特征在于,所述运动比特流变换方法为并行解码方法,包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步;对于第j轴,使用种群计数法统计所述脉冲流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数,记为以及所述方向流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数,记为计算在t时刻的第j轴指令位置增量j=1,2,...,Mj
5.一种面向编码器/播放器式数控系统的运动比特流变换方法,其特征在于,所述运动比特流变换方法为串行编码和串行解码方法,其中所述串行编码方法包括使用数组存放单位弧长增量法生成的共计Mk步插补结果,所述数组一共有Mk个元素,第k个元素ξk存放了所述单位弧长增量法第k步插补的坐标增量ΔQk所对应的脉冲位σk,j和方向位δk,j,其中Mj为机床轴数,k=1,2,...,Mk,j=1,2,...,Mj;所述串行解码方法包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步,其中第k步解码通过如下转换方法获取所述坐标增量ΔQk:若σk,j=0,则Δqk,j=0;若σk,j=1且δk,j=0,则Δqk,j=1;若σk,j=1且δk,j=1,则Δqk,j=-1;其中k=kp(t-T),kp(t-T)+1,...kp(t),计算在t时刻的指令位置增量: Δ Φ ( t ) = ΔQ k p ( t - T ) + 1 + ΔQ k p ( t - T ) + 2 + ... + ΔQ k p ( t ) .
6.一种面向编码器/播放器式数控系统的运动比特流变换方法,其特征在于,所述运动比特流变换方法为并行编码和串行解码方法,其中所述并行编码方法包括机床的每根轴使用两个一维数组,分别存储脉冲位和方向位;称存储所述脉冲位的所述一维数组为脉冲流,第j轴的所述脉冲流的第K个元素GK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的脉冲位σNK-N+1,jNK-N+2,j,...,σNK,j;称存储所述方向位的所述一维数组为方向流,第j轴的所述方向流的第K个元素DK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的方向位δNK-N+1,jNK-N+2,j,...,δNK,j;其中 为向上取整符号;所述串行解码方法包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步,其中第k步解码通过如下转换方法获取所述坐标增量ΔQk:若σk,j=0,则Δqk,j=0;若σk,j=1且δk,j=0,则Δqk,j=1;若σk,j=1且δk,j=1,则Δqk,j=-1;其中k=kp(t-T),kp(t-T)+1,...kp(t),计算在t时刻的指令位置增量: Δ Φ ( t ) = ΔQ k p ( t - T ) + 1 + ΔQ k p ( t - T ) + 2 + ... + ΔQ k p ( t ) .
7.一种面向编码器/播放器式数控系统的运动比特流变换方法,其特征在于,所述运动比特流变换方法为并行编码和并行解码方法,包括其中所述并行编码方法包括机床的每根轴使用两个一维数组,分别存储脉冲位和方向位;称存储所述脉冲位的所述一维数组为脉冲流,第j轴的所述脉冲流的第K个元素GK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的脉冲位σNK-N+1,jNK-N+2,j,...,σNK,j;称存储所述方向位的所述一维数组为方向流,第j轴的所述方向流的第K个元素DK,j存储了所述单位弧长增量法从第NK-N+1步到第NK步插补生成的方向位δNK-N+1,jNK-N+2,j,...,δNK,j;其中 为向上取整符号;所述并行解码方法包括设在t-T时刻解码至第kp(t-T)步,在t时刻的进给速度决定在t时刻需要解码Δkp(t)步;对于第j轴,使用种群计数法统计所述脉冲流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数,记为以及所述方向流中的从第kp(t-T)+1位到第kp(t)位中的“1”的个数,记为计算在t时刻的第j轴指令位置增量j=1,2,...,Mj
CN201610021830.1A 2016-01-13 2016-01-13 面向编码器/播放器式数控系统的运动比特流变换方法 Active CN105573254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610021830.1A CN105573254B (zh) 2016-01-13 2016-01-13 面向编码器/播放器式数控系统的运动比特流变换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610021830.1A CN105573254B (zh) 2016-01-13 2016-01-13 面向编码器/播放器式数控系统的运动比特流变换方法

Publications (2)

Publication Number Publication Date
CN105573254A true CN105573254A (zh) 2016-05-11
CN105573254B CN105573254B (zh) 2018-06-05

Family

ID=55883509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610021830.1A Active CN105573254B (zh) 2016-01-13 2016-01-13 面向编码器/播放器式数控系统的运动比特流变换方法

Country Status (1)

Country Link
CN (1) CN105573254B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003067345A1 (fr) * 2002-02-07 2003-08-14 Mitsubishi Denki Kabushiki Kaisha Procede et systeme de commande numerique
EP1235126B1 (en) * 2001-02-26 2006-09-27 Hitachi, Ltd. Numerically controlled curved surface machining unit
CN101158864A (zh) * 2007-10-29 2008-04-09 江俊逢 计算机数字控制系统的数据流关联控制方法与体系结构
CN102722141A (zh) * 2012-06-28 2012-10-10 华南理工大学 一种基于pc-fpga的nurbs曲线实时插补方法
CN103934528A (zh) * 2014-04-14 2014-07-23 上海交通大学 一种用于电火花加工的六轴联动插补方法
CN105094089A (zh) * 2015-06-26 2015-11-25 上海交通大学 一种基于编码器播放器体系架构的工业控制系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1235126B1 (en) * 2001-02-26 2006-09-27 Hitachi, Ltd. Numerically controlled curved surface machining unit
WO2003067345A1 (fr) * 2002-02-07 2003-08-14 Mitsubishi Denki Kabushiki Kaisha Procede et systeme de commande numerique
CN101158864A (zh) * 2007-10-29 2008-04-09 江俊逢 计算机数字控制系统的数据流关联控制方法与体系结构
CN102722141A (zh) * 2012-06-28 2012-10-10 华南理工大学 一种基于pc-fpga的nurbs曲线实时插补方法
CN103934528A (zh) * 2014-04-14 2014-07-23 上海交通大学 一种用于电火花加工的六轴联动插补方法
CN105094089A (zh) * 2015-06-26 2015-11-25 上海交通大学 一种基于编码器播放器体系架构的工业控制系统

Also Published As

Publication number Publication date
CN105573254B (zh) 2018-06-05

Similar Documents

Publication Publication Date Title
Cascioli et al. Scattering amplitudes with open loops
CN1106621C (zh) 绘制三次曲线的方法和设备
CN102970043A (zh) 一种基于gzip的压缩硬件系统及其加速方法
Keyser et al. MAPC: A library for efficient and exact manipulation of algebraic points and curves
Liang et al. Mgard+: Optimizing multilevel methods for error-bounded scientific data reduction
WO2023045204A1 (zh) 一种有限状态熵编码表的生成方法、系统、介质及设备
US20200185058A1 (en) Gene sequencing data compression preprocessing, compression and decompression method, system, and computer-readable medium
CN105426413A (zh) 一种编码方法及装置
CN110825323A (zh) 浮点数数据的存储、读取方法和计算机可读存储介质
Lang Back to the future: an even more nearly optimal cardinality estimation algorithm
CN105022631A (zh) 一种面向科学计算的浮点型数据并行无损压缩方法
CN105528183A (zh) 一种存储数据的方法及存储设备
CN108333937B (zh) 一种用于多轴联动机床的轮廓加工方法
CN109376120A (zh) 一种内存优化的数据文件格式转化方法、装置及存储介质
CN114492316A (zh) 数据交换编解码方法和系统
CN111507430B (zh) 基于矩阵乘法的特征编码方法、装置、设备及介质
CN103414477B (zh) 一种构造量子卷积码状态转移图和网格图的方法
WO2023231541A1 (zh) 基于八叉树的体素地图生成方法、装置、存储介质及设备
CN105573254A (zh) 面向编码器/播放器式数控系统的运动比特流变换方法
CN104579358A (zh) 一种故障录波数据压缩方法
Duvignau et al. Piecewise linear approximation in data streaming: Algorithmic implementations and experimental analysis
CN111930725A (zh) 一种配用电数据压缩、融合方法及装置
CN105117403A (zh) 日志数据分片与查询方法及装置
Yaman et al. Direct command generation for CNC machinery based on data compression techniques
CN103428502A (zh) 一种解码方法及解码系统

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