Difference between revisions of "MC-Basic:WITHGLOBAL"

From SoftMC-Wiki
Jump to: navigation, search
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, that sets on the CONFIG.PRG file. Like the "WITH" statement, the motion element will operated on without having to explicitly indicate the motion element name. <br>  
+
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]], that required "With..... → End With" statements when operated from the Terminal, when using the "WithGlobal" statement, there's '''NO''' need to declare "End WithGlobal".}}
+
{{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> '''Notice - ''' this is NOT a replacement method.
+
* 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="VB" line='line'>
+
<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-Info.svgNOTE
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