MC_MoveSuperimp
Inputs
Input |
Data Type |
Range |
Unit |
Default |
Description |
---|---|---|---|---|---|
Execute |
BOOL |
0, 1 |
N/A |
No default |
On the rising edge A rising edge is the transition of a digital signal from low to high. It is also called positive edge, request to queue the move. |
Axis |
AXIS_REF |
1, 256 |
N/A |
No default |
Name of a declared instance of the AXIS_REF library function.
|
Distance |
LREAL |
No range |
User units |
No default |
Distance. |
VelocityDiff |
LREAL |
No range |
User unit/sec |
No default |
Velocity rate. |
Acceleration |
LREAL |
No range |
User unit/sec2 |
No default |
Trapezoidal: Acceleration rate. S-curve: Maximum acceleration. See S-curve and Trapezoidal Acceleration / Deceleration for more information. |
Deceleration |
LREAL |
No range |
User unit/sec2 |
No default |
Trapezoidal: Deceleration rate. S-curve: Unused. See S-curve and Trapezoidal Acceleration / Deceleration for more information. |
LREAL |
No range |
User unit/sec3 |
No default |
Trapezoidal: 0 (zero). S-curve: Constant jerk In physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time. See S-curve and Trapezoidal Acceleration / Deceleration for more information. |
|
BufferMode |
SINT |
0, 5 |
N/A |
No default |
|
Outputs
Output |
Data Type |
Range |
Unit |
Description |
---|---|---|---|---|
Done |
BOOL |
No range |
N/A |
Indicates the move completed successfully. |
Busy |
BOOL |
No range |
N/A |
High from the moment the Execute input goes high until the time the move is ended. |
Active |
BOOL |
No range |
N/A |
Indicates this move is the Active move. |
CommandAborted |
BOOL |
No range |
N/A |
Indicates the move was aborted. |
Error |
BOOL |
No range |
N/A |
Indicates either:
|
ErrorID |
INT |
No range |
N/A |
Indicates the error if Error output is TRUE. See PLCopen Function Block ErrorIDs for more information. |
Remarks
-
- This function block starts a motion-related action and stores data for calculations and error checking.
See Call Function Blocks Multiple Times in the Same Cycle if using a dual-core controller.
- See Function Blocks - General Rules for more information about how inputs and outputs work.
- See Main for more information about how this function is used in the Hole punch project.
Usage
This function block:
- Provides a way to smoothly apply a shift in axis position while it is executing a move.
- Is commonly used with MC_TouchProbe for performing position corrections on the slave axis in a Mark-to-Machine registration application.
-
- MC_MoveSuperimp performs a similar function to the SlaveOffset input in the MC_CamIn function block.
It has the additional features of setting the velocity, acceleration, deceleration, and jerk motion parameters.
- A superimposed move is executed similar to a MC_MoveRelative move using the specified Distance, Velocity, Acceleration, Deceleration, and Jerk values.
- The interpolated command generated by a superimposed move is added to the command of the currently executing move.
- Subsequent calls to MC_MoveSuperimp can abort or blend to an executing MC_MoveSuperimp move.
Figure 6-237: MC_MoveSuperimp
Time Diagram
Figure 6-238: Time Diagrams: First and Second FBs
Figure 6-239: Time Diagram
-
-
- The CommandAborted is not visible here because the new command works on the same instance.
See Pipe Network - General Rules for more information. - The end position is between 7000 and 8000, depending on the timing of the aborting of the second command set for the MC_MoveSuperimposed.
- The CommandAborted is not visible here because the new command works on the same instance.
FBD Language Example
Not available.
FFLD Language Example
IL Language Example
Not available.
ST Language Example
(* MC_MoveSuperimp ST example *)
Inst_MC_MoveSuperimp( MovSupReq, Axis1, 123.555, 10.0, 100.0, 100.0, 0, 0 );
MovSupDone := Inst_MC_MoveSuperimp.Done; //store Done output into user defined variable
See Also