Difference between revisions of "MC-Basic:WITHGLOBAL"

From SoftMC-Wiki
Jump to: navigation, search
(new page)
 
m
Line 42: Line 42:
 
|EXAMPLE=
 
|EXAMPLE=
 
<syntaxhighlight lang="VB" line='line'>
 
<syntaxhighlight lang="VB" line='line'>
A1.VMax=5000<br>
+
A1.VMax=5000
  
A1.Vord=5000<br>
+
A1.Vord=5000
  
A1.VCruise=3000<br>
+
A1.VCruise=3000
  
A1.PEMax=10<br>
+
A1.PEMax=10
  
A1.PESettle=0.01<br>
+
A1.PESettle=0.01
  
 
Move A1 100
 
Move A1 100
  
A2.VMax=5000<br>
+
A2.VMax=5000
  
A2.Vord=5000<br>
+
A2.Vord=5000
  
A2.VCruise=3000<br>
+
A2.VCruise=3000
  
A2.PEMax=10<br>
+
A2.PEMax=10
  
A2.PESettle=0.01<br>
+
A2.PESettle=0.01
  
 
Move A2 100
 
Move A2 100
Line 72: Line 72:
  
 
<syntaxhighlight lang="VB" line='line'>
 
<syntaxhighlight lang="VB" line='line'>
WithGlobal A1<br>
+
WithGlobal A1
       VMax=5000<br>
+
       VMax=5000
       Vord=5000<br>
+
       Vord=5000
       VCruise=3000<br>
+
       VCruise=3000
       PEMax=10<br>
+
       PEMax=10
       PESettle=0.01<br>
+
       PESettle=0.01
       Move 100<br>
+
       Move 100
  
 
Withglobal A2
 
Withglobal A2
       VMax=5000<br>
+
       VMax=5000
       Vord=5000<br>
+
       Vord=5000
       VCruise=3000<br>
+
       VCruise=3000
       PEMax=10<br>
+
       PEMax=10
       PESettle=0.01<br>
+
       PESettle=0.01
       Move 100<br>
+
       Move 100
  
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 13:23, 16 August 2017

Language: [[::MC-Basic:WITHGLOBAL|English]]  • [[::MC-Basic:WITHGLOBAL/zh-hans|中文(简体)‎]]

This command sets a default motion element (axis or group). Thereafter, the motion element is operated on without having to explicitly indicate the motion element name. The default motion element exists only after a WithGlobal statement, which is terminated by the End Withglobal keywords, or by a new WithGlobal statement.

Syntax

WithGlobal <element name>

Availability

4.19

Scope

Configuration, Task or Terminal

  • In the Configuration scope, the specified motion element becomes the default motion element for the system unless there is another WithGlobal command inside other scopes (last WithGlobal statement "win").
  • A WithGlobal statement used inside the terminal scope will replace any previous Withglobal statement.
  • In Config.prg or the terminal, the End WithGlobal keywords are not required. In the task scope, the End WithGlobal keywords are required.

The only way to "kill" a WithGlobal statement that declared in Config.prg, is to use reset all command, and change the Config.prg file. Notice - this is noe a replacement method.

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
10        VMax=5000
11        Vord=5000
12        VCruise=3000
13        PEMax=10
14        PESettle=0.01
15        Move 100