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

1、序言

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

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

2、电子凸轮编程

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

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

b、编写电子凸轮程序;

2.1、创建凸轮表

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

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

 

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

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

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,并创建对应的变量,如图所示。

 

 2.3、创建可视化界面

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

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

CODESYS是一种广泛应用于自动化领域的编程软件平台。它提供了一种简单而强大的方法来编写和调试程序,用于控制各种设备和系统。凸轮挺杆是一种传动机构,通常用于将旋转运动转换为直线运动。CODESYS电子凸轮挺杆则结合了这两个概念,提供了一种程序化控制凸轮挺杆的方法。 通过CODESYS平台,我们可以编写一个程序来控制凸轮挺杆的运动。首先,我们需要定义凸轮的运动轨迹。可以通过给定的参数和方程来描述凸轮运动的路径。然后,我们可以使用凸轮的位置来计算挺杆的位置,并将其发送到执行器上。 在CODESYS中,我们可以使用各种编程语言来编写凸轮挺杆的控制程序,例如结构化文本(ST)或函数块图(FBD)。我们可以使用条件语句、循环语句和数学运算等基本编程概念来定义凸轮挺杆的行为。CODESYS还提供了一系列的函数库和工具,用于简化编程过程。 使用CODESYS电子凸轮挺杆可以实现许多应用,例如自动化生产线上的部件组装,机器人的运动控制等。通过编写程序,我们可以精确地控制凸轮挺杆的位置和速度,以实现我们所需的运动轨迹。 总之,CODESYS电子凸轮挺杆提供了一种程序化控制凸轮挺杆的方法。通过编写控制程序,我们可以精确地控制凸轮挺杆的运动,实现各种自动化应用。这种技术在工业领域中有着广泛的应用和重要的意义。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tnt1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值