单轴控制基础:轴参数配置、使能/禁用、点动、/相对定位、速度/加速度/减速度设置

在Codesys运动控制体系中,单轴控制是所有复杂运动(电子凸轮、插补、同步)的基石。无论是控制伺服电机还是步进电机,轴对象(Axis)的配置质量直接决定了后续运动控制的稳定性与精度。本章将围绕轴参数配置、使能/禁用逻辑、点动操作、/相对定位以及速度/加速度/减速度设置五个核心模块展开,帮助学员建立从“轴能转”到“轴转得准、转得稳”的完整认知链路。

单轴控制功能架构与数据流 轴参数配置 单位/脉冲/限位/回零 编码器方向/滤波 使能/禁用 MC_Power 指令 伺服抱闸/急停联动 点动 Jog MC_Jog 连续/脉冲 速度倍率/方向控制 定位控制 /相对定位 MC_MoveAbsolute/MC_MoveRelative 速度/加速度/减速度设置 Velocity / Acceleration / Deceleration 加减速曲线:梯形/S曲线/急停减速度 运动执行与状态监控 轴状态字 / 当前位置 / 跟随误差 / 到位信号 状态反馈与参数修正 图:单轴控制各功能模块关系与数据流向

核心原理:轴对象与运动控制指令模型

在Codesys V3中,轴(Axis)是一个软件抽象对象,它通过现场总线(如EtherCAT、CANopen、PROFINET)映射到物理驱动器。轴对象内部封装了位置、速度、加速度、状态机、报警等属性。所有运动控制指令(如MC_Power、MC_MoveAbsolute)都是功能块(Function Block),它们以轴引用(Axis Reference)作为输入参数,通过调用内部状态机来改变轴的行为。理解这一点至关重要:轴参数配置不是“写几个数字”,而是定义轴对象与物理世界的映射关系。例如,电机每转的脉冲数、减速比、丝杠导程共同决定了“用户单位”与“编码器计数”之间的换算系数。如果该系数配置错误,即使程序逻辑完全正确,轴的物理位移也会与期望值产生偏差。

核心要点:轴参数配置的本质是建立“用户坐标系”与“物理坐标系”的映射。Codesys中通过 MC_ReadAxisInfo 和 MC_ReadActualPosition 可以验证映射是否正确。建议在首次上电时,以低速点动运行并对比实际位移与指令位移,误差应小于一个编码器分辨率。

轴参数配置:从驱动器到控制器的完整链路

轴参数配置通常分为三个层次:驱动器参数(通过驱动器调试软件设置)、总线从站配置(在Codesys设备树中设置)、轴对象参数(在轴配置界面或程序中设置)。对于Codesys轴对象,关键参数包括:

  • 单位换算:设置位置单位(mm、deg、inch)、每转脉冲数、减速比、丝杠导程。例如,伺服电机编码器分辨率为131072脉冲/转,减速比10:1,丝杠导程10mm,则每毫米脉冲数 = 131072 × 10 / 10 = 131072脉冲/mm。
  • 限位与软限位:硬件限位开关输入映射,以及软件限位(正/负方向最大位置)。软限位在使能后立即生效,防止程序错误导致超程。
  • 回零方式:定义回零模式(如限位开关回零、编码器Z相回零、扭矩回零)、回零方向、回零速度。回零是定位的前提。
  • 动态特性:默认速度、加速度、减速度、急停减速度。这些值作为运动指令未指定时的默认值。
  • 滤波与跟随:位置指令滤波时间常数、速度前馈系数、跟随误差监控阈值。这些参数影响动态响应和跟随精度。
参数类别 典型参数 设置依据 错误后果
单位换算 每转脉冲数、减速比、导程 电机铭牌、机械图纸 定位距离错误、速度显示异常
限位 硬限位输入、软限位位置 行程开关安装位置、机械行程 超程撞机、报警停机
回零 回零模式、方向、速度 原点开关位置、工艺需求 回零失败、原点偏移
动态特性 默认速度、加速度、减速度 负载惯量、电机扭矩、工艺节拍 过冲、震荡、定位超时
监控 跟随误差阈值、到位窗口 系统刚性、精度要求 误报警或漏报警

使能/禁用:安全与控制的边界

使能(Enable)是轴从“可配置”状态进入“可运行”状态的关键步骤。在Codesys中,MC_Power 功能块控制轴的使能状态。使能过程包括:驱动器上电、抱闸释放(如有)、伺服使能信号置位。禁用过程则相反,且必须考虑安全顺序——先停止运动,再禁用伺服,最后抱闸闭合。一个常见的错误是:在轴运动过程中直接调用禁用指令,导致伺服立即失去扭矩,运动部件在惯性下继续滑行,可能造成碰撞或位置丢失。

正确的使能/禁用流程应遵循以下步骤:

  1. 检查轴状态(MC_ReadAxisStatus),确认无报警、无急停。
  2. 调用 MC_Power 并设置 Enable := TRUE,等待 Status 变为 TRUE。
  3. 执行运动指令前,确认轴已处于 Standstill 或 Discrete Motion 状态。
  4. 禁用时,先执行停止指令(如 MC_Halt),等待轴完全停止,再设置 Enable := FALSE。
  5. 对于带抱闸的垂直轴,应在禁用前先触发抱闸闭合,防止溜车。
风险提示:在急停或安全回路触发时,应直接通过硬件回路切断伺服使能,而不是依赖PLC程序中的 MC_Power。软件禁用存在扫描周期延迟,无法满足安全完整性等级(SIL)要求。安全回路必须独立于运动控制器。

点动控制:调试与手动操作的核心手段

点动(Jog)是设备调试、对刀、手动调整时最常用的功能。Codesys提供 MC_Jog 功能块,支持连续点动和脉冲点动两种模式。连续点动时,只要 JogForward 或 JogBackward 输入为 TRUE,轴就持续运动;脉冲点动则每次触发移动一个固定距离。点动速度通常以百分比或速度指定,且应支持实时倍率调整(如通过HMI滑块)。

点动实现的关键在于方向互锁和速度限制。程序必须确保正转和反转信号不会同时为 TRUE,否则轴会立即停止并可能报警。此外,点动速度不应超过轴的最大允许速度,且应低于回零速度,以保证操作安全。在Codesys中,点动指令会覆盖当前轴的运动状态,因此调用前应确认轴处于空闲状态,或使用 MC_Stop 先停止当前运动。

// 点动功能块实例化与调用示例
MC_Jog(
    Axis := Axis_1,
    JogForward := bJogFwd,
    JogBackward := bJogBwd,
    Mode := MC_JOGMODE_CONTINUOUS,
    Velocity := 50.0,  // 单位:mm/s
    Acceleration := 200.0,
    Deceleration := 200.0,
    Execute := bJogExecute,
    Done => bJogDone,
    Busy => bJogBusy,
    Error => bJogError,
    ErrorID => wJogErrorID
);

/相对定位:坐标系的两种哲学

定位(MC_MoveAbsolute)和相对定位(MC_MoveRelative)是运动控制中最基础的两种定位方式。定位的目标位置是相对于机器原点的坐标值,要求轴已完成回零操作;相对定位的目标位置是相对于当前实际位置的增量,不依赖原点。选择哪种方式取决于工艺需求:例如,在贴片机中,每个贴装位置都是坐标,使用定位;而在传送带上的推料机构,每次推料距离固定,使用相对定位更简单。

两种定位方式在指令参数上几乎相同,但内部处理逻辑不同。定位需要轴对象具备有效的原点位置,且目标位置必须在软限位范围内。相对定位则不需要原点,但目标位置 = 当前实际位置 + 距离。在实际应用中,需要注意位置溢出问题:当轴运动范围很大且使用32位位置计数器时,多次相对定位可能导致位置值溢出。Codesys支持64位位置变量(LREAL),建议在大型设备中使用LREAL类型的位置变量。

对比维度 定位 相对定位
目标位置定义 相对于原点的坐标 相对于当前位置的增量
前置条件 必须完成回零 无需回零
重复精度 高(每次定位到同一物理点) 受累积误差影响
典型应用 加工中心换刀、贴片机 传送带推料、步进送料
程序可读性 目标位置直观,便于工艺调整 需计算增量,调试时不易理解

速度/加速度/减速度设置:动态特性的工程权衡

速度、加速度、减速度是运动控制中影响效率、精度和机械寿命的核心参数。速度决定了节拍,加速度决定了启停冲击,减速度决定了停止距离和定位稳定性。在Codesys中,这些参数可以在轴配置中设置默认值,也可以在每次运动指令中单独指定。工程实践中,需要根据负载惯量比、电机扭矩、机械刚性和工艺要求综合确定。

加速度设置过大会导致机械冲击、振动和跟随误差增大;设置过小则延长运动时间,降低效率。减速度设置不当会导致过冲(overshoot)或定位震荡。Codesys支持梯形速度曲线和S形速度曲线(通过 MC_SetSCurve 或轴参数配置)。S形曲线在加减速起始和结束阶段平滑过渡,适合高精度定位和易碎工件搬运,但会增加运动时间。

经验法则:对于一般伺服应用,加速度建议设置为电机额定扭矩对应的加速度的60%-80%,减速度略大于加速度(如1.2倍),以保证停止迅速且不发生过冲。对于龙门双驱结构,加减速度应设置一致,避免两侧不同步导致扭斜。

实战案例:包装机切刀轴的参数整定与定位调试

某包装机切刀轴采用伺服电机驱动凸轮机构,要求切刀在连续运行中每200ms完成一次切割,切割位置精度±0.1mm。初始调试时,设备出现切割位置偏移和切刀抖动问题。以下是完整的排查与整定过程:

背景与约束:电机额定转速3000rpm,编码器分辨率131072脉冲/转,减速比5:1,凸轮机构等效转动惯量0.002kg·m²。工艺要求切割速度120次/分钟,即每次切割周期500ms,其中运动时间300ms,静止等待200ms。

初始现象:实际切割位置与设定值偏差最大达0.8mm,且切刀在停止位置附近出现持续约50ms的震荡。

分析过程:首先检查轴参数配置,确认单位换算正确(每度脉冲数 = 131072 × 5 / 360 = 1820.4脉冲/度)。然后监控实际位置曲线,发现跟随误差在加减速阶段达到0.3mm,停止阶段存在约0.1mm的过冲。进一步检查加速度设置,发现加速度为5000°/s²,减速度为4000°/s²,明显偏大。计算负载惯量比:电机转子惯量0.00005kg·m²,负载惯量0.002kg·m²,惯量比40:1,远超推荐的10:1以内。

实际操作步骤:

  1. 将加速度从5000°/s²降低至2000°/s²,减速度调整至2500°/s²,观察跟随误差降至0.15mm。
  2. 启用S形曲线(S-curve),设置平滑时间20ms,震荡现象明显减弱。
  3. 调整位置环增益(在驱动器侧),从默认的30 1/s提高至45 1/s,同时降低速度前馈系数从100%至80%,减少过冲。
  4. 重新测量切割位置偏差,稳定在±0.05mm以内,满足工艺要求。

结果对比:调整前位置偏差0.8mm,调整后0.05mm;震荡时间从50ms缩短至10ms以内;单次切割周期从520ms缩短至480ms,节拍提升约8%。

风险与代价:降低加速度导致单次运动时间增加约30ms,但通过优化S曲线和增益,总周期反而缩短。需要注意的是,提高位置环增益可能引发机械共振,需配合陷波滤波器使用。

复盘经验:轴参数配置必须结合机械负载特性,不能盲目追求高速。加减速度、S曲线、增益三者需要联动整定,且应使用示波器或Codesys的Trace功能记录实际位置曲线,以数据驱动决策。

常见误区与总结复盘

在单轴控制的学习和实践中,以下误区最为常见:

  • 误区一:忽略单位换算验证。很多工程师配置完参数后直接运行,发现位置不对才回头检查。正确做法是使用 MC_ReadActualPosition 手动转动电机,对比实际位移与反馈值。
  • 误区二:使能/禁用顺序颠倒。在轴运动过程中直接禁用,或禁用后立即重新使能,可能导致驱动器报警或位置丢失。应遵循“先停后禁、先使后动”的原则。
  • 误区三:点动速度设置过高。点动是手动操作,速度过高容易发生碰撞。建议点动速度不超过最大速度的20%,并设置独立的点动加速度。
  • 误区四:定位前未回零。如果轴未回零,定位会以当前位置为原点,导致定位错误。程序应在首次定位前检查 MC_ReadAxisStatus 的 Homed 标志。
  • 误区五:加减速度参数“一刀切”。不同运动阶段(点动、定位、回零)应使用不同的动态参数。例如,回零速度应低于定位速度,点动加速度应小于定位加速度。

总结而言,单轴控制虽然是最基础的运动控制形式,但涉及的知识面涵盖机械传动、电气驱动、控制理论和软件编程。只有将轴参数配置、使能逻辑、点动操作、定位方式和动态特性作为一个整体来理解和调试,才能真正实现“轴转得准、转得稳、转得快”的目标。建议学员在实验台上完成以下练习:配置一根虚拟轴,分别使用定位和相对定位完成一个往返运动,并通过Trace功能观察位置曲线和速度曲线,加深对加减速过程的理解。