PTO 通道按照下表执行当前命令(在完成之前)时可以响应新命令。
如果在正在执行的命令完成之前启动新移动命令,将接受或拒绝该命令。
根据新(下一条)命令的 Mode 引脚值,有两种不同的“接受”可能性:
立即接受 立即接受新命令,并中止当前命令。在启动当前命令的功能块上设置 CommandAborted 输出引脚。
延迟接受 接受新命令并放置在缓冲区中。当前命令执行完成 (Done = 1) 时,将执行新(下一个)命令。
如果新命令被拒绝,将放弃该命令,中止当前命令,并且报告 PTO 错误。
|
当前命令 |
|||||
---|---|---|---|---|---|---|
PTOMoveVelocity |
PTOMoveRelative |
PTOMoveAbsolute |
PTOEnhancedHome(2) |
其他(1) |
||
下一命令 |
PTOMoveAbsolute(中止) |
立即接受 |
立即接受 |
立即接受 |
立即接受 |
拒绝 |
PTOMoveAbsolute(缓冲) |
拒绝 |
延迟接受 |
延迟接受 |
拒绝 |
拒绝 |
|
PTOMoveRelative(中止) |
立即接受 |
立即接受 |
立即接受 |
立即接受 |
拒绝 |
|
PTOMoveRelative(缓冲) |
拒绝 |
延迟接受 |
延迟接受 |
拒绝 |
拒绝 |
|
PTOMoveVelocity(中止) |
立即接受 |
立即接受 |
立即接受 |
立即接受 |
拒绝 |
|
PTOMoveVelocity(缓冲) |
拒绝 |
延迟接受 |
延迟接受 |
拒绝 |
拒绝 |
|
PTOStop |
立即接受 |
立即接受 |
立即接受 |
立即接受 |
拒绝 |
|
其他(1) |
拒绝 |
拒绝 |
拒绝 |
拒绝 |
拒绝 |
(1) PTOMoveFast、PTOStop、PTOHome
(2) 只有当正输出补偿脉冲时(输出变量 Status 的值为 2);否则会拒绝命令。
注意: 如果中止当前命令并接受新(下一条)命令,则在新(下一条)命令开始之前会有一小段延迟。这段延迟将生成可能会影响新(下一条)移动命令解决办法的额外 PTO 脉冲。这些额外脉冲只能凭经验确定,因为脉冲数取决于应用(移动速度、任务大小、任务类型和可能会介入的其他任务)。因此,您需要对应用程序进行彻底的测试,以确定当一个移动被另一个移动打断时发生的额外脉冲数,然后在应用中考虑此差异。
|
意外的设备操作 |
o全面测试应用程序,以确定一个移动指令被另一个移动指令中断时所生成的额外脉冲数。 o考虑应用程序内一个移动指令被另一个移动指令中断时所生成的额外脉冲数。 |
不遵循上述说明可能导致人员伤亡或设备损坏。 |
注意:
o如果正在移动时改变运动方向,将会报告 PTO_REVERSE_DIRECTION 错误。
o执行 PTOEnhancedHome 将清除任何缓冲区命令。
如果命令被拒绝,则表明不支持该命令顺序,并且将发生以下事件:
当前命令: 中止当前命令。如果命令尚未完成,则在功能块上设置 CommandAborted 输出引脚。
下一命令: 拒绝新命令。Error 输出引脚在功能块上设置。
运动状态: 运动进入 ErrorStop 状态。
以 Dec. Fast Stop 配置参数中设置的减速度停止移动。
在 PTOSimple 功能块上报告检测到的错误(在该功能块上设置 PTOError 输出引脚)。
在 PTO 诊断中设置位 25(命令被拒绝)。要读取 PTO 诊断,请使用 PTOGetDiag 功能块。
在执行新命令之前,确认检测到的错误(使用 PTOSimple 功能块的 ResetError 输入引脚)。