MC_MoveContVel
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.
-
-
This function or function block returns cached data. See Programming a Dual Core Controller for more information.
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.
-
- This function block starts a motion-related action and therefore stores data for calculations and error checking. Please see Calling Function Blocks Multiple Times in the Same Cycle if you are using a dual-core controller.
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 | — | |
Jerk In 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 jerk In 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 edge A 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 ST "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