Topic: DMD0524 CTAXTRAP - CTRIO2 Axis Run Trapezoid |
|
This instruction can only be used with the CTRIO2 module.
The CTRIO2 Axis Run Trapezoid (CTAXTRAP) instruction is used to define and initiate a single move. The position move is specified in terms of absolute or relative position values. The moves will execute using the parameters defined by a previously executed Axis Configuration (CTAXCFG) instruction.
|
|
Parameters:Note: Use the F9 key or click the 'three dot box' at the right edge of the parameter field to open the Default Element Selection Tool (the Element Picker or the Element Browser) or use the Down-Arrow key (Auto-Complete) on any parameter field to see a complete list of the memory locations that are valid for that parameter of the instruction.
Pulse Output Device - selects which preconfigured CTRIO Pulse Output device to use. Before this instruction can select a Pulse Output device, a CTRIO Device must be configured with at least one of its output channels setup for Pulse / Direction or CW / CCW pulse output mode.
Pulse Output Structure - this field displays the name of the Pulse Output Structure that will be used by this instruction. This structure was created when the CTRIO module was configured during the Module Configuration phase.
Target Type - this option specifies how to interpret the target position value:
Target Position - specifies the fixed location (a point) if the Target Type is Absolute, or the number of steps (a distance) to move if the Target Type is Relative. This can be any positive or negative constant value, or any readable numeric location.
The On Success and On Error parameters specify what action to perform when this instruction completes. You do not have to use the same type of selection for both On Success and On Error.
If the Set Bit selection is used for either On Success or On Error, the specified BIT location will be SET OFF when the instruction is first enabled and will remain OFF until the instruction completes. Once complete, the appropriate Success or Error bit location ON. The specified Bit location is enabled with a SET (Latch) operation meaning that it will remain ON even if the input logic for the instruction goes OFF.
If the JMP to Stage selection is used for either On Success or On Error the target Stage must be in the same Program code-block as this instruction, you cannot specify a target Stage that exists in a different Program code-block. When the operation finishes, the target Stage will be enabled the same way as a standalone Jump to Stage (JMP) instruction would do it. The JMP to Stage option will only be available if this instruction is placed in a Program code-block.
On Success selects which of the following actions to perform if the operation is successful:
On Error selects which of
the following actions to perform if the operation is unsuccessful:
If either the On Success or On Error selections are set to JMP to Stage, Automatically create the SG box for any NEW stage number will be enabled which will automatically create any target stage that does not already exist.
Note: any time the On Error condition occurs, the CTRIO generates an Error Code that can be read in the <Module Name>.ErrorCode (Module Name is the name assigned to the CTRIO in the Module Configuration). The List of Error Code values (in decimal) follows:
|
|
Instruction Inputs:
The first input (E/R) in the Enable / Reset input. When this input logic is ON the specified Pulse Output will be enabled (.OutputEnabled = ON) and the Pulse Output Device will begin to move in the direction specified by the Target Type and Target Position.
The second input (SUS) is the Suspend input. When this input logic transitions ON, the
CTRIO2 will ramp down to zero using the Deceleration
Rate specified in the Axis Configuration (CTAXCFG) instruction.
No additional pulses will be emitted as long as this input remains ON.
|
|
Status Display:
The status display of the instruction shows Values: .OutputPosition, and Target Position, and Highlights: .OutputEnabled, .OutputActive, .OutputSuspended, and .OutputStalled bits.
The red triangle in the upper left corner of the status display indicates this is a Fully Asynchronous instruction.
|
|
CTRIO2 Structure Field Care-Abouts:The following is a list of the"dot" fields of each Pulse Output Structure that are programmatically used with the CTRIO2 Axis Run Trapezoid (CTAXTRAP) instruction. To see a complete listing of all CTRIO structures and members, go to the Project Browser --> Configuration --> Memory --> I/O --> Specialty.
COLOR KEY Blue: CTRIO2 Input Maroon: CTRIO2 Output Black: CTRIO2 Module Silver: Not used for this instruction
Note: The red "x" is the digit 0, 1, 2, or 3.
NOTES: (1)This structure member only available for CTRIO2 (not CTRIO). For CTRIO this remains zero.
|
|
See Also:
CTRIO2 Axis Run Dynamic Position Mode
CTRIO2 Axis Run Dynamic Velocity Mode
CTRIO2 Axis Run Trapezoid
CTRIO2 Axis Run Trapezoid w/ Limits
|
|
Example 1 of 2:Description of a Typical CTRIO2 Axis Run Trapezoid (CTAXTRAP) Stage Diagram:This is a stage diagram of a simple sequence control that would move a motor to any number of relative positions and stop.
Initially the Config stage waits for Configured to come ON. When it does the CTRIO2 axis has been configured and the process transitions to the TrapRun stage.
The TrapRun stage runs a trapezoid motion to the relative position specified. When that position is reached it transitions to the InPos stage.
If that was the last relative position then the InPos stage transitions to the Stop stage when the Done bit comes ON. If that was not the last relative position then the InPos stage transitions back to the TrapRun stage when a new relative position has been written and the NextMove bit turns ON.
The Stop stage merely exits this Program code block.
Description of a Typical CTRIO2 Axis Run Trapezoid (CTAXTRAP) Stage Ladder:This is the ladder equivalent of the above stage diagram that uses the CTAXTRAP instruction which will move a stepper motor attached to the CTRIO2's pulse output to any number of relative positions using an axis configuration (CTAXCFG) profile, and then stop.
This example presupposes the existence of the following System Configuration for the CTRIO2 (PLC --> System Configuration --> Module Configuration(s) --> CTRIO_000 -->):
Config is the initial stage which waits for the input Configure bit to come ON. When it does if there is an error then it immediately transitions to the ErrorStage. If there is no error then the CTAXCFG instruction configures an axis. When it is finished it jumps to the TrapRun stage.
TrapRun stage waits for RunTrap bit to come ON. When it does this enables the CTAXTRAP instruction which causes the following to happen:
If during the execution of this move, the Suspend bit comes ON then the CTRIO2 output will decelerate to zero. When Suspend bit goes back OFF it will accelerate back towards the CTAXCFG's Maximum Frequency.
When the InPos stage is enabled it will reset the RunTrap bit OFF. If that was the last relative move then the Done bit would be turned ON and transition would be made to the Stop stage. If this was not the last relative move then another value should be loaded into the Position variable and the NextMove bit should be toggled ON. When the NextMove bit comes ON it will clear itself OFF and set the RunTrap bit back ON and transition back to the TrapRun stage.
The Stop stage merely exits this Program code block.
The ErrorStage would contain Example 2 of 2:
|
|