
2.2.3 S轮廓曲线和配置文件
在运动控制中,由于高速运动,进给速度很快,微小线性运动容易在运动路径产生过冲,导致运动误差。为此,要限制加速度减少轨迹误差。为避免对各坐标轴产生冲击、失步、超程和振荡,使运动部件平稳和准确定位,要进行加减速控制,使进给速度平滑过渡。
在运动控制系统中,常用加减速控制算法有直线、三角函数、指数、抛物线以及S曲线加减速等算法。
1.直线加减速控制算法
(1)三角形速度轮廓曲线控制算法
三角形速度轮廓曲线控制算法也称为无速度限制的直线加减速控制算法。如图2-9所示,在0~t1时间段,运动部件以固定的加速度a加速,然后,以固定的减速度d减速直到达到规定的位置sf。

图2-9 三角形速度轮廓线
图中,自上到下的纵坐标分别是位置s、速度v、加速度a和加速度变化率J。
表2-1列出了运动学基本公式。
表2-1 运动学基本公式

对匀加速度变化率,有

J(Jerk)也称为加加速度,它是加速度的变化率。
根据表2-1,由于v0=0,s0=0,因此可得

或

因此,根据所需的距离sf、a和d,求出时间:

(2)梯形速度轮廓曲线的控制算法
上述加减速控制算法中,对速度没有限制,因此,当所需移动的距离较大时,速度可能超过允许的速度限,为此,设置最大速度vmax,即当速度加速到等于该限值时,以该限制速度进行匀速运动。图2-10是其速度轮廓曲线。图中,v1=vmax。由于运动部件达到最大允许速度后,不能再以规定的加速度加速,而是匀速移动,因此,运动的时间要增加。图中,运动的时间段分为加速段、匀速段和减速段,运动的时间分别是t1、t2和t3。

图2-10 梯形速度轮廓曲线
根据已知的最大速度vmax,确定加速段时间t1:

由于减速段初始速度等于最大速度,确定减速段时间t3:

加速段和减速段移动的距离分别是

因此,匀速段移动的距离是
匀速段时间t2:

【例2-3】根据所需移动距离sf=1000u,v1=100u/s,a=100u/s2,d=100u/s2。确定移动的总时间。
根据式(2-31)~式(2-34),得t1=1s,t3=1s,t2=9s,因此,移动总时间t=t1+t3+t2=11s。
计算过程需有工程单位,根据运动控制规范,不同制造商可规定其长度和时间的单位。
这类梯形速度轮廓曲线在实际应用中较多见。它的速度限值保证了运动系统的安全性。
(3)梯形加速度轮廓线控制算法
由于梯形速度轮廓线控制算法存在加速度和减速度的跳变,造成运动控制系统的不平稳,为此,可设置加速度和减速度限值,即加速度和减速度轮廓曲线是梯形曲线。
图2-11显示了梯形加速度轮廓线。如图示,速度轮廓线分为7段,分别是加加速段Ⅰ、匀加速段Ⅱ、减加速段Ⅲ、匀速段Ⅳ、加减速段Ⅴ、匀减速段Ⅵ和减减速段Ⅶ,各段运动所需时间分别是t1~t7。

图2-11 梯形加速度轮廓线
假设,加速度a与减速度d有相同数值,电动机从0加速到最大值amax所需时间与从最大值amax减到0的时间相同,这个值称为电动机的特征时间常数tm。一般情况取值为

tm的值大,表示电动机的柔性大,加减速时间长;tm的值小,则冲击大,加减速时间短;tm=0,S曲线退化为直线;,S曲线中间的匀加速段和匀减速段消失。在设置J时需考虑与tm的关系。
根据假设条件,有
加加速度变化率的数值在加加速和加减速、减加速、减减速段的值是相同的,仅符号不同。因此,用表2-2表示不同速度段的加速度和减速度等数值。
表2-2 梯形加速度轮廓线的各段数值

(续)

注:1.公式中的t是该时间段的相对时间,它是该时间绝对值减该时间段初始处的时间,例如,第三段的时间t表示实际绝对时间减(t1+t2)。
2.速度初始值为v0,表示运动部件的初始速度。
3.si和vi分别是该时间段i在该时间段终点处的距离和速度。
4.t1~t7分别是各时间段的持续时间,某时间段的t的服务是0至该时间段的持续时间。例如,第三段的时间t从0改变到t3。
根据表2-2,可确定各段的时间:

满足式(2-36)条件且初始速度v0和终止速度ve为0时,式(2-38)可简化为

在运动控制功能块中,如果已知所需移动的距离sf、速度v(作为最大速度vmax)、加速度a(作为最大加速度amax)和加加速度J(作为上面公式中的加加速度J1),则该运动控制轮廓线各时间段的时间和轮廓线的形状都可根据上述各式和表2-2的计算公式确定。
这种轮廓线由两段S形状速度曲线与中间的匀速直线组成,被称为部分S曲线(Partial S Curve)。如果t4=0,表示整个运动轨迹没有匀速段。这种轮廓线称为全S曲线(Full S Curve)。
2.配置文件
为了使运动速度、加速度和加加速度都是连续的,可采用一些三角函数。例如,v(t)=1-cos(πt),则a=πsin(πt),J=π2sin(πt)(0≤t≤1)。这表明,其速度、加速度和加加速度都是连续的。此外,也可用高阶多项式插值方法获得连续的速度、加速度和加加速度。当知道点到点运动的起点、终点位置和运动时间,并有起点处的加速度和加加速度为零,就可唯一确定一个5次多项式。
例如,运动时间为1,起点位置为0,终点位置为1,则因起点和终点的速度和加速度都为0,可用下列多项式确定其位置s、速度v、加速度a和加加速度J:
s(t)=6t5-15t4+10t3
v(t)=30t4-60t3+30t2
a(t)=120t3-180t2+60t
J(t)=360t2-360t+60
(0≤t≤1)
其位置s、速度v、加速度a和加加速度J的轮廓曲线如图2-12所示。

图2-12 位置、速度、加速度和加加速度曲线
PLCopen运动控制规范的第一部分提供配置文件的功能块,用于对位置、速度和加速度的轮廓线进行配置。它也提供了负载的轮廓线配置文件。
配置文件用于描述它们与时间的关系。例如,位置配置文件功能块MC_PositionProfile由下列两部分组成。数据类型声明MC_TP和配置数据声明MC_TP_REF。
(1)数据类型声明
MC_PositionProfile配置文件的数据类型的类型化声明如下:

类型化声明规定Delta_time是时间数据类型,用于表示时间间隔;Position是实数数据类型,用于表示对应的位置。如图2-13所示和表2-3所示。

图2-13 位置-时间配置曲线
表2-3 时间-位置配置表

(2)配置数据声明
MC_PositionProfile配置文件MC_TP_REF的配置数据可声明如下:

声明中的Numberofpairs是数据对的对数,用WORD数据类型;IsAbsolute是声明位置数据是绝对位置还是相对位置,1表示绝对位置,0表示相对位置;MC_TP_Array是用MC_TP表示的数组数据。
图2-13表示位置配置文件中的数据与位置直接的对应关系。
需注意,时间是每个配置点之间的时间间隔,位置则根据是绝对位置还是相对位置确定。图中采用的位置是绝对位置。
类似地,对速度、加速度和负载(力矩),也有相应的配置文件功能块及对应的数据类型。
例如,MC_VelocityProfile速度配置文件的数据类型用MC_TV,其声明如下:

MC_VelocityProfile速度配置文件的配置数据声明如下:

3.速度前瞻控制算法
高速运动控制中,为避免运动过程出现停顿,必须监视待运动轨迹,提前对各联动轴进行加速度分析和减速区域判别,实现程序转折或减速点处的平滑过渡,避免冲击。
为此,通常在控制器设置缓冲区域,在程序执行时,先对后续程序进行运算处理,运算结果存缓冲区,一旦本次程序完成,可立刻执行后续程序,使程序等待时间减至最小。
速度前瞻控制(预控制)是在高速运动控制时,预先计算后续程序中的进给率和加、减速度,确定其运动的几何轨线,减小运动轨线误差的控制算法。它是通过提前检查运动过程中某一特定时间段的数据,验证运动轨线是否有偏离,从而及时进行修正的算法,修正是通过改变进给率等参数实现的。
(1)速度和加速度限制
限制各运动轴在其坐标轴的最大加速度amax和最大进给速度vmax,确定其稳定运动的速度v。当某轴的速度分量超过其允许的速度,则该轴速度分量将限制在其允许的速度,使稳定的允许速度由新合成的速度代替,而其他轴的速度分量也需相应改变。
加加速度(也称为冲击)J描述设备相应速度与运行平稳性的关系,如果各轴最大速度的最小值是最大合成速度,则联动各轴不能发挥最大能力。通常,最大合成速度和最大合成加速度可如下选择:

式中,vi,max是各轴的最大速度;ai,max是各轴的最大加速度;ki是各轴的比例系数。
(2)速度优化
相邻程序段之间的过渡速度应该连续变化,但相邻两线性程序段的合成速度在方向上和大小上都有改变,因此,需要对相邻程序段的转接处进行速度平滑处理,以满足准确度需求。
PLCopen运动控制规范提供了各程序段之间的不同混成模式,可供用户选择。对不同的混成模式,规范还规定了过渡模式。例如,mcTMNone、mcTMMaxVelocity、mcTMdefineVelocity、mcTMCornerDistance和mcTMMaxCornerDiviation等。