
GoTo RunIndex2: 'Go to RunIndex2 label EndIf
RunIndex1:
Index.1.Initiate
GoTo EndLoop:
RunIndex2:
Index.2.Initiate
EndLoop:
Wait For Index.AnyCommandComplete
Loop
See the Label: instruction for additional examples.
8.4.2 Motion Instructions
8.4.2.1 Dwell For Time
This motion instruction is used to pause program execution for a very precise amount of time.
It operates as a motion instruction - similar to an index, home or jog. Like all other motion instructions it will not start until the preceding motion instruction has completed. A "Wait for Index.AnyCommandComplete" is not required. Likewise, any subsequent motion commands will wait and start after the dwell has completed. The total time required to complete a sequence of indexes and "Dwell For Time" instructions is extremely repeatable.
The "Dwell For Time" instruction is in units of seconds with a resolution of milliseconds (0.000 seconds).
If you want to pause the program while an index is executing you should use a "Wait for Time" instruction described below.
A comment is automatically inserted after the "Dwell For Time" instruction that notes that the dwell time is in units of seconds. The comment starts with the ' character.
Example:
Do While (TRUE) Index.0.Initiate'Incremetal,Dist=25. 000in,Vel=25in/s
Dwell For Time 1.000 'Seconds Loop
Example:
Do While (TRUE)
Index.0.Initiate
Dwell For Time 1.000 'Seconds
Index.1.Initiate
Dwell For Time 0.500 'Seconds
Loop
8.4.2.2 Dwell For MasterDist
This motion instruction is used to pause program execution for a precise change in distance on the master encoder signal. This is typically used in synchronized motion
applications. This dwell does not begin until all other motion has completed. When the dwell begins, program flow will wait until the specified master distance has passed. The units for the dwell value are specified in the Master Units View.
Example:
Do While (TRUE)
Index.0.Initiate
Dwell For MasterDist 12.00 'MstrInch
Loop
8.4.2.3 Index.Initiate
This program instruction is used to initiate a single index. The index is preset to include an acceleration up to speed, a run at speed and a deceleration to a stop.
A comment is automatically inserted after the index instruction which shows key data about the particular index. The comment starts with the apostrophe 'character.
A "Wait For Index.AnyCommandComplete" instruction is also automatically inserted after each index. This insures that the index has completed before the program continues on to the next line of code. It is also possible make the program wait until the index is complete and the following error is less than a specified amount. This is accomplished by changing the "Wait For Index.AnyCommandComplete" to "Wait For InPosn". The In Position Window is configured in the Position view.
Example:
Index.0.Initiate
Wait For Index.AnyCommandComplete
Example:
Index.37.Initiate
Wait For InPosn
8.4.2.4 Index.CompoundInitiate
This program instruction is used to initiate an index which has no deceleration ramp. The index accelerates or decelerates towards the next index velocity using the next index acceleration ramp. The index will finish at velocity. The program then moves on to the next index. It smoothly transitions into the second index without stopping. The second index then ramps to its
This is accomplished using a standard Index.Initiate rather than a Index.CompoundInitiate.
The final index will honor the deceleration ramp. If the last index is not long enough to perform a decel ramp at the programmed rate, the motor will backup at the end of the last index.
Each index can be used in multiple places as both a standard index with a deceleration ramp, and a compound index without a deceleration ramp. The program instruction
How User Programs Work | www.emersonct.com | 71 |