ID 44018

FB error: order not allowed, because axis is in state DISCRETE_MOTION.

Description

An order should be send via an FB to the motion controller. The commanded FB also sets the “Error” output to TRUE in the same PLC cycle and displays this error message at the “ErrorID” output because a motion command, triggered by an instance of an FB MC_MoveAbsolute, MC_MoveAdditive, MC_MoveRelative or MC_MoveSuperImposed is still active for this axis. This order had not yet been acknowledged with “Done” = TRUE.

Response

Class

-

The order is dismissed by the FB and not issued to the motion controller.

Solution

Class

-

General there exist three possibilities to handle the situation:

  1. wait until the job is finished, then set the axis to the state Discrete Motion .
  2. a new job is sent for the axis concerned which cancels the job that led to the state Discrete Motion . The job must therefore be commanded in the state Discrete Motion but may not cause the state Discrete Motion of the axis in active state. These are, for example, requests to instances of the FB types MC_Halt and MC_Stop. If the axis is to be converted to another state, please refer to the PLCopen axis state diagram (see [MCP-P1//PLCopen axis state model]).
  3. The commanded FB is an instance of MC_Reset. FB of this type can only send an order successfully if the axis is in state Errorstop .

 

Afterwards, it’s possible to reassign the FB that notified the error code.

Error type

-