2.1状态图

·4 min read

**2. **模型

以下功能块(FB)库旨在通过语言元素控制轴与IEC 61131-3标准中定义的一致。 工作队决定不切实际将一个轴的所有方面封装到一个功能块中。保留的解决方案是提供一组面向轴的面向功能的功能块,例如,抽象数据类型“ Axis”,它提供了灵活的易用性和可重复使用性。 基于IEC 61131-3的实施(例如通过功能块和SFC)将集中于功能块的外观(外观/感觉/“代理”)。本规范未定义内部的操作功能块。这导致本章中描述的某些后果。

2.1 状态图

下图规范性地定义了多个运动控制功能时轴的行为。块被“同时”激活。运动曲线的这种组合对于建立更复杂的结构非常有用。符合条件的配置文件或处理程序中的异常。(在实际的实现中,er电平)。 基本规则是,即使PLC具有真正的并行功能,也始终要顺序执行运动命令处理。这些命令作用于轴的状态图。轴始终处于定义的状态之一(请参见下图)。 任何引起过渡的运动命令更改轴的状态,并因此修改当前运动的计算方式。状态图是轴的REAL状态的抽象层,与I / O点的图像相当在循环(PLC)程序中。发出相应的运动命令时,状态变化会立即反映出来。(注:响应时间立即”是系统相关的,耦合到轴的状态或软件中的抽象层)该图集中于单个轴。 多轴功能块MC_CamIn,MC_GearIn和MC_Phasing,从状态图的角度看,可以将多个单轴视为特定状态。例如,CAM-master可以处于“ ContinuousMotion”状态。相应的从站处于“ SynchronizedMotion”状态。将从轴连接到主轴对主轴没有影响。 状态图中的箭头表示状态之间可能的状态转换。 由于发布状态转换命令用全箭头显示。虚线箭头用于在轴命令下发生的状态转换已终止或系统相关的转换(如Error相关)。 将轴传递到轴的运动命令相应的运动状态在状态上方列出。这些运动命令也可以在轴为已经处于相应的运动状态。 关于状态的注释:

| | | | ---------- | ------------------------------------------------------------ | | Disabled | 状态“禁用”描述了轴的初始状态。在这种状态下,轴的运动不受FB的影响。电源关闭,没有Error在轴上。如果在处于“禁用”状态时以"Enable" = TRUE调用MC_Power FB,则状态更改为'停顿'。进入状态“静止”之前,轴反馈是可操作的。在除“ ErrorStop”以外的任何状态下,以“ Enable” = FALSE调用MC_Power会将轴传输到直接或通过任何其他状态“已禁用”。轴上所有正在进行的运动命令都是中止('CommandAborted')。 | | ErrorStop | 'ErrorStop'作为最高优先级有效,并且在发生Error时适用。轴可以具有启用或禁用电源,可以通过MC_Power进行更改。但是,只要Error得以解决,状态仍为“ ErrorStop”。“ ErrorStop”状态的意图是,如果可能,轴将停止。没有进一步接受运动命令,直到从“ ErrorStop”状态完成复位为止。过渡到“ ErrorStop”是指来自轴和轴控件的Error,而不是来自功能的Error阻止实例。这些轴Error也可能反映在功能块'FB的输出中实例Error”。 | | Standstill | 停止电源已打开,轴上没有Error,并且轴上没有活动的运动命令。 |

关于命令的注释:

| | | | --------------------- | ------------------------------------------------------------ | | MC_Stop | 在状态“ Standstill”中调用FB MC_Stop会将状态更改为“ Stopping”并返回当“执行” = FALSE时为“静止”。只要“停止”状态一直保持输入“执行”为true。停止斜坡完成后,将设置“完成”输出。 | | MC_MoveSuperimposed | 在状态“静止”下发出的MC_MoveSuperimposed使轴进入状态“离散-运动'。在任何其他状态下发出,轴的状态均不受影响。 | | MC_GearOut,MC_CamOut | 将从轴的状态从“ SynchronizedMotion”更改为“ ContinuousMotion”。在任何其他状态下发出这些FB之一都会产生Error。 |

状态图中未列出的功能块不会影响状态图的状态,这意味着无论何时调用它们,状态都不会改变。他们是: •MC_ReadStatus •MC_ReadAxisError •MC_ReadParameter •MC_ReadBoolParameter •MC_WriteParameter •MC_WriteBoolParameter •MC_ReadDigitalInput •MC_ReadDigitalOutput •MC_WriteDigitalOutput •MC_ReadActualPosition •MC_ReadActualVelocity •MC_ReadActualTorque •MC_ReadMotionState •MC_SetPosition •MC_SetOverride •MC_AbortTrigger •MC_TouchProbe •MC_DigitalCamSwitch •MC_CamTableSelect •MC_ReadAxisInfo •MC_PhasingRelative •MC_PhasingAbsolute •MC_HaltSuperimposed

注1:从任何状态。轴发生Error。 注2:从任何状态。MC_Power.Enable = FALSE,并且轴中没有Error。 注3:MC_Reset AND MC_Power.Status = FALSE 注4:MC_Reset AND MC_Power.Status = TRUE和MC_Power.Enable = TRUE 注5:MC_Power.Enable = TRUE和MC_Power.Status = TRUE 注6:MC_Stop.Done = TRUE和MC_Stop.Execute = FALSE 图2:FB状态图