Codesys平台实现电子凸轮功能二:电子凸轮程序编写

程序块编写

双击程序块PLC_PRG,进入程序块界面。

上方可定义局部变量(仅适用于该程序块)和对功能块声明。

下方为程序,其中VAR到END_VAR之间的区域为该程序块的局部变量,如果要在外部使用要使用全局变量

在程序区,右键单击输入助手

可在类别中直接调用,同时在Application-->添加对象-->POU-->函数/功能块 编写好会自动添加到类别当中。

点击文本搜索,搜索框上输入关键字,可快速找到想要的功能块。

 

 1)首先要为主从轴提供电源,使能轴,输入助手文本搜索MC_Power,双击该功能块自动添加到程序中。

此时,程序中的MC_Power会有红色波浪线,报错。除了必要的输入未定义外,还要在上方的局部变量框上进行声明(VAR和END_VAR之间),同时对其取别名(可以理解为MC_Power为类型,别名为该类型的变量)。同一个功能块多次调用取多个别名时,用逗号隔开即可,如下:

 

MC_Power_1作为主轴使能,MC_Power_2作为从轴使能,将再将输入(:=为输入,=>输出)补上波浪线就会消失,如下。

2)控制主轴动起来,MC_Jog正反转点动功能块。同理,输入助手搜索双击,再声明,命名为MC_Jog_1。

输入主轴,正转(需要给一个上升沿信号,定义一个BOOL变量给定),速度为10(可自行定义一个变量来更改),加速度为100,减速度为100,其它无则如下:

3)凸轮表选择

右键输入助手,文本搜索MC_CamTableSelect,声明,定义别名。

输入:主轴、从轴,Cam表名称,触发信号(定义BOOL变量给定),有周期性,根据上面的主从轴坐标系确定,选择相对坐标(这个点相对上一个点的坐标,例如a(200,0)--->b(100,0)

b点相对坐标(-100,0),绝对坐标(100,0)) SlaveAbsolute=FLASE相对坐标,则MC_CamIn_1.StartMode=relative

 

4)凸轮表耦合

右键输入助手,文本搜索MC_CamIn,声明,定义别名,定义上升沿触发信号BOOL类型变量v_b_camin(自定义)。

输入:主从轴,触发信号,主从轴位置不偏移,不缩放,相对坐标,CamTableID为凸轮表选择输出ID。则

 

5)凸轮表解耦

右键输入助手,文本搜索MC_CamOut,声明,另起名,定义触发信号BOOL类型变量(v_b_camout),上升沿有效。让从轴解耦。

6)从轴解耦后仍在运行,用MC_Stop可使其停止

从输入助手中拉出,声明,另命名,配置为从轴,触发信号BOOL变量,减速度大小。

7)挺杆ID状态值获取

右键输入助手文本搜索SMC_GetTappetValue,声明,另命名。对挺杆进行映射(MC_CamIn.Tappets),初始化MC_CamIn.Tappets的输出值为bInitValue的设定值。

 所用到的声明及BOOL变量

 

编译一次。

4)跟踪

编译不报错,建立跟踪。Application-->添加对象-->跟踪...

 跟踪名称默认即可,也可自定义,后打开

 

添加跟踪变量 

 

 

 跟踪主轴位置,输入AXIS_MASTER.fset,选择fsetPosition双击添加成功

 

 继续添加新的跟踪变量,从轴位置

 

 

继续添加变量,第三个跟踪变量:跟踪挺杆状态。

点击三个小点

 

 依次点击小加号展开

 

 点击SMC_GetTappetValue_1的小加号展开,双击bTappet添加成功。

 

 右侧点击Trace,跟踪任务选择。默认是不选的需要手动,不然编译报错。

 

 回到跟踪页面,设置成多通道

 

  1. 虚拟主从轴设置

双击虚拟主轴、从轴,设置成模态,值360

 

6)仿真测试

在线-->点击仿真,进入仿真模式。

再编译一次

 登录下载

点击登录到,弹窗选择是 

 回到跟踪图形界面,右键点击下载跟踪。

下载跟踪之后切换到程序块

启动仿真

 

 

先点动,给出上升沿TRUE信号

双击右边的FALSE自动取反且作为准备值(BOOL类型自动取反,变量值双击修改)

 写入准备值:调试-->写入值  或者空白处鼠标右键-->写入全部值

 

写入后

 

 选择凸轮表

写入

 

这边在哪边耦合都一样,在相对模式下都是在耦合开始那个点作为主轴的零点,从轴从零点开始动作

Cam表设置,有偏差

耦合

写入

 

观察跟踪图,主轴和从轴位置是否和Cam上的大致相同 

 

解耦从轴会以原速度运行,MC_stop可以使其停止。

必要时可以进行冷复位,再试

 

或者略微修改程序,重新编译,选择登陆并下载 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值