[CodeSys] 最实用的运控功能块,一定得学会!

[复制链接]
查看79868 | 回复0 | 2024-6-13 09:06:52 | 显示全部楼层 |阅读模式
如果要推荐一种让轴快速动起来的方法,我选MC_Jog。

很多情况下需要对轴进行点动微调、精确定位,都离不开它的身影,虽简约但决不简单,文章最后有案例展示。



输入输出引脚

Axis:轴名称,映射到要操作的轴。


输入端:

JogForward:

正向点动,此处采集的是电平信号,一直给信号,轴就会一直动。


JogBackward:

反向点动,此处采集的是电平信号,一直给信号,轴就会一直动。


Velocity:

运动速度设置(用户单位 / S); 值范围:1...2147483647。


Acceletation/Deceletation:

加减速度设置。设置点动启停时的加/减速度。


Jerk:

加加速度设置。此参数可不做设置。


需要注意的是,务必要设置速度以及加/减速度参数,否则无论您如何尝试点动操作,轴都不会有任何移动。

输出端:

Busy:标记功能块是否处于活动状态。

Error:标记功能块是否产生错误。

ErrorID:当功能块产生错误时,用ErrorID表示错误号。

CommandAborted:被另一个更高优先级的功能块打断。

功能说明



    设定目标速度(Velocity)以执行点动操作。

    当需要正向运动时,将JogForward(正向点动使能)设置为TRUE;当需要反向运动时,将JogBackward(反向点动使能)设置为TRUE。

    注意:不可同时将JogForward和JogBackward设置为TRUE,否则轴将不会进行任何运动。

    若MC_Jog指令中设定的速度超过轴参数规定的点动最高速度限制,则轴将以点动最高速度进行运动。
时序图


当启动JogForward(正向点动)或JogBackward(负向点动)时,Busy状态将变为TRUE,表示系统正在执行点动操作。

当JogForward或JogBackward指令结束时,Busy状态将变为FALSE,表示点动操作已完成。

若使用其他指令来中止当前的点动操作,CommandAborted(执行中断)状态将变为TRUE,同时Busy状态也会变为FALSE,以指示操作被中断。

以下是作者编写的一个点动案例,通过可视化界面的展示:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则