周期凸轮 凸轮可以重复运行,当 Periodic 输入 MC_CamTableSelect 功能块设置为 TRUE 。然后凸轮在到达终点位置后自动重新启动。如果此输入 FALSE ,然后 EndOfProfile 输出变量 MC_CamIn 功能块设置为 TRUE 当主机到达终点位置时,从机暂停在当前位置。 注意,离开主值范围后凸轮活动不会停止。当主驱动器重新进入主值范围时,从驱动器将再次跟随凸轮
概述 缓冲模式 有些功能块有一个 BufferMode 输入用于控制运动的时间顺序。缓冲模式定义功能块是在非缓冲模式(“中止”,标准行为)下工作,还是在缓冲模式(“缓冲”)下工作。这两种模式之间的区别在于它们开始操作的时间: “非缓冲模式”:即使中断了另一个运动,运动命令也会立即生效。命令运动的缓冲区将被删除。 “缓冲模式”:移动命令等待,直到当前功能块设置其输出 Done (或者 InPosit
缓冲运动情况下的行为 当一个缓冲运动被命令后 MC_MoveAbsolute 或者 MC_MoveRelative ,缓冲的运动在前一个运动报告的同一周期中处于活动状态 Done 并达到速度 0。但是,缓冲运动的插补直到下一个循环才开始,因此循环结束时轴的速度等于 0。 当命令缓冲移动后 MC_CamIn ,缓冲运动在前一个运动报告的同一周期内处于活动状态 EndOfProfile . 缓冲运动的
混合情况下的行为 混合行为的基本性质 CODESYS SoftMotion 是在混合期间轴沿与缓冲运动期间相同的位置移动。唯一的区别是沿这些位置的速度。 这对于简单的情况是显而易见的。请参阅以下示例: 在某些情况下,轴独立于缓冲模式移动相同位置的特性会影响两个运动之间的有效混合速度。例如,如果修改上述示例,使第二个运动的最大速度过高,以至于无法在混合位置达到,就会出现这种情况。根据 PLCopen
运动功能块的执行顺序 当命令缓冲运动或混合运动时,命令后续运动的功能块实例不能早于命令前一个运动的功能块实例执行。 如果违反了这个命令,那么新的错误 SMC_MOVING_WITHOUT_ACTIVE_MOVEMENT 上报,轴切换到状态 Errorstop . 例 10 . 例子 movement1(); movement2(); 过程 . 正确的执行顺序 执行 movement1() 执行 m
使用一个功能块实例控制多个运动 单个功能块实例(例如,来自 MC_MoveAbsolute )不能用于控制多个缓冲/混合运动,只要它是 Busy 。 当功能块实例 Busy ,此实例的新缓冲或混合移动命令会导致错误 SMC_MORE_THAN_ONE_MOVEMENT_PER_INSTANCE 。 为了在短时间内指挥同一类型的多个缓冲或混合运动,需要多个功能模块实例。 本节内容如下 :
发生错误时的行为 如果发生轴错误(例如,轴切换到状态 Errorstop ),活动的运动将与所有其他接受的运动一起报告错误。 如果在活动运动的功能块中出现 FB 错误,则以后接受的所有运动也会报告错误。这与第 2.2.2 节的 PLCopen 形成对比,后者在 FB 错误后将继续执行后续命令。 本节内容如下 :
CODESYS SoftMotion 版本 4 [...] CODESYS SoftMotion 版本 4