|
DMD0530 CTRUNVEL - CTRIO Run Velocity Mode |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The CTRIO Run Velocity Mode (CTRUNVEL) instruction is used to run a Velocity Profile for the CTRIO module.
The red triangle in the upper left corner indicates the CTRIO Run Velocity Mode (CTRUNVEL) is a Fully Asynchronous instruction.
Note: The CTRUNVEL instruction can be used with both the CTRIO and CTRIO2 module.
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inputs:The first input (E/R) in the Enable / Reset input. When this input logic is ON the specified Velocity Profile will be configured, and the Output will be enabled.
The second input (DIR) is the Direction. If the Direction input logic is OFF when the E/R input comes ON, the CTRIO will generate pulses for a move in the clockwise (positive) direction; If the Direction input logic is ON when the E/R input comes ON, the CTRIO will generate pulse for a move in the counter-clockwise (negative) direction.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parameters:Note: Use the F9 key (Element Browser) at any time to see a complete list of the memory locations that are valid in the current field of the instruction.
Note: no devices available - indicates that there are no CTRIO Devices that have been pre-configured to perform this instruction.
Pulse Output Structure -
Terminate Pulses - designates the event that will cause the CTRIO to stop sending pulses. The terminating event can be specified in one of the following four ways:
never - pulses will be generated as long as the Enable / Reset input logic is ON
after this Pulse Count -
when Limit Level is detected - generate pulses at the described frequency until the following pre-defined Limit in the CTRIO is reached:
when Position is reached - generate pulses at the described frequency until the count value in the selected CTRIO input reaches a position value.
Note:
choose the 'greater than' selection if the value of the CTRIO Input is
increasing toward the Position value; choose the 'less than' selection
if the value of the CTRIO Input is decreasing toward the Position value.
Frequency - specifies the frequency of the pulses generated. This can be any constant value from 0 to 25,000 for the CTRIO, or from 0 to 250,000 for the CTRIO2, or any readable numeric location.
Duty Cycle - specifies the duty cycle of the pulses. A value of 0 is interpreted as 50%. This can be any constant value from 1 to 99 (corresponding directly to the duty cycle percentage), or any readable numeric location.
On Success - designates which of the following actions to take if the CTRIO Run Velocity Mode operation is successful, that is, the terminating event has occurred or the Enable / Reset input has turned OFF.
On Error - designates which of the following two actions to take if the CTRIO Run Velocity Mode operation is unsuccessful. For example if the specified Limit Input is not configured as a Limit in the CTRIO module.
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:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Status Display:The Status display of the CTRIO Run Position Mode (CTRUNPOS) instruction shows:
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CTRIO Structure Field Care-Abouts:The following is a list of the"dot" fields of the CTRIO structure that are programmatically used with the CTRIO Run Velocity Mode (CTRUNVEL) instruction. To see a complete listing of all CTRIO structures and members, goto the Project Browser --> Configuration --> Memory --> I/O --> Specialty.
COLOR KEY Blue: CTRIO Input Maroon: CTRIO Output Black: CTRIO Module Silver: Not used for this instruction
Note: The red "x" is the digit 0, 1, 2, or 3.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
See Also:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example 1 of 2: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Description of a Typical
CTRIO Run Velocity Mode (CTRUNVEL) Stage Diagram:
To the right is a stage diagram of a simple sequence control that would home a motor to position and then allow any number of velocities using the CTRUNVEL instruction, a CTRIO and no predefined Pulse Profiles.
Initially the Home stage homes the motor to a proximity switch connected to the CTRIO input. When this is complete it transitions to the RstCnt (ResetCount) stage.
The RstCnt stage resets the CTRIO encoder input count to zero (0) since the starting position of the motor will be ascertained via encoder and then transitions to the StartPos (StartPosition) stage.
The StartPos stage positions the motor depending upon a variable and monitoring of the encoder input count of the CTRIO. When this position is reached it transitions to the GenPulse (GeneratePulses) stage where all subsequent velocities are executed. When all velocities have been completed, the transition is made to the Stop stage.
The Stop stage simply exits the Program code block |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Description of a Typical CTRIO Run Velocity Mode (CTRUNVEL) Stage Ladder:
This example presupposes the existence of the following System Configuration for the CTRIO (PLC --> System Configuration --> Module Configuration(s) --> CTRIO_000 -->):
Home is the initial state which waits for HomeStart bit to come ON. The direction (DIR input leg) is assumed to be in the reverse direction thus it is always ON ($On). The Suspend bit can be used to temporarily suspend the home-search. When the HomeStart bit comes ON, if there is an error the CTRUNVEL instruction will immediately transition to the ErrorStage stage, where ladder logic should exist (not shown here) to handle the error (e.g. read $CTRIO_000.ErrorCode). If no error occurs the CTRUNVEL enables the output and begins generating pulses at the Frequency (1000) value looking for a high level on Ch1D input. When the CTRIO sees the signal on Input D, pulses are stopped and transition is made to the ResetCount stage.
Since the starting position of the motor will be ascertained via encoder, the ResetCount stage resets the input count by turning the $CTRIO_000_C1F1.Reset bit ON. When the CTRIO acknowledges this reset has occurred, $CTRIO_000_C1F1.AtResetValue bit will come ON. When this feedback bit comes ON it will turn the $CTRIO_000_C1F1.Reset bit OFF (so channel 1 can count) and transitions to the Position stage.
Position stage waits for Position bit to come ON. The direction (DIR input leg) is assumed to be in the forward direction thus it is always OFF ($Off). The Suspend bit can be used to temporarily suspend the positioning. Before the Position bit is turned ON, the TargetPosition must be set to the desired position. When the Position bit comes ON, if there is an error the CTRUNVEL instruction will immediately transition to the ErrorStage stage. If no error occurs the CTRUNVEL generates pulses at the Frequency value (500) until the Stop When parameter conditions are met. When the position is reached the CTRUNVEL instruction transitions to the PulseGen stage.
The PulseGen stage waits for the PulseStart bit to come ON. The direction (DIR input leg) is assumed to be in the forward direction thus it is always OFF ($Off). The Suspend bit can be used to temporarily suspend the pulse generation. Before the PulseStart bit is turned ON, the TargetFreq must be set to the desired frequency. When the PulseStart bit comes ON, if there is an error the CTRUNVEL instruction will immediately transition to the ErrorStage stage. If no error occurs the CTRUNVEL generates pulses at the Frequency value (500) "forever" (because the Terminate Pulses parameter is set to "never"). While the CTRUNVEL instruction is running any number of different frequency values can be written to the Frequency parameter, TargetFreq, and the CTRIO output will immediately (i.e. no acceleration/deceleration) generate pulses at that frequency. When all desired frequencies have been completed the PulseStart bit must be turned OFF. This will cause the CTRIO output to stop generating pulses immediately and transition to the Finish stage.
The Finish stage simply exits this Program code block. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example 2 of 2: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||