通过编程创建凸轮 作为 CODESYS SoftMotion 版本 4.17.0.0, CamBuilder 功能块提供了在 IEC 应用程序中直接以编程方式创建凸轮的接口。 有关详细信息,请参阅示例: 通过编程创建凸轮 使用 CamBuilder 功能块(自 SM 4.17.0.0 起) 在设备树中创建凸轮对象时,默认创建以下凸轮: 凸轮由三个五次多项式组成,具有以下四个边界值: X Y V A
在凸轮之间切换 基本上,您可以随时在不同的凸轮之间切换。但是,您应该考虑以下几点: 在凸轮编辑器中,从站的位置被唯一地定义为凸轮函数的函数值。该函数定义在主值范围内,可表示如下: SlavePosition = CAM( MasterPosition ) 由于主驱动器的当前位置通常偏离主值范围,因此您必须在凸轮函数的定义范围内缩放主位置以表示有效参数: SlavePosition = CAM( M
周期凸轮 凸轮可以重复运行,当 Periodic 输入 MC_CamTableSelect 功能块设置为 TRUE 。然后凸轮在到达终点位置后自动重新启动。如果此输入 FALSE ,然后 EndOfProfile 输出变量 MC_CamIn 功能块设置为 TRUE 当主机到达终点位置时,从机暂停在当前位置。 注意,离开主值范围后凸轮活动不会停止。当主驱动器重新进入主值范围时,从驱动器将再次跟随凸轮
“在线凸轮编辑器”可视化元素 在线凸轮编辑器是一个可视化模板,可在可视化中显示凸轮表。使用此元素,您可以在线模式下修改凸轮。 可视化元素在可视化模板中可用 ( SMC_VISU_CamEditor ) 的 SM3_Basic 图书馆。您可以在可视化编辑器中找到它 工具箱 查看中 SM3_基本 标签。 有关可视化元素的更多信息,请参阅: 可视化元素:框架 。 除了框架元素的属性外,此模板还包含以下属
概述 缓冲模式 有些功能块有一个 BufferMode 输入用于控制运动的时间顺序。缓冲模式定义功能块是在非缓冲模式(“中止”,标准行为)下工作,还是在缓冲模式(“缓冲”)下工作。这两种模式之间的区别在于它们开始操作的时间: “非缓冲模式”:即使中断了另一个运动,运动命令也会立即生效。命令运动的缓冲区将被删除。 “缓冲模式”:移动命令等待,直到当前功能块设置其输出 Done (或者 InPosit
缓冲运动情况下的行为 当一个缓冲运动被命令后 MC_MoveAbsolute 或者 MC_MoveRelative ,缓冲的运动在前一个运动报告的同一周期中处于活动状态 Done 并达到速度 0。但是,缓冲运动的插补直到下一个循环才开始,因此循环结束时轴的速度等于 0。 当命令缓冲移动后 MC_CamIn ,缓冲运动在前一个运动报告的同一周期内处于活动状态 EndOfProfile . 缓冲运动的
混合情况下的行为 混合行为的基本性质 CODESYS SoftMotion 是在混合期间轴沿与缓冲运动期间相同的位置移动。唯一的区别是沿这些位置的速度。 这对于简单的情况是显而易见的。请参阅以下示例: 在某些情况下,轴独立于缓冲模式移动相同位置的特性会影响两个运动之间的有效混合速度。例如,如果修改上述示例,使第二个运动的最大速度过高,以至于无法在混合位置达到,就会出现这种情况。根据 PLCopen
从连续或同步运动中缓冲/混合 根据 PLCopen,混合缓冲模式决定了第一次运动结束时的速度。 在某些情况下,速度已经完全由第一个动作决定。当第一个运动是以下类型之一时,就是这种情况: 连续移动( MC_MoveVelocity , SMC_MoveContinuousRelative , 或者 SMC_MoveContinuousAbsolute ) 同步运动( MC_CamIn , MC_Ge
运动功能块的执行顺序 当命令缓冲运动或混合运动时,命令后续运动的功能块实例不能早于命令前一个运动的功能块实例执行。 如果违反了这个命令,那么新的错误 SMC_MOVING_WITHOUT_ACTIVE_MOVEMENT 上报,轴切换到状态 Errorstop . 例 10 . 例子 movement1(); movement2(); 过程 . 正确的执行顺序 执行 movement1() 执行 m