Difference between revisions of "MC-Basic:WITHGLOBAL"
m |
|||
Line 10: | Line 10: | ||
|DESCRIPTION= | |DESCRIPTION= | ||
− | This command sets a default motion element (axis or group) that replace previous [[MC-Basic:WITH|WITH]] statement, | + | This command sets a default motion element (axis or group) that replace previous [[MC-Basic:WITH|WITH]] statement, sets on the CONFIG.PRG file.<br> |
− | The default motion element exists only after a '''WithGlobal''' statement, which is terminated by a new WithGlobal statement, or by "reset all" command applied within the Terminal. | + | Like the "WITH" statement, the motion element will operated without having to explicitly indicate the motion element name. <br/> |
+ | The default motion element exists only after a '''WithGlobal''' statement, which is terminated by a new '''WithGlobal''' statement, or by "reset all" command applied within the Terminal. | ||
− | {{Note|Unlike using local [[MC-Basic:WITH|WITH]] | + | {{Note|Unlike using local [[MC-Basic:WITH|WITH]] which required ''"With..... → End With"'' statements when operated from the Terminal/Task, when using the "WithGlobal" statement, there's '''NO''' need to declare "End WithGlobal".}} |
|TYPE= | |TYPE= | ||
Line 31: | Line 32: | ||
Configuration, Task or Terminal | Configuration, Task or Terminal | ||
− | * In the Terminal scope, the specified motion element becomes the default motion element for the system, that replace ALL previous WITH/WITHGLOBAL statement, from all scopes. | + | * In the Terminal scope, the specified motion element becomes the default motion element for the system, that replace ALL previous WITH<big>/</big>WITHGLOBAL statement, from all scopes. |
− | * The way to "kill" a ''WithGlobal'' statement that declared in Config.prg, is to use '''reset all''' command, and change the Config.prg file as you wish.<br> | + | * The way to "kill" a ''WithGlobal'' statement that declared in Config.prg, is to use '''reset all''' command, and change the Config.prg file as you wish.<br> |
|LIMITATIONS= | |LIMITATIONS= | ||
Line 45: | Line 46: | ||
|EXAMPLE= | |EXAMPLE= | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="vb" line='line'> |
A1.VMax=5000 | A1.VMax=5000 | ||
Line 85: | Line 86: | ||
Move 100 | Move 100 | ||
− | Withglobal A2 | + | Withglobal A2 'replace the previous "WithGlobal" statement |
VMax=5000 | VMax=5000 | ||
Vord=5000 | Vord=5000 |
Revision as of 06:05, 17 August 2017
Language: | [[::MC-Basic:WITHGLOBAL|English]] • [[::MC-Basic:WITHGLOBAL/zh-hans|中文(简体)]] |
---|
This command sets a default motion element (axis or group) that replace previous WITH statement, sets on the CONFIG.PRG file.
Like the "WITH" statement, the motion element will operated without having to explicitly indicate the motion element name.
The default motion element exists only after a WithGlobal statement, which is terminated by a new WithGlobal statement, or by "reset all" command applied within the Terminal.
NOTE | |
Unlike using local WITH which required "With..... → End With" statements when operated from the Terminal/Task, when using the "WithGlobal" statement, there's NO need to declare "End WithGlobal". |
Syntax
WithGlobal <element name>
Availability
4.17.6
Scope
Configuration, Task or Terminal
- In the Terminal scope, the specified motion element becomes the default motion element for the system, that replace ALL previous WITH/WITHGLOBAL statement, from all scopes.
- The way to "kill" a WithGlobal statement that declared in Config.prg, is to use reset all command, and change the Config.prg file as you wish.
Limitations
- The WithGlobal command cannot be set in run time.
- WithGlobal commands can't be nested.
- Each WithGlobal block must be explicitly created, BUT there is no need to explicitly terminated it before executing another WithGlobal statement.
- A subroutine called from within a WithGlobal block does not inherit the default motion element, so the element is not defined within the subroutine, and an error is flagged.
- A GOTO command is not allowed inside a WithGlobal block; an error is flagged.
Examples
1 A1.VMax=5000
2
3 A1.Vord=5000
4
5 A1.VCruise=3000
6
7 A1.PEMax=10
8
9 A1.PESettle=0.01
10
11 Move A1 100
12
13 A2.VMax=5000
14
15 A2.Vord=5000
16
17 A2.VCruise=3000
18
19 A2.PEMax=10
20
21 A2.PESettle=0.01
22
23 Move A2 100
Can be simplified using:
1 WithGlobal A1
2 VMax=5000
3 Vord=5000
4 VCruise=3000
5 PEMax=10
6 PESettle=0.01
7 Move 100
8
9 Withglobal A2 'replace the previous "WithGlobal" statement
10 VMax=5000
11 Vord=5000
12 VCruise=3000
13 PEMax=10
14 PESettle=0.01
15 Move 100