Codesys单轴控制实现多段速控制功能

  b一、序言

        在设备加工行业,很多工艺要用到多段速控制,比如切割,打孔,攻丝等,刀具未碰到工件时可以快速行走,刀具碰到工件时需要慢速加工,而有些工艺在加工时随着刀具越走越深,其进刀的速度也需要变得更慢才能保证工艺的稳定性。

        传统的PLC一般都有自带的可变速脉冲输出控制指令,像三菱,汇川,台达等都可以用PLSV指令,那么Codesys有没有类似的指令呢,目前还没有。但是可以通过指令的组合实现此功能。

二、多段速控制要求

        以钢管打孔为例,如图所示

Codesys单轴控制实现多段速控制功能_第1张图片

     左侧灰色钻头初始状态距离蓝色钢管有一定的距离,钻头需要钻穿钢管壁。整个行程分为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引脚,功能块如下图所示:

Codesys单轴控制实现多段速控制功能_第2张图片           

         再看BufferMode的数据设置选项,共有6项,说明如下:

Codesys单轴控制实现多段速控制功能_第3张图片

        官网帮助文件翻译如下:

Codesys单轴控制实现多段速控制功能_第4张图片

      本例中,我们以选择blendingnext模式试验,看轴的运行效果如何。

3.3 程序编写

        建立虚轴,创建变量,转换,轴使能以及创建可视化画面,这些内容本文不在描述,可以参考之前的文章创建,文章查看地址:https://blog.csdn.net/qq_19979629/article/details/124766915

       本文直接编写三轴运动程序,以相对运动MoveRelative为例,程序如下:

Codesys单轴控制实现多段速控制功能_第5张图片

 Codesys单轴控制实现多段速控制功能_第6张图片

 程序解释:

1、本文设置3个相对运动指令,后面两个指令缓冲模式设置blendingNext模式;

2、设置两种试验方法,第一种,前一个移动指令运行完成触发下一个移动指令,第二种,前一个移动指令运行未完成时,提前触发下一个移动指令,可通过开关切换;

3、分别运行,通过可视化仿真查看运行结果及曲线,并通过trace跟踪速度曲线进行对比。

3.4 运行结果

        a、指令完成后再触发运行结果

trace速度跟踪结果:

Codesys单轴控制实现多段速控制功能_第7张图片

         b、指令提前动作运行结果

CODESYS多段速缓冲提前动作

trace跟踪结果

Codesys单轴控制实现多段速控制功能_第8张图片

 4、结果分析

        通过运行结果发现,前一个指令运行结束后触发,实际上速度已经降到0,所以缓冲模式并没有起作用,速度曲线出现了尖角,实际上是出现了停机,只不过时间很短,无法在曲线上直观的显示出来。而提前触发的运行结果就可以完美的实现多段速的功能,速度曲线降速契合多段速功能的控制要求。

        本文采用Codesys V3.5.18编程设计,需要查看源程序的可在以下地址下载:

https://download.csdn.net/download/qq_19979629/87944558

你可能感兴趣的:(数学建模,Codesys,多段速)