从连续或同步运动中缓冲/混合 根据 PLCopen,混合缓冲模式决定了第一次运动结束时的速度。 在某些情况下,速度已经完全由第一个动作决定。当第一个运动是以下类型之一时,就是这种情况: 连续移动( MC_MoveVelocity , SMC_MoveContinuousRelative , 或者 SMC_MoveContinuousAbsolute ) 同步运动( MC_CamIn , MC_Ge
运动功能块的执行顺序 当命令缓冲运动或混合运动时,命令后续运动的功能块实例不能早于命令前一个运动的功能块实例执行。 如果违反了这个命令,那么新的错误 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 或者命令其中一种
使用 MC_SetOverride 进行动态调整 主动运动和未来运动的动态(速度、加速度和加加速度)可以通过使用进行调整 MC_SetOverride 。动态调整始终意味着与最初命令的运动相比有所减少(不允许大于 1 的因子)。这允许机器操作员暂时停止运动( VelFactor = 0 )或以减少的动态值执行它,例如检查新的运动序列。 动力学的适应 MC_SetOverride 由此产生的轨迹调整
预报 预测功能可用于查询有关轴未来运动的信息。预测的一个重要应用是确定到达某个位置所需的时间(类似于触发功能)。另一个应用是确定轴在给定时间的位置和速度。这样,当执行器打开时,例如当胶合喷嘴打开时,可以补偿死区时间。它还可用于精确控制具有死区的执行器,例如根据未来 100 毫秒的轴速度控制胶合输出 要实现这些应用程序,您可以使用 SMC_获取旅行时间 和 读取设置值 配置预测持续时间后的功能块 S
常见错误 本页描述了使用时常见的错误 CODESYS Softmotion Basic 、错误原因以及纠正错误可能采取的措施。有关所有可能的错误及其简要说明的列表,请参阅库文档: SMC_错误 表 40 . 错误代码 描述和原因 操作 SMC_DI_AXIS_ERROR 驱动器报告了错误。 可能的原因: 位置滞后 限位开关 过载(I²t 误差) 检查驱动器报告了哪种错误。可以从驱动器的显示屏(如果
表现 使用的 POU AXIS_REF_SM3 功能块总是检查它们是否被总线循环任务调用。可以通过编译器定义对时间关键的应用程序禁用此检查 SM3_DISABLE_TASK_CHECKS . 本节内容如下 :