
3.2.1 单轴运动控制的状态图
PLCopen运动控制规范定义了主轴/从轴和多轴协调运动控制的功能块。状态图是专门为运动控制中控制轴的目的而设计。为此,需要采用一组面向命令的功能块,它有一个参考轴,常用抽象数据类型“AXIS_REF”描述。
图3-11的单轴运动控制状态图用于定义多个运动控制功能块同时激活时的高等级轴的行为。
虽然,PLC具有真正的并行处理能力,但基本规则仍是按顺序执行运动命令,因此,这些命令被用于轴的状态图。将轴转换至相应运动状态的运动命令在状态图中列出。当轴已经在相应的运动状态时,这些运动命令也可执行。
单轴的状态图由8个状态组成,分别是同步运动(Synchronized Motion)、连续运动(Continuous Motion)、断续运动(Discrete Motion)、减速停止(Stopping)、故障停止(Errorstop)、回原点(Homing)、保持静止(Standstill)和关闭(Disabled)。
单轴状态图专注于单轴。但从状态图角度看,组成多轴功能块,MC_CamIn、MC_GearIn和MC_Phasing的单轴都处于其特定的状态。例如,CAM主轴可在“连续运动”状态,对应的从轴在“同步运动”状态,从轴连接到主轴不影响主轴的状态。
没有列入状态图的功能块不影响轴的状态,即它们的调用不改变其状态。这些功能块见表3-5。
表3-5 未列入状态图的运动控制功能块

单轴状态图中部分状态的说明见表3-6。
表3-6 单轴状态图中的部分状态

有关命令的说明见表3-7。
表3-7 有关命令的说明

单轴运动控制状态图中,初始状态是关闭(Disabled)状态,用带圆角的双线矩形框表示。单轴在该状态时,轴的运动不受到功能块的影响。轴在任何状态时,虽然轴没有故障,但如果MC_Power.Enable=FALSE,则该轴进入“关闭”状态。
轴在“关闭”状态时,如果MC_Power.Enable=TRUE,及MC_Power.Status=TRUE,则该轴从“关闭”状态转换到“保持静止(Standstill)”状态(见图3-11注⑤)。
轴在任何状态下,一旦检测到轴有一个故障发生,则轴的状态直接进入“故障停止(Errorstop)”状态。这时,功能块只能接收复位(Reset)命令,当MC_Reset=TRUE和MC_Power.Status=TRUE和MC_Power.Enable=TRUE转换条件都满足时,轴状态才进入“保持静止(Standstill)”状态。
“保持静止(Standstill)”状态是进入连续运动(Continuous Motion)、断续运动(Discrete Motion)状态的源状态。当轴在“保持静止(Standstill)”状态时,如果执行MC_MoveVelocity、MC_VelocityProfile、MC_AccelerationProfile、MC_TorqueControl、MC_MoveContinuous功能块,则轴进入“连续运动(Continuous Motion)”状态。如果执行MC_MoveAbsolute、MC_MoveRelative、MC_MoveSuperImposed、MC_MoveAdditive、MC_PositionProfile功能块,则轴进入“断续运动(Discrete Motion)”状态。
在轴运动前,通常会执行回原点的操作,以核对机械位置的正确性。因此,在“保持静止(Standstill)”状态,如果执行回原点MC_Home功能块,可完成转换“回原点(Homing)”状态的操作。并且,它在功能块完成回原点操作后,通过其输出的Done自动转换到“保持静止(Standstill)”状态。

图3-11 单轴运动控制状态图
注:连续线箭头表示通过命令的转换。虚线箭头表示自动的转换,它表示当一个轴的命令结束或一个相关系统发生转换(例如,发生相关的出错)时发生状态的转换。
①任何状态转至故障停止状态或减速停止的转换条件是:轴上有一个故障发生。
②任何状态转至关闭状态的转换条件是:MC_Power.Enable=FALSE和轴上没有故障。
③MC_Reset=FALSE和MC_Power.Status=FALSE。
④MC_Reset=TRUE和MC_Power.Status=TRUE和MC_Power.Enable=TRUE。
⑤MC_Power.Enable=TRUE和MC_Power.Status=TRUE。
⑥MC_Stop.Done=TRUE和MC_Stop.Execute=FALSE。
执行MC_Stop功能块,在MC_Stop.Execute输入信号的上升沿时,可使轴的状态从“保持静止(Standstill)”、“回原点(Homing)”、“连续运动(Continuous Motion)”、“断续运动(Discrete Motion)”和“同步运动(Synchronized Motion)”状态转换到“减速停止(Stopping)”状态。这时,轴将减速并停止。一旦轴停止,则功能块输出MC_Stop.Done=TRUE,当该功能块的MC_Stop.Execute=FALSE,即执行输入不在上升沿,轴的状态就转换到“保持静止(Standstill)”状态。
执行表3-5所列出的功能块,不会影响轴的状态。例如,MC_ReadStatus功能块读取状态信息,MC_ReadParameter读取轴参数等。
主轴和从轴的同步运动,涉及从轴的协调。因此,从轴可从“连续运动(Continuous Motion)”、“断续运动(Discrete Motion)”和“保持静止(Standstill)”状态,通过执行MC_GearIn、MC_CamIn或MC_GearInPos功能块实现转换。
图中也列出了其他状态之间的转换和转换条件。