运动功能块的执行顺序 当命令缓冲运动或混合运动时,命令后续运动的功能块实例不能早于命令前一个运动的功能块实例执行。 如果违反了这个命令,那么新的错误 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 错误后将继续执行后续命令。 本节内容如下 :
MC_MoveSuperImposed 和 MC_HaltSuperImposed 的行为 如果 MC_MoveSuperImposed 或者 MC_HaltSuperImposed 处于活动状态,并且底层移动被中止,那么 MC_MoveSuperImposed / MC_HaltSuperImposed 也被中止。 如果底层移动没有被取消,但另一个移动与模式 Buffered 或者命令其中一种
表现 使用的 POU AXIS_REF_SM3 功能块总是检查它们是否被总线循环任务调用。可以通过编译器定义对时间关键的应用程序禁用此检查 SM3_DISABLE_TASK_CHECKS . 本节内容如下 :
控制单轴的运动 见 PLCopenSingle.project 安装目录下的示例项目 CODESYS 在下面 ..\CODESYS SoftMotion\Examples . 此示例演示如何通过 PLCopen 标准化功能块控制驱动器。 插入一个名为的虚拟驱动器 Drive 在下面的设备树中 SoftMotion 通用轴池 . 创建一个 MOTION_PRG ST中的程序。 PROGRAM MOT
使用可视化模板控制 CFC 中单轴的运动 见 PLCopenSingle2.project 安装目录下的示例项目 CODESYS 在下面 ..\CODESYS SoftMotion\Examples . 也可以使用任何其他 IEC 实现语言代替 ST,例如此处的 CFC。该语言演示了功能块的启动和中断机制。此外,功能块的不同启动模式 MC_MoveAbsolute 可以测试旋转轴。 插入一个名为的