State diagram

State diagram 1:

Note

Description

Note 1

State transition during XAR startup and axis initialization. This requires a link between AXIS_REF and the TcCOM axis object.

Note 2

Drive: WcState = 0, TxPdoState = 0 (if available), Position actual value invalid = 0 (if available), status word indicates readiness for controller enable (e.g., ReadyToSwitchOn for DS402).

Note 3

The drive's state changes, preventing the controller from being enabled (e.g., SwitchOnDisabled if there is no supply voltage to the power section).

Note 4

MC_Power.Enable = TRUE

Note 5

MC_Power.Status = TRUE and the drive controller is active (e.g., Operation Enabled for the DS402).

Note 6

From any state in which an error occurs. This also applies, for example, to WcState and Position actual value invalid if they initially reported a valid state after startup and then lost that state.

Note 7

MC_Reset (forward the call immediately if MC_Power.Enable = TRUE)

Note 8

From any state, provided that MC_Power.Enable = FALSE and the axis has no error.

Note 9

The drive controller is no longer active, and the status word indicates that the controller is ready to be enabled (e.g., ReadyToSwitchOn for the DS402).

Note 10

MC_Stop.Done = TRUE und MC_Stop.Execute = FALSE

Motion commands are always executed sequentially. All commands operate within the state diagram described. In the PLC, the states are contained in the enumeration type EAxisState. The numerical values stored there are listed in parentheses next to the states in the diagram (e.g., “Standstill (2)”).

The axis is always in one of the defined states. Each motion command that causes a transition changes the state of the axis and thus the motion profile. The state diagram is an abstraction layer that reflects the real axis state, comparable to the process image for I/O points. The axis state changes immediately when the command is issued.

The state diagram refers to single axes. Multi-axis blocks such as MC_CamIn or MC_GearIn influence the states of several axes, which can always be traced back to individual axis states of the axes involved in the process. For example, a cam plate master can be in the Continuous Motion state, while the associated slave is in the Synchronized Motion state. Coupling a slave has no effect on the state of the master.

The Disabled state is the default state of an axis. In this state, the axis cannot be moved by any function block, but it is ready for operation. When the MC_Power function block is called with Enable = TRUE, the axis changes to the Standstill state or, in the event of an error, to the ErrorStop state. If the MC_Power function block is called with Enable = FALSE, the state changes to Disabled.

The purpose of the ErrorStop state is to stop the axis and then reject any further commands until a reset has been triggered. The Error state transition only refers to actual axis errors and not to function block execution errors. Axis errors can also be indicated at the error output of a function block.

The Stopping state indicates that the axis is in a stop ramp. The state changes to the Standstill state once the axis has come to a complete stop.

Motion commands such as MC_MoveAbsolute that exit the Synchronized Motion state can be used without additional parameterization.

Function blocks that are not listed in the state diagram do not affect the state of the axis (e.g. MC_ReadStatus, MC_ReadParameter, MC_WriteParameter, ...).

Meaning of the states

Name

Description

Invalid

  • Invalid axis state
  • The axis is not ready for operation.
  • A possible cause could be that AXIS_REF is not linked to an MC3 axis.

Disabled

  • Basic state of an axis.
  • The axis is not released.
  • There is no axis error.

Standstill

  • The axis is enabled.
  • No command has been issued to the axis.

Homing

  • The axis is enabled.
  • The axis is homed (e.g., MC_Home).

ErrorStop

  • An axis error has occurred.
  • A reset is required to exit this state.

Stopping

  • The axis is enabled.
  • The axis is on a stop ramp (MC_Stop).
  • MC_Stop.Execute is set and blocks new motion commands.

DiscreteMotion

  • The axis is enabled.
  • The axis performs a point-to-point movement (e.g., MC_MoveAbsolute, MC_MoveRelative, MC_MoveModulo, MC_Halt).

ContinuousMotion

  • The axis is enabled.
  • The axis performs a continuous motion (e.g., MC_MoveVelocity).

SynchronizedMotion

  • The axis is enabled.
  • The axis is linked to another axis (e.g., MC_CamIn, MC_GearIn, MC_GearInPos).

ResetPending

  • Internal state

Enabling

  • Extended axis status for representation of hardware conditions.
  • The command to enable the drive hardware's output stage has already been sent or is currently being sent, and the MC3 axis is waiting for the drive hardware to reach the “operational” state

Disabling

  • Extended axis status for representation of hardware conditions.
  • The command to deactivate the drive hardware's output stage has already been sent or is currently being sent, and the MC3 axis is waiting for the drive hardware to enter the “not operational” state.

NotReady

  • Extended axis status for representation of hardware conditions.
  • The axis is not ready for operation.
  • There is no active communication with the hardware (e.g., WcState), or the drive's state machine reports “not ready”.

Version information

  • TwinCAT Standard >= v3.1.4026.23.1
  • TF5500 MC3 Base >= v4.0.6