Codesys电子凸轮功能的设计与可视化仿真

1、序言

在机械设计中,凸轮机构可以完成各种复杂的运动,包括直线运动、摆动、等速运动和不等速运动,能够应用于各个行业;电子凸轮(英文简称ECAM)是利用构造的凸轮曲线来模拟机械凸轮,以达到机械凸轮系统相同的凸轮轴与主轴之间相对运动的软件系统。

codesys功能强大,电子凸轮功能也完全可以实现,在项目工程内,创建两个轴,分主轴和从轴,通过电子凸轮曲线构造主轴与从轴的凸轮关系,当主轴运转时,从轴按照凸轮关系跟随主轴动作。

2、电子凸轮编程

以FBD编程语言为例,codesys要实现电子凸轮分两部分(创建FBD编程的POU和建立两个轴的方法在这里就不介绍了):

a、创建凸轮表,构造凸轮曲线;

b、编写电子凸轮程序;

2.1、创建凸轮表

在application处右键添加对象,选择cam表,名称可以自己定义,创建完成后,右键点击创建的cam,选择属性,设置主从轴起始位置和结束位置,周期等参数。

Codesys电子凸轮功能的设计与可视化仿真_第1张图片Codesys电子凸轮功能的设计与可视化仿真_第2张图片

进入cam中,修改cam曲线和cam表,本例使用直线段模拟,实现简单的功能,主轴旋转前半圈0-180度,从轴旋转一圈,主轴后半圈180度-360度继续旋转,从轴则等待,主轴一圈完成,进入下一个循环,从轴根据主轴角度动作。(此功能在类似飞剪中的一个动作),拟合方式选择lin模式(直线段拟合),cam曲线和cam表如下图所示,(没有速度与加速度曲线)

Codesys电子凸轮功能的设计与可视化仿真_第3张图片

 Codesys电子凸轮功能的设计与可视化仿真_第4张图片

 同时需要在表中至少添加一个挺杆点,可根据需求自行设置,在挺杆表中添加点,在挺杆页显示对应的点位,如下图所示;

Codesys电子凸轮功能的设计与可视化仿真_第5张图片

Codesys电子凸轮功能的设计与可视化仿真_第6张图片

 这样,凸轮表就创建完毕。

2.2、编写程序块

程序块主要内容包括,两个伺服使能power,主轴速度模式运行MoveVelocity,凸轮表选择CamTableSelect,凸轮啮合CamIn,凸轮啮合松开CamOut,挺杆位置检查GetTappetValue,模块的参数主要有:MoveVelocity的Axis参数为主轴R轴,execute参数为上升沿启动模式,用bool类型变量‘启动’,方向为positive或者negetive,CamTableSelect的Master为主轴R轴,Slave为从轴X轴,CamTable就是我们创建的cam表名称cam1,CamIn和CamOut变量类似,设置主从轴,execute对应一个bool变量,StartMode选择使用绝对absolute模式,CamTableID与CamTableSelect的输出对应,GetTappetValue与CamIn的输出对应,同时增加两个轴的停止命令Stop,并创建对应的变量,如图所示。

Codesys电子凸轮功能的设计与可视化仿真_第7张图片Codesys电子凸轮功能的设计与可视化仿真_第8张图片

 Codesys电子凸轮功能的设计与可视化仿真_第9张图片Codesys电子凸轮功能的设计与可视化仿真_第10张图片

 2.3、创建可视化界面

 可视化界面实际上只需要两个旋转轴,旋转轴的变量可以直接使用轴的名称,本文使用R轴与X轴,4个按钮,包括凸轮啮合,啮合松开,启动,和停止,对应变量就选变量表里对应的bool类型变量,为方便观察和确认状态,可以增加MoveVelocity,CamTableSelect,CamIn,GetTappetValue控件,变量配置在变量表里也能选到对应的;如下图所示。

Codesys电子凸轮功能的设计与可视化仿真_第11张图片

3、仿真运行

电子凸轮使用时,需要先运行CamIn,使两个凸轮啮合,再启动主轴运行,则从轴会根据cam表运行,如果没有啮合或者点击CamOut了,则启动主轴时,从轴不会跟随主轴动作,MoveVelocity,CamIn,CamOut,Stop都是execute模式,即上升沿有效模式,因此启动后,需要点击停止才能将主轴和从轴停下,仿真运行结果视频所示。 

codesys实现电子凸轮

通过视频可以看到凸轮运行的结果,即主轴旋转前半圈0-180度,从轴旋转一圈,主轴后半圈180度-360度继续旋转,从轴则等待,主轴一圈完成,进入下一个循环,与我们的需求一致。

4、综述

本文仅仅以一个简单的例子来说明codesys电子凸轮的使用方法,只是起一个抛砖引玉的作用;在实际应用中,电子凸轮的曲线都是用5阶多项式去拟合实际的运行轨迹,而且也不可能一次就能拟合出需要的轨迹,需要不断的测试运行,并根据测试运行结果调整曲线和cam表的点位,最终才能达到相对匹配的cam表。

本文所涉及的程序案例和代码也相对简单,如有需要参考的,可以到以下地址下载:

codesys电子凸轮功能设计与实现-其它文档类资源-CSDN文库icon-default.png?t=LBL2https://download.csdn.net/download/qq_19979629/74794548

你可能感兴趣的:(开发语言,个人开发,功能测试,模块测试)