正文:
通过前面两个文档的学习,我们了解了凸轮工艺对象的数据结构,以及如何通过编程设置点及线段的方法动态生成凸轮曲线。另外还可以使用LCamHdl库提供的功能块动态生成凸轮曲线。
LCamHdl库以及相关使用手册可以在以下链接下载:
https://support.industry.siemens.com/cs/us/en/view/105644659
下载完库文件后,在博途中打开库:
图2-1打开全局库
打开全局库后,可以看到以下功能块:
图2-2库中的功能块
其中LCamHdl_CreateCamBasedOnXYPoints和LCamHdl_CreateCamBasic是通过点来生成凸轮曲线的,其它的功能块都是通过线段来生成凸轮曲线。
我们先把这个功能块拖拽到程序中,其参数如下图所示:
图3-1 LCamHdl_CreateCamBasedOnXYPoints功能块参数
具体参数说明参考手册,这里只对重要的参数做一些说明,帮助大家快速上手。
这个功能块使用起来非常简单方便。把生成凸轮曲线的点个数赋值给numberOfPoints参数,点坐标数组赋值给camProfile参数,凸轮工艺对象赋值给cam参数,然后把execute参数置1,就可以把点数据写到凸轮工艺对象中,并且把相应的点有效性设置为TRUE(参考《动态生成曲轮曲线(1)》),就像我们手动写程序给凸轮工艺对象里的点数据赋值一样。经过插补后就生成的凸轮曲线就可以使用了。
其中的camProfile参数是一个数组,数组元素类型为LCamHdl_typeXYPoint,数组元素个数等于凸轮曲线点个数。
LCamHdl_typeXYPoint数据类型也在LcamHdl库中,使用时也需要拖拽到项目中,如下图所示:
图3-2拖拽数据类型到项目中
鼠标双击打开LCamHdl_typeXYPoint数据类型,就可以看到其中包含x,y两个变量,分别代表凸轮曲线的主轴位置与从轴位置。
图3-3 LCamHdl_typeXYPoint数据类型结构
需要注意的是点个数以及numberOfPoints参数赋值不要超过1000,这也与凸轮曲线工艺对象的数据结构有关(参考《动态生成曲轮曲线(1)》)。
LCamHdl_CreateCamBasic功能块参数如下:
图3-4 LCamHdl_CreateCamBasic功能块参数
这个块看起来是不是与LCamHdl_CreateCamBasedOnXYPoints功能块除了名称不一样其它的都一样?不要急着下结论,我们再来仔细看一看这个块的camProfile参数。这个参数是一个数组,数组元素类型为LCamHdl_typeBasicPoint。
图3-5 LCamHdl_typeBasicPoint数据类型结构
这个数据类型中除了主轴位置(leadingValue),从轴位置(followingValue),还出现了速比(velocityRatio)和加速比(accelerationRatio)两个参数。通过手册所知数组个数以及numberOfPoint参数的上限也不是1000而是51。
参考《动态生成曲轮曲线(1)》,凸轮工艺对象可设置线段数量最大值是50,这说明LCamHdl_CreateCamBasic功能块为凸轮工艺对象添加的是线段数据,50条线段的端点正是51个。通过调用这个功能块,我们可以不需要再手动编程为凸轮工艺对象写入线段数据。
另外速比是指曲线在此位置(主轴位置,从轴位置决定)的斜率,加速比指曲线在此位置的曲率(参考《凸轮速度曲线与加速度曲线的含义》)。
下面例子中使用LCamHdl_CreateCamBasic功能块为曲线插入了3个点(LCamHdl_typeBasicPoint),我们对比一下第二个点中不同的参数值对曲线的影响:
图3-6 速比为1
在曲线中(210,100)位置,曲线为45度斜坡,斜率为1。
图3-7 速比为0
曲线中(210,100)位置,曲线为水平,斜率为0。
图3-7 加速比为0.1
曲线中(210,100)位置,曲线向上弯曲,曲率为0.1。