Cam曲线运动方程式应用简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

OMRONCam曲线运动方程式应用简介三次曲线、五次曲线拼接实例丛龙辉2013/3/26通过实例,简单介绍了创建自定义“功能FC/功能块FB”并导出、导入的方法,介绍了自定义计算三次曲线系数、五次曲线系数FC的源代码,利用该自定义FC修改CAM表的过程及其效果。1目录1.用到的凸轮曲线运动方程式...............................................................................................-1-2.自定义功能/功能块库.........................................................................................................-2-2.1.新建库工程.......................................................................................................................-2-2.2.自定义Functions/FunctionBlocks库的导出/导入.........................................................-4-3.测试自定义Function及通过程序修改CAM曲线效果.....................................................-5--1-1.用到的凸轮曲线运动方程式假设第n段Cam曲线上任意一点的Phase为n,Distance为nh,其始末点用hh始始终终表示,令n始,hhh终始=-,终始=-,则曲线通式为:三次曲线运动方程通式及系数方程230123212322232326ccccdscsdcccscdd令边界条件为0时,dsshvd始始,时,dsshvd终终可求得五次曲线任意拼接时的运动方程式为:230123012233322nccccchcvhvvcvvhch始始终终始始五次曲线运动方程通式及系数方程23450123423412345223234523234535234526122062460dscccccddsccccddssccccccccdc令边界条件为0时22,,dsdsshvadd始始始,时22,,dsdsshvadd终终终可求得五次曲线任意拼接时的运动方程式为:-2-01232342323450123453545423461023781523622nchcvacaavhccccccvhcaavvhcvvaahc终始终始终终始终始始始始始始终注意:以上公式中的𝓋、𝒶都是曲线始末点的类速度、类加速度,不是真实的速度、加速度。对上述公式的验证见后续内容。2.自定义功能/功能块库2.1.新建库工程打开SysmacStudio软件,选择新建工程,注意在工程类型中选择“库工程”,设备类型及版本可根据需要选择,如果没有用到高版本中的新增的指令,可选择最低版本即可。在数据类型中新建一个自定义的结构体数据类型CurvePoint,包含三个成员,如下图所示:-3-该数据类型用于存储曲线始末点信息,需要注意的是其中的vel和acc并不是实际的速度和加速度,而是类速度、类加速度,反映的是该点的Distance相对于Phase的变化情况。如在Cam曲线设置中设置曲线类型为直线,起点为主轴0、从轴0,终点为主轴10,从轴10,则该段曲线末点(即下段曲线起点)的distance为10,phase为10,vel为1,acc为0。在POU中新建2个Function,分别用于计算三次曲线和五次曲线的系数,具体代码如下:PHI:=EPoint.Point.Phase-SPoint.Point.Phase;H:=EPoint.Point.Distance-SPoint.Point.Distance;IF(PHI=0.0)THENErr:=TRUE;Err_Code:=1;//错误码1,凸轮转角为0ELSE//计算曲线系数C[0]:=SPoint.Point.Distance;C[1]:=SPoint.vel;C[2]:=(3*H-PHI*EPoint.vel-2*PHI*SPoint.vel)/(PHI*PHI);C[3]:=(PHI*SPoint.vel+PHI*EPoint.vel-2*H)/(PHI*PHI*PHI);三次系数:=TRUE;Err:=FALSE;Err_Code:=0;END_IF;-4-2.2.自定义Functions/FunctionBlocks库的导出/导入设置库属性:选择菜单“工程→库→库设置”,设置库名称、版本号、作者等内容,在下方的元素选择对话框中勾选需要保存到库中的内容(本文中为自定义的2个功能FC:三次系数、五次系数),注意的是如果使用了其它自定义的功能或功能块,需要勾选包含引用库文件。PHI:=EPoint.Point.Phase-SPoint.Point.Phase;H:=EPoint.Point.Distance-SPoint.Point.Distance;IF(PHI=0.0)THENErr:=TRUE;Err_Code:=1;//错误码1,凸轮转角为0ELSE//计算曲线系数C[0]:=SPoint.Point.Distance;C[1]:=SPoint.vel;C[2]:=SPoint.acc/2;C[3]:=(EPoint.acc-3*SPoint.acc)/2/PHI-(4*EPoint.vel+6*SPoint.vel)/(PHI*PHI)+10*H/PHI/PHI/PHI;C[4]:=(3*SPoint.acc-2*EPoint.acc)/2/PHI/PHI+(7*EPoint.vel+8*SPoint.vel)/PHI/PHI/PHI-15*H/PHI/PHI/PHI/PHI;C[5]:=(EPoint.acc-SPoint.acc)/2/PHI/PHI/PHI-3.0*(EPoint.vel+SPoint.vel)/PHI/PHI/PHI/PHI+6*H/PHI/PHI/PHI/PHI/PHI;五次系数:=TRUE;Err:=FALSE;Err_Code:=0;END_IF;-5-创建库选择菜单“工程→库→创建库”,在弹出的“创建库文件”对话框中选择库文件的存放位置,默认路径为“C:\OMRON\Data\Lib\”。导入库新建标准工程后,选择菜单“工程→库→显示索引”,点击“+”按钮,在弹出的“引用库文件”对话框中选择已创建的库文件,导入到工程中,可以看到,库中自定义的功能、结构体数据类型都导入到了程序中。3.测试自定义Function及通过程序修改CAM曲线效果新建标准工程并导入自定义库后,添加CAM表CamT1,Cam数据设置如下:可以看到该CAM曲线由三段直线构成,实际上,这样设置的曲线是不合理的,在曲线连接处其类速度、类加速度存在突变,有柔性冲击。现在要做的,就是将中间这段直线通过程序修改为三次曲线或四次曲线。首先确定该段曲线始末点相关参数,由于前后两段都是直线,故其类加速度为0,类速度分别为1和1.4,得到起点SPoint为{Phase=10.0,Distance=10.0,vel=1,acc=0},末点EPoint为{Phase=20.0,Distance=16.0,vel=1.4,acc=0}编写如下程序修改CAM曲线并保存。-6--7-*由于实际要修改的Cam曲线类型多种多样,始末点坐标、Pitch数据、修改点数多变,为节省变量内存,采用程序直接计算而不是制作成功能块。要修改成三次曲线或五次曲线时,首先计算系数,然后根据公式修改对应点的Distance,如果要从NJ控制器中将CAM表导出成文件,则必须执行MC_SaveCamTable功能块。然后通过。由于SysmacStudio软件中无法查看通过程序修改得到的CAM表且使用仿真功能时也无法导出Cam表到文件,故只能自控制器中将CamT1导出成文件,将未经修改的Distance、用三次曲线修改的Distance、用五次曲线修改的Distance拷贝到同一Excel表格中并添加散点图查看修改后的效果如下:具体数据见附件3。Cam曲线.slr附件1Cam曲线功能块测试.smc附件2CamT1_自控制器.xlsx附件3

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功