3. 单轴点动与回零模式实现
任务目标与运动序列
本例在已配置好的单轴(虚拟伺服轴)上,用 PLCopen 运动控制功能块实现两种基本运动:点动(Jog)与主动回零(Homing)。核心是掌握 MC_Jog 与 MC_Home 的调用方式,并正确设置回零速度、爬行速度与偏移量,最后通过位置反馈判断回零是否完成。
回零采用“主动回零”方式:轴先以回零速度快速接近参考开关,碰到开关后减速,再以爬行速度缓慢脱离开关,在开关下降沿处锁定参考点,最后叠加偏移量把轴定位到用户定义的零点位置。整个过程的位置状态由 Axis.fActPosition 与 Axis.bHomeDone 反映。
功能块调用与参数设置
点动使用 MC_Jog,回零使用 MC_Home。两者都通过 Axis 引用轴对象,并需要先使能轴(MC_Power)。以下为关键调用逻辑(结构化文本示例):
(* 轴使能 *)
MC_Power(Axis:=Axis1, Enable:=TRUE, bRegulatorOn:=TRUE, bDriveStart:=TRUE);
(* 点动:按住按钮持续运动,松开停止 *)
MC_Jog(Axis:=Axis1,
JogForward:=bJogFwd,
JogBackward:=bJogBwd,
Velocity:=50.0,
Acceleration:=200.0,
Deceleration:=200.0);
(* 主动回零 *)
MC_Home(Axis:=Axis1,
Execute:=bHomeStart,
Position:=20.0, (* 偏移量 Offset *)
HomingMode:=0, (* 主动回零,参考开关 *)
Velocity:=100.0, (* 回零速度 *)
CreepVelocity:=10.0); (* 爬行速度 *)
参数说明:
Velocity:快速寻找参考开关的速度,过大可能撞限位,过小则回零时间长。CreepVelocity:碰到开关后脱离时的低速,用于提高参考点重复精度。Position:偏移量,参考点锁定后轴会移动到该位置作为零点。
回零状态判断与常见问题
- 回零完成判断:观察
Axis.bHomeDone是否变为TRUE,同时Axis.fActPosition应稳定在偏移量设定值附近。 - 参考开关信号:若轴一直找不到参考点,检查参考开关输入是否正常触发,以及回零方向是否正确。
- 速度设置:回零速度过高可能导致过冲,爬行速度过高会降低重复精度;建议回零速度 ≤ 轴最大速度的 30%,爬行速度 ≤ 回零速度的 10%。
- 偏移量方向:偏移量正负号决定零点在参考点的哪一侧,需与机械坐标系定义一致。
回零过程中若触发限位开关,轴会报错停止。建议在回零前确认软限位或硬限位设置,并确保参考开关位于行程中间区域。