SIMOTION系统对轴工艺对象定义了几种状态,通过相应的命令可以使轴在不同状态之间进行切换,也可以通过轴的系统变量查看其当前状态,这样可以更方便地对轴进行控制和监视。
SIMOTION中轴的状态有:
1.Axis inactive / can be activated 轴未使能,可以被使能
2.Axis active 轴已使能
3.Motion 轴在运动中
4.Fault 轴出现故障
5.StopEmergency 轴紧急停止
SIMOTION中的各状态之间的关系如下图所示。
图01. SIMOTION轴的状态模型
SIMOTION中轴的当前状态可以通过以下系统变量进行查看,以Axis_1为例。
1.Axis inactive / can be activated _to.Axis_1.Control = inactive
2.Axis active _to.Axis_1.Control = active
3.Motion _to.Axis_1.motionStateData.motionCommand
= IN_MOTION
4.Fault _to.Axis_1.error = 1 and
_to.Axis_1.ErrorReaction <> NONE
5.StopEmergency _to.Axis_1.stopEmergencyCommand.state
= active
轴的各状态详细解释如下:
1.Axis in inactive / can be activated
该状态下,轴未使能,所以运动命令不会被执行,驱动器没有输出,电机可以自由转动,轴的设定位置和实际位置都会随电机的转动而变化。
另外,轴的命令缓冲区被清空,系统变量可以恢复为配置数据或起始数据。此时,使用_enableAxis()或_enableQFAxis()命令可以使能轴,轴的状态也会变成使能状态(2.Axis Active)。其中_enableAxis()用于使能电气轴,_enableQFAxis()用于使能液压轴。
2.Axis active
该状态下,轴已使能,轴的各种运动命令可以执行。在运动命令执行过程中,轴的状态会变成运动中(3.Motion);在运动命令执行完成后,会返回到使能状态。
3.Motion
该状态下,轴的运动命令处于执行中。运行中的运动命令可以使用_stop()命令停止,在其停止模式stopMode设为STOP_WITHOUT_ABORT时,可以使用_resume()命令继续之前的运动;在其停止模式StopMode设为STOP_AND_ABORT时,命令完全中止,轴会返回到使能状态(2.Axis Active)。
4.Fault
在轴命令执行过程中,如果发生错误,比如限位到达、跟随误差太大等,会触发相应的工艺报警,轴会按工艺报警默认的方式作出响应,并进入错误状态。在使用SIMOTION SCOUT软件在线连接设备时,可以在报警窗口中查看工艺报警的信息。工艺报警的响应方式可以在报警配置中修改,具体方法可以参考下载中心文档《SIMOTION 工艺对象 Alarm 配置》,文档编号:F0693。
如果错误已排除,那么可以在SIMOTION SCOUT软件的报警窗口中直接点击“Acknowledge”按钮确认;另外,也可以在程序中调用_resetAxis()或_resetAxisError()命令来确认。
工艺对象的报警信息也可以在hmi设备上显示和确认,具体方法可以参考下载中心文档《如何在HMI上显示Simotion 工艺对象的报警信息》,文档编号:F0460。
5.StopEmergency
在SIMOTION中为轴提供了一种StopEmergency的状态,该状态下轴仍处于使能状态,但不允许执行运动命令,轴是静止的。由于轴仍处于使能状态,它会克服由负载造成的电机轴的意外转动,从而能起到一定保护作用。
通过调用_stopEmergency()命令,可以使轴进入StopEmergency状态。该状态下,插补器中激活的命令被中止。
该状态可以通过调用_disableAxis()、_disableQFAxis()或_resetAxis()命令来取消。其中_disableAxis()用于电气轴去使能,_disableQFAxis()用于液压轴去使能。