前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[博途] 使用LCamHdl库动态生成凸轮曲线

[博途] 使用LCamHdl库动态生成凸轮曲线

作者头像
科控物联
发布2022-03-29 17:17:36
2.4K0
发布2022-03-29 17:17:36
举报
文章被收录于专栏:科控自动化

1 使用LCamHdl库动态生成凸轮曲线

通过前面两个文档的学习,我们了解了凸轮工艺对象的数据结构,以及如何通过编程设置点及线段的方法动态生成凸轮曲线。另外还可以使用LCamHdl库提供的功能块动态生成凸轮曲线。

LCamHdl库以及相关使用手册可以在以下链接下载:

https://support.industry.siemens.com/cs/us/en/view/105644659

2 LCamHdl库简介

下载完库文件后,在博途中打开库:

图2-1打开全局库

打开全局库后,可以看到以下功能块:

图2-2库中的功能块

其中LCamHdl_CreateCamBasedOnXYPoints和LCamHdl_CreateCamBasic是通过点来生成凸轮曲线的,其它的功能块可以通过分段来生成凸轮曲线。

3 使用分段生成凸轮曲线

通过使用LCamHdl_CreateCamBasedOnXYPoints和LCamHdl_CreateCamBasic可以很方便的生成凸轮曲线,但是LCamHdl_CreateCamBasedOnXYPoints的过渡段是系统插补的(线性/ 3次样条/ 贝塞尔样条)曲线,LCamHdl_CreateCamBasic点之间的曲线形状是系统生成的5次多项式曲线,用户不能自己定义曲线类型,所以LCamHdl库还提供了用户可以自定义曲线类型的功能块LCamHdl_CreateCamAdvanced。

3.1 LCamHdl_CreateCamAdvanced

图3-1 LCamHdl_CreateCamAdvanced功能块参数

这个功能块稍微复杂一些,它的具体参数说明参考手册,这里只对重要的参数做一些说明,帮助大家快速上手。

这次我们先从camProfile参数入手,这个参数是一个数组,数组元素类型为LCamHdl_type AdvancedElement。

图3-2 LCamHdl_type AdvancedElement数据类型结构

一个数组元素即是一条自定义曲线,整条凸轮曲线可以由多个自定义曲线构成。我们可以定义主轴起始点(leadingValueStart)、结束点(leadingValueEnd),从轴的起始点、结束点,曲线起始点速度即斜率(geoVeloStart)、结束点速度即斜率(geoVeloEnd),起始、结束点加速度即曲率,起始、结束点加加速等参数。拐点参数(InflectionPointParameter)会影响凸轮工艺对象使用线段数量的多少,建议使用默认值0.5。通过camProfileType参数可以确定自定义曲线的类型。

configuration参数的数据类型是LCamHdl_typeAdvancedConfig:

图3-3 LCamHdl_typeAdvancedConfig数据类型结构

通过这个类型中的前4个参数可以选择是否删除前面以及后续的凸轮数据,建议保持默认值;interpolateCam也建议保持默认,这样生成凸轮曲线的同时又对曲线进行了插补,生成的曲线不需要再添加程序块进行插补就可以直接使用了。

在使用LCamHdl_CreateCamAdvanced功能块之前,建议把库中的变量和数据类型也拖拽到项目里。

图3-4 拖拽库中的变量和数据类型到项目里

这样在编程时camProfileType参数可以使用用户自定义常量赋值。

图3-5 用户之定义常量

下面我们来做一个实验,在DB块中建立一个两个元素的数组变量profile,元素的类型为LCamHdl_typeAdvancedElement,并为这两个元素赋值,如下图所示:

图3-6 建立变量profile并赋值

参数表明要生成的凸轮曲线由两条线段组成,第一条线段从(0,0)到(100,50),线段类型为3(LCAMHDL_PROFILE_CONST_VELO),即一条斜直选段;第二条线段从(100,50)到(150,100),线段类型为5(LCAMHDL_PROFILE_POLY_5),即5次多项式线段。

执行后生成的凸轮曲线如下:

图3-7 生成的凸轮曲线

可以很明显看到这条曲线由两部分组成,第一部分是一条斜直线段,后一部分是一条曲线段。但是这两条线段连接点明显不光滑,这表明连接点上斜率不一致。下面我们调整一下曲线参数。

第一条线段的斜率为50/100=0.5,所以我们把第二条曲线起始点的斜率设置为0.5:

图3-8 调整曲线参数

调整后生成的曲线为:

图3-9 调整后的曲线

调整后的曲线连接点上斜率一致,看起来很光滑。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 使用LCamHdl库动态生成凸轮曲线
  • 2 LCamHdl库简介
  • 3 使用分段生成凸轮曲线
    • 3.1 LCamHdl_CreateCamAdvanced
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档