PLC编程 CAM电子凸轮 学习笔记 您所在的位置:网站首页 信捷plc工作原理视频 PLC编程 CAM电子凸轮 学习笔记

PLC编程 CAM电子凸轮 学习笔记

#PLC编程 CAM电子凸轮 学习笔记| 来源: 网络整理| 查看: 265

2023.07.21

环境:

CodeSys V3.5 PLC

MC_Basic库 – 遵循PLCOpen标准的库

相关指令:

MC_CamIn MC_CamOut MC_CamTableSelect

步骤: 1、建立基础功能块:

MC_Power、MC_Reset、MC_Stop、MC_Jog(调试用)

MC_CamTableSelect、MC_CamIn、MC_CamOut

2、新建cam表

“设备(Device)” - “PLC逻辑” - “应用(Application)” - “右键” - “添加对象” - “Cam表”在这里插入图片描述

3、打开cam表,编辑数据

右键刚才新建的cam表,进入 “属性”,可以设置一些参数,这里改一下,主轴结束位置改为720。(也可以不改,可以用默认值)在这里插入图片描述在这里插入图片描述

双击打开刚刚新建好的cam表,进入cam编辑界面。cam表主要有4个子页面:cam、cam表、挺杆、挺杆表。我们进入“cam”页面。

在“cam”页面,可见主轴位置范围变为 0 - 720,默认为 0 - 360。

在这里插入图片描述

cam表 页面,可以直接对主从轴位置关系进行数据编辑,可以添加、减少对应点,对应图标效果,可以在“cam”页面看到。

在这里插入图片描述

现在让主从轴做这个运动:主轴走720°(两圈),从轴在此期间,做往返一圈运动。

在这里插入图片描述

4、使用功能块编程:

主要用到3个功能块:

MC_CamTableSelect

MC_CamIn

MC_CamOut

        MC_CamTableSelect是选择cam表,返回一个cam表ID。MC_CamIn是使主从轴进入cam模式。MC_CamOut是让主从轴退出cam模式,其中较为明显的现象是从轴脱离跟随主轴,主轴当前的运动可以不停止或按脱离前的运动方式运动。而从轴脱离时,会以原先的运动速度继续运动,调用MC_Stop可以使其停止。

(1)MC_CamTableSelect

        使用 MC_CamTableSelect 来指定电子凸轮运行时所遵循的凸轮表。Execute 设置为 True,可执行指定或刷新凸轮表。Done 转为 True 时,CamTableID生效。当主从轴建立同步关系后,用户对 MC_CamTableSelect 参数进行修改会造成凸轮的行为变动。 修改 CamTable 变量后,凸轮行为模式会立即生效。 修改 Periodic 模式时,必须要重启功能块才能生效。         CamTable为凸轮表的选择,Execute触发之后,如果当前凸轮表正确,Done为TRUE,CamTableID的输出关联到MC_CamIn.CamTableId进行凸轮运动。

CamTableSelect( Master:= Axis1, // 主轴 Slave:= Axis2, // 从轴 CamTable:= Cam, // cam表 Execute:= bCamTableSelectExe, // 触发 Periodic:= bPeriodic, // 是否重复执行 MasterAbsolute:= FALSE, // 主轴绝对模式 SlaveAbsolute:= FALSE, // 从轴绝对模式 Done=> bTableDone, Busy=> bTableBusy, Error=> bTableErr, ErrorId=> , CamTableId=> );

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(2)MC_CamIn

        MC_CamIn指令使主从轴按照给定的凸轮表运动。在执行的过程中,主轴以当前的速度运动,从轴则按照当前执行的凸轮表参数进行运动;当主轴达到凸轮表中设定的位置时,从轴也达到目标位置。凸轮周期执行时,执行完最后一条记录,会直接跳转到第一条记录继续循环执行。         在功能块运行的同时,如果控制同一轴的其它指令启动运行,此时该指令运行会被终止,CommandAborted 置位。         执行过程中指令使轴处于Synchronized_Motion状态,执行完成之后,轴状态转换为StandStill。

CamIN( Master:= Axis1, Slave:= Axis2, Execute:= bCamInExe, ContinuousUpdate:= FALSE, // 更新模式 MasterValueSource:= 0, MasterOffset:= 0, SlaveOffset:= 0, MasterScaling:= 1, SlaveScaling:= 1, MasterStartDistance:= , MasterSyncPosition:= , VelocityDiff:= , Acceleration:= , Deceleration:= , Jerk:= , TappetHysteresis:= , StartMode:= 0, CamTableId:= CamTableSelect.CamTableId, BufferMode:= , InSync=> bCamInInSync, Busy=> bCamInBusy, Active=> bCamInAct, CommandAborted=> , Error=> bCamInErr, ErrorId=> , EndOfProfile=> );

在这里插入图片描述

在这里插入图片描述

(3)MC_CamOut

        通过MC_CamOut 指令,停止主从轴的凸轮关联,主从轴关联解除后,Done输出。如果没有其他运动控制指令接管从轴,从轴将按照分离时的速度匀速运行。

CamOut( Slave:= Axis2, Execute:= bCamOutExe, Done=> bCamOutDone, Busy=> bCamOutBusy, Error=> bCamOutErr, ErrorId=> );

在这里插入图片描述

5、执行步骤

        先执行MC_CamTableSelect,CamTable参数选择在上面创建好的cam表,得到该功能块的输出CamTableId。

在这里插入图片描述

        从轴使能,执行MC_CamIn,若从轴不使能,或在错误状态,MC_CamIn执行会报错。触发信号置位后,功能块输出InSync为True、Busy为True、Active为True,且Error为False,则说明功能块执行正常,主从轴进入cam模式。

        若以上输出没有达到,或者Error为True或ErrorId有报错信息,则检查错误并清除后再执行该功能块。

在这里插入图片描述

        到此,主从轴的cam运动已经建立,主从轴的位置关系根据所选cam表进行规划。

6、效果

        主轴使用Jog运动,往正向Jog运动,从轴按照cam表进行规划。

在这里插入图片描述

        CamOut功能块如上文所述,在主从轴cam同步运动中,若执行camOut,则断开cam关系,主从轴各自保持原来的运动方式,直至运动结束或者被打断。

在这里插入图片描述

7、扩展 (1)

        在MC_CamIn确立的情况下,如果中途不打断(不断开主从的cam关系),其主从的信息会一直保存着:(在MC_CamTableSelect的主从轴均为相对模式下)

        例如:1.主轴运行中,2.主轴中间停顿,主从轴位置保持不变,3.主轴继续运动,从轴也接着上一次的位置继续按照cam表运动。

在这里插入图片描述

        在 “2.主轴中间停顿” 期间,执行SetPosition,把主从轴的位置均设为0,也不影响主从轴的继续运动。

在这里插入图片描述

        若在“2.主轴中间停顿”这期间,打断cam关系,比如执行CamOut或者从轴断使能,那么下次继续运动,主从轴则重新开始同步。

在这里插入图片描述

        在主从轴的cam关系确立期间,CamIn功能块的输出InSync为True、Busy为True、Active为True,若cam关系打断,这几个输出都不会继续为True。

(2)在从轴绝对模式下:

        从轴的位置要求严格,要求起始位置必须和cam表上从轴起始位置一致,不然执行CamIn时,会报错,并自动断使能。而主轴无论位置如何都不受影响(只要从轴位置符合)。

        按上例的cam表,如现在主轴位置54,从轴位置0,执行CamIn成功。

        主轴位置54,从轴位置10,执行CamIn失败,从轴断使能。

        主轴位置0,从轴位置15,执行CamIn失败,从轴断使能。

(3)在主轴绝对模式下:

        主轴位置要求严格,若主轴在cam表的位置对不上,CamIn就会报错,并导致从轴断使能,若主轴位置偏差在范围内,也能导致CamIn执行时,从轴会瞬间抖动一下。而从轴无论位置如何都不受影响(只要主轴位置符合)。

        按上例的cam表,如现在主轴位置54,从轴位置0,执行CamIn失败,从轴断使能。

        主轴位置54,从轴位置10,执行CamIn失败,从轴断使能。

        主轴位置0,从轴位置15,执行CamIn成功。

(4)主从轴均在绝对模式下:

        主从轴的位置都要求严格,只要主从轴任一轴的位置在cam表上不对应,执行CamIn时,都会执行失败,导致从轴断使能。

                按上例的cam表,如现在主轴位置54,从轴位置0,执行CamIn失败,从轴断使能。

        主轴位置54,从轴位置10,执行CamIn失败,从轴断使能。

        主轴位置0,从轴位置15,执行CamIn失败,从轴断使能。

        主轴位置0,从轴位置0,执行CamIn成功。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有