Function BlockMC_MoveContVelPLCopen motion icon

Description

This function block performs a single-axis non-ending move at a specified velocity with the option of continually updating the ongoing motion with the current input parameters. After MC_MoveContVel execution begins (Execute input - low to high), follow up changes to input parameters immediately affect the ongoing motion, without requiring an additional low to high transition on the Execute input.

This type of move can be terminated with the MC_Halt function block or by aborting it with another move.

Figure 7-136: MC_MoveContVel

MC_MoveVelocity

Time Diagram

The example below shows the behavior of the combination of a MC_Stop function block with a MC_MoveContVel function block.

  • A rotating axis is ramped down with FB2 MC_Stop
  • The axis rejects motion commands as long as MC_Stop parameter "Execute" = TRUE

FB1 MC_MoveContVel reports an error indicating the busy MC_Stop command.

MC_MoveVelocity: Timing Diagram

Arguments

Input

Execute Description Requests to queue the move.
  Data type BOOL
  Range False, True
  Unit n/a
  Default
Axis Description Identifier of a declared instance of the the AXIS_REF library function (for more details, see "About Axis Name and Number".
  Data type AXIS_REF
  Range [1,256]
  Unit n/a
  Default
Velocity Description The target axis velocity. Negative values of velocity will move the axis in the negative direction. Positive values will move the axis in the positive direction. A value of 0 is valid and indicates a deceleration to zero velocity.
  Data type LREAL
  Range All finite values
  Unit User unit/sec
  Default
Acceleration Description Trapezoidal: Acceleration rate
S-curve: Maximum acceleration
  Data type LREAL
  Range Positive values
  Unit User unit/sec2
  Default
Deceleration Description Trapezoidal: Deceleration rate
S-curve: Unused
  Data type LREAL
  Range Positive values
  Unit User unit/sec2
  Default
JerkClosedIn physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time Description Trapezoidal: 0
S-curve: Constant jerkClosedIn physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time
  Data type LREAL
  Range
  Unit User unit/sec3
  Default
ContinuousUpdate Description Determines if the inputs of the function block are re-evaluated every cycle or if they are only evaluated on the rising edgeClosedA rising edge is the transition of a digital signal from low to high. It is also called positive edge of Execute.
If TRUE when the function block is triggered (on the rising edge of Execute), the function block uses the current updated values of the input variables and apply it to the ongoing movement of the axis. This will continue as long as ContinuousUpdatestays TRUE. The impact of ContinuousUpdate ends as soon as the function block is no longer busy (Busy output is FALSE) or ContinuousUpdate is set to FALSE.
  Data type BOOL
  Range False, True
  Unit n/a
  Default
BufferMode Description The specified buffer mode. For more information see "Buffer Modes".
  Data type SINT
  Range MC_BUFFER_MODE_ABORTING
MC_BUFFER_MODE_BUFFERED
MC_BUFFER_MODE_BLENDING_PREVIOUS
MC_BUFFER_MODE_BLENDING_NEXT
MC_BUFFER_MODE_BLENDING_LOW
MC_BUFFER_MODE_BLENDING_HIGH
  Unit n/a
  Default

Output

InVelocity Description Indicates the command velocity has reached the programmed velocity
  Data type BOOL
Busy Description High from the moment the Execute input is one-shot to the time the move is ended
  Data type BOOL
Active Description Indicates this move is the active move
  Data type BOOL
CommandAborted Description Indicates the move was aborted
  Data type BOOL
Error Description Indicates an invalid input was specified or the move was terminated due to an error
  Data type BOOL
ErrorID Description Indicates the error if Error output is set to TRUE. See table in PLCopen Function Block ErrorID Output
  Data type INT

Example

Structured Text

(* MC_MoveContVel STClosed"Structured text"
A high-level language that is block structured and syntactically resembles Pascal example *)
Inst_MC_MoveContVel( MovVelReq , Axis1, Vel, 100.0, 100.0, 0, True, MC_BUFFER_MODE_ABORTING );

Freeform Ladder Diagram

Go back to the top of the page [Top]