MC_PProfile 数组定义的曲线包含主位置点和相应的从位置点。当主位置介于两点之间时,将对从位置进行内插。可以进行不同类型的插值。该类型在 MC_ABB_iTypes_Enum 中定义。主轴可以是实际轴,也可以是虚拟轴,只需将位置和速度值写入 Axis_Master 变量即可创建,如示例所示。同样的插值类型也可用于 MC_TProfile。

|
插值类型 |
结果 |
要求 |
|---|---|---|
|
MCA_LINEAR |
线性插值,插值点之间速度恒定。 |
profile.MC_PProfile_Array[x].master_position, profile.MC_PProfile_Array[x].interpolation_point |
|
MCA_SPLINE_NATURAL |
三次样条插值,无抽动。 |
profile.MC_PProfile_Array[x].master_position, profile.MC_PProfile_Array[x].interpolation_point |
|
MCA_SPLINE_COMPLETE |
立方样条插值,无抽动,速度为=0 的剖面起点和终点。 |
profile.MC_PProfile_Array[x].master_position, profile.MC_PProfile_Array[x].interpolation_point |
|
MCA_POLY3 |
多项式插值,插值点之间采用线性速度。 |
profile.MC_PProfile_Array[x].master_position, profile.MC_PProfile_Array[x].interpolation_point, profile.MC_PProfile_Array[x].velocity_ratio |
|
MCA_POLY5 |
多项式插值,插值点之间有线性加速度。 |
profile.MC_PProfile_Array[x].master_position, profile.MC_PProfile_Array[x].interpolation_point, profile.MC_PProfile_Array[x].velocity_ratio, profile.MC_PProfile_Array[x].acceleration_ratio |
插值可以在平滑的曲线上运行,而无需定义大量的点。下一章展示了采用不同插值模式对 10 个插值点的正弦曲线进行插值的结果。下表给出了平均偏差。
|
插值类型 |
平均偏差[ppm] |
|---|---|
|
MCA_LINEAR |
19686 =1.9% |
|
MCA_SPLINE_NATURAL |
151=0.0151% |
|
MCA_SPLINE_COMPLETE |
25510=2.5% |
|
MCA_POLY3 |
131=0.0131% |
|
MCA_POLY5 |
0.37 |
原始曲线用 y_sinus 表示位置,用 v_sinus 表示速度。图中显示了不同插值类型的结果。
MCA_LINEAR

插值点之间的速度是恒定的。
MCA_POLY3

结果看起来与原始曲线几乎一样。平均偏差显示,MCA_POLY3、MCA_POLY5 和 MCA_SPLINE_NATURAL 所产生的结果与原始曲线非常吻合,几乎完全一致。通过样条插值,无需事先提供速度值和加速度值,就能生成无颠簸曲线。
MCA_COMPLETE

在开始和结束时,曲线并不遵循原来的曲线。原因是它从速度=0 开始,产生的结果没有颠簸。
因此,在选择正确的插值方法时,必须事先考虑所偏好的结果。使用这些不同的方法,不需要提供大量的插值点就能获得良好的效果和平滑的加减速斜坡。