b一、序言
在设备加工行业,很多工艺要用到多段速控制,比如切割,打孔,攻丝等,刀具未碰到工件时可以快速行走,刀具碰到工件时需要慢速加工,而有些工艺在加工时随着刀具越走越深,其进刀的速度也需要变得更慢才能保证工艺的稳定性。
传统的PLC一般都有自带的可变速脉冲输出控制指令,像三菱,汇川,台达等都可以用PLSV指令,那么Codesys有没有类似的指令呢,目前还没有。但是可以通过指令的组合实现此功能。
二、多段速控制要求
以钢管打孔为例,如图所示
左侧灰色钻头初始状态距离蓝色钢管有一定的距离,钻头需要钻穿钢管壁。整个行程分为3端运行,1,钻头与钢管未接触时,可以快速前进,提高效率,当钻头接触钢管时,需要放慢速度,保证钻头的扭力和钻孔的稳定,而当即将钻通时,由于阻力加大,还需要放慢速度,直到钻穿位置。整个过程分三段,快速前进距离,慢速钻孔距离1,慢速钻穿距离2。共有3个速度,依次递减。
三、Codesys实现方法
3.1 指令介绍
codesys没有类似plsv这样的指令,要实现变速功能,同时还要定位控制,可行的方法有:
a、用Moveadditive指令,该指令的作用是运动叠加,单独使用与相对运动指令MoveRelative功能一直,而与MoveRelative叠加使用时,Moveadditive指令的位置会与相对运动MoveRelative的位置相加,而运Moveadditive指令的运行速度则会代替MoveRelative的运行速度,达到变速的目的。
b、运动控制指令中,专门有缓冲模式的功能,用于控制移动的时间顺序。我们就可以通过运动指令,设定缓冲模式来实现变速功能。
c、其他模式,可以通过电子凸轮设定凸轮曲线跟随虚轴实现,或者采用followposition跟随指令,设定跟随曲线,跟随虚轴实现,原理与凸轮一致。
本文主要介绍b方法,缓冲模式,是最方便,也最容易理解的实现方式。
3.2 缓冲模式介绍
以 MoveRelative指令为例,指令功能块左下角有BufferMode引脚,功能块如下图所示:
再看BufferMode的数据设置选项,共有6项,说明如下:
官网帮助文件翻译如下:
本例中,我们以选择blendingnext模式试验,看轴的运行效果如何。
3.3 程序编写
建立虚轴,创建变量,转换,轴使能以及创建可视化画面,这些内容本文不在描述,可以参考之前的文章创建,文章查看地址:https://blog.csdn.net/qq_19979629/article/details/124766915
本文直接编写三轴运动程序,以相对运动MoveRelative为例,程序如下:
程序解释:
1、本文设置3个相对运动指令,后面两个指令缓冲模式设置blendingNext模式;
2、设置两种试验方法,第一种,前一个移动指令运行完成触发下一个移动指令,第二种,前一个移动指令运行未完成时,提前触发下一个移动指令,可通过开关切换;
3、分别运行,通过可视化仿真查看运行结果及曲线,并通过trace跟踪速度曲线进行对比。
3.4 运行结果
a、指令完成后再触发运行结果
trace速度跟踪结果:
b、指令提前动作运行结果
CODESYS多段速缓冲提前动作
trace跟踪结果
4、结果分析
通过运行结果发现,前一个指令运行结束后触发,实际上速度已经降到0,所以缓冲模式并没有起作用,速度曲线出现了尖角,实际上是出现了停机,只不过时间很短,无法在曲线上直观的显示出来。而提前触发的运行结果就可以完美的实现多段速的功能,速度曲线降速契合多段速功能的控制要求。
本文采用Codesys V3.5.18编程设计,需要查看源程序的可在以下地址下载:
https://download.csdn.net/download/qq_19979629/87944558