
3.2.2 轴组运动控制的状态图
轴组的状态图用于描述轴组命令的状态。轴组的状态有:轴组关闭(GroupDisabled)、轴组回原点(GroupHoming)、轴组在运动(GroupMoving)、轴组停止中(GroupStopping)、轴组故障停止(GroupErrorStop)和轴组待机(GroupStandby)等6种。
图3-12是轴组的状态图。图中,连续线表示通过执行功能块的转换,虚线表示自动转换。

图3-12 轴组运动控制状态图
注:对图中所有状态,都可发出MC_GroupDisable和MC_UngroupAllAxes,它将转换其状态至GroupDisabled状态。
①适用于所有非管理类(即运动控制类)的功能块。
②在GroupErrorStop或GroupStopping状态,所有功能块均可被调用,虽然它们不被执行(除了在GroupErrorStop状态会执行MC_GroupReset和产生任何其他错误)。例外情况下,GroupErrorStop或GroupStopping将相应地转换至GroupStandby或GroupErrorStop状态。
③MC_GroupStop.Done=TRUE和MC_GroupStop.Execute=FALSE。
④如果最后的一个轴从轴组中被删除,状态转换可用。
⑤当轴组非空时,转换是可用的。
图中,“轴组关闭”是上电时的初始状态,因此,用双线框表示。执行MC_GroupEnable功能块,使轴组从“轴组关闭”状态转换到“轴组待机”状态。如果在“轴组待机”状态,执行MC_GroupDisable、MC_RemoveAxisFromGroup或MC_UngroupAllAxes功能块,轴组状态从“轴组待机”状态转换到“轴组关闭”状态。
如果轴组处于“轴组待机”状态,则轴组中的各轴要执行MC_GroupHome功能块,才能实现组成轴组的各轴回原点操作。完成回原点操作后,运动控制系统因功能块的Done被置TRUE,而将轴组的状态自动转换到“轴组待机”状态。
“轴组故障停止”状态不会使组成轴组中的每个单轴进入“故障停止(Errorstop)”状态。单轴的“故障停止(Errorstop)”状态,只有当该单轴的故障影响到轴组时,才会使轴组进入“轴组故障停止”状态。通过执行MC_GroupReset功能块,可使轴组从“轴组故障停止”状态转换到“轴组待机”状态。
轴组执行MC_GroupStop功能块,将使轴组转换到“轴组停止中”状态。如果轴组在“轴组故障停止”或“轴组停止中”状态,则所有运动控制功能块可以被调用,但除了“轴组故障停止”状态,可执行MC_GroupReset功能块外,其他功能块都不能被执行。
“轴组停止中”状态是特定的状态。执行MC_GroupStop功能块,一旦执行完成,则MC_GroupStop.Done=TRUE及MC_GroupStop.Execute=FALSE时,运动控制系统自动转换轴组状态到“轴组待机”状态。轴组运动命令将导致组成轴组的各个单组进入其“同步运动”状态。