在上一章节中,我们介绍了轴的两种同步方式:齿轮同步和凸轮同步,并介绍了Gear同步的几种解决方案以及编程和调试的关键点,本章节的内容我们以S7-1500T为例介绍CAM凸轮同步相关的知识和应用。
凸轮同步相比于Gear齿轮同步,最大的特点是可以实现主从轴的非线***控制功能,其优点是优化后的电子凸轮不会造成机械冲击,在实现机械高速运动的同时,有效地减少了机械振动和摩损,并且可以在设备运行中可以随时改变电子凸轮曲线以减少停机时间。在生产机械应用领域得到广泛应用,例如:浇铸机的浇口控制,飞锯/轮切等线材、板材等定长控制,开箱机、旋盖机、贴标机、模切机、印刷机、交叉铺网机、轮胎成型机、烫金机、汽车水箱翅片机、密封条打孔机、岩棉锯切机、线切机、N95口罩机、滴灌带打孔机、伺服压机、挂面包装机、机械手等各种行业和领域。另外,基于CAM曲线的非线性特性也可以应用于不同工艺的补偿控制,通过软件算法实现平稳无超调得补偿控制,例如:液压轴中比例阀的非线性特性补偿,同步运行偏差叠加补偿,贴标机长度补偿等。本期我们重点介绍一下凸轮控制工艺对象特点、凸轮曲线生成的几种方式、凸轮建立同步的不同方式等内容。
凸轮工艺对象:
这里介绍的“凸轮工艺对象”指“TO_Cam”和“TO_Cam_10k”这两种类型的凸轮工艺对象,从STEP7 V17及以上版本的S7-1500/S7-1500T轴功能开始支持工艺对象V6.0,建议大家使用最新CPU固件和最新的STEP7版本以获得更丰富的运动控制指令和功能。例如,“TO_Cam”类型的凸轮工艺对象可包含多达 1000 个点,工艺对象V6.0新增加的“TO_Cam_10k”类型的凸轮工艺对象可包含多达10 000 个点,这两种工艺对象最多均可包含50个线段。另外,工艺对象V6.0增加的指令MC_GearOut、MC_CamOut、MC_OffsetRelative、MC_OffsetAbsulute、MC_CopyCamData、MC_KinematicsMotionSimulation,在我们处理一些复杂工艺时编程更为灵活和高效。
下图所示为凸轮工艺对象的基本操作原理:
图1 凸轮工艺对象的基本操作原理
凸轮曲线生成:
从轴与主轴的位置成一定对应关系(非线性),这个对应关系可以采用描点、多项式等方式来确定(图2)。
图2 凸轮同步主从值的关系
凸轮曲线生成可以通过以下两种方式实现:
1、使用凸轮编辑器
使用凸轮编辑器可以以图表方式开发和优化凸轮。在TIA Portal中,可以使用凸轮工艺对象的凸轮编辑器创建和标注复杂曲线。在图形和表格中添加和参数化凸轮元素。两个凸轮元素间的过渡部分自动创建。 凸轮编辑器支持线性插补,C样条和B样条插补,以及符合 VDI 指南 2143定义的转换条件。 关于凸轮的所有改变会立刻显现在编辑器的图形区域并且可以通过多种方法进行验证。
图3 使用凸轮编辑器可以以图表方式开发和优化凸轮
如需更详细了解凸轮编辑器可以参考以下链接:
SIMATIC S7-1500T: 使用凸轮编辑器
https://cache.industry.siemens.com/dl/files/820/109749820/att_970818/v1/109749820_Kurvenscheibeneditor_en.pdf
2、在运行期间更改凸轮定义 (S7-1500T)
可使用凸轮编辑器中的工艺对象组态来组态凸轮的 y = f(x) 函数。或者,也可以在用于动态凸轮计算的用户程序运行期间定义或更改凸轮定义。
运行期间凸轮定义的可用选项如下:
- 手动更改凸轮定义 :
可通过用户程序在运行期间调整变量。使用“<TO>.ValidPoint[i]”和“<TO>.ValidSegment[i]”变量确定插补包含的凸轮元素。如果值为“TRUE”,则具有相应索引“i”的元素“<TO>.Point[i]”或“<TO>.Segment[i]”会包含在插补中。使用“<TO>.InterpolationSettings”变量确定插补类型。
- 复制已计算的凸轮元素 :
使用“MC_CopyCamData”作业将已计算的凸轮元素复制到凸轮。可使用同一作业将点和区段复制到凸轮的工艺对象数据块。
- 使用“LCamHdl”库创建凸轮定义 :
“LCamHdl”库提供的函数块支持按照 VDI 指南 2143 创建无加加速度的凸轮。函数块为不同配置文件类型的区段执行所需计算,例如多项式系数。此外,可使用具有简化用户接口的优化“Basic”函数块定义凸轮的点数值和关联的动态值。函数块通过该值按照 5 次多项式函数计算相应的区段。
VDI指南2143中定义了16种可能的运动过渡选择(图4),并给出了不同过渡转换可能适用的运动转变的过渡曲线(图5)。
图4 VDI 2143基于连续分段的运动过渡选择
图5 VDI 2143适用于可能的运动转变的运动定律
有关“LCamHdl”库的更多信息,请参见西门子工业在线支持网站的条目 ID 105644659
(https://support.industry.siemens.com/cs/cn/zh/view/105644659)。
应用示例介绍了如何使用“LCamHdl”创建凸轮并以按下操作为例说明了如何切换两个凸轮。有关应用示例的信息,请参见西门子工业在线支持网站的条目 ID 109749460
(https://support.industry.siemens.com/cs/cn/zh/view/109749460)。
凸轮传动“MC_CamIn”(S7-1500T):
在凸轮传动期间,引导轴和跟随轴将通过同步操作功能进行耦合,所使用的凸轮可根据相关作业调整比例并进行移位。要使用凸轮进行凸轮传动,必须进行内插,使用运动控制指令“MC_InterpolateCam”在用户程序中插补凸轮,插补操作将关闭凸轮既定插补点与区域间的间隔,完成插补后,会为定义范围内的各个值分配数值范围中的确切值。插补类型用于定义如何插补缺失的范围,插补类型在工艺对象组态中指定,支持直线插补、三次样条插补、贝塞尔样条插补三种插补方式,具体可以根据工艺需求灵活选择不同的插补方式。插补完成后使用运动控制指令“MC_CamIn”,可在引导轴和跟随轴之间启动凸轮传动操作。
同步位置:
同步操作根据引导轴的指定同步位置进行同步,引导轴的同步位置和凸轮的相应位置表示两个轴之间的相互关系。跟随轴的运动起点根据所选的同步模式进行定义。
引导轴的同步位置由以下参数决定:
- 凸轮的起始位置 (<TO_Cam>.StatusCam.StartLeadingValue)
- 缩放凸轮的主值 (MC_CamIn.MasterScaling)
- 凸轮偏移/位置 (MC_CamIn.MasterOffset)
- 凸轮内的起点 (MC_CamIn.MasterSyncPosition)
使用以下公式计算同步位置:
同步位置 =(凸轮的起始位置 x“MasterScaling”)+“MasterOffset”+“MasterSyncPosition”
同步模式:
“MC_CamIn”运动控制指令V6.0版本支持以下几种同步模式:
表1
提前同步,设置参数“MC_CamIn.SyncProfileReference”= 0时,设置参数使用动态参数和“MC_CamIn.SyncProfileReference”= 1使用主轴距离,通过引导轴和跟随轴在到达同步位置时同步的方式开始同步。
直接同步,设置参数“MC_CamIn.SyncProfileReference”= 2 时,将在当前的引导值位置和当前的跟随值位置将状态直接设为“同步”,此类同步主要适用于在静止状态下同步。有关直接同步设置的更多信息,请参见西门子工业在线支持中的常见问题解答条目109758886 (https://support.industry.siemens.com/cs/cn/zh/view/109758886)。
随后同步,设置参数“MC_CamIn.SyncProfileReference”= 3时,设置参数使用主值距离与特定同步位置同步和“MC_CamIn.SyncProfileReference”= 4时,使用主值距离与当前位置(作为同步位置)同步,主值到达引导轴同步位置后或作业生效时立即开始同步。
提前同步和随后同步,凸轮传动过程中的传输行为通过凸轮曲线表示(图6):
图6 凸轮传动过程中的传输行为通过凸轮曲线表示
在凸轮结束运动时进行直接同步,设置参数“MC_CamIn.SyncProfileReference” = 5 时,将在活动凸轮结束运动时以新的缩放比例更改另一个凸轮或当前凸轮。为此,凸轮传动必须已激活(“InSync”= TRUE),“同步”状态仍然保持。通过在凸轮运动结束时进行直接同步设置,可以指定引导轴相对于要更换的凸轮的同步位置“MasterSyncPosition”。系统自动将要更换的凸轮的指定同步位置移动到活动凸轮的结束位置。为此,在引导值范围和跟随值范围内移动要插入的凸轮。这意味着,跟随值没有设定值跳转。
“MC_CamIn”作业(“<TO>.StatusSynchronizedMotion.WaitingFunctionState”= 3)等待至引导值到达活动凸轮或活动凸轮周期的结束位置。
到达凸轮结束位置(“EndOfProfile”= TRUE)时,将从指定的同步位置开始,已更换的凸轮直接在当前引导值位置和当前跟随值位置激活。凸轮将相应地完成偏移。偏移在工艺对象的“<TO>.StatusSynchronizedMotion.MasterOffset”和“<TO>.StatusSynchronizedMotion.SlaveOffset”变量中显示。
请注意,如果速度和加速度不连续,则在两个凸轮之间的转换过程中可能会在跟随轴上发生动态跳转。例如,要确定跟随轴的动态跳转,请使用“MC_GetCamFollowingValue”指令,在以下位置检查速度和加速度的跟随值:
- 活动凸轮的结束位置 (<TO>.StatusCam.EndLeadingalue)
- 要更改的凸轮的同步位置(“MasterSyncPosition”)
如果两个作业的参数值“MC_GetCamFollowingValue.FirstDerivative”匹配,则凸轮之间的转换速度恒定。如果两个作业的参数值“MC_GetCamFollowingValue.SecondDerivative”匹配,则凸轮之间的转换加速度恒定。
为避免在以起始位置作为同步位置用新的缩放比例更改活动凸轮时跟随轴发生动态跳转,请将设置“<TO>.InterpolationSettings.BoundaryConditions”= 1 用于凸轮插补。这样便可实现稳定的速度转换。
如想了解同步操作关于凸轮传动的详细功能可参考以下手册:
使用 S7-1500/S7-1500T 同步操作功能 《S7-1500/S7-1500T 同步操作功能》功能手册
(https://support.industry.siemens.com/cs/CN/zh/view/109781851)