Topic: DMD0521 CTAXDYNV - CTRIO2 Axis Run Dynamic Velocity Mode |
|
This instruction can be used with the CTRIO2 module.
The CTRIO2 Axis Run Dynamic Velocity Mode (CTAXDYNV) instruction is used to put the Pulse Output Device into the Dynamic Velocity Mode, allowing successive velocities to be easily commanded. Once in Dynamic Velocity Mode, velocities are commanded by simply changing the Frequency value. The velocity 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.
Frequency - specifies the frequency for the Dynamic Velocity Profile. The minimum output frequency is 20Hz, so any Frequency value between 0 and 20 will result in a 20Hz output signal. This can be any positive or negative constant value in the range of 0 to 250000, 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: On Success is not indicated upon the every Frequency value change. While the Enable / Reset input is ON, the Pulse Output Device is considered in the "Dynamic Velocity Mode". When the Enable / Reset input goes OFF the On Success indication is made.
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 Pulse Output Device is placed in the "Dynamic Velocity Mode" and the Output will be enabled (.OutputEnabled = ON).
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). Click
here for more information on the Axis Configuration instruction. No
additional pulses will be emitted as long as this input remains ON.
|
|
Status Display:
The status display of the instruction shows Values: .OutputVelocity, .OutputPosition, and Frequency, and Highlight: .OutputEnabled, .OutputActive, .OutputSuspended, .OutputStalled, and .AtVelocity 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 the CTRIO2 structure that are programmatically used with the CTRIO2 Axis Run Dynamic Velocity Mode (CTAXDYNV) 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 w/ Limits
|
|
Example 1 of 2:Description of a Typical CTRIO2 Axis Run Dynamic Velocity Mode (CTAXDYNV) Stage Diagram:This is a stage diagram of a simple sequence control that would run a motor at any number of different velocities.
Initially the Config stage waits for Configure to come ON. When it does, the CTRIO2 axis is defined and the process transitions to the Velocity stage.
The Velocity stage puts the CTRIO2 pulse output in the Dynamic Velocity mode. Once this is complete (OutEn = ON) then the RunVel stage is enabled (not transitioned to). The reason for this is because the Velocity stage must be left enabled to keep the CTRIO2 pulse output in the Dynamic Velocity mode through the whole process.
In the RunVel stage exists ladder logic that would write any number of velocity values as needed for the process. When the last velocity has finished, then Done comes on and it transitions to the Stop stage where the Program code block is exited.
Description of a Typical CTRIO2 Axis Run Dynamic Velocity Mode (CTAXDYNV) Stage Ladder:This is the ladder equivalent of the above stage diagram that uses the CTAXDYNV instruction which will run a stepper motor attached to the CTRIO2's pulse output at any number of velocities using a movement profile that is defined by the CTAXCFG instruction. Click here for more information on the CTAXCFG instruction.
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 and waits for the input Configure bit to come ON. When it does the CTRIO2 axis is configured using the CTAXCFG instruction. If there is an error then transition is made to the ErrorStage stage where ladder logic should exist (not shown here) that would properly handle the error (e.g. to process the $CTRIO_000.ErrorCode value). If the configuration was successful, then transition is made to the Velocity stage.
Velocity stage is the main CTAXDYNV instruction stage. This stage must remain enabled during the entire velocity process. When VelocityEnable bit comes ON the following happens:
The VelocityEnable must be reset OFF when all velocities are completed.
Note: Turning VelocityEnable bit OFF will cause the CTRIO2 output to abruptly stop generating pulses. Thus it is usually a good idea to either enable Suspend bit so that the CTRIO2 output decelerates to zero velocity or write a zero (0) to the CTAXDYNV's Frequency parameter (Speed) before turning VelocityEnable bit OFF.
When VelocityEnable comes ON, if there is an error then transition is made to the ErrorStage stage where ladder logic should exist (not shown here) that would properly handle the error (e.g. to process the $CTRIO_000.ErrorCode value). If there is no error then neither the On Success nor On Error stages will not be transitioned to until the CTAXDYNV instruction is disabled.
Once the CTAXDYNP has properly enabled the CTRIO2's output then the $CTRIO_000_Out0.OutputEnabled bit will be set ON and the RunVel stage is enabled (not transitioned to).
In the RunVel stage should exist the ladder logic (not shown here) that would write various velocity values to the Speed variable as the process requires. When the process is deemed as complete RunVel stage should turn VelocityEnable bit OFF observing the cautions noted in the above Note. Turning VelocityEnable bit OFF causes the following to happen:
The Stop stage merely exits this Program code block. Example 2 of 2:
|
|