1.Cam Table Reference1.1.MC_CAM_REF说明:作为凸轮运动核心绑定载体,整合凸轮表底层全部基础信息,所有凸轮相关功能块均依靠该结构体绑定目标凸轮资源,实现统一管理、快速调用与运行状态判断。序号字段名类型含义及用途1pArrayPVOID指向凸轮表数据的指针(pointer to data),用于 NC 内核直接访问凸轮表数据缓冲区2ArraySizeUDINT数据缓冲区大小(单位:字节,size of data in bytes),用于控制器校验数据完整性3TableTypeMC_TableType凸轮表类型(cam table type),区分标准凸轮表与运动函数型凸轮4NoOfRowsUDINT凸轮表行数 / 运动函数点数(number of motion function points),定义凸轮曲线的分段数量5NoOfColumnsUDINT列数(1 for motion functions OR 2 for standard cam tables),标准凸轮表为 2 列(主 / 从位置),运动函数为 1 列(主位置 + 多参数)2.Motion Functions2.1. MC_MotionFunctionPoint说明:该结构体描述运动函数凸轮的一个起始点,包含点位本身的定义、函数类型、点位类型,以及指向下一个有效点位的相对索引,是构建多段式运动凸轮曲线的基础单元。序号字段名类型含义及用途1PointIndexMC_MotionFunctionPoint_ID点位的绝对索引,列表中第一个点的索引必须大于 0,后续点位的索引依次递增 12FunctionTypeMC_MotionFunctionType定义该段运动函数的类型(如主轴驱动、从轴驱动、时间驱动)3PointTypeMC_MotionPointType定义该点位的插值 / 过渡类型,决定曲线在该点的平滑方式4RelIndexNextPointMC_MotionFunctionPoint_ID指向下一个有效点位的相对索引,默认值为 0(等效于 1),用于构建多段凸轮曲线的链表结构5nReservedUDINT保留字段,供内部扩展使用,用户无需赋值6MasterPosLREAL主轴位置(X 轴),定义该点对应的主轴触发位置7SlavePosLREAL从轴目标位置(Y 轴),定义主轴到达对应位置时从轴的目标位置8SlaveVeloLREAL从轴目标速度(Y'),定义该点的从轴运行速度9SlaveAccLREAL从轴目标加速度(Y''),定义该点的从轴加速度10SlaveJerkLREAL从轴目标加加速度(Y'''),定义该点的从轴加加速度,用于优化运动平顺性2.2. MC_MotionFunctionPoint_ID说明:运动函数凸轮点位 ID 的专用数据类型,本质是对UDINT的重定义,用于标识和管理凸轮曲线中的每个点位,是点位索引、链表跳转的基础类型。序号字段名类型含义及用途1MC_MotionFunctionPoint_IDUDINT运动函数点位的唯一标识 ID,用于定义凸轮曲线中每个点位的绝对索引,也可作为相对索引构建多段曲线的链表结构2.3. MC_MotionFunctionType说明:运动函数类型枚举,定义了多段凸轮曲线中每一段的插值 / 运动函数类型,包括多项式、三角函数、梯形加减速、样条等多种曲线算法,用于实现不同特性的平滑过渡轨迹。序号字段名类型初始化值含义及用途1MOTIONFUNCTYPE_NOTDEFINT-未定义的运动函数类型,默认空值,防止无效调用2MOTIONFUNCTYPE_POLYNOM1INT11 阶多项式(线性插值),两点间直线过渡3MOTIONFUNCTYPE_POLYNOM3INT33 阶多项式(rest ↔ rest),起止速度均为 0 的平滑过渡4MOTIONFUNCTYPE_POLYNOM5INT55 阶多项式(rest ↔ rest),起止速度、加速度均为 0,高平滑过渡5MOTIONFUNCTYPE_POLYNOM7INT77 阶多项式(rest ↔ rest),更高阶平滑过渡,适用于高精度场景6MOTIONFUNCTYPE_POLYNOM8INT88 阶多项式(rest ↔ rest),高阶平滑过渡7MOTIONFUNCTYPE_POLYNOM9INT99 阶多项式(rest ↔ rest),高阶平滑过渡8MOTIONFUNCTYPE_SINUSLINIEINT10正弦曲线过渡,速度连续无突变9MOTIONFUNCTYPE_MODSINUSLINIEINT11修正正弦曲线过渡,优化了启停段的平滑性10MOTIONFUNCTYPE_BESTEHORNINT12修正梯形 / 抛物线过渡,平衡速度与冲击率11MOTIONFUNCTYPE_BESCHLTRAPEZINT13梯形加速度曲线(acceleration trapezoid),标准梯形加减速12MOTIONFUNCTYPE_POLYNOM5_MMINT155 阶多项式(motion ↔ motion),起止均为运动状态的平滑过渡13MOTIONFUNCTYPE_HARMONIC_KOMBI_RTINT17谐波组合曲线(rest ↔ turn),从静止到匀速的平滑过渡14MOTIONFUNCTYPE_HARMONIC_KOMBI_TRINT18谐波组合曲线(turn ↔ rest),从匀速到静止的平滑过渡15MOTIONFUNCTYPE_HARMONIC_KOMBI_VTINT19谐波组合曲线(velocity ↔ turn),从变速到匀速的过渡16MOTIONFUNCTYPE_HARMONIC_KOMBI_TVINT20谐波组合曲线(turn ↔ velocity),从匀速到变速的过渡17MOTIONFUNCTYPE_BESCHLTRAPEZ_RTINT21梯形加速度(rest ↔ turn),静止到匀速的梯形加减速18MOTIONFUNCTYPE_BESCHLTRAPEZ_TRINT22梯形加速度(turn ↔ rest),匀速到静止的梯形加减速19MOTIONFUNCTYPE_MODSINUSLINIE_VVINT23修正正弦曲线(velo ↔ velo),变速到变速的平滑过渡20MOTIONFUNCTYPE_POLYNOM7_MMINT247 阶多项式(motion ↔ motion),起止均为运动状态的高阶平滑过渡21MOTIONFUNCTYPE_BESCHLTRAPEZ_RVINT38梯形加速度(rest ↔ velocity),静止到变速的梯形加减速22MOTIONFUNCTYPE_BESCHLTRAPEZ_VRINT39梯形加速度(velocity ↔ rest),变速到静止的梯形加减速23MOTIONFUNCTYPE_POLYNOM3_VVINT403 阶多项式(velo ↔ velo),变速到变速的平滑过渡24MOTIONFUNCTYPE_POLYNOM11INT4111 阶多项式(rest ↔ rest),超高阶平滑过渡,适用于极致平顺场景25MOTIONFUNCTYPE_PEISEKAH11INT45Peisekah 11 阶多项式(rest ↔ rest),特殊优化的高阶平滑曲线26MOTIONFUNCTYPE_SPLINEINT100内部样条插值点,用于连续曲线的平滑过渡27MOTIONFUNCTYPE_SPLINE_NATURALINT101自然样条端点,定义样条曲线的首 / 末点边界条件28MOTIONFUNCTYPE_SPLINE_TANGENTIALINT102切向样条端点,定义首 / 末点的切线方向