<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://softmc.servotronix.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Guy</id>
		<title>SoftMC-Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://softmc.servotronix.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Guy"/>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/wiki/Special:Contributions/Guy"/>
		<updated>2026-05-10T07:40:02Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.sim&amp;diff=133723</id>
		<title>MC-Basic:SYSTEM.ANOUT.sim</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.sim&amp;diff=133723"/>
				<updated>2020-12-31T14:18:24Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT.sim}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index].sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index]sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Exactly the same as Sys.ANIN[Index].sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to set an analog Output as simulated.&lt;br /&gt;
Once an output was set as simulated, there is no meaning to all other analog properties.&amp;lt;br&amp;gt;&lt;br /&gt;
The analog output becomes a simple double variable that holds a certain value regardless of its real arrangement in the digital infrastructure. &amp;lt;br&amp;gt;&lt;br /&gt;
Any index can be set as simulated in the analog array.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
1 or 0&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].sim = 1&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.signed&amp;diff=133722</id>
		<title>MC-Basic:SYSTEM.ANOUT.signed</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.signed&amp;diff=133722"/>
				<updated>2020-12-31T14:17:17Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: Created page with &amp;quot;{{Languages|MC-Basic:SYSTEM.ANOUT.signed}}  {{MC-Basic |SHORT FORM= Sys.AnOut[Index].signed&amp;lt;br&amp;gt;  |SYNTAX= ?System.AnOut[Index].signed&amp;lt;br&amp;gt;  |AVAILABILITY= Version 0.4.20.5r8-C2...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT.signed}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index].signed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index].signed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Exactly the same as Sys.ANIN[Index].signed&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to state whether this output channel will output signed or unsigned voltage values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
1 or 0&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0 &lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
by setting an analog output as unsigned, negative values will become invalid values.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].signed = 1&lt;br /&gt;
** both negative and positive values are allowed&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].signed = 0&lt;br /&gt;
** only positive values are allowed&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.sim|SYSTEM.ANOUT.sim]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.map&amp;diff=133721</id>
		<title>MC-Basic:SYSTEM.ANOUT.map</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.map&amp;diff=133721"/>
				<updated>2020-12-31T14:11:00Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: Created page with &amp;quot;{{Languages|MC-Basic:SYSTEM.ANOUT.map}}  {{MC-Basic |SHORT FORM= Sys.AnOut[Index].map&amp;lt;br&amp;gt;  |SYNTAX= ?System.AnOut[Index].map&amp;lt;br&amp;gt;  |AVAILABILITY= Version 0.4.20.5r8-C2 or highe...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT.map}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index].map&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index].map&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Exactly the same as Sys.ANIN[Index].map&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used for analog output mapping. By setting the map property we are actually mapping the analog output to a specific Sys.Dout&amp;lt;br&amp;gt;&lt;br /&gt;
so the analog array is laid over the digital infrastructure. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].map = 24&lt;br /&gt;
in this case, the analog output is mapped to Sys.Dout[24][.bitrange]&amp;lt;br&amp;gt;&lt;br /&gt;
we can use the [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]] property to complete the mapping.&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.sim|SYSTEM.ANOUT.sim]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.analogscale&amp;diff=133720</id>
		<title>MC-Basic:SYSTEM.ANOUT.analogscale</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.analogscale&amp;diff=133720"/>
				<updated>2020-12-31T14:02:13Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: Created page with &amp;quot;{{Languages|MC-Basic:SYSTEM.ANOUT.analogscale}}  {{MC-Basic |SHORT FORM= Sys.AnOut[Index].analogscale&amp;lt;br&amp;gt;  |SYNTAX= ?System.AnOut[Index].analogscale&amp;lt;br&amp;gt;  |AVAILABILITY= Versio...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT.analogscale}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index].analogscale&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index].analogscale&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Exactly the same as Sys.ANIN[Index].analogscale&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to convert bits to a physical voltage value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Double&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
1&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].analogscale = 0.1234&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.sim|SYSTEM.ANOUT.sim]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.bitrange&amp;diff=133719</id>
		<title>MC-Basic:SYSTEM.ANOUT.bitrange</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.bitrange&amp;diff=133719"/>
				<updated>2020-12-31T13:55:28Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT.bitrange}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index].bitrange&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index].bitrange&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Exactly the same as Sys.ANIN[Index].bitrange&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to map the analog output to a specific range in the digital infrastructure array.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
0, 8, 12, 16, 32 or other&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].bitrange = 8&lt;br /&gt;
* according to [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]] property, the analog output will be mapped to sys.Dout[&amp;lt;.map&amp;gt;][8]&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.sim|SYSTEM.ANOUT.sim]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.bitrange&amp;diff=133718</id>
		<title>MC-Basic:SYSTEM.ANOUT.bitrange</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.bitrange&amp;diff=133718"/>
				<updated>2020-12-31T13:54:24Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: Created page with &amp;quot;{{Languages|MC-Basic:SYSTEM.ANOUT.bitrange}}  {{MC-Basic |SHORT FORM= Sys.AnOut[Index].bitrange&amp;lt;br&amp;gt;  |SYNTAX= ?System.AnOut[Index]bitrange&amp;lt;br&amp;gt;  |AVAILABILITY= Version 0.4.20.5...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT.bitrange}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index].bitrange&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index]bitrange&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Exactly the same as Sys.ANIN[Index].bitrange&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to map the analog output to a specific range in the digital infrastructure array.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
0, 8, 12, 16, 32 or other&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].bitrange = 8&lt;br /&gt;
* according to [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]] property, the analog output will be mapped to sys.Dout[&amp;lt;.map&amp;gt;][8]&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.sim|SYSTEM.ANOUT.sim]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.sim&amp;diff=133717</id>
		<title>MC-Basic:SYSTEM.ANOUT.sim</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.sim&amp;diff=133717"/>
				<updated>2020-12-31T13:44:43Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT.sim}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index].sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index]sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Exactly the same as Sys.ANIN[Index].sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to set an analog Output as simulated.&lt;br /&gt;
Once an output was set as simulated, there is no meaning to all other analog properties.&amp;lt;br&amp;gt;&lt;br /&gt;
The analog output becomes a simple double variable that holds a certain value regardless of its real arrangement in the digital infrastructure. &amp;lt;br&amp;gt;&lt;br /&gt;
Any index can be set as simulated in the analog array.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
1 or 0&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
no default value. depends on user configuration.&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].sim = 1&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.sim&amp;diff=133716</id>
		<title>MC-Basic:SYSTEM.ANOUT.sim</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT.sim&amp;diff=133716"/>
				<updated>2020-12-31T13:43:58Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: Created page with &amp;quot;{{Languages|MC-Basic:SYSTEM.ANOUT.sim}}  {{MC-Basic |SHORT FORM= Sys.AnOut[Index].sim&amp;lt;br&amp;gt;  |SYNTAX= ?System.AnOut[Index]sim&amp;lt;br&amp;gt;  |AVAILABILITY= Version 0.4.20.5r8-C2 or higher...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT.sim}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index].sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index]sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Exactly the same as Sys.ANIN[Index].sim&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to set an analog Output as simulated.&lt;br /&gt;
Once an output was set as simulated, there is no meaning to all other analog properties.&amp;lt;be&amp;gt;&lt;br /&gt;
The analog output becomes a simple double variable that holds a certain value regardless of its real arrangement in the digital infrastructure.   &lt;br /&gt;
Any index can be set as simulated in the analog array.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
1 or 0&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
no default value. depends on user configuration.&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].sim = 1&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANIN&amp;diff=133714</id>
		<title>MC-Basic:SYSTEM.ANIN</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANIN&amp;diff=133714"/>
				<updated>2020-12-31T13:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: Created page with &amp;quot;{{Languages|MC-Basic:SYSTEM.ANIN}}  {{MC-Basic |SHORT FORM= Sys.AnIn[Index]&amp;lt;br&amp;gt;  |SYNTAX= ?System.AnIn[Index]&amp;lt;br&amp;gt;  |AVAILABILITY= Version 0.4.20.5r8-C2 or higher  |DESCRIPTION...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANIN}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnIn[Index]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnIn[Index]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
In general, the analog data structure is built over the layer of digital IO's. Each analog input needs to be mapped over &amp;lt;br&amp;gt;&lt;br /&gt;
the digital data structure by using the [[MC-Basic:SYSTEM.ANIN.map|SYSTEM.ANIN.map]] and [[MC-Basic:SYSTEM.ANIN.bitrange|SYSTEM.ANIN.bitrange]] properties.&lt;br /&gt;
According to the specific device configuration, we can set the analog input to use digital infrastructure.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property reads the value of specific analog input which is translated from a real voltage input value. &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Double&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
no default. depends on the voltage input value.&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read-only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
configuration:&amp;lt;br&amp;gt;&lt;br /&gt;
* --&amp;gt;Sys.AnIn[1].map = 1000&lt;br /&gt;
* --&amp;gt;Sys.AnIn[1].bitrange = 12&lt;br /&gt;
* In this case we get a one analog input with Index = 1 that uses sys.Din[1000][12] structure.&lt;br /&gt;
&lt;br /&gt;
usage:&lt;br /&gt;
* --&amp;gt;common shared dMyAnalogValue as double&lt;br /&gt;
* --&amp;gt;dMyAnalogValue = Sys.AnIn[1]&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT|SYSTEM.ANOUT]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.sim|SYSTEM.ANOUT.sim]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT&amp;diff=133712</id>
		<title>MC-Basic:SYSTEM.ANOUT</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT&amp;diff=133712"/>
				<updated>2020-12-31T13:16:20Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
In general, the analog data structure is built over the layer of digital IO's. Each analog output needs to be mapped over &amp;lt;br&amp;gt;&lt;br /&gt;
the digital data structure by using the [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]] and [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]] properties.&lt;br /&gt;
According to the specific device configuration, we can set the analog output to use digital infrastructure.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property reads the value of specific analog input which is translated from a real voltage input value. &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Double&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0.0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
configuration:&amp;lt;br&amp;gt;&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].map = 1000&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].bitrange = 12&lt;br /&gt;
* In this case we get a one analog output with Index = 1 that uses sys.Dout[1000][12] structure.&lt;br /&gt;
&lt;br /&gt;
usage:&lt;br /&gt;
* --&amp;gt;common shared dMyAnalogValue as double&lt;br /&gt;
* --&amp;gt;dMyAnalogValue = Sys.AnOut[1]&lt;br /&gt;
* --&amp;gt;dMyAnalogValue =1.234&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1] = dMyAnalogValue&lt;br /&gt;
* --&amp;gt;?Sys.AnOut[1]&lt;br /&gt;
* --&amp;gt;1.234&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANIN|SYSTEM.ANIN]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.sim|SYSTEM.ANOUT.sim]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT&amp;diff=133711</id>
		<title>MC-Basic:SYSTEM.ANOUT</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:SYSTEM.ANOUT&amp;diff=133711"/>
				<updated>2020-12-31T13:14:05Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: Created page with &amp;quot;{{Languages|MC-Basic:SYSTEM.ANOUT}}  {{MC-Basic |SHORT FORM= Sys.AnOut[Index]&amp;lt;br&amp;gt;  |SYNTAX= ?System.AnOut[Index]&amp;lt;br&amp;gt;  |AVAILABILITY= Version 0.4.20.5r8-C2 or higher  |DESCRIPT...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:SYSTEM.ANOUT}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
Sys.AnOut[Index]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?System.AnOut[Index]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Version 0.4.20.5r8-C2 or higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
In general, the analog data structure is built over the layer of digital IO's. Each analog output needs to be mapped over &amp;lt;br&amp;gt;&lt;br /&gt;
the digital data structure by using the [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]] and [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]] properties.&lt;br /&gt;
According to the specific device configuration, we can set the analog output to use digital infrastructure.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This property reads the value of specific analog input which is translated from a real voltage input value. &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Double&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0.0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read or write.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
configuration:&amp;lt;br&amp;gt;&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].map = 1000&lt;br /&gt;
* --&amp;gt;Sys.AnOut[1].bitrange = 12&lt;br /&gt;
* In this case we get a one analog output with Index = 1 that uses sys.Dout[1000][12] structure.&lt;br /&gt;
&lt;br /&gt;
usage:&lt;br /&gt;
* --&amp;gt;common shared dMyAnalogValue as double&lt;br /&gt;
* --&amp;gt;dMyAnalogValue = Sys.AnOut[1]&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANIN|SYSTEM.ANIN]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.sim|SYSTEM.ANOUT.sim]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.bitrange|SYSTEM.ANOUT.bitrange]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.analogscale|SYSTEM.ANOUT.analogscale]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.map|SYSTEM.ANOUT.map]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.ANOUT.signed|SYSTEM.ANOUT.signed]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:System|MC-Basic:System]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPointUsing&amp;diff=133282</id>
		<title>MC-Basic:PrintPointUsing</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPointUsing&amp;diff=133282"/>
				<updated>2019-08-15T08:31:24Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:PRINTPOINTUSING}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
:PrintPointU&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
: PrintPointUsing &amp;quot;&amp;lt;''format_string''&amp;gt;&amp;quot;;[&amp;lt;''expression''&amp;gt;];{[&amp;lt;''expression''&amp;gt;]}*&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
: FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Prints formatted numeric variables of type point, using the specified format string. The format string contains literal text to be printed, as well as characters for formatting numeric expressions. The following characters can be used formatting numeric expressions:&amp;lt;br&amp;gt;&lt;br /&gt;
       #           digital position&lt;br /&gt;
&lt;br /&gt;
.            decimal position&amp;lt;br&amp;gt;&lt;br /&gt;
       +           prints the sign of the expression&lt;br /&gt;
&lt;br /&gt;
^^^^   prints in exponential format&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
:''&amp;lt;format_string''&amp;gt;: String&amp;lt;br&amp;gt;&lt;br /&gt;
:''&amp;lt;expression''&amp;gt;: Point&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
: Only a single formatting text(containing text and formatting characters) followed by the expressions to print is allowed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
:common shared PNT as Location of XYZR&lt;br /&gt;
::PNT = #{0,0,0,0}&lt;br /&gt;
:--&amp;gt; PrintPointUsing &amp;quot;#.###&amp;quot;; PNT&lt;br /&gt;
: #{0.000 , 0.000 , 0.000 , 0.000 ;}&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:PRINT|PRINT]]&lt;br /&gt;
* [[MC-Basic:PrintPoint|PRINTPOINT]]&lt;br /&gt;
* [[MC-Basic:CLOSE|CLOSE]]&lt;br /&gt;
* [[MC-Basic:INPUT$|INPUT$]]&lt;br /&gt;
* [[MC-Basic:LOC|LOC]]&lt;br /&gt;
* [[MC-Basic:OPEN|OPEN]]&lt;br /&gt;
* [[MC-Basic:PRINT HASH|PRINT HASH]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING hash-sign|PRINTUSING hash-sign]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPoint&amp;diff=133281</id>
		<title>MC-Basic:PrintPoint</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPoint&amp;diff=133281"/>
				<updated>2019-08-15T08:24:07Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
: PRINTPOINT &lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
: FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
PrintPoint prints only variables that were declared as a cartesian location (...as Location of...). &amp;lt;br&amp;gt;&lt;br /&gt;
The rest of the properties of this command are similar to [[MC-Basic:PRINT|PRINT]] command. &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: Printed Point: String&lt;br /&gt;
: ''&amp;lt; (DetectOverflow)Expression&amp;gt;'': Long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
: ''&amp;lt; (DetectOverflow)Expression&amp;gt;'': 0 or 1&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
: If a cartasian location variable was defined with no [[Point Redundancy|point redundancy flag]] the default printpoint will be; {X,Y,Z,R;} &lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
:Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
: Variables defined within a task may be queried from outside the task (for example, from the terminal) only when the task is idle. Within a task, local variables are only available if the task is idled in a section of code wherein the local variable was declared.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
: common shared PNT as Location of XYZR&lt;br /&gt;
:: PNT = #{0,0,0,0}&lt;br /&gt;
: --&amp;gt; PrintPoint PNT &lt;br /&gt;
: #{0 , 0 , 0 , 0 ;}&lt;br /&gt;
:: PNT = #{0,0,0,0;0}&lt;br /&gt;
: --&amp;gt; PrintPoint PNT&lt;br /&gt;
: #{0 , 0 , 0 , 0 ; 0}&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:PrintPointUsing|PRINTPOINTUSING]]&lt;br /&gt;
* [[MC-Basic:PRINT|PRINT]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING|PRINTUSING]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.PRINTMODE|SYSTEM.PRINTMODE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPointUsing&amp;diff=133280</id>
		<title>MC-Basic:PrintPointUsing</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPointUsing&amp;diff=133280"/>
				<updated>2019-08-13T13:50:58Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:PRINTPOINTUSING}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
:PrintPointU&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
: PrintPointUsing &amp;quot;&amp;lt;''format_string''&amp;gt;&amp;quot;;[&amp;lt;''expression''&amp;gt;];{[&amp;lt;''expression''&amp;gt;]}*&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
: FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Prints formatted numeric variables of type point, using the specified format string. The format string contains literal text to be printed, as well as characters for formatting numeric expressions. The following characters can be used formatting numeric expressions:&amp;lt;br&amp;gt;&lt;br /&gt;
       #           digital position&lt;br /&gt;
&lt;br /&gt;
.            decimal position&amp;lt;br&amp;gt;&lt;br /&gt;
       +           prints the sign of the expression&lt;br /&gt;
&lt;br /&gt;
^^^^   prints in exponential format&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only a single formatting text(containing text and formatting characters) followed by the expressions to print is allowed.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
:''&amp;lt;format_string''&amp;gt;: String&amp;lt;br&amp;gt;&lt;br /&gt;
:''&amp;lt;expression''&amp;gt;: Point&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:PRINT|PRINT]]&lt;br /&gt;
* [[MC-Basic:PrintPoint|PRINTPOINT]]&lt;br /&gt;
* [[MC-Basic:CLOSE|CLOSE]]&lt;br /&gt;
* [[MC-Basic:INPUT$|INPUT$]]&lt;br /&gt;
* [[MC-Basic:LOC|LOC]]&lt;br /&gt;
* [[MC-Basic:OPEN|OPEN]]&lt;br /&gt;
* [[MC-Basic:PRINT HASH|PRINT HASH]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING hash-sign|PRINTUSING hash-sign]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPoint&amp;diff=133279</id>
		<title>MC-Basic:PrintPoint</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPoint&amp;diff=133279"/>
				<updated>2019-08-13T13:49:56Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
:PRINTPOINT &lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
: FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: ''&amp;lt; (DetectOverflow)Expression&amp;gt;'': Long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
: ''&amp;lt; (DetectOverflow)Expression&amp;gt;'': 0 or 1&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
:Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
: Variables defined within a task may be queried from outside the task (for example, from the terminal) only when the task is idle. Within a task, local variables are only available if the task is idled in a section of code wherein the local variable was declared.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:PrintPointUsing|PRINTPOINTUSING]]&lt;br /&gt;
* [[MC-Basic:PRINT|PRINT]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING|PRINTUSING]]&lt;br /&gt;
* [[MC-Basic:SYSTEM.PRINTMODE|SYSTEM.PRINTMODE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPointUsing&amp;diff=133278</id>
		<title>MC-Basic:PrintPointUsing</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:PrintPointUsing&amp;diff=133278"/>
				<updated>2019-08-13T13:34:28Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:PRINTPOINTUSING}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
:PrintPointU&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
: PrintPointUsing &amp;quot;&amp;lt;''format_string''&amp;gt;&amp;quot;;[&amp;lt;''expression''&amp;gt;];{[&amp;lt;''expression''&amp;gt;]}*&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
: FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Prints formatted numeric variables of type point, using the specified format string. The format string contains literal text to be printed, as well as characters for formatting numeric expressions. The following characters can be used formatting numeric expressions:&amp;lt;br&amp;gt;&lt;br /&gt;
       #           digital position&lt;br /&gt;
&lt;br /&gt;
.            decimal position&amp;lt;br&amp;gt;&lt;br /&gt;
       +           prints the sign of the expression&lt;br /&gt;
&lt;br /&gt;
^^^^   prints in exponential format&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only a single formatting text(containing text and formatting characters) followed by the expressions to print is allowed.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
:''&amp;lt;format_string''&amp;gt;: String&amp;lt;br&amp;gt;&lt;br /&gt;
:''&amp;lt;expression''&amp;gt;: Point&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:PRINT|PRINT]]&lt;br /&gt;
* [[MC-Basic:PRINTPOIN|PRINTPOINT]]&lt;br /&gt;
* [[MC-Basic:CLOSE|CLOSE]]&lt;br /&gt;
* [[MC-Basic:INPUT$|INPUT$]]&lt;br /&gt;
* [[MC-Basic:LOC|LOC]]&lt;br /&gt;
* [[MC-Basic:OPEN|OPEN]]&lt;br /&gt;
* [[MC-Basic:PRINT HASH|PRINT HASH]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING hash-sign|PRINTUSING hash-sign]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133277</id>
		<title>Point Redundancy</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133277"/>
				<updated>2019-08-13T13:14:53Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:Point Redundancy}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
Dim Shared PNT as Location Of XYZR&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Point Redundancy is a flag that indicates the type of solution calculated by the Motion Controller to reach a specific point in space.&amp;lt;br&amp;gt; &lt;br /&gt;
If a point was declared, for example; DIM SHARED PNT AS LOCATION OF XYZR, then the following sub-fields exists;&amp;lt;br&amp;gt;&lt;br /&gt;
PNT.ARM, PNT.ELBOW, PNT.WRIST, PNT.TURN1, ..., PNT.TURN6&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are 3 ways to obtain Point Redundancy:&amp;lt;br&amp;gt;&lt;br /&gt;
1. By using the property PNT.ARM (for SCARA only):&amp;lt;br&amp;gt;&lt;br /&gt;
* 0 - Auto (closest solution), the default value&amp;lt;br&amp;gt;&lt;br /&gt;
* 1 - Lefty (J2.PCMD &amp;lt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
* 2 - Righty (J2.PCMD &amp;gt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Assignments:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = Scara.HERE or PNT = Scara.SETPOINT&amp;lt;br&amp;gt;&lt;br /&gt;
* In that case, flags are automatclly set during the assignment.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Constant Assignment:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;} by using the &amp;quot;;&amp;quot; separator between the location and the flag.&amp;lt;br&amp;gt;&lt;br /&gt;
* Note: in the previous format, all flags were set to zero (for more information refer to 'SEE ALSO' section).&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
: 0-2&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
: 0 - Auto flag&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
1. There are no flags used when declaring location as a joint point (DIM SHARED JPNT AS JOINT OF XYZR).&amp;lt;br&amp;gt;&lt;br /&gt;
2. Expressions are only allowed when all flags are equal or one of them is non-AUTO;&amp;lt;br&amp;gt;&lt;br /&gt;
* for example, if A = #{X1,Y1,Z1;1} and B = #{X2,Y2,Z2;1}, the expression PNT = A+B is valid&lt;br /&gt;
 &lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
move to a specific location with point redundancy flag = 1 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lefty1.png|1000px|text-right]]&amp;lt;br&amp;gt;&lt;br /&gt;
move to the same location using point redundancy flag = 2 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:righty.png|1000px|text-right]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the following point is declared;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: common shared PNT as location of XYZR&lt;br /&gt;
&lt;br /&gt;
:::PNT = #{0,0,0,0;1}&lt;br /&gt;
&lt;br /&gt;
The usage of Print or &amp;quot;?&amp;quot; commands prints the previous format:&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;Print PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPoint command prints the new format;&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;PrintPoint PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0 ; 1}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPointU command prints a formatted output;&amp;lt;br&amp;gt; &lt;br /&gt;
:: --&amp;gt;PrintPointU &amp;quot;#.##&amp;quot;; PNT&lt;br /&gt;
:: --&amp;gt;#{0.00 , 0.00 , 0.00 , 0.00 ; 1}&lt;br /&gt;
&lt;br /&gt;
When the flag or separator are omitted, the following formats are equivalent:&lt;br /&gt;
:: PNT = #{0,0,0,0}&lt;br /&gt;
:: PNT = #{0,0,0,0;}&lt;br /&gt;
:: PNT = #{0,0,0,0;0}&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Points|Points]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING|PrintU]]&lt;br /&gt;
* [[MC-Basic:PrintPoint|PrintPoint]]&lt;br /&gt;
* [[MC-Basic:PrintPointUsing|PrintPointU]]&lt;br /&gt;
* [[MC-Basic:robot.ARMCMD|robot.ARMCMD]]&lt;br /&gt;
* [[MC-Basic:COMMON SHARED or DIM SHARED or DIM ... AS LOCATION OF ...|COMMON SHARED or DIM SHARED or DIM ... AS LOCATION OF ...]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:task.STATUS&amp;diff=133276</id>
		<title>MC-Basic:task.STATUS</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:task.STATUS&amp;diff=133276"/>
				<updated>2019-08-13T12:37:32Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:task.STATUS}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?&amp;lt;''task''&amp;gt;.Status&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
All versions&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
This query returns the status of a task that is loaded in memory. The information returned will be in the following format:&lt;br /&gt;
&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
From 0.4.15.4 returns &amp;quot;Main program&amp;quot; line number, which represents the first frame in the function call stack&amp;lt;br&amp;gt;&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;'' Main program ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
where ''&amp;lt;state&amp;gt;'' is one of the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1: Running&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2: Stopped (due to IDLETASK)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4: Stopped due to run-time error&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5: Terminated . &lt;br /&gt;
 '' It can be seen momentary that state at: &lt;br /&gt;
 '' 1. Terminate program &lt;br /&gt;
 '' 2. Unload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7: Ready (after LOAD)&lt;br /&gt;
&lt;br /&gt;
9:  Task Kill Start .&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10: Killed (after KILLTASK or END PROGRAM)&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
Returned value: 1, 2, 4, 5, 7, 9, 10&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Task must be loaded in memory&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
?MyTask.prg.Status&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:TaskStatus|TaskStatus]]&lt;br /&gt;
* [[MC-Basic:task.STATE|task.STATE]]&lt;br /&gt;
* [[MC-Basic:element.ELEMENTSTATUS| ELEMENTSTATUS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:Task Control|task.STATUS]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133275</id>
		<title>MC-Basic:TaskStatus</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133275"/>
				<updated>2019-08-13T12:32:57Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:TaskStatus}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
:?TaskStatus(&amp;quot;&amp;lt;Task Name&amp;gt;.&amp;lt;File Type&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
This property is Similar to 'task.STATUS' but the difference is that the task name is referred to as a string, therefor could be manipulated for any need.&amp;lt;br&amp;gt;&lt;br /&gt;
This query returns the status of a task that is loaded in memory. The information returned will be in the following format:&lt;br /&gt;
&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
From 0.4.15.4 returns &amp;quot;Main program&amp;quot; line number, which represents the first frame in the function call stack&amp;lt;br&amp;gt;&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;'' Main program ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where ''&amp;lt;state&amp;gt;'' is one of the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1: Running&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2: Stopped (due to IDLETASK)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4: Stopped due to run-time error&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5: Terminated. &lt;br /&gt;
: It can be seen momentary that state at: &lt;br /&gt;
::1. Terminate program &lt;br /&gt;
::2. Unload&lt;br /&gt;
&lt;br /&gt;
7: Ready (after LOAD)&lt;br /&gt;
&lt;br /&gt;
9:  Task Kill Start .&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10: Killed (after KILLTASK or END PROGRAM)&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: String&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
:Returned value: 1, 2, 4, 5, 7, 9, 10&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
*The task must be loaded in memory.&lt;br /&gt;
*task name and type (PRG/UPG) defined as a type of string.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
Dim Shared MyTask as string = &amp;quot;&amp;lt;TaskName.PRG&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
:?TaskStatus(MyTask)&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:task.STATUS|task.STATUS]]&lt;br /&gt;
* [[MC-Basic:task.STATE|task.STATE]]&lt;br /&gt;
* [[MC-Basic:element.ELEMENTSTATUS| ELEMENTSTATUS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:Task Control|TaskStatus]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133274</id>
		<title>MC-Basic:TaskStatus</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133274"/>
				<updated>2019-08-13T12:32:08Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:TaskStatus}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
:?TaskStatus(&amp;quot;&amp;lt;Task Name&amp;gt;.&amp;lt;File Type&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
This query returns the status of a task that is loaded in memory. The information returned will be in the following format:&lt;br /&gt;
&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
From 0.4.15.4 returns &amp;quot;Main program&amp;quot; line number, which represents the first frame in the function call stack&amp;lt;br&amp;gt;&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;'' Main program ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
this property is Similar to 'task.STATUS' but the difference is that the task name is referred to as a string, therefor could be manipulated for any need.&amp;lt;br&amp;gt;&lt;br /&gt;
where ''&amp;lt;state&amp;gt;'' is one of the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1: Running&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2: Stopped (due to IDLETASK)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4: Stopped due to run-time error&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5: Terminated. &lt;br /&gt;
: It can be seen momentary that state at: &lt;br /&gt;
::1. Terminate program &lt;br /&gt;
::2. Unload&lt;br /&gt;
&lt;br /&gt;
7: Ready (after LOAD)&lt;br /&gt;
&lt;br /&gt;
9:  Task Kill Start .&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10: Killed (after KILLTASK or END PROGRAM)&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: String&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
:Returned value: 1, 2, 4, 5, 7, 9, 10&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
*The task must be loaded in memory.&lt;br /&gt;
*task name and type (PRG/UPG) defined as a type of string.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
Dim Shared MyTask as string = &amp;quot;&amp;lt;TaskName.PRG&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
:?TaskStatus(MyTask)&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:task.STATUS|task.STATUS]]&lt;br /&gt;
* [[MC-Basic:task.STATE|task.STATE]]&lt;br /&gt;
* [[MC-Basic:element.ELEMENTSTATUS| ELEMENTSTATUS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:Task Control|TaskStatus]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133273</id>
		<title>MC-Basic:TaskStatus</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133273"/>
				<updated>2019-08-13T12:31:33Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:TaskStatus}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
:?TaskStatus(&amp;quot;&amp;lt;Task Name&amp;gt;.&amp;lt;File Type&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
This query returns the status of a task that is loaded in memory. The information returned will be in the following format:&lt;br /&gt;
&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
From 0.4.15.4 returns &amp;quot;Main program&amp;quot; line number, which represents the first frame in the function call stack&amp;lt;br&amp;gt;&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;'' Main program ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
this property is Similar to 'task.STATUS' but the difference is that the task name is referred to as a string, therefor could be manipulated for any need.&lt;br /&gt;
where ''&amp;lt;state&amp;gt;'' is one of the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1: Running&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2: Stopped (due to IDLETASK)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4: Stopped due to run-time error&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5: Terminated. &lt;br /&gt;
: It can be seen momentary that state at: &lt;br /&gt;
::1. Terminate program &lt;br /&gt;
::2. Unload&lt;br /&gt;
&lt;br /&gt;
7: Ready (after LOAD)&lt;br /&gt;
&lt;br /&gt;
9:  Task Kill Start .&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10: Killed (after KILLTASK or END PROGRAM)&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: String&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
:Returned value: 1, 2, 4, 5, 7, 9, 10&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
*The task must be loaded in memory.&lt;br /&gt;
*task name and type (PRG/UPG) defined as a type of string.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
Dim Shared MyTask as string = &amp;quot;&amp;lt;TaskName.PRG&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
:?TaskStatus(MyTask)&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:task.STATUS|task.STATUS]]&lt;br /&gt;
* [[MC-Basic:task.STATE|task.STATE]]&lt;br /&gt;
* [[MC-Basic:element.ELEMENTSTATUS| ELEMENTSTATUS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:Task Control|TaskStatus]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133272</id>
		<title>MC-Basic:TaskStatus</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133272"/>
				<updated>2019-08-13T12:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:TaskStatus}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
:?TaskStatus(&amp;quot;&amp;lt;Task Name&amp;gt;.&amp;lt;File Type&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
This query returns the status of a task that is loaded in memory. The information returned will be in the following format:&lt;br /&gt;
&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
From 0.4.15.4 returns &amp;quot;Main program&amp;quot; line number, which represents the first frame in the function call stack&amp;lt;br&amp;gt;&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;'' Main program ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
this property is Similar to 'task.STATUS' but the difference is that the task name is referred to as a string, therefor could be manipulated for any need.&lt;br /&gt;
where ''&amp;lt;state&amp;gt;'' is one of the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1: Running&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2: Stopped (due to IDLETASK)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4: Stopped due to run-time error&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5: Terminated. &lt;br /&gt;
: It can be seen momentary that state at: &lt;br /&gt;
::1. Terminate program &lt;br /&gt;
::2. Unload&lt;br /&gt;
&lt;br /&gt;
7: Ready (after LOAD)&lt;br /&gt;
&lt;br /&gt;
9:  Task Kill Start .&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10: Killed (after KILLTASK or END PROGRAM)&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
:String&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
:Returned value: 1, 2, 4, 5, 7, 9, 10&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
:Terminal, task, library&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
*The task must be loaded in memory.&lt;br /&gt;
*task name and type (PRG/UPG) defined as a type of string.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
Dim Shared MyTask as string = &amp;quot;&amp;lt;TaskName.PRG&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
:?TaskStatus(MyTask)&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:task.STATUS|task.STATUS]]&lt;br /&gt;
* [[MC-Basic:task.STATE|task.STATE]]&lt;br /&gt;
* [[MC-Basic:element.ELEMENTSTATUS| ELEMENTSTATUS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:Task Control|TaskStatus]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133271</id>
		<title>MC-Basic:TaskStatus</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:TaskStatus&amp;diff=133271"/>
				<updated>2019-08-13T12:28:39Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:TaskStatus}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
:?TaskStatus(&amp;quot;&amp;lt;Task Name&amp;gt;.&amp;lt;File Type&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
This query returns the status of a task that is loaded in memory. The information returned will be in the following format:&lt;br /&gt;
&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
From 0.4.15.4 returns &amp;quot;Main program&amp;quot; line number, which represents the first frame in the function call stack&amp;lt;br&amp;gt;&lt;br /&gt;
State ''&amp;lt;state&amp;gt;'': ''&amp;lt;description&amp;gt;'' Error ''&amp;lt;last error number&amp;gt;'' Source ''&amp;lt;line of source code&amp;gt;'' Main program ''&amp;lt;line of source code&amp;gt;''&amp;lt;br&amp;gt;&lt;br /&gt;
this property is Similar to 'task.STATUS' but the difference is that the task name is referred to as a string, therefor could be manipulated for any need.&lt;br /&gt;
where ''&amp;lt;state&amp;gt;'' is one of the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1: Running&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2: Stopped (due to IDLETASK)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4: Stopped due to run-time error&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5: Terminated. &lt;br /&gt;
: It can be seen momentary that state at: &lt;br /&gt;
::1. Terminate program &lt;br /&gt;
::2. Unload&lt;br /&gt;
&lt;br /&gt;
7: Ready (after LOAD)&lt;br /&gt;
&lt;br /&gt;
9:  Task Kill Start .&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
10: Killed (after KILLTASK or END PROGRAM)&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
Returned value: 1, 2, 4, 5, 7, 9, 10&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Terminal, task, library&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
*The task must be loaded in memory.&lt;br /&gt;
*task name and type (PRG/UPG) defined as a type of string.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
&lt;br /&gt;
Dim Shared MyTask as string = &amp;quot;&amp;lt;TaskName.PRG&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
:?TaskStatus(MyTask)&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:task.STATUS|task.STATUS]]&lt;br /&gt;
* [[MC-Basic:task.STATE|task.STATE]]&lt;br /&gt;
* [[MC-Basic:element.ELEMENTSTATUS| ELEMENTSTATUS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:MC-Basic:Task Control|TaskStatus]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133270</id>
		<title>Point Redundancy</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133270"/>
				<updated>2019-08-12T09:13:52Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:Point Redundancy}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
Dim Shared PNT as Location Of XYZR&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Point Redundancy is a flag that indicates the type of solution calculated by the Motion Controller to reach a specific point in space.&amp;lt;br&amp;gt; &lt;br /&gt;
If a point was declared, for example; DIM SHARED PNT AS LOCATION OF XYZR, then the following sub-fields exists;&amp;lt;br&amp;gt;&lt;br /&gt;
PNT.ARM, PNT.ELBOW, PNT.WRIST, PNT.TURN1, ..., PNT.TURN6&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are 3 ways to obtain Point Redundancy:&amp;lt;br&amp;gt;&lt;br /&gt;
1. By using the property PNT.ARM (for SCARA only):&amp;lt;br&amp;gt;&lt;br /&gt;
* 0 - Auto (closest solution), the default value&amp;lt;br&amp;gt;&lt;br /&gt;
* 1 - Lefty (J2.PCMD &amp;lt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
* 2 - Righty (J2.PCMD &amp;gt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Assignments:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = Scara.HERE or PNT = Scara.SETPOINT&amp;lt;br&amp;gt;&lt;br /&gt;
* In that case, flags are automatclly set during the assignment.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Constant Assignment:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;} by using the &amp;quot;;&amp;quot; separator between the location and the flag.&amp;lt;br&amp;gt;&lt;br /&gt;
* Note: in the previous format, all flags were set to zero (for more information refer to 'SEE ALSO' section).&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
: 0-2&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
: 0 - Auto flag&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
1. There are no flags used when declaring location as a joint point (DIM SHARED JPNT AS JOINT OF XYZR).&amp;lt;br&amp;gt;&lt;br /&gt;
2. Expressions are only allowed when all flags are equal or one of them is non-AUTO;&amp;lt;br&amp;gt;&lt;br /&gt;
* for example, if A = #{X1,Y1,Z1;1} and B = #{X2,Y2,Z2;1}, the expression PNT = A+B is valid&lt;br /&gt;
 &lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
move to a specific location with point redundancy flag = 1 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lefty1.png|1000px|text-right]]&amp;lt;br&amp;gt;&lt;br /&gt;
move to the same location using point redundancy flag = 2 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:righty.png|1000px|text-right]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the following point is declared;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: common shared PNT as location of XYZR&lt;br /&gt;
&lt;br /&gt;
:::PNT = #{0,0,0,0;1}&lt;br /&gt;
&lt;br /&gt;
The usage of Print or &amp;quot;?&amp;quot; commands prints the previous format:&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;Print PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPoint command prints the new format;&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;PrintPoint PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0 ; 1}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPointU command prints a formatted output;&amp;lt;br&amp;gt; &lt;br /&gt;
:: --&amp;gt;PrintPointU &amp;quot;#.##&amp;quot;; PNT&lt;br /&gt;
:: --&amp;gt;#{0.00 , 0.00 , 0.00 , 0.00 ; 1}&lt;br /&gt;
&lt;br /&gt;
When the flag or separator are omitted, the following formats are equivalent:&lt;br /&gt;
:: PNT = #{0,0,0,0}&lt;br /&gt;
:: PNT = #{0,0,0,0;}&lt;br /&gt;
:: PNT = #{0,0,0,0;0}&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Points|Points]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING|PrintU]]&lt;br /&gt;
* [[MC-Basic:PrintPoint|PrintPoint]]&lt;br /&gt;
* [[MC-Basic:PrintPointU|PrintPointU]]&lt;br /&gt;
* [[MC-Basic:robot.ARMCMD|robot.ARMCMD]]&lt;br /&gt;
* [[MC-Basic:COMMON SHARED or DIM SHARED or DIM ... AS LOCATION OF ...|COMMON SHARED or DIM SHARED or DIM ... AS LOCATION OF ...]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133269</id>
		<title>Point Redundancy</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133269"/>
				<updated>2019-08-12T09:09:51Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:Point Redundancy}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
Dim Shared PNT as Location Of XYZR&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Point Redundancy is a flag that indicates the type of solution calculated by the Motion Controller to reach a specific point in space.&amp;lt;br&amp;gt; &lt;br /&gt;
If a point was declared, for example; DIM SHARED PNT AS LOCATION OF XYZR, then the following sub-fields exists;&amp;lt;br&amp;gt;&lt;br /&gt;
PNT.ARM, PNT.ELBOW, PNT.WRIST, PNT.TURN1, ..., PNT.TURN6&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are 3 ways to obtain Point Redundancy:&amp;lt;br&amp;gt;&lt;br /&gt;
1. By using the property PNT.ARM (for SCARA only):&amp;lt;br&amp;gt;&lt;br /&gt;
* 0 - Auto (closest solution), the default value&amp;lt;br&amp;gt;&lt;br /&gt;
* 1 - Lefty (J2.PCMD &amp;lt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
* 2 - Righty (J2.PCMD &amp;gt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Assignments:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = Scara.HERE or PNT = Scara.SETPOINT&amp;lt;br&amp;gt;&lt;br /&gt;
* In that case, flags are automatclly set during the assignment.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Constant Assignment:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;} by using the &amp;quot;;&amp;quot; separator between the location and the flag.&amp;lt;br&amp;gt;&lt;br /&gt;
* Note: in the previous format, all flags were set to zero (for more information refer to 'SEE ALSO' section).&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
: 0-2&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
: 0 - Auto flag&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
1. There are no flags used when declaring location as a joint point (DIM SHARED JPNT AS JOINT OF XYZR).&amp;lt;br&amp;gt;&lt;br /&gt;
2. Expressions are only allowed when all flags are equal or one of them is non-AUTO;&amp;lt;br&amp;gt;&lt;br /&gt;
* for example, if A = #{X1,Y1,Z1;1} and B = #{X2,Y2,Z2;1}, the expression PNT = A+B is valid&lt;br /&gt;
 &lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
move to a specific location with point redundancy flag = 1 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lefty1.png|1000px|text-right]]&amp;lt;br&amp;gt;&lt;br /&gt;
move to the same location using point redundancy flag = 2 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:righty.png|1000px|text-right]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the following point is declared;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: common shared PNT as location of XYZR&lt;br /&gt;
&lt;br /&gt;
:::PNT = #{0,0,0,0;1}&lt;br /&gt;
&lt;br /&gt;
The usage of Print or &amp;quot;?&amp;quot; commands prints the previous format:&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;Print PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPoint command prints the new format;&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;PrintPoint PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0 ; 1}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPointU command prints a formatted output;&amp;lt;br&amp;gt; &lt;br /&gt;
:: --&amp;gt;PrintPointU &amp;quot;#.##&amp;quot;; PNT&lt;br /&gt;
:: --&amp;gt;#{0.00 , 0.00 , 0.00 , 0.00 ; 1}&lt;br /&gt;
&lt;br /&gt;
When PNT = #{0,0,0,0;0}, the following formats are equivalent;&lt;br /&gt;
:: PNT = #{0,0,0,0}&lt;br /&gt;
:: PNT = #{0,0,0,0;}&lt;br /&gt;
:: PNT = #{0,0,0,0;0}&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Points|Points]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING|PrintU]]&lt;br /&gt;
* [[MC-Basic:PrintPoint|PrintPoint]]&lt;br /&gt;
* [[MC-Basic:PrintPointU|PrintPointU]]&lt;br /&gt;
* [[MC-Basic:robot.ARMCMD|robot.ARMCMD]]&lt;br /&gt;
* [[MC-Basic:COMMON SHARED or DIM SHARED or DIM ... AS LOCATION OF ...|COMMON SHARED or DIM SHARED or DIM ... AS LOCATION OF ...]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133268</id>
		<title>Point Redundancy</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133268"/>
				<updated>2019-08-12T09:06:16Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:Point Redundancy}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
Dim Shared PNT as Location Of XYZR&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Point Redundancy is a flag that indicates the type of solution calculated by the Motion Controller to reach a specific point in space.&amp;lt;br&amp;gt; &lt;br /&gt;
If a point was declared, for example; DIM SHARED PNT AS LOCATION OF XYZR, then the following sub-fields exists;&amp;lt;br&amp;gt;&lt;br /&gt;
PNT.ARM, PNT.ELBOW, PNT.WRIST, PNT.TURN1, ..., PNT.TURN6&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are 3 ways to obtain Point Redundancy:&amp;lt;br&amp;gt;&lt;br /&gt;
1. By using the property PNT.ARM (for SCARA only):&amp;lt;br&amp;gt;&lt;br /&gt;
* 0 - Auto (closest solution), the default value&amp;lt;br&amp;gt;&lt;br /&gt;
* 1 - Lefty (J2.PCMD &amp;lt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
* 2 - Righty (J2.PCMD &amp;gt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Assignments:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = Scara.HERE or PNT = Scara.SETPOINT&amp;lt;br&amp;gt;&lt;br /&gt;
* In that case, flags are automatclly set during the assignment.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Constant Assignment:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;} by using the &amp;quot;;&amp;quot; separator between the location and the flag.&amp;lt;br&amp;gt;&lt;br /&gt;
* Note: in the previous format, all flags were set to zero (for more information refer to 'SEE ALSO' section).&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
: 0-2&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
: 0 - Auto flag&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
1. There are no flags used when declaring location as a joint point (DIM SHARED JPNT AS JOINT OF XYZR).&amp;lt;br&amp;gt;&lt;br /&gt;
2. Expressions are only allowed when all flags are equal or one of them is non-AUTO;&amp;lt;br&amp;gt;&lt;br /&gt;
* for example, if A = #{X1,Y1,Z1;1} and B = #{X2,Y2,Z2;1}, the expression PNT = A+B is valid&lt;br /&gt;
 &lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
move to a specific location with point redundancy flag = 1 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lefty1.png|1000px|text-right]]&amp;lt;br&amp;gt;&lt;br /&gt;
move to the same location using point redundancy flag = 2 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:righty.png|1000px|text-right]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the following point is declared;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: common shared PNT as location of XYZR&lt;br /&gt;
&lt;br /&gt;
:::PNT = #{0,0,0,0;1}&lt;br /&gt;
&lt;br /&gt;
The usage of Print or &amp;quot;?&amp;quot; commands prints the previous format:&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;Print PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPoint command prints the new format;&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;PrintPoint PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0 ; 1}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPointU command prints a formatted output;&amp;lt;br&amp;gt; &lt;br /&gt;
:: --&amp;gt;PrintPointU &amp;quot;#.##&amp;quot;; PNT&lt;br /&gt;
:: --&amp;gt;#{0.00 , 0.00 , 0.00 , 0.00 ; 1}&lt;br /&gt;
&lt;br /&gt;
When PNT = #{0,0,0,0;0}, the following formats are equivalent;&lt;br /&gt;
:: PNT = #{0,0,0,0}&lt;br /&gt;
:: PNT = #{0,0,0,0;}&lt;br /&gt;
:: PNT = #{0,0,0,0;0}&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Points|Points]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING|PrintU]]&lt;br /&gt;
* [[MC-Basic:PrintPoint|PrintPoint]]&lt;br /&gt;
* [[MC-Basic:PrintPointU|PrintPointU]]&lt;br /&gt;
* [[MC-Basic:robot.ARMCMD|robot.ARMCMD]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133267</id>
		<title>Point Redundancy</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133267"/>
				<updated>2019-08-12T09:05:05Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:Point Redundancy}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
Dim Shared PNT as Location Of XYZR&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Point Redundancy is a flag that indicates the type of solution calculated by the Motion Controller to reach a specific point in space.&amp;lt;br&amp;gt; &lt;br /&gt;
If a point was declared, for example; DIM SHARED PNT AS LOCATION OF XYZR, then the following sub-fields exists;&amp;lt;br&amp;gt;&lt;br /&gt;
PNT.ARM, PNT.ELBOW, PNT.WRIST, PNT.TURN1, ..., PNT.TURN6&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are 3 ways to obtain Point Redundancy:&amp;lt;br&amp;gt;&lt;br /&gt;
1. By using the property PNT.ARM (for SCARA only):&amp;lt;br&amp;gt;&lt;br /&gt;
* 0 - Auto (closest solution), the default value&amp;lt;br&amp;gt;&lt;br /&gt;
* 1 - Lefty (J2.PCMD &amp;lt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
* 2 - Righty (J2.PCMD &amp;gt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Assighnments:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = Scara.HERE or PNT = Scara.SETPOINT&amp;lt;br&amp;gt;&lt;br /&gt;
* In that case, flags are automatclly set during the assignment.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Constant Assignment:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;} by using the &amp;quot;;&amp;quot; separator between the location and the flag.&amp;lt;br&amp;gt;&lt;br /&gt;
* Note: in the previous format, all flags were set to zero (for more information refer to 'SEE ALSO' section).&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
: 0-2&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
: 0 - Auto flag&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
1. There are no flags used when declaring location as a joint point (DIM SHARED JPNT AS JOINT OF XYZR).&amp;lt;br&amp;gt;&lt;br /&gt;
2. Expressions are only allowed when all flags are equal or one of them is non-AUTO;&amp;lt;br&amp;gt;&lt;br /&gt;
* for example, if A = #{X1,Y1,Z1;1} and B = #{X2,Y2,Z2;1}, the expression PNT = A+B is valid&lt;br /&gt;
 &lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
move to a specific location with point redundancy flag = 1 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lefty1.png|1000px|text-right]]&amp;lt;br&amp;gt;&lt;br /&gt;
move to the same location using point redundancy flag = 2 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:righty.png|1000px|text-right]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the following point is declared;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: common shared PNT as location of XYZR&lt;br /&gt;
&lt;br /&gt;
:::PNT = #{0,0,0,0;1}&lt;br /&gt;
&lt;br /&gt;
The usage of Print or &amp;quot;?&amp;quot; commands prints the previous format:&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;Print PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPoint command prints the new format;&amp;lt;br&amp;gt;&lt;br /&gt;
:: --&amp;gt;PrintPoint PNT&lt;br /&gt;
:: --&amp;gt;#{0 , 0 , 0 , 0 ; 1}&lt;br /&gt;
&lt;br /&gt;
The usage of PrintPointU command prints a formatted output;&amp;lt;br&amp;gt; &lt;br /&gt;
:: --&amp;gt;PrintPointU &amp;quot;#.##&amp;quot;; PNT&lt;br /&gt;
:: --&amp;gt;#{0.00 , 0.00 , 0.00 , 0.00 ; 1}&lt;br /&gt;
&lt;br /&gt;
When PNT = #{0,0,0,0;0}, the following formats are equivalent;&lt;br /&gt;
:: PNT = #{0,0,0,0}&lt;br /&gt;
:: PNT = #{0,0,0,0;}&lt;br /&gt;
:: PNT = #{0,0,0,0;0}&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Points|Points]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING|PrintU]]&lt;br /&gt;
* [[MC-Basic:PrintPoint|PrintPoint]]&lt;br /&gt;
* [[MC-Basic:PrintPointU|PrintPointU]]&lt;br /&gt;
* [[MC-Basic:robot.ARMCMD|robot.ARMCMD]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133266</id>
		<title>Point Redundancy</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Point_Redundancy&amp;diff=133266"/>
				<updated>2019-08-12T08:20:56Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: in construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:Point Redundancy}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
Dim Shared PNT as Location Of XYZR&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
:FirmWare 0.4.20.1 and newer&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Point Redundancy is a flag that indicates the type of solution calculated by the Motion Controller to reach a specific point in space.&amp;lt;br&amp;gt; &lt;br /&gt;
If a point was declared, for example; DIM SHARED PNT AS LOCATION OF XYZR, then the following sub-fields exists;&amp;lt;br&amp;gt;&lt;br /&gt;
PNT.ARM, PNT.ELBOW, PNT.WRIST, PNT.TURN1, ..., PNT.TURN6&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are 3 ways to obtain Point Redundancy:&amp;lt;br&amp;gt;&lt;br /&gt;
1. By using the property PNT.ARM (for SCARA only):&amp;lt;br&amp;gt;&lt;br /&gt;
* 0 - Auto (closest solution), the default value&amp;lt;br&amp;gt;&lt;br /&gt;
* 1 - Lefty (J2.PCMD &amp;lt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
* 2 - Righty (J2.PCMD &amp;gt; 0)&amp;lt;br&amp;gt;&lt;br /&gt;
2. Assighnments:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = Scara.HERE or PNT = Scara.SETPOINT&amp;lt;br&amp;gt;&lt;br /&gt;
* In that case, flags are automatclly set during the assignment.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Constant Assignment:&amp;lt;br&amp;gt;&lt;br /&gt;
* PNT = #{X,Y,Z,R;&amp;lt;'flag'&amp;gt;} by using the &amp;quot;;&amp;quot; separator between the location and the flag.&amp;lt;br&amp;gt;&lt;br /&gt;
* Note: in the previous format, all flags were set to zero (for more information refer to 'SEE ALSO' section).&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
: long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
: 0-2&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
: 0 - Auto flag&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
: Read/Write, Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
1. There are no flags used when declaring location as a joint point (DIM SHARED JPNT AS JOINT OF XYZR).&amp;lt;br&amp;gt;&lt;br /&gt;
2. Expressions are only allowed when all flags are equal or one of them is non-AUTO;&amp;lt;br&amp;gt;&lt;br /&gt;
* for example, if A = #{X1,Y1,Z1;1} and B = #{X2,Y2,Z2;1}, the expression PNT = A+B is valid&lt;br /&gt;
 &lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
move to a specific location with point redundancy flag = 1 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lefty1.png|1000px|text-right]]&amp;lt;br&amp;gt;&lt;br /&gt;
move to the same location using point redundancy flag = 2 &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:righty.png|1000px|text-right]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Points|Points]]&lt;br /&gt;
* [[MC-Basic:PRINTUSING|PrintU]]&lt;br /&gt;
* [[MC-Basic:PrintPointU|PrintPointU]]&lt;br /&gt;
* [[MC-Basic:robot.ARMCMD|robot.ARMCMD]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:righty.png&amp;diff=133265</id>
		<title>File:righty.png</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:righty.png&amp;diff=133265"/>
				<updated>2019-08-12T08:12:07Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:lefty1.png&amp;diff=133264</id>
		<title>File:lefty1.png</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:lefty1.png&amp;diff=133264"/>
				<updated>2019-08-12T08:11:45Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Motion_Control&amp;diff=133216</id>
		<title>Motion Control</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Motion_Control&amp;diff=133216"/>
				<updated>2019-03-05T14:54:43Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: linear delta link added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Motion_Control}}&lt;br /&gt;
&amp;lt;div id=&amp;quot;BackToTop&amp;quot;  class=&amp;quot;noprint&amp;quot; style=&amp;quot;background-color:; position:fixed; bottom:32px; left:95%; z-index:9999; padding:0; margin:0;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue; font-size:8pt; font-face:verdana,sans-serif; border:0.2em outset:#ceebf7; padding:0.1em; font-weight:bolder; -moz-border-radius:8px; &amp;quot;&amp;gt;&lt;br /&gt;
[[Image:TOP2.png|50px|link=#top]] &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
* [[Basic Motion Elements|Basic Motion Elements]] (axis, groups, general) [[#top]] &lt;br /&gt;
* [[Motion Commands Reference List|Motion Commands and Properties]] (arranged by topic)&lt;br /&gt;
* [[Motion Blending|Motion Blending]]&lt;br /&gt;
* [[Concatenation of Movements|Concatenation of Movements]]&lt;br /&gt;
* [[Time Based Profile (Trapezoidal Acceleration)|Time Based Profile]]&lt;br /&gt;
* [[Feedback Control Loops|Feedback Control Loops]]&lt;br /&gt;
* [[PIPEMODE| PIPEMODE]]&lt;br /&gt;
* [[Limit Switch feature |Limit Switch feature]] &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configurator ==&lt;br /&gt;
You can find softMC configurator manual [[softMC Configurator|here]]&lt;br /&gt;
&lt;br /&gt;
== Single Axis Motion ==&lt;br /&gt;
* [[Single_Axis_Motion|Single Axis Motion Overview]]&lt;br /&gt;
* [[OperationalModes|Operational Modes]]&lt;br /&gt;
* [[Error Compensation|Error Compensation]]&lt;br /&gt;
* [[Master-Slave Connection|Master-Slave Connection]] (camming, gearing)&lt;br /&gt;
** [[Gantry Issues|Gantry]]&lt;br /&gt;
** [[Phaser|Phaser]]&lt;br /&gt;
* [[Programmable Limit Switch|PLS]]&lt;br /&gt;
* [[Endless Axes|Endless Axes]]&lt;br /&gt;
* [[Compensation Table|Compensation Table]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Group and Robot Motion ==&lt;br /&gt;
&lt;br /&gt;
*[[Multi-Axis_Kinematics|Multi-Axis Kinematics]] (general introduction to multi-axis synchronization) &lt;br /&gt;
*[[Robot_Kinematics_Models|Robot Kinematic Models]] &lt;br /&gt;
**[[SCARA_robot|SCARA]] &lt;br /&gt;
**[[DELTA_robot|DELTA]] &lt;br /&gt;
**[[DELTA_robot_-_linear_model|DELTAL]]&lt;br /&gt;
**[[TARM_robot|TARM]] &lt;br /&gt;
**[[PUMA_robot|PUMA]] &lt;br /&gt;
**[[Galileo_Sphere_Robot_(GSR)_Kinematics|GSR]] &lt;br /&gt;
**[[Palletizing_Robot|Palletizing Robot]] &lt;br /&gt;
**[[Universal_DH|Universal DH]]   &lt;br /&gt;
*[[Conveyor_Tracking_Short|Conveyor Tracking]] &lt;br /&gt;
*[[Motion_Dynamics|Motion Dynamics]] &amp;lt;!-- - Computation of joint torques based on dynamic models --&amp;gt; &lt;br /&gt;
*[[Robot_Working_Frames|Working Frames]] &lt;br /&gt;
*[[User_Frame|User Frames]] &lt;br /&gt;
*[[Work_Space_Limits|WorkSpace Limits]] &lt;br /&gt;
*[[WorkSpace_areas|WorkSpace areas]]&lt;br /&gt;
&lt;br /&gt;
==Multiple Element Motion==&lt;br /&gt;
* [[Synchronization|Synchronization]]&lt;br /&gt;
&lt;br /&gt;
==Advanced==&lt;br /&gt;
* [[Inverse Dynamic Model|Inverse Dynamic Model]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[FAQ Motion Control|'''FAQs''' - Motion Control]] - Ask the developers a question&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Control]]&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Template:robot_model_table&amp;diff=133215</id>
		<title>Template:robot model table</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Template:robot_model_table&amp;diff=133215"/>
				<updated>2019-02-18T10:58:27Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot; summary=&amp;quot;This table lists all available Kinematics models in softMC&amp;quot;&lt;br /&gt;
|+ ''softMC robot-model codes:''&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
! robot-model code&lt;br /&gt;
! point-type&lt;br /&gt;
|-&lt;br /&gt;
| no model&lt;br /&gt;
| -1&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian&lt;br /&gt;
| 1&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (Pitch &amp;amp; Roll)&lt;br /&gt;
| 1&lt;br /&gt;
| PR&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian ( X and Y)&lt;br /&gt;
| 1&lt;br /&gt;
| XY&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y and Roll)&lt;br /&gt;
| 1&lt;br /&gt;
| XYR&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y and Z)&lt;br /&gt;
| 1&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y , Z and Roll)&lt;br /&gt;
| 1&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y , Z , Roll and Pitch)&lt;br /&gt;
| 1&lt;br /&gt;
| XYZRP&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y , Z ,Yaw , Roll and Pitch)&lt;br /&gt;
| 1&lt;br /&gt;
| XYZYPR&lt;br /&gt;
|-&lt;br /&gt;
| Puma&lt;br /&gt;
| 2&lt;br /&gt;
| XYZYPR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt;No Coupling&amp;lt;/del&amp;gt;&lt;br /&gt;
| &amp;lt;del&amp;gt;3&amp;lt;/del&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''SCARA (X, Y, Z and Roll)'''&lt;br /&gt;
| 4&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| SCARA (X, Y, Z )&lt;br /&gt;
| 4&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| User Defined&lt;br /&gt;
| 5&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''Delta(Flex Picker) (X, Y, Z and Roll)'''&lt;br /&gt;
| 6&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Delta(Flex Picker) (X, Y, Z )&lt;br /&gt;
| 6&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| '''Traverse Arm (Speed Picker) (X, Y, Z and Roll)'''&lt;br /&gt;
| 7&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Traverse Arm (Speed Picker) (X, Y, Z )&lt;br /&gt;
| 7&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| '''Scissor Kinematics (X, Y, Z and Roll)'''&lt;br /&gt;
| 8&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Scissor Kinematics (X, Y, Z )&lt;br /&gt;
| 8&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| Chair Side Engine - 5ON&lt;br /&gt;
| 9&lt;br /&gt;
| XYZAB&lt;br /&gt;
|-&lt;br /&gt;
| Chair Side Engine - 5OFF&lt;br /&gt;
| 10&lt;br /&gt;
| XYZAB&lt;br /&gt;
|-&lt;br /&gt;
| 3PPPR&lt;br /&gt;
| 11&lt;br /&gt;
| XYR&lt;br /&gt;
|-&lt;br /&gt;
| Lab Side Engine - 5ON&lt;br /&gt;
| 12&lt;br /&gt;
| XYZAB&lt;br /&gt;
|-&lt;br /&gt;
| Lab Side Engine - 5OFF&lt;br /&gt;
| 13&lt;br /&gt;
| XYZAB&lt;br /&gt;
|-&lt;br /&gt;
| 4 Bar linkage&lt;br /&gt;
| 14&lt;br /&gt;
| XY&lt;br /&gt;
|-&lt;br /&gt;
| GSR&lt;br /&gt;
| 15&lt;br /&gt;
| XYZPR&lt;br /&gt;
|-&lt;br /&gt;
| EVEREST - 5ON&lt;br /&gt;
| 16&lt;br /&gt;
| XYZPR&lt;br /&gt;
|-&lt;br /&gt;
| EVEREST - 5OFF&lt;br /&gt;
| 17&lt;br /&gt;
| XYZPR&lt;br /&gt;
|-&lt;br /&gt;
| PALLETIZING ROBOT&lt;br /&gt;
| 18&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Linear Delta robot&lt;br /&gt;
| 21&lt;br /&gt;
| XYZR&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Template:robot_model_table&amp;diff=133214</id>
		<title>Template:robot model table</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Template:robot_model_table&amp;diff=133214"/>
				<updated>2019-02-18T10:55:57Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: linear delta added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;left&amp;quot; border=&amp;quot;1&amp;quot; summary=&amp;quot;This table lists all available Kinematics models in softMC&amp;quot;&lt;br /&gt;
|+ ''softMC robot-model codes:''&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
! robot-model code&lt;br /&gt;
! point-type&lt;br /&gt;
|-&lt;br /&gt;
| no model&lt;br /&gt;
| -1&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian&lt;br /&gt;
| 1&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (Pitch &amp;amp; Roll)&lt;br /&gt;
| 1&lt;br /&gt;
| PR&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian ( X and Y)&lt;br /&gt;
| 1&lt;br /&gt;
| XY&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y and Roll)&lt;br /&gt;
| 1&lt;br /&gt;
| XYR&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y and Z)&lt;br /&gt;
| 1&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y , Z and Roll)&lt;br /&gt;
| 1&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y , Z , Roll and Pitch)&lt;br /&gt;
| 1&lt;br /&gt;
| XYZRP&lt;br /&gt;
|-&lt;br /&gt;
| Cartesian (X , Y , Z ,Yaw , Roll and Pitch)&lt;br /&gt;
| 1&lt;br /&gt;
| XYZYPR&lt;br /&gt;
|-&lt;br /&gt;
| Puma&lt;br /&gt;
| 2&lt;br /&gt;
| XYZYPR&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt;No Coupling&amp;lt;/del&amp;gt;&lt;br /&gt;
| &amp;lt;del&amp;gt;3&amp;lt;/del&amp;gt;&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''SCARA (X, Y, Z and Roll)'''&lt;br /&gt;
| 4&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| SCARA (X, Y, Z )&lt;br /&gt;
| 4&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| User Defined&lt;br /&gt;
| 5&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| '''Delta(Flex Picker) (X, Y, Z and Roll)'''&lt;br /&gt;
| 6&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Delta(Flex Picker) (X, Y, Z )&lt;br /&gt;
| 6&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| '''Traverse Arm (Speed Picker) (X, Y, Z and Roll)'''&lt;br /&gt;
| 7&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Traverse Arm (Speed Picker) (X, Y, Z )&lt;br /&gt;
| 7&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| '''Scissor Kinematics (X, Y, Z and Roll)'''&lt;br /&gt;
| 8&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Scissor Kinematics (X, Y, Z )&lt;br /&gt;
| 8&lt;br /&gt;
| XYZ&lt;br /&gt;
|-&lt;br /&gt;
| Chair Side Engine - 5ON&lt;br /&gt;
| 9&lt;br /&gt;
| XYZAB&lt;br /&gt;
|-&lt;br /&gt;
| Chair Side Engine - 5OFF&lt;br /&gt;
| 10&lt;br /&gt;
| XYZAB&lt;br /&gt;
|-&lt;br /&gt;
| 3PPPR&lt;br /&gt;
| 11&lt;br /&gt;
| XYR&lt;br /&gt;
|-&lt;br /&gt;
| Lab Side Engine - 5ON&lt;br /&gt;
| 12&lt;br /&gt;
| XYZAB&lt;br /&gt;
|-&lt;br /&gt;
| Lab Side Engine - 5OFF&lt;br /&gt;
| 13&lt;br /&gt;
| XYZAB&lt;br /&gt;
|-&lt;br /&gt;
| 4 Bar linkage&lt;br /&gt;
| 14&lt;br /&gt;
| XY&lt;br /&gt;
|-&lt;br /&gt;
| GSR&lt;br /&gt;
| 15&lt;br /&gt;
| XYZPR&lt;br /&gt;
|-&lt;br /&gt;
| EVEREST - 5ON&lt;br /&gt;
| 16&lt;br /&gt;
| XYZPR&lt;br /&gt;
|-&lt;br /&gt;
| EVEREST - 5OFF&lt;br /&gt;
| 17&lt;br /&gt;
| XYZPR&lt;br /&gt;
|-&lt;br /&gt;
| PALLETIZING ROBOT&lt;br /&gt;
| 18&lt;br /&gt;
| XYZR&lt;br /&gt;
|-&lt;br /&gt;
| Linear Delta&lt;br /&gt;
| 21&lt;br /&gt;
| XYZR&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133213</id>
		<title>DELTA robot - linear model</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133213"/>
				<updated>2019-02-18T10:16:46Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= DELTA robot - linear model =&lt;br /&gt;
&lt;br /&gt;
The general linear DELTA robot is usually from the following configuration:&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[File:linear delta.JPG|RTENOTITLE]]&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt; &lt;br /&gt;
The Delta Robot belongs to a group called parallel robots. Parallel robots use multiple links attached to the end effector in order to move. In most cases, the motors used to drive parallel robots are mounted to the stationary frame of the robot, and do not move.&lt;br /&gt;
&amp;lt;center style=&amp;quot;text-align: left;&amp;quot;&amp;gt;The linear robot Delta is a 3 degrees of freedom well known parallel structure allowing the 3 natural translations X, Y and Z. It exists with either rotational or linear actuated joints&amp;lt;/center&amp;gt; &lt;br /&gt;
The basic idea behind the Delta parallel robot design is the use of parallelograms. A parallelogram allows an output link to remain at a fixed orientation with respect to an input link. The use of three such parallelograms restrains completely the orientation of the mobile platform which remains only with three purely translational degrees of freedom. The input links of the three parallelograms are mounted on rotating levers via revolute joints. The revolute joints of the rotating levers are actuated in two different ways: with rotational motors or with linear actuators. Finally, a fourth leg is used to transmit rotary motion from the base to an end-effector mounted on the mobile platform.&lt;br /&gt;
&lt;br /&gt;
WIPO patent issued on June 18, 1987 ([http://www.delphion.com/details?&amp;amp;pn10=WO08703528 WO 87/03528]):&lt;br /&gt;
&lt;br /&gt;
The kinematics of the linear Delta allows a large travel space (as large as desired) in one direction (in the xdirection of the horizontal linear delta and in the zdirection for the vertical linear Delta). On the other hand, the dominant advantage of the linear Delta is its good sensitivity (and hence its resolution) in the direction3 of z. The actuator efforts are closest to the tool efforts, which makes it more suitable for tool machining applications and for applications needing stiffness. Linear sensors can be integrated to the linear guide ways and hence improve the precision of the structure.&lt;br /&gt;
&lt;br /&gt;
The vertical type linear Delta is the most adapted to have the maximum stiffness in the vertical direction. Thanks to the ternary symmetry of the motor’s disposition, it is also the most suitable to have a convenient distribution of the sensitivity in the global workspace.&lt;br /&gt;
&lt;br /&gt;
To improve the stiffness of the linear vertical Delta in the extremities,&amp;amp;nbsp;The following&amp;amp;nbsp;configuration has been applied. It&amp;amp;nbsp;is close&amp;amp;nbsp;to the rotational Delta but has one additional parameter, namely the angle (or the angles for non symmetrical versions) between the vertical and the robot axis linear guideways direction.&amp;amp;nbsp;The travel&amp;amp;nbsp;in the z direction has been reduced but we gain in the stability in the horizontal direction. The workspace of the robot is relatively large with respect to the overall robot size.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:igus lineardelta design.JPG|RTENOTITLE]]&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
== DELTA Work-Space ==&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;[[File:igus delta work space.JPG|RTENOTITLE]]&amp;lt;/p&amp;gt; &amp;lt;center&amp;gt;'''Linear Delta Workspace assessment'''&amp;lt;/center&amp;gt; &lt;br /&gt;
The linear&amp;amp;nbsp;Delta kinematics works with points of the '''XYZR'''&amp;amp;nbsp;robot type (X, Y , Z and ROLL) where the three coordinates are always expressed in millimeters.&lt;br /&gt;
&lt;br /&gt;
The DELTA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user:&lt;br /&gt;
&lt;br /&gt;
*RMAX – maximum radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;), no points beyond this radius are allowed. &lt;br /&gt;
*RMIN - smallest radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;). No points inside this radius are allowed. &lt;br /&gt;
*ZMIN – '''z''' coordinate of the “lowest” robot position. No points below this plane are allowed. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Robot configurations ==&lt;br /&gt;
&lt;br /&gt;
Delta robot has no configuration flags, there is always one unique solution of the inverse kinematics problem. This further means that the configuration arguments in inverse kinematics function '''ToJoint''' have no influence on the result. Also Cartesian movements like MOVES, CIRCLE or PASS THROUGH are not influenced by any of the command configuration flags (acmd, ecmd, wcmd), the motion will be the same independent of the value of any of these flags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Singular points ==&lt;br /&gt;
&lt;br /&gt;
Delta robot, contrary to the open-kinematics chain robot has no singular joint positions where the joint velocities tend to infinity but there are so called “direct kinematics singularity” where the stiffness of the robot is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Geometric parameters of the DELTA robot ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For the linear DELTA shown above we have the following parameters:&lt;br /&gt;
&lt;br /&gt;
[[File:igus parameters.JPG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div&amp;gt;[[File:igus parameters for config.JPG|RTENOTITLE]]&amp;lt;/div&amp;gt; &lt;br /&gt;
The above parameters of&amp;amp;nbsp;'''link'''&amp;amp;nbsp;matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. The model is assuming that the three base motors are rotated for exactly 120 degrees. Also it has been assumed that all three lags are of the same dimensions. The WORLD coordinate system is based in the center of the motor plane. Note that only the above set of parameters affects the robot geometry, the rest of the&amp;amp;nbsp;'''''link[][]'''''&amp;amp;nbsp;and&amp;amp;nbsp;'''''axis[][]&amp;amp;nbsp;'''''values do not influence the robot geometry in any way and are not affected (changed) by&amp;amp;nbsp;'''configgroup'''&amp;amp;nbsp;command or any other robot command.&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133212</id>
		<title>DELTA robot - linear model</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133212"/>
				<updated>2019-02-18T09:31:07Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= DELTA robot - linear model =&lt;br /&gt;
&lt;br /&gt;
The general linear DELTA robot is usually from the following configuration:&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[File:linear delta.JPG|RTENOTITLE]]&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt; &lt;br /&gt;
The Delta Robot belongs to a group called parallel robots. Parallel robots use multiple links attached to the end effector in order to move. In most cases, the motors used to drive parallel robots are mounted to the stationary frame of the robot, and do not move.&lt;br /&gt;
&amp;lt;center style=&amp;quot;text-align: left;&amp;quot;&amp;gt;The linear robot Delta is a 3 degrees of freedom well known parallel structure allowing the 3 natural translations X, Y and Z. It exists with either rotational or linear actuated joints&amp;lt;/center&amp;gt; &lt;br /&gt;
The basic idea behind the Delta parallel robot design is the use of parallelograms. A parallelogram allows an output link to remain at a fixed orientation with respect to an input link. The use of three such parallelograms restrains completely the orientation of the mobile platform which remains only with three purely translational degrees of freedom. The input links of the three parallelograms are mounted on rotating levers via revolute joints. The revolute joints of the rotating levers are actuated in two different ways: with rotational motors or with linear actuators. Finally, a fourth leg is used to transmit rotary motion from the base to an end-effector mounted on the mobile platform.&lt;br /&gt;
&lt;br /&gt;
WIPO patent issued on June 18, 1987 ([http://www.delphion.com/details?&amp;amp;pn10=WO08703528 WO 87/03528]):&lt;br /&gt;
&lt;br /&gt;
The kinematics of the linear Delta allows a large travel space (as large as desired) in one direction (in the xdirection of the horizontal linear delta and in the zdirection for the vertical linear Delta). On the other hand, the dominant advantage of the linear Delta is its good sensitivity (and hence its resolution) in the direction3 of z. The actuator efforts are closest to the tool efforts, which makes it more suitable for tool machining applications and for applications needing stiffness. Linear sensors can be integrated to the linear guide ways and hence improve the precision of the structure.&lt;br /&gt;
&lt;br /&gt;
The vertical type linear Delta is the most adapted to have the maximum stiffness in the vertical direction. Thanks to the ternary symmetry of the motor’s disposition, it is also the most suitable to have a convenient distribution of the sensitivity in the global workspace.&lt;br /&gt;
&lt;br /&gt;
To improve the stiffness of the linear vertical Delta in the extremities,&amp;amp;nbsp;The following&amp;amp;nbsp;configuration has been applied. It&amp;amp;nbsp;is close&amp;amp;nbsp;to the rotational Delta but has one additional parameter, namely the angle (or the angles for non symmetrical versions) between the vertical and the robot axis linear guideways direction.&amp;amp;nbsp;The travel&amp;amp;nbsp;in the z direction has been reduced but we gain in the stability in the horizontal direction. The workspace of the robot is relatively large with respect to the overall robot size.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:igus lineardelta design.JPG|RTENOTITLE]]&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
== DELTA Work-Space ==&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;[[File:igus delta work space.JPG|RTENOTITLE]]&amp;lt;/p&amp;gt; &amp;lt;center&amp;gt;'''Linear Delta Workspace assessment'''&amp;lt;/center&amp;gt; &lt;br /&gt;
The linear&amp;amp;nbsp;Delta kinematics works with points of the '''XYZ'''&amp;amp;nbsp;robot type(X, Y , Z) where the three coordinates are always expressed in millimeters.&lt;br /&gt;
&lt;br /&gt;
The DELTA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user:&lt;br /&gt;
&lt;br /&gt;
*RMAX – maximum radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;), no points beyond this radius are allowed. &lt;br /&gt;
*RMIN - smallest radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;). No points inside this radius are allowed. &lt;br /&gt;
*ZMIN – '''z''' coordinate of the “lowest” robot position. No points below this plane are allowed. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Robot configurations ==&lt;br /&gt;
&lt;br /&gt;
Delta robot has no configuration flags, there is always one unique solution of the inverse kinematics problem. This further means that the configuration arguments in inverse kinematics function '''ToJoint''' have no influence on the result. Also Cartesian movements like MOVES, CIRCLE or PASS THROUGH are not influenced by any of the command configuration flags (acmd, ecmd, wcmd), the motion will be the same independent of the value of any of these flags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Singular points ==&lt;br /&gt;
&lt;br /&gt;
Delta robot, contrary to the open-kinematics chain robot has no singular joint positions where the joint velocities tend to infinity but there are so called “direct kinematics singularity” where the stiffness of the robot is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Geometric parameters of the DELTA robot ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For the linear DELTA shown above we have the following parameters:&lt;br /&gt;
&lt;br /&gt;
[[File:igus parameters.JPG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div&amp;gt;[[File:igus parameters for config.JPG|RTENOTITLE]]&amp;lt;/div&amp;gt; &lt;br /&gt;
The above parameters of&amp;amp;nbsp;'''link'''&amp;amp;nbsp;matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. The model is assuming that the three base motors are rotated for exactly 120 degrees. Also it has been assumed that all three lags are of the same dimensions. The WORLD coordinate system is based in the center of the motor plane. Note that only the above set of parameters affects the robot geometry, the rest of the&amp;amp;nbsp;'''''link[][]'''''&amp;amp;nbsp;and&amp;amp;nbsp;'''''axis[][]&amp;amp;nbsp;'''''values do not influence the robot geometry in any way and are not affected (changed) by&amp;amp;nbsp;'''configgroup'''&amp;amp;nbsp;command or any other robot command.&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133211</id>
		<title>DELTA robot - linear model</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133211"/>
				<updated>2019-02-18T09:30:26Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= DELTA robot - linear model =&lt;br /&gt;
&lt;br /&gt;
The general linear DELTA robot is usually from the following configuration:&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[File:linear delta.JPG|RTENOTITLE]]&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt; &lt;br /&gt;
The Delta Robot belongs to a group called parallel robots. Parallel robots use multiple links attached to the end effector in order to move. In most cases, the motors used to drive parallel robots are mounted to the stationary frame of the robot, and do not move.&lt;br /&gt;
&amp;lt;center style=&amp;quot;text-align: left;&amp;quot;&amp;gt;The linear robot Delta is a 3 degrees of freedom well known parallel structure allowing the 3 natural translations X, Y and Z. It exists with either rotational or linear actuated joints&amp;lt;/center&amp;gt; &lt;br /&gt;
The basic idea behind the Delta parallel robot design is the use of parallelograms. A parallelogram allows an output link to remain at a fixed orientation with respect to an input link. The use of three such parallelograms restrains completely the orientation of the mobile platform which remains only with three purely translational degrees of freedom. The input links of the three parallelograms are mounted on rotating levers via revolute joints. The revolute joints of the rotating levers are actuated in two different ways: with rotational motors or with linear actuators. Finally, a fourth leg is used to transmit rotary motion from the base to an end-effector mounted on the mobile platform.&lt;br /&gt;
&lt;br /&gt;
WIPO patent issued on June 18, 1987 ([http://www.delphion.com/details?&amp;amp;pn10=WO08703528 WO 87/03528]):&lt;br /&gt;
&lt;br /&gt;
The kinematics of the linear Delta allows a large travel space (as large as desired) in one direction (in the xdirection of the horizontal linear delta and in the zdirection for the vertical linear Delta). On the other hand, the dominant advantage of the linear Delta is its good sensitivity (and hence its resolution) in the direction3 of z. The actuator efforts are closest to the tool efforts, which makes it more suitable for tool machining applications and for applications needing stiffness. Linear sensors can be integrated to the linear guide ways and hence improve the precision of the structure.&lt;br /&gt;
&lt;br /&gt;
The vertical type linear Delta is the most adapted to have the maximum stiffness in the vertical direction. Thanks to the ternary symmetry of the motor’s disposition, it is also the most suitable to have a convenient distribution of the sensitivity in the global workspace.&lt;br /&gt;
&lt;br /&gt;
To improve the stiffness of the linear vertical Delta in the extremities,&amp;amp;nbsp;The following&amp;amp;nbsp;configuration has been applied. It&amp;amp;nbsp;is close&amp;amp;nbsp;to the rotational Delta but has one additional parameter, namely the angle (or the angles for non symmetrical versions) between the vertical and the robot axis linear guideways direction.&amp;amp;nbsp;The travel&amp;amp;nbsp;in the z direction has been reduced but we gain in the stability in the horizontal direction. The workspace of the robot is relatively large with respect to the overall robot size.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:igus lineardelta design.JPG|RTENOTITLE]]&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
== DELTA Work-Space ==&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;[[File:igus delta work space.JPG|RTENOTITLE]]&amp;lt;/p&amp;gt; &amp;lt;center&amp;gt;'''Linear Delta Workspace assessment'''&amp;lt;/center&amp;gt; &lt;br /&gt;
The linear&amp;amp;nbsp;Delta kinematics works with points of the '''XYZ'''&amp;amp;nbsp;robot type(X, Y , Z) where the three coordinates are always expressed in millimeters.&lt;br /&gt;
&lt;br /&gt;
The DELTA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user:&lt;br /&gt;
&lt;br /&gt;
*RMAX – maximum radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;), no points beyond this radius are allowed. &lt;br /&gt;
*RMIN - smallest radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;). No points inside this radius are allowed. &lt;br /&gt;
*ZMIN – '''z''' coordinate of the “lowest” robot position. No points below this plane are allowed. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Robot configurations ==&lt;br /&gt;
&lt;br /&gt;
Delta robot has no configuration flags, there is always one unique solution of the inverse kinematics problem. This further means that the configuration arguments in inverse kinematics function '''ToJoint''' have no influence on the result. Also Cartesian movements like MOVES, CIRCLE or PASS THROUGH are not influenced by any of the command configuration flags (acmd, ecmd, wcmd), the motion will be the same independent of the value of any of these flags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Singular points ==&lt;br /&gt;
&lt;br /&gt;
Delta robot, contrary to the open-kinematics chain robot has no singular joint positions where the joint velocities tend to infinity but there are so called “direct kinematics singularity” where the stiffness of the robot is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Geometric parameters of the DELTA robot ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For the linear DELTA shown above we have the following parameters:&lt;br /&gt;
&lt;br /&gt;
[[File:igus parameters.JPG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
====== [[File:igus parameters for config.JPG|RTENOTITLE]] ======&lt;br /&gt;
&lt;br /&gt;
The above parameters of&amp;amp;nbsp;'''link'''&amp;amp;nbsp;matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. The model is assuming that the three base motors are rotated for exactly 120 degrees. Also it has been assumed that all three lags are of the same dimensions. The WORLD coordinate system is based in the center of the motor plane. Note that only the above set of parameters affects the robot geometry, the rest of the&amp;amp;nbsp;'''''link[][]'''''&amp;amp;nbsp;and&amp;amp;nbsp;'''''axis[][]&amp;amp;nbsp;'''''values do not influence the robot geometry in any way and are not affected (changed) by&amp;amp;nbsp;'''configgroup'''&amp;amp;nbsp;command or any other robot command.&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133210</id>
		<title>DELTA robot - linear model</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133210"/>
				<updated>2019-02-18T09:27:21Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: this page in being built&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= DELTA robot - linear model =&lt;br /&gt;
&lt;br /&gt;
The general linear DELTA robot is usually from the following configuration:&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[File:linear delta.JPG|RTENOTITLE]]&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt; &lt;br /&gt;
The Delta Robot belongs to a group called parallel robots. Parallel robots use multiple links attached to the end effector in order to move. In most cases, the motors used to drive parallel robots are mounted to the stationary frame of the robot, and do not move.&lt;br /&gt;
&amp;lt;center style=&amp;quot;text-align: left;&amp;quot;&amp;gt;The linear robot Delta is a 3 degrees of freedom well known parallel structure allowing the 3 natural translations X, Y and Z. It exists with either rotational or linear actuated joints&amp;lt;/center&amp;gt; &lt;br /&gt;
The basic idea behind the Delta parallel robot design is the use of parallelograms. A parallelogram allows an output link to remain at a fixed orientation with respect to an input link. The use of three such parallelograms restrains completely the orientation of the mobile platform which remains only with three purely translational degrees of freedom. The input links of the three parallelograms are mounted on rotating levers via revolute joints. The revolute joints of the rotating levers are actuated in two different ways: with rotational motors or with linear actuators. Finally, a fourth leg is used to transmit rotary motion from the base to an end-effector mounted on the mobile platform.&lt;br /&gt;
&lt;br /&gt;
WIPO patent issued on June 18, 1987 ([http://www.delphion.com/details?&amp;amp;pn10=WO08703528 WO 87/03528]):&lt;br /&gt;
&lt;br /&gt;
The kinematics of the linear Delta allows a large travel space (as large as desired) in one direction (in the xdirection of the horizontal linear delta and in the zdirection for the vertical linear Delta). On the other hand, the dominant advantage of the linear Delta is its good sensitivity (and hence its resolution) in the direction3 of z. The actuator efforts are closest to the tool efforts, which makes it more suitable for tool machining applications and for applications needing stiffness. Linear sensors can be integrated to the linear guide ways and hence improve the precision of the structure.&lt;br /&gt;
&lt;br /&gt;
The vertical type linear Delta is the most adapted to have the maximum stiffness in the vertical direction. Thanks to the ternary symmetry of the motor’s disposition, it is also the most suitable to have a convenient distribution of the sensitivity in the global workspace.&lt;br /&gt;
&lt;br /&gt;
To improve the stiffness of the linear vertical Delta in the extremities,&amp;amp;nbsp;The following&amp;amp;nbsp;configuration has been applied. It&amp;amp;nbsp;is close&amp;amp;nbsp;to the rotational Delta but has one additional parameter, namely the angle (or the angles for non symmetrical versions) between the vertical and the robot axis linear guideways direction.&amp;amp;nbsp;The travel&amp;amp;nbsp;in the z direction has been reduced but we gain in the stability in the horizontal direction. The workspace of the robot is relatively large with respect to the overall robot size.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:igus lineardelta design.JPG|RTENOTITLE]]&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
== DELTA Work-Space ==&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;[[File:igus delta work space.JPG|RTENOTITLE]]&amp;lt;/p&amp;gt; &amp;lt;center&amp;gt;'''Linear Delta Workspace assessment'''&amp;lt;/center&amp;gt; &lt;br /&gt;
The linear&amp;amp;nbsp;Delta kinematics works with points of the '''XYZ'''&amp;amp;nbsp;robot type(X, Y , Z) where the three coordinates are always expressed in millimeters.&lt;br /&gt;
&lt;br /&gt;
The DELTA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user:&lt;br /&gt;
&lt;br /&gt;
*RMAX – maximum radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;), no points beyond this radius are allowed. &lt;br /&gt;
*RMIN - smallest radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;). No points inside this radius are allowed. &lt;br /&gt;
*ZMIN – '''z''' coordinate of the “lowest” robot position. No points below this plane are allowed. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Robot configurations ==&lt;br /&gt;
&lt;br /&gt;
Delta robot has no configuration flags, there is always one unique solution of the inverse kinematics problem. This further means that the configuration arguments in inverse kinematics function '''ToJoint''' have no influence on the result. Also Cartesian movements like MOVES, CIRCLE or PASS THROUGH are not influenced by any of the command configuration flags (acmd, ecmd, wcmd), the motion will be the same independent of the value of any of these flags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Singular points ==&lt;br /&gt;
&lt;br /&gt;
Delta robot, contrary to the open-kinematics chain robot has no singular joint positions where the joint velocities tend to infinity but there are so called “direct kinematics singularity” where the stiffness of the robot is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Geometric parameters of the DELTA robot ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For the linear DELTA shown above we have the following parameters:&lt;br /&gt;
&lt;br /&gt;
[[File:igus parameters.JPG]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
====== [[File:igus parameters for config.JPG]] ======&lt;br /&gt;
&lt;br /&gt;
The above parameters of&amp;amp;nbsp;'''link'''&amp;amp;nbsp;matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. The model is assuming that the three base motors are rotated for exactly 120 degrees. Also it has been assumed that all three lags are of the same dimensions. The WORLD coordinate system is based in the center of the motor plane. Note that only the above set of parameters affects the robot geometry, the rest of the&amp;amp;nbsp;'''''link[][]'''''&amp;amp;nbsp;and&amp;amp;nbsp;'''''axis[][]&amp;amp;nbsp;'''''values do not influence the robot geometry in any way and are not affected (changed) by&amp;amp;nbsp;'''configgroup'''&amp;amp;nbsp;command or any other robot command.&lt;br /&gt;
&lt;br /&gt;
== &amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:igus_parameters.JPG&amp;diff=133209</id>
		<title>File:igus parameters.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:igus_parameters.JPG&amp;diff=133209"/>
				<updated>2019-02-18T09:21:59Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: Guy uploaded a new version of File:igus parameters.JPG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:igus_parameters_for_config.JPG&amp;diff=133208</id>
		<title>File:igus parameters for config.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:igus_parameters_for_config.JPG&amp;diff=133208"/>
				<updated>2019-02-18T09:19:51Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:igus_parameters.JPG&amp;diff=133207</id>
		<title>File:igus parameters.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:igus_parameters.JPG&amp;diff=133207"/>
				<updated>2019-02-18T09:19:38Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133206</id>
		<title>DELTA robot - linear model</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133206"/>
				<updated>2019-02-18T08:57:06Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: this page in being built&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= DELTA robot - linear model =&lt;br /&gt;
&lt;br /&gt;
The general linear DELTA robot is usually from the following configuration:&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;[[File:linear delta.JPG|RTENOTITLE]]&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt; &lt;br /&gt;
The Delta Robot belongs to a group called parallel robots. Parallel robots use multiple links attached to the end effector in order to move. In most cases, the motors used to drive parallel robots are mounted to the stationary frame of the robot, and do not move.&lt;br /&gt;
&amp;lt;center style=&amp;quot;text-align: left;&amp;quot;&amp;gt;The linear robot Delta is a 3 degrees of freedom well known parallel structure allowing the 3 natural translations X, Y and Z. It exists with either rotational or linear actuated joints&amp;lt;/center&amp;gt; &lt;br /&gt;
The basic idea behind the Delta parallel robot design is the use of parallelograms. A parallelogram allows an output link to remain at a fixed orientation with respect to an input link. The use of three such parallelograms restrains completely the orientation of the mobile platform which remains only with three purely translational degrees of freedom. The input links of the three parallelograms are mounted on rotating levers via revolute joints. The revolute joints of the rotating levers are actuated in two different ways: with rotational motors or with linear actuators. Finally, a fourth leg is used to transmit rotary motion from the base to an end-effector mounted on the mobile platform.&lt;br /&gt;
&lt;br /&gt;
WIPO patent issued on June 18, 1987 ([http://www.delphion.com/details?&amp;amp;pn10=WO08703528 WO 87/03528]):&lt;br /&gt;
&lt;br /&gt;
The kinematics of the linear Delta allows a large travel space (as large as desired) in one direction (in the xdirection of the horizontal linear delta and in the zdirection for the vertical linear Delta). On the other hand, the dominant advantage of the linear Delta is its good sensitivity (and hence its resolution) in the direction3 of z. The actuator efforts are closest to the tool efforts, which makes it more suitable for tool machining applications and for applications needing stiffness. Linear sensors can be integrated to the linear guide ways and hence improve the precision of the structure.&lt;br /&gt;
&lt;br /&gt;
The vertical type linear Delta is the most adapted to have the maximum stiffness in the vertical direction. Thanks to the ternary symmetry of the motor’s disposition, it is also the most suitable to have a convenient distribution of the sensitivity in the global workspace.&lt;br /&gt;
&lt;br /&gt;
To improve the stiffness of the linear vertical Delta in the extremities,&amp;amp;nbsp;The following&amp;amp;nbsp;configuration has been applied. It&amp;amp;nbsp;is close&amp;amp;nbsp;to the rotational Delta but has one additional parameter, namely the angle (or the angles for non symmetrical versions) between the vertical and the robot axis linear guideways direction.&amp;amp;nbsp;The travel&amp;amp;nbsp;in the z direction has been reduced but we gain in the stability in the horizontal direction. The workspace of the robot is relatively large with respect to the overall robot size.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:igus lineardelta design.JPG|RTENOTITLE]]&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
== DELTA Work-Space ==&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center;&amp;quot;&amp;gt;[[File:igus delta work space.JPG|RTENOTITLE]]&amp;lt;/p&amp;gt; &amp;lt;center&amp;gt;'''Linear Delta Workspace assessment'''&amp;lt;/center&amp;gt; &lt;br /&gt;
The linear&amp;amp;nbsp;Delta kinematics works with points of the '''XYZ'''&amp;amp;nbsp;robot type(X, Y , Z) where the three coordinates are always expressed in millimeters.&lt;br /&gt;
&lt;br /&gt;
The DELTA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user:&lt;br /&gt;
&lt;br /&gt;
*RMAX – maximum radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;), no points beyond this radius are allowed. &lt;br /&gt;
*RMIN - smallest radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;). No points inside this radius are allowed. &lt;br /&gt;
*ZMIN – '''z''' coordinate of the “lowest” robot position. No points below this plane are allowed. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Robot configurations ==&lt;br /&gt;
&lt;br /&gt;
Delta robot has no configuration flags, there is always one unique solution of the inverse kinematics problem. This further means that the configuration arguments in inverse kinematics function '''ToJoint''' have no influence on the result. Also Cartesian movements like MOVES, CIRCLE or PASS THROUGH are not influenced by any of the command configuration flags (acmd, ecmd, wcmd), the motion will be the same independent of the value of any of these flags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Singular points ==&lt;br /&gt;
&lt;br /&gt;
Delta robot, contrary to the open-kinematics chain robot has no singular joint positions where the joint velocities tend to infinity but there are so called “direct kinematics singularity” where the stiffness of the robot is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Case when the upper arm linkages are parallel to each other. At this singular configuration manipulator can not resist any force applied in the plane of moving platform.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Geometric parameters of the DELTA robot ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For the linear DELTA shown above:&lt;br /&gt;
&lt;br /&gt;
[[File:body and plate measures.JPG]]&lt;br /&gt;
&lt;br /&gt;
The above parameters of '''link''' matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. The model is assuming that the three base motors are rotated for exactly 120 degrees. Also it has been assumed that all three lags are of the same dimensions. The WORLD coordinate system is based in the center of the motor plane. Note that only the above set of parameters affects the robot geometry, the rest of the&lt;br /&gt;
&amp;lt;pre&amp;gt;'''''link[][]'''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;pre&amp;gt;'''''axis[][] '''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
values do not influence the robot geometry in any way and are not affected (changed) by '''configgroup''' command or any other robot command.&lt;br /&gt;
&lt;br /&gt;
== &amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133205</id>
		<title>DELTA robot - linear model</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133205"/>
				<updated>2019-02-18T08:50:22Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: this page in being built&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= DELTA robot - linear model =&lt;br /&gt;
&lt;br /&gt;
The general linear DELTA robot is usually from the following configuration:&lt;br /&gt;
&lt;br /&gt;
[[File:linear delta.JPG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
The Delta Robot belongs to a group called parallel robots. Parallel robots use multiple links attached to the end effector in order to move. In most cases, the motors used to drive parallel robots are mounted to the stationary frame of the robot, and do not move.&lt;br /&gt;
&amp;lt;center style=&amp;quot;text-align: left;&amp;quot;&amp;gt;The linear robot Delta is a 3 degrees of freedom well known parallel structure allowing the 3 natural translations X, Y and Z. It exists with either rotational or linear actuated joints&amp;lt;/center&amp;gt; &lt;br /&gt;
The basic idea behind the Delta parallel robot design is the use of parallelograms. A parallelogram allows an output link to remain at a fixed orientation with respect to an input link. The use of three such parallelograms restrains completely the orientation of the mobile platform which remains only with three purely translational degrees of freedom. The input links of the three parallelograms are mounted on rotating levers via revolute joints. The revolute joints of the rotating levers are actuated in two different ways: with rotational motors or with linear actuators. Finally, a fourth leg is used to transmit rotary motion from the base to an end-effector mounted on the mobile platform.&lt;br /&gt;
&lt;br /&gt;
WIPO patent issued on June 18, 1987 ([http://www.delphion.com/details?&amp;amp;pn10=WO08703528 WO 87/03528]):&lt;br /&gt;
&lt;br /&gt;
The kinematics of the linear Delta allows a large travel space (as large as desired) in one direction (in the xdirection of the horizontal linear delta and in the zdirection for the vertical linear Delta). On the other hand, the dominant advantage of the linear Delta is its good sensitivity (and hence its resolution) in the direction3 of z. The actuator efforts are closest to the tool efforts, which makes it more suitable for tool machining applications and for applications needing stiffness. Linear sensors can be integrated to the linear guide ways and hence improve the precision of the structure.&lt;br /&gt;
&lt;br /&gt;
The vertical type linear Delta is the most adapted to have the maximum stiffness in the vertical direction. Thanks to the ternary symmetry of the motor’s disposition, it is also the most suitable to have a convenient distribution of the sensitivity in the global workspace.&lt;br /&gt;
&lt;br /&gt;
To improve the stiffness of the linear vertical Delta in the extremities,&amp;amp;nbsp;The following&amp;amp;nbsp;configuration has been applied. It&amp;amp;nbsp;is close&amp;amp;nbsp;to the rotational Delta but has one additional parameter, namely the angle (or the angles for non symmetrical versions) between the vertical and the robot axis linear guideways direction.&amp;amp;nbsp;The travel&amp;amp;nbsp;in the z direction has been reduced but we gain in the stability in the horizontal direction. The workspace of the robot is relatively large with respect to the overall robot size.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:igus lineardelta design.JPG|RTENOTITLE]]&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
== DELTA Work-Space ==&lt;br /&gt;
&lt;br /&gt;
[[File:igus delta work space.JPG|RTENOTITLE]]&lt;br /&gt;
&amp;lt;center&amp;gt;'''Linear Delta Workspace assessment'''&amp;lt;/center&amp;gt; &lt;br /&gt;
The linear&amp;amp;nbsp;Delta kinematics works with points of the '''XYZ'''&amp;amp;nbsp;robot type(X, Y , Z) where the three coordinates are always expressed in millimeters.&lt;br /&gt;
&lt;br /&gt;
The DELTA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user:&lt;br /&gt;
&lt;br /&gt;
*RMAX – maximum radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;), no points beyond this radius are allowed. &lt;br /&gt;
*RMIN - smallest radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;). No points inside this radius are allowed. &lt;br /&gt;
*ZMIN – '''z''' coordinate of the “lowest” robot position. No points below this plane are allowed. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Robot configurations ==&lt;br /&gt;
&lt;br /&gt;
Delta robot has no configuration flags, there is always one unique solution of the inverse kinematics problem. This further means that the configuration arguments in inverse kinematics function '''ToJoint''' have no influence on the result. Also Cartesian movements like MOVES, CIRCLE or PASS THROUGH are not influenced by any of the command configuration flags (acmd, ecmd, wcmd), the motion will be the same independent of the value of any of these flags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Singular points ==&lt;br /&gt;
&lt;br /&gt;
Delta robot, contrary to the open-kinematics chain robot has no singular joint positions where the joint velocities tend to infinity but there are so called “direct kinematics singularity” where the stiffness of the robot is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Case when the upper arm linkages are parallel to each other. At this singular configuration manipulator can not resist any force applied in the plane of moving platform.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Geometric parameters of the DELTA robot ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For DELTA family of robots we have:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The above parameters of '''link''' matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. The model is assuming that the three base motors are rotated for exactly 120 degrees. Also it has been assumed that all three lags are of the same dimensions. The WORLD coordinate system is based in the center of the motor plane. Note that only the above set of parameters affects the robot geometry, the rest of the&lt;br /&gt;
&amp;lt;pre&amp;gt;'''''link[][]'''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;pre&amp;gt;'''''axis[][] '''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
values do not influence the robot geometry in any way and are not affected (changed) by '''configgroup''' command or any other robot command.&lt;br /&gt;
&lt;br /&gt;
== &amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133204</id>
		<title>DELTA robot - linear model</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133204"/>
				<updated>2019-02-18T08:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: this page in being built&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= DELTA robot - linear model =&lt;br /&gt;
&lt;br /&gt;
The general linear DELTA robot is usually from the following configuration:&lt;br /&gt;
&lt;br /&gt;
[[File:linear delta.JPG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
The Delta Robot belongs to a group called parallel robots. Parallel robots use multiple links attached to the end effector in order to move. In most cases, the motors used to drive parallel robots are mounted to the stationary frame of the robot, and do not move.&lt;br /&gt;
&amp;lt;center style=&amp;quot;text-align: left;&amp;quot;&amp;gt;The linear robot Delta is a 3 degrees of freedom well known parallel structure allowing the 3 natural translations X, Y and Z. It exists with either rotational or linear actuated joints&amp;lt;/center&amp;gt; &lt;br /&gt;
The basic idea behind the Delta parallel robot design is the use of parallelograms. A parallelogram allows an output link to remain at a fixed orientation with respect to an input link. The use of three such parallelograms restrains completely the orientation of the mobile platform which remains only with three purely translational degrees of freedom. The input links of the three parallelograms are mounted on rotating levers via revolute joints. The revolute joints of the rotating levers are actuated in two different ways: with rotational motors or with linear actuators. Finally, a fourth leg is used to transmit rotary motion from the base to an end-effector mounted on the mobile platform.&lt;br /&gt;
&lt;br /&gt;
WIPO patent issued on June 18, 1987 ([http://www.delphion.com/details?&amp;amp;pn10=WO08703528 WO 87/03528]):&lt;br /&gt;
&lt;br /&gt;
The kinematics of the linear Delta allows a large travel space (as large as desired) in one direction (in the xdirection of the horizontal linear delta and in the zdirection for the vertical linear Delta). On the other hand, the dominant advantage of the linear Delta is its good sensitivity (and hence its resolution) in the direction3 of z. The actuator efforts are closest to the tool efforts, which makes it more suitable for tool machining applications and for applications needing stiffness. Linear sensors can be integrated to the linear guide ways and hence improve the precision of the structure.&lt;br /&gt;
&lt;br /&gt;
The vertical type linear Delta is the most adapted to have the maximum stiffness in the vertical direction. Thanks to the ternary symmetry of the motor’s disposition, it is also the most suitable to have a convenient distribution of the sensitivity in the global workspace.&lt;br /&gt;
&lt;br /&gt;
To improve the stiffness of the linear vertical Delta in the extremities,&amp;amp;nbsp;The following&amp;amp;nbsp;configuration has been applied. It&amp;amp;nbsp;is close&amp;amp;nbsp;to the rotational Delta but has one additional parameter, namely the angle (or the angles for non symmetrical versions) between the vertical and the robot axis linear guideways direction.&amp;amp;nbsp;The travel&amp;amp;nbsp;in the z direction has been reduced but we gain in the stability in the horizontal direction. The workspace of the robot is relatively large with respect to the overall robot size.&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:igus lineardelta design.JPG]]&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
== DELTA Work-Space ==&lt;br /&gt;
&lt;br /&gt;
[[File:igus delta work space.JPG]]&lt;br /&gt;
&amp;lt;center&amp;gt;'''Linear Delta Workspace assessment'''&amp;lt;/center&amp;gt; &lt;br /&gt;
The Delta kinematics works with points of the '''XYZR''' robot type(X, Y , Z and Roll) where the first three coordinates are always expressed in millimeters and the roll angle in degrees.&lt;br /&gt;
&lt;br /&gt;
The DELTA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user:&lt;br /&gt;
&lt;br /&gt;
*RMAX – maximum radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;), no points beyond this radius are allowed. &lt;br /&gt;
*RMIN - smallest radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;). No points inside this radius are allowed. &lt;br /&gt;
*ZMIN – '''z''' coordinate of the “lowest” robot position. No points below this plane are allowed. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Robot configurations ==&lt;br /&gt;
&lt;br /&gt;
Delta robot has no configuration flags, there is always one unique solution of the inverse kinematics problem. This further means that the configuration arguments in inverse kinematics function '''ToJoint''' have no influence on the result. Also Cartesian movements like MOVES, CIRCLE or PASS THROUGH are not influenced by any of the command configuration flags (acmd, ecmd, wcmd), the motion will be the same independent of the value of any of these flags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Singular points ==&lt;br /&gt;
&lt;br /&gt;
Delta robot, contrary to the open-kinematics chain robot has no singular joint positions where the joint velocities tend to infinity but there are so called “direct kinematics singularity” where the stiffness of the robot is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Case when the upper arm linkages are parallel to each other. At this singular configuration manipulator can not resist any force applied in the plane of moving platform.&lt;br /&gt;
&lt;br /&gt;
Another singular position which in is more a '''theoretical''' in our case is the so called direct kinematics singular configuration,in which all the upper arm linkages are in the plane of the moving platform. At such a configuration, the manipulator actuators can not resist any force applied to the moving platform in the z-direction.&lt;br /&gt;
&lt;br /&gt;
'''This case is possible only when &amp;lt;math&amp;gt;L_1 +R_{big} &amp;gt;= L_2 + R_{small} &amp;lt;/math&amp;gt; which in our case is not fulfilled!'''&lt;br /&gt;
&lt;br /&gt;
== Geometric parameters of the DELTA robot ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For DELTA family of robots we have:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The above parameters of '''link''' matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. The model is assuming that the three base motors are rotated for exactly 120 degrees. Also it has been assumed that all three lags are of the same dimensions. The WORLD coordinate system is based in the center of the motor plane. Note that only the above set of parameters affects the robot geometry, the rest of the&lt;br /&gt;
&amp;lt;pre&amp;gt;'''''link[][]'''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;pre&amp;gt;'''''axis[][] '''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
values do not influence the robot geometry in any way and are not affected (changed) by '''configgroup''' command or any other robot command.&lt;br /&gt;
&lt;br /&gt;
== Typical DELTA poses ==&lt;br /&gt;
&lt;br /&gt;
Farthest (highest) reachable Z coordinate and the maximum joint angle.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Z_{max} = \sqrt {(L_1+L_2)^2 - (R_{big}-R_{small})^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\theta_{1max} = \pi - asin(Z_{max} /over {L_1+L_2})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Closest (lowest) reachable Z coordinate and the maximum joint angle.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;math&amp;gt;L_1 + R_{big} &amp;gt;= L_2 + R_{small} &amp;lt;/math&amp;gt; then the following is true '''(not applicable in our case)''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Z_{min} = \sqrt {L_1^2 - (L_2 + R_{small}-R_{big})^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\theta_{1min} = \pi - (asin(Z_{max} /over {L_2}) + \pi /over 2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
“Zero” position, for &amp;lt;math&amp;gt;\theta = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Z_{min} = \sqrt {L_2^2 - (L_1 + R_{big}-R_{small})^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;pre&amp;gt;#{-5.68434e-14 , 0 , 505.569 , 0}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;?toCart({106.87,106.87,106.87,0})&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;pre&amp;gt;#{-7.10543e-15 , 0 , 1052.43 , 0}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Orientation Angle ==&lt;br /&gt;
&lt;br /&gt;
The DELTA kinematics has only one orientation angle (roll) it is directly (one-to-one) driven by the fourth motor. The value of the WORLD roll angle equals always to the fourth joint position limited (wrapped)&lt;br /&gt;
&amp;lt;pre&amp;gt;to angle values between [-180, 180]. Orientation interpolation is determined by the OrientationFollwing flag. In the case of DELTA robots joint and world angles are directly related and therefore we have only two options of the OrientationFollowing flag:&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Take the longer path between initial and final roll angle: '''OrientationFollowing flag equals 2 or 3''' &lt;br /&gt;
*Take the shorter path between initial and final roll angle: '''OrientationFollowing flag equals 0 or 1'''&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:linear_actuator_Vertical_movement_case.JPG&amp;diff=133203</id>
		<title>File:linear actuator Vertical movement case.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:linear_actuator_Vertical_movement_case.JPG&amp;diff=133203"/>
				<updated>2019-02-18T08:18:12Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:linear_actuator_longitudinal_movment_case.JPG&amp;diff=133202</id>
		<title>File:linear actuator longitudinal movment case.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:linear_actuator_longitudinal_movment_case.JPG&amp;diff=133202"/>
				<updated>2019-02-18T08:18:03Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:limited_angle.JPG&amp;diff=133201</id>
		<title>File:limited angle.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:limited_angle.JPG&amp;diff=133201"/>
				<updated>2019-02-18T08:17:49Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:body_and_plate_measures.JPG&amp;diff=133200</id>
		<title>File:body and plate measures.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:body_and_plate_measures.JPG&amp;diff=133200"/>
				<updated>2019-02-18T08:17:38Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:igus_delta_work_space.JPG&amp;diff=133199</id>
		<title>File:igus delta work space.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:igus_delta_work_space.JPG&amp;diff=133199"/>
				<updated>2019-02-18T08:17:25Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:igus_lineardelta_design.JPG&amp;diff=133198</id>
		<title>File:igus lineardelta design.JPG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:igus_lineardelta_design.JPG&amp;diff=133198"/>
				<updated>2019-02-18T08:17:06Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133197</id>
		<title>DELTA robot - linear model</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=DELTA_robot_-_linear_model&amp;diff=133197"/>
				<updated>2019-02-17T15:46:04Z</updated>
		
		<summary type="html">&lt;p&gt;Guy: this page in being built&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= DELTA robot - linear model =&lt;br /&gt;
&lt;br /&gt;
The general linear DELTA robot is usually from the following configuration:&lt;br /&gt;
&lt;br /&gt;
[[File:linear delta.JPG]]&lt;br /&gt;
&lt;br /&gt;
The Delta Robot belongs to a group called parallel robots. Parallel robots use multiple links attached to the end effector in order to move. In most cases, the motors used to drive parallel robots are mounted to the stationary frame of the robot, and do not move.&lt;br /&gt;
&amp;lt;center style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
The basic idea behind the Delta parallel robot design is the use of parallelograms. A parallelogram allows an output link to remain at a fixed orientation with respect to an input link. The use of three such parallelograms restrains completely the orientation of the mobile platform which remains only with three purely translational degrees of freedom. The input links of the three parallelograms are mounted on rotating levers via revolute joints. The revolute joints of the rotating levers are actuated in two different ways: with rotational motors or with linear actuators. Finally, a fourth leg is used to transmit rotary motion from the base to an end-effector mounted on the mobile platform.&lt;br /&gt;
&lt;br /&gt;
WIPO patent issued on June 18, 1987 ([http://www.delphion.com/details?&amp;amp;pn10=WO08703528 WO 87/03528]):&lt;br /&gt;
&lt;br /&gt;
''“The device comprises a base element (1) and a movable element (8). Three control arms (4) are rigidly mounted at their first extremity (15) on three shafts (2) which may be rotated. The three assemblies each formed by a shaft (2) and an arm (4) are the movable parts of three actuators (13) of which the fixed parts (3) are integral with the base element. The other extremity (16) of each control arm is made integral with the movable element through two linking bars (5a, 5b) hingedly mounted on the one hand to the second extremity (16) of the control arm and, on the other hand, to the movable element. The inclination and the orientation in the space of the movable element remain unchanged, whatever the motions of the three control arms may be. The movable element supports a working element (9) of which the rotation is controlled by a fixed motor (11) situated on the base element. A telescopic arm (14) connects the motor to the working element.”''&lt;br /&gt;
&lt;br /&gt;
Also: ([http://www.delphion.com/details?&amp;amp;pn10=US04976582 US 4,976,582]), and ([http://www.delphion.com/details?pn=EP00250470B1 EP 0 250 470]).&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &amp;lt;center&amp;gt;&amp;amp;nbsp;&amp;lt;/center&amp;gt; &lt;br /&gt;
== DELTA Work-Space ==&lt;br /&gt;
&lt;br /&gt;
[[File:AXY;DeltaWspace.png|RTENOTITLE]]&lt;br /&gt;
&amp;lt;center&amp;gt;'''Delta Workspace assessment'''&amp;lt;/center&amp;gt; &lt;br /&gt;
The Delta kinematics works with points of the '''XYZR''' robot type(X, Y , Z and Roll) where the first three coordinates are always expressed in millimeters and the roll angle in degrees.&lt;br /&gt;
&lt;br /&gt;
The DELTA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user:&lt;br /&gt;
&lt;br /&gt;
*RMAX – maximum radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;), no points beyond this radius are allowed. &lt;br /&gt;
*RMIN - smallest radius of a cartesian point (&amp;lt;math&amp;gt;\sqrt {x^2 + y^2 + z^2} &amp;lt;/math&amp;gt;). No points inside this radius are allowed. &lt;br /&gt;
*ZMIN – '''z''' coordinate of the “lowest” robot position. No points below this plane are allowed. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Robot configurations ==&lt;br /&gt;
&lt;br /&gt;
Delta robot has no configuration flags, there is always one unique solution of the inverse kinematics problem. This further means that the configuration arguments in inverse kinematics function '''ToJoint''' have no influence on the result. Also Cartesian movements like MOVES, CIRCLE or PASS THROUGH are not influenced by any of the command configuration flags (acmd, ecmd, wcmd), the motion will be the same independent of the value of any of these flags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Singular points ==&lt;br /&gt;
&lt;br /&gt;
Delta robot, contrary to the open-kinematics chain robot has no singular joint positions where the joint velocities tend to infinity but there are so called “direct kinematics singularity” where the stiffness of the robot is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Case when the upper arm linkages are parallel to each other. At this singular configuration manipulator can not resist any force applied in the plane of moving platform.&lt;br /&gt;
&lt;br /&gt;
Another singular position which in is more a '''theoretical''' in our case is the so called direct kinematics singular configuration,in which all the upper arm linkages are in the plane of the moving platform. At such a configuration, the manipulator actuators can not resist any force applied to the moving platform in the z-direction.&lt;br /&gt;
&lt;br /&gt;
'''This case is possible only when &amp;lt;math&amp;gt;L_1 +R_{big} &amp;gt;= L_2 + R_{small} &amp;lt;/math&amp;gt; which in our case is not fulfilled!'''&lt;br /&gt;
&lt;br /&gt;
== Geometric parameters of the DELTA robot ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For DELTA family of robots we have:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The above parameters of '''link''' matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. The model is assuming that the three base motors are rotated for exactly 120 degrees. Also it has been assumed that all three lags are of the same dimensions. The WORLD coordinate system is based in the center of the motor plane. Note that only the above set of parameters affects the robot geometry, the rest of the&lt;br /&gt;
&amp;lt;pre&amp;gt;'''''link[][]'''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;pre&amp;gt;'''''axis[][] '''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
values do not influence the robot geometry in any way and are not affected (changed) by '''configgroup''' command or any other robot command. &lt;br /&gt;
== Typical DELTA poses ==&lt;br /&gt;
&lt;br /&gt;
Farthest (highest) reachable Z coordinate and the maximum joint angle.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Z_{max} = \sqrt {(L_1+L_2)^2 - (R_{big}-R_{small})^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\theta_{1max} = \pi - asin(Z_{max} /over {L_1+L_2})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Closest (lowest) reachable Z coordinate and the maximum joint angle.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;math&amp;gt;L_1 + R_{big} &amp;gt;= L_2 + R_{small} &amp;lt;/math&amp;gt; then the following is true '''(not applicable in our case)''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Z_{min} = \sqrt {L_1^2 - (L_2 + R_{small}-R_{big})^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\theta_{1min} = \pi - (asin(Z_{max} /over {L_2}) + \pi /over 2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
“Zero” position, for &amp;lt;math&amp;gt;\theta = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Z_{min} = \sqrt {L_2^2 - (L_1 + R_{big}-R_{small})^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;pre&amp;gt;#{-5.68434e-14 , 0 , 505.569 , 0}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;?toCart({106.87,106.87,106.87,0})&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;pre&amp;gt;#{-7.10543e-15 , 0 , 1052.43 , 0}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Orientation Angle ==&lt;br /&gt;
&lt;br /&gt;
The DELTA kinematics has only one orientation angle (roll) it is directly (one-to-one) driven by the fourth motor. The value of the WORLD roll angle equals always to the fourth joint position limited (wrapped)&lt;br /&gt;
&amp;lt;pre&amp;gt;to angle values between [-180, 180]. Orientation interpolation is determined by the OrientationFollwing flag. In the case of DELTA robots joint and world angles are directly related and therefore we have only two options of the OrientationFollowing flag:&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Take the longer path between initial and final roll angle: '''OrientationFollowing flag equals 2 or 3''' &lt;br /&gt;
*Take the shorter path between initial and final roll angle: '''OrientationFollowing flag equals 0 or 1'''&lt;/div&gt;</summary>
		<author><name>Guy</name></author>	</entry>

	</feed>