<?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=Hallel</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=Hallel"/>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/wiki/Special:Contributions/Hallel"/>
		<updated>2026-07-05T20:02:56Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Program_Examples:fast-PLS&amp;diff=134098</id>
		<title>Program Examples:fast-PLS</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Program_Examples:fast-PLS&amp;diff=134098"/>
				<updated>2026-06-15T12:11:51Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Program_Examples:Path-PLS}} &lt;br /&gt;
== [[Program_Examples:1.1_Feature_introduction|1.1 Feature introduction]] ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This feature is used for laser applications or any other application that needs a drive's digital output to be toggled as fast as possible, depending on the motor position.&amp;lt;br/&amp;gt; In this example the FAST digital output 7/8 of the CDHD2 is triggered as fast as possible depending on the position feedback.&amp;lt;br/&amp;gt; Instead of using the drive's position-based PCOM feature, we will use the softMC's fast PLS feature together with the drive's time-based PCOM feature, to trigger the digital output. The fast PLS feature allows us to trigger the drive's output even between EtherCAT cycles.&lt;br /&gt;
&lt;br /&gt;
== [[Program_Examples:1.2_Scenarios|1.2 Scenarios]] ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I will explain the MC controller code that I wrote line by line&amp;lt;br/&amp;gt; The idea is to perform a homing process (home type 35) then to send motion to 400 degrees&amp;lt;br/&amp;gt; Meanwhile the motor is moving the user should see that the output 7 is toggled on 5 points: 150,175,200,220,360 degrees&lt;br /&gt;
&lt;br /&gt;
== [[Program_Examples:1.2_Scenarios|1.2 HW connection]] ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
C2 connection&amp;amp;nbsp;:&amp;amp;nbsp;&amp;lt;br/&amp;gt; [[File:Hwconnectionfastpls2.png|600x400px|Hwconnectionfastpls2.png]]&lt;br /&gt;
&lt;br /&gt;
In other word:&amp;lt;br/&amp;gt; [[File:Hwconnectionfastpls.png|350x300px|Hwconnectionfastpls.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== [[Program_Examples:1.2.2_Before_running_the_code|1.3&amp;amp;nbsp;Before running the code]] ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Fast PLS output functionality need to be set on the drive (on out 7 or out 8)&amp;lt;br/&amp;gt; On the configurator in control studio two new objects need to be mapped on pdo4&amp;amp;nbsp;: 2191h and 2205h&lt;br /&gt;
&lt;br /&gt;
[[File:configfastpls.png|500x400px|configfastpls.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== [[Program_Examples:1.2.2_Before_running_the_code|1.4 The&amp;amp;nbsp;code]] ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'------------------------------------------------------------------------------&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' File:&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;MyTask&amp;gt;.prg&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' Purpose:&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Just an example of a module header&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' Version:&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; 1.00&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' Author:&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;Elliot Serfaty&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' Description:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' History:&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; YYYY-MM-DD&amp;amp;nbsp; &amp;lt;MyShortCut&amp;gt;&amp;amp;nbsp; V1.00&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Created&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'------------------------------------------------------------------------------&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' module global &amp;quot;constants&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'common shared FASTPLS1 as PLS a1 sys.DOut.1008&amp;lt;/span&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;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'Laser should be&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'On when pfb =&amp;gt;&amp;amp;nbsp; 150 &amp;amp;nbsp;deg&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'Off when pfb =&amp;gt; 175 &amp;amp;nbsp;&amp;amp;nbsp;deg&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'On when pfb =&amp;gt;&amp;amp;nbsp; 200 &amp;amp;nbsp;deg&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'Off when pfb =&amp;gt; 220 &amp;amp;nbsp;&amp;amp;nbsp;deg&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'On when pfb =&amp;gt;&amp;amp;nbsp; 360&amp;amp;nbsp;&amp;amp;nbsp; deg&amp;lt;/span&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;
program&lt;br /&gt;
&lt;br /&gt;
dim actualpfb as long&lt;br /&gt;
&lt;br /&gt;
dim tol as long = 0.1&lt;br /&gt;
&lt;br /&gt;
dim i as long&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
attach a1&lt;br /&gt;
&lt;br /&gt;
Print &amp;quot;------FastPLS V1.0--------&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Print &amp;quot;/!\Home proccess/!\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
call EC_SLAVE_SET_HOMING_PARAMETERS(a1,HOMING_METHOD,35) &amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;&amp;amp;nbsp;‘Hometype = 35&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
call EC_SLAVE_HOME_DS402(a1, 5000)&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;‘Enable the home process&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if a1.PFb &amp;lt; tol and a1.PFac &amp;gt; - tol then&lt;br /&gt;
&lt;br /&gt;
Print &amp;quot;Homing&amp;amp;nbsp;: DONE ,Pfb = &amp;quot; + str$ (a1.PFb)&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
Print &amp;quot;-&amp;gt;Homing&amp;amp;nbsp;: FAIL ,Pfb = &amp;quot; + str$ (a1.PFb)&lt;br /&gt;
&lt;br /&gt;
end if&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;/!\ Init the Fast-PLS /!\ &amp;quot;&lt;br /&gt;
&lt;br /&gt;
sys.dout.1008=0&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'Turn off the output 1008 is pointing to DOUT 7 of the drive&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsEnable = OFF&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' Disable the FastPLS&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sys.dout.sim[1008]=0&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' set output as real&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.hwassistance=2&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' PLS as Fast PLS&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CreatePlsData 5 FASTPLS1&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;' Create 5 points&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsPosition[1] =&amp;amp;nbsp; 150&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsPosition[2] =&amp;amp;nbsp; 175&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsPosition[3] =&amp;amp;nbsp; 200&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsPosition[4] =&amp;amp;nbsp; 220&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsPosition[5] =&amp;amp;nbsp; 360&lt;br /&gt;
&lt;br /&gt;
for i=1 to 5&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;Print &amp;quot;PLS position number: &amp;quot; + str$(i)+ &amp;quot;= &amp;quot;; FASTPLS1.PlsPosition[i]&lt;br /&gt;
&lt;br /&gt;
next&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsSource = A1.Pcmd&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;‘source of the PCOM&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PLSPropagationDelay=0&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PLSPropagationEnableDelay = 0&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsPolarity = ON &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'low to high polarity&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsEnable&amp;amp;nbsp;&amp;amp;nbsp; = ON&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;‘Enable the fastpls&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;FastPLS Active &amp;quot;&lt;br /&gt;
&lt;br /&gt;
print&amp;quot; &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Print&amp;quot;Motion activated&amp;quot;&lt;br /&gt;
&lt;br /&gt;
a1.En=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'record FASTPLS1.rec 50000 recdata = a1.PositionCommandHistory[1],a1.pcmd, 50*sys.dout[1008] ,ec_pdo_read(1,0x2191,0),a1.vcmd,((ec_pdo_read(1,0x2205,1) shl 4) shr 4), a1.PositionCommandHistory[1]+a1.vcmd*((ec_pdo_read(1,0x2205,1) shl 4) shr 4)/10/1e6&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'record FASTPLS1.rec 10000 Gap=1 Recdata = a1.PCmd , 50*sys.dout[1008], ec_pdo_read(1,0x2191,0) , ec_pdo_read(1,0x2205,1)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#00b050&amp;quot;&amp;gt;'recordon&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
move a1 400 abs=1 vcruise=720&lt;br /&gt;
&lt;br /&gt;
waitformotion a1&lt;br /&gt;
&lt;br /&gt;
Print&amp;quot;Drive disable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
a1.En=0&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsEnable&amp;amp;nbsp;&amp;amp;nbsp; = OFF&lt;br /&gt;
&lt;br /&gt;
FASTPLS1.PlsPolarity = OFF&lt;br /&gt;
&lt;br /&gt;
Print&amp;quot;Test is done&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'recordclose&lt;br /&gt;
&lt;br /&gt;
detach a1&lt;br /&gt;
&lt;br /&gt;
End Program&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== [[Program_Examples:1.2.2_Before_running_the_code|1.5&amp;amp;nbsp; The results]] ==&lt;br /&gt;
&lt;br /&gt;
[[File:FastplsResults.png|650x500px|FastplsResults.png]]&lt;br /&gt;
&lt;br /&gt;
In red the cycle times (4ms)&amp;lt;br/&amp;gt; In blue the output 7&lt;br /&gt;
&lt;br /&gt;
As we can see the output is triggered even if it is not on the cycle time&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:pls.PLSPropagationEnableDelay&amp;diff=134097</id>
		<title>MC-Basic:pls.PLSPropagationEnableDelay</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:pls.PLSPropagationEnableDelay&amp;diff=134097"/>
				<updated>2026-06-15T12:07:09Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
|SHORT FORM= none&lt;br /&gt;
|SYNTAX= &amp;lt;pls&amp;gt;.PLSPropagationEnableDelay = &amp;lt;double&amp;gt;&lt;br /&gt;
|AVAILABILITY= Version 4.7.x and later.&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
&lt;br /&gt;
This delay is used for instances in which the PLS sets the external device to the enabled state. &amp;lt;br&amp;gt;&lt;br /&gt;
The delay value is assigned by the user. The default value of 0 means there is no delay at all.&amp;lt;br&amp;gt;&lt;br /&gt;
The value is expressed in milliseconds, in double floating point format. Internally, it is always rounded to the nearest microsecond (e.g., 2.5001 is considered 2.5).&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The delay is calculated as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
t = (PLSPropagationDelay+PLSPropagationEnableDelay) * 1000 + Δt &amp;lt;br&amp;gt;&lt;br /&gt;
where Δt is the inter-sample delay; that is, the time at which the motion crosses the PLS position, as measured from the beginning of the sample (t=0).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note| Must be remember that there is another older property PLSPropagationDelay that also indicates on delay. This property doesn't distinguish between the external device state. It's default value is zero so if not setting any value by the user - it won't be taken into calculation. }}&lt;br /&gt;
&lt;br /&gt;
{{Note| Since PLSPropagationDisableDelay values are given in milliseconds, the user is responsible for changing it after any change in the '''bus[*].cycletime.'''}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Value will be in double-floating point format, internally always rounded up to microsecond value '''(i.e. 2.5001 same as 2.5)'''}}&lt;br /&gt;
&lt;br /&gt;
|TYPE= double&lt;br /&gt;
|RANGE= 0 - MAXD&lt;br /&gt;
|UNITS= ms&lt;br /&gt;
|DEFAULT= 0&lt;br /&gt;
|SCOPE = Task, Terminal&lt;br /&gt;
|LIMITATIONS= Can be set only when PLS is disabled.&lt;br /&gt;
|EXAMPLE= PLSPropagationEnableDelay = 2.5&lt;br /&gt;
|SEE ALSO= &lt;br /&gt;
*[[AXY:PLS On/Off delay| PLS On/Off delay]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPropagationDisableDelay| PLSPropagationDisableDelay]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPOLARITY| PLSPolarity ]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPropagationDelay| PLSPropagationDelay]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:pls.PLSPropagationDisableDelay&amp;diff=134096</id>
		<title>MC-Basic:pls.PLSPropagationDisableDelay</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:pls.PLSPropagationDisableDelay&amp;diff=134096"/>
				<updated>2026-06-15T12:06:38Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
|SHORT FORM= none&lt;br /&gt;
|SYNTAX= &amp;lt;pls&amp;gt;.PLSPropagationDisableDelay = &amp;lt;double&amp;gt;&lt;br /&gt;
|AVAILABILITY= Version 4.7.x and later.&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
&lt;br /&gt;
This delay is used for instances in which the PLS sets the external device to the disabled state.&amp;lt;br&amp;gt; &lt;br /&gt;
The delay value is assigned by the user. The default value of 0 means there is no delay at all.&amp;lt;br&amp;gt;&lt;br /&gt;
The value is expressed in milliseconds, in double floating point format. Internally, it is always rounded to the nearest microsecond (e.g., 2.5001 is considered 2.5).&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The delay is calculated as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
t = (PLSPropagationDelay+PLSPropagationDisableDelay) * 1000 + Δt&amp;lt;br&amp;gt; &lt;br /&gt;
where Δt is the inter-sample delay; that is, the time at which the motion crosses the PLS position, as measured from the beginning of the sample (t=0).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Must be remember that there is another older property PLSPropagationDelay that also indicates on delay. This property doesn't distinguish between the external device state. It's default value is zero so if not setting any value by the user - it won't be taken into calculation. }}&lt;br /&gt;
&lt;br /&gt;
{{Note| Since PLSPropagationDisableDelay values are given in milliseconds, the user is responsible for changing it after any change in the '''bus[*].cycletime.'''}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Value will be in double-floating point format, internally always rounded up to microsecond value '''(i.e. 2.5001 same as 2.5)'''}}&lt;br /&gt;
&lt;br /&gt;
|TYPE= double&lt;br /&gt;
|RANGE= 0 - MAXD&lt;br /&gt;
|UNITS= ms&lt;br /&gt;
|DEFAULT= 0&lt;br /&gt;
|SCOPE = Task, Terminal&lt;br /&gt;
|LIMITATIONS= Can be set only when PLS is disabled.&lt;br /&gt;
|EXAMPLE= PLSPropagationDisableDelay = 2.5&lt;br /&gt;
|SEE ALSO= &lt;br /&gt;
*[[AXY:PLS On/Off delay| PLS On/Off delay]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPropagationEnableDelay| PLSPropagationEnableDelay]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPOLARITY| PLSPolarity ]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPropagationDelay| PLSPropagationDelay]] &lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:pls.PLSPropagationDisableDelay&amp;diff=134095</id>
		<title>MC-Basic:pls.PLSPropagationDisableDelay</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:pls.PLSPropagationDisableDelay&amp;diff=134095"/>
				<updated>2026-06-15T12:05:53Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
|SHORT FORM= none&lt;br /&gt;
|SYNTAX= &amp;lt;pls&amp;gt;.PLSPropagationDisableDelay = &amp;lt;double&amp;gt;&lt;br /&gt;
|AVAILABILITY= Version 4.7.x and later.&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
&lt;br /&gt;
This delay is used for instances in which the PLS sets the external device to the disabled state.&amp;lt;br&amp;gt; &lt;br /&gt;
The delay value is assigned by the user. The default value of 0 means there is no delay at all.&amp;lt;br&amp;gt;&lt;br /&gt;
The value is expressed in milliseconds, in double floating point format. Internally, it is always rounded to the nearest microsecond (e.g., 2.5001 is considered 2.5).&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The delay is calculated as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
t = (PLSPropagationDelay+PLSPropagationDisableDelay) * 1000 + Δt&amp;lt;br&amp;gt; &lt;br /&gt;
where Δt is the inter-sample delay; that is, the time at which the motion crosses the PLS position, as measured from the beginning of the sample (t=0).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| Must be remember that there is another older property PLSPropagationDelay that also indicates on delay. This property doesn't distinguish between the external device state. It's default value is zero so if not setting any value by the user - it won't be taken into calculation. }}&lt;br /&gt;
&lt;br /&gt;
{{Note| Since PLSPropagationDisableDelay values are given in milliseconds, the user is responsible for changing it after any change in the '''bus[*].cycletime.'''}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Value will be in double-floating point format, internally always rounded up to microsecond value '''(i.e. 2.5001 same as 2.5)'''}}&lt;br /&gt;
&lt;br /&gt;
|TYPE= double&lt;br /&gt;
|RANGE= 0 - MAXD&lt;br /&gt;
|UNITS= ms&lt;br /&gt;
|DEFAULT= 0&lt;br /&gt;
|SCOPE = Task, Terminal&lt;br /&gt;
|LIMITATIONS= Can be set only when PLS is disabled.&lt;br /&gt;
|EXAMPLE= PLSDisableDelay = 2.5&lt;br /&gt;
|SEE ALSO= &lt;br /&gt;
*[[AXY:PLS On/Off delay| PLS On/Off delay]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPropagationEnableDelay| PLSPropagationEnableDelay]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPOLARITY| PLSPolarity ]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPropagationDelay| PLSPropagationDelay]] &lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:pls.PLSPropagationEnableDelay&amp;diff=134094</id>
		<title>MC-Basic:pls.PLSPropagationEnableDelay</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:pls.PLSPropagationEnableDelay&amp;diff=134094"/>
				<updated>2026-06-15T12:04:53Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
|SHORT FORM= none&lt;br /&gt;
|SYNTAX= &amp;lt;pls&amp;gt;.PLSPropagationEnableDelay = &amp;lt;double&amp;gt;&lt;br /&gt;
|AVAILABILITY= Version 4.7.x and later.&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
&lt;br /&gt;
This delay is used for instances in which the PLS sets the external device to the enabled state. &amp;lt;br&amp;gt;&lt;br /&gt;
The delay value is assigned by the user. The default value of 0 means there is no delay at all.&amp;lt;br&amp;gt;&lt;br /&gt;
The value is expressed in milliseconds, in double floating point format. Internally, it is always rounded to the nearest microsecond (e.g., 2.5001 is considered 2.5).&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The delay is calculated as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
t = (PLSPropagationDelay+PLSPropagationEnableDelay) * 1000 + Δt &amp;lt;br&amp;gt;&lt;br /&gt;
where Δt is the inter-sample delay; that is, the time at which the motion crosses the PLS position, as measured from the beginning of the sample (t=0).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note| Must be remember that there is another older property PLSPropagationDelay that also indicates on delay. This property doesn't distinguish between the external device state. It's default value is zero so if not setting any value by the user - it won't be taken into calculation. }}&lt;br /&gt;
&lt;br /&gt;
{{Note| Since PLSPropagationDisableDelay values are given in milliseconds, the user is responsible for changing it after any change in the '''bus[*].cycletime.'''}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Value will be in double-floating point format, internally always rounded up to microsecond value '''(i.e. 2.5001 same as 2.5)'''}}&lt;br /&gt;
&lt;br /&gt;
|TYPE= double&lt;br /&gt;
|RANGE= 0 - MAXD&lt;br /&gt;
|UNITS= ms&lt;br /&gt;
|DEFAULT= 0&lt;br /&gt;
|SCOPE = Task, Terminal&lt;br /&gt;
|LIMITATIONS= Can be set only when PLS is disabled.&lt;br /&gt;
|EXAMPLE= PLSEnableDelay = 2.5&lt;br /&gt;
|SEE ALSO= &lt;br /&gt;
*[[AXY:PLS On/Off delay| PLS On/Off delay]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPropagationDisableDelay| PLSPropagationDisableDelay]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPOLARITY| PLSPolarity ]] &lt;br /&gt;
*[[MC-Basic:pls.PLSPropagationDelay| PLSPropagationDelay]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134090</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134090"/>
				<updated>2026-05-21T01:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: added link to ArchNo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
See the picture below with these three points marked on it.&lt;br /&gt;
&lt;br /&gt;
The three JUMPX command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''[[MC-Basic:robot.ARCHNO|ArchNo]] = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX Rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX Rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property [[MC-Basic:robot.LimZ|LimZ]] is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion, side view. The horizontal motion is not necessarily a linear segment]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and JUMP3CP, segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task only&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134089</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134089"/>
				<updated>2026-04-29T13:22:58Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Scope: Task only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
See the picture below with these three points marked on it.&lt;br /&gt;
&lt;br /&gt;
The three JUMPX command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX Rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX Rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property [[MC-Basic:robot.LimZ|LimZ]] is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion, side view. The horizontal motion is not necessarily a linear segment]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and JUMP3CP, segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task only&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCHNO&amp;diff=134088</id>
		<title>MC-Basic:robot.ARCHNO</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCHNO&amp;diff=134088"/>
				<updated>2026-04-29T13:22:11Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.ArchNo}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
:ArchNo is used when executing [[MC-Basic:JUMP|JUMP]], [[MC-Basic:JUMP3|JUMP3]] and [[MC-Basic:JUMP3CP|JUMP3CP]] motion cammands. &lt;br /&gt;
:It specifies which [[MC-Basic:robot.ARCH|Arch]] pair will be used in the JUMP command.&lt;br /&gt;
:If ArchNo is not specified, there shall be no blending between the three segments of the the JUMP command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|350px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
1 to 7&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task only&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Nodal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.Arch[1][1] = 10&amp;lt;br&amp;gt;&lt;br /&gt;
SCARA.Arch[1][2] = 15&amp;lt;br&amp;gt;&lt;br /&gt;
JUMP &amp;lt;target point&amp;gt; ArchNo = 1&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.Arch|Arch]]&lt;br /&gt;
* [[MC-Basic:robot.LimZ|LimZ]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCH&amp;diff=134087</id>
		<title>MC-Basic:robot.ARCH</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCH&amp;diff=134087"/>
				<updated>2026-04-29T12:31:20Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.Arch}} &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;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][1] = &amp;lt;value1&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][2] = &amp;lt;value2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][1]&amp;lt;br&amp;gt;&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][2]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
:Arch is used for the [[MC-Basic:JUMP|JUMP]], [[MC-Basic:JUMP3|JUMP3]] and [[MC-Basic:JUMP3CP|JUMP3CP]] motion cammands. &lt;br /&gt;
:Arch[&amp;lt;index&amp;gt;][1] specifies the length that will not be blended along the first JUMP segment, whereas Arch[&amp;lt;index&amp;gt;][2] specifies the length that will not be blended along the third JUMP segment.&lt;br /&gt;
&lt;br /&gt;
:There are 7 available Arch pairs:&lt;br /&gt;
:Arch[1][1], Arch[1][2]&lt;br /&gt;
:...&lt;br /&gt;
:Arch[7][1], Arch[7][2]&lt;br /&gt;
&lt;br /&gt;
:The default values are:&lt;br /&gt;
:Arch[x][1] = 20 + 10*x&lt;br /&gt;
:Arch[x][2] = 20 + 10*x&lt;br /&gt;
:for x = 1..7.&lt;br /&gt;
&lt;br /&gt;
:The nodal parameter ''ArchNo'' specifies which Arch pair will be used in the JUMP command. If ArchNo is not specified, there shall be no blending between the three segments of the the JUMP command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
0 to Maxdouble&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.Arch[1][1] = 10&amp;lt;br&amp;gt;&lt;br /&gt;
SCARA.Arch[1][2] = 15&amp;lt;br&amp;gt;&lt;br /&gt;
?SCARA.Arch[2][1]&amp;lt;br&amp;gt;&lt;br /&gt;
JUMP &amp;lt;target point&amp;gt; ArchNo = 1&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.LimZ|LimZ]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCH&amp;diff=134086</id>
		<title>MC-Basic:robot.ARCH</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCH&amp;diff=134086"/>
				<updated>2026-04-29T11:55:23Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added ArchNo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.Arch}} &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;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][1] = &amp;lt;value1&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][2] = &amp;lt;value2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][1]&amp;lt;br&amp;gt;&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][2]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
:Arch is used for the [[MC-Basic:JUMP|JUMP]], [[MC-Basic:JUMP3|JUMP3]] and [[MC-Basic:JUMP3CP|JUMP3CP]] motion cammands. &lt;br /&gt;
:Arch[&amp;lt;index&amp;gt;][1] specifies the length that will not be blended along the first JUMP segment, whereas Arch[&amp;lt;index&amp;gt;][2] specifies the length that will not be blended along the third JUMP segment.&lt;br /&gt;
&lt;br /&gt;
:There are 7 available Arch pairs:&lt;br /&gt;
:Arch[1][1], Arch[1][2]&lt;br /&gt;
:...&lt;br /&gt;
:Arch[7][1], Arch[7][2]&lt;br /&gt;
&lt;br /&gt;
:The default values are:&lt;br /&gt;
:Arch[x][1] = 20 + 10*x&lt;br /&gt;
:Arch[x][2] = 20 + 10*x&lt;br /&gt;
:for x = 1..7.&lt;br /&gt;
&lt;br /&gt;
:The nodal parameter ''ArchNo'' specifies which Arch pair will be used in the JUMP command. If ArchNo is not specified, there shall be no blending between the three segments of the the JUMP command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
0 to Maxdouble&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.Arch[1][1] = 10&amp;lt;br&amp;gt;&lt;br /&gt;
SCARA.Arch[1][2] = 15&amp;lt;br&amp;gt;&lt;br /&gt;
?SCARA.Arch[2][1]&amp;lt;br&amp;gt;&lt;br /&gt;
JUMP &amp;lt;target point&amp;gt; ArchNo = &amp;lt;x&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.LimZ|LimZ]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134084</id>
		<title>MC-Basic:robot.LIMZ</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134084"/>
				<updated>2026-04-29T11:49:08Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:robot.LimZ to MC-Basic:robot.LIMZ: Unity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.LIMZ}} &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;''robot_name''&amp;gt;.LimZ = &amp;lt;value&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.LimZ&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
LimZ is used only for the [[MC-Basic:JUMP|JUMP]] motion cammand. It specifies the absolute height that the JUMP motion will reach.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|350px|Points along a JUMP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|350px|LimZ specifies the height that the JUMP motion will reach]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
Mindouble to Maxdouble&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal and nodal&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.LimZ = -20&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?SCARA.LimZ&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
JUMP &amp;lt;target point&amp;gt; LimZ = &amp;lt;value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.ARCH|ARCH]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LimZ&amp;diff=134085</id>
		<title>MC-Basic:robot.LimZ</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LimZ&amp;diff=134085"/>
				<updated>2026-04-29T11:49:08Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:robot.LimZ to MC-Basic:robot.LIMZ: Unity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MC-Basic:robot.LIMZ]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134083</id>
		<title>MC-Basic:robot.LIMZ</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134083"/>
				<updated>2026-04-29T11:47:33Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Fixed default&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.LIMZ}} &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;''robot_name''&amp;gt;.LimZ = &amp;lt;value&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.LimZ&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
LimZ is used only for the [[MC-Basic:JUMP|JUMP]] motion cammand. It specifies the absolute height that the JUMP motion will reach.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|350px|Points along a JUMP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|350px|LimZ specifies the height that the JUMP motion will reach]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
Mindouble to Maxdouble&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal and nodal&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.LimZ = -20&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?SCARA.LimZ&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
JUMP &amp;lt;target point&amp;gt; LimZ = &amp;lt;value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.ARCH|ARCH]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134082</id>
		<title>MC-Basic:robot.LIMZ</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134082"/>
				<updated>2026-04-29T11:46:35Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added pictures&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.LIMZ}} &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;''robot_name''&amp;gt;.LimZ = &amp;lt;value&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.LimZ&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
LimZ is used only for the [[MC-Basic:JUMP|JUMP]] motion cammand. It specifies the absolute height that the JUMP motion will reach.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|350px|Points along a JUMP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|350px|LimZ specifies the height that the JUMP motion will reach]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
Mindouble to Maxdouble&lt;br /&gt;
&lt;br /&gt;
Default: 0&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal and nodal&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.LimZ = -20&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?SCARA.LimZ&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
JUMP &amp;lt;target point&amp;gt; LimZ = &amp;lt;value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.ARCH|ARCH]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCH&amp;diff=134081</id>
		<title>MC-Basic:robot.ARCH</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCH&amp;diff=134081"/>
				<updated>2026-04-29T11:39:45Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added picture&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.Arch}} &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;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][1] = &amp;lt;value1&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][2] = &amp;lt;value2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][1]&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][2]&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
:Arch is used for the [[MC-Basic:JUMP|JUMP]], [[MC-Basic:JUMP3|JUMP3]] and [[MC-Basic:JUMP3CP|JUMP3CP]] motion cammands. &lt;br /&gt;
:Arch[&amp;lt;index&amp;gt;][1] specifies the length that will not be blended along the first JUMP segment, whereas Arch[&amp;lt;index&amp;gt;][2] specifies the length that will not be blended along the third JUMP segment.&lt;br /&gt;
&lt;br /&gt;
:There are 7 available Arch pairs:&lt;br /&gt;
:Arch[1][1], Arch[1][2]&lt;br /&gt;
:...&lt;br /&gt;
:Arch[7][1], Arch[7][2]&lt;br /&gt;
&lt;br /&gt;
:The default values are:&lt;br /&gt;
:Arch[x][1] = 20 + 10*x&lt;br /&gt;
:Arch[x][2] = 20 + 10*x&lt;br /&gt;
:for x = 1..7.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
0 to Maxdouble&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.Arch[1][1] = 10&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SCARA.Arch[1][2] = 15&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?SCARA.Arch[2][1]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.LimZ|LimZ]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCH&amp;diff=134080</id>
		<title>MC-Basic:robot.ARCH</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.ARCH&amp;diff=134080"/>
				<updated>2026-04-29T11:37:42Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.Arch}} &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;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][1] = &amp;lt;value1&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][2] = &amp;lt;value2&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][1]&lt;br /&gt;
?&amp;lt;''robot_name''&amp;gt;.Arch[&amp;lt;index&amp;gt;][2]&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
:Arch is used for the [[MC-Basic:JUMP|JUMP]], [[MC-Basic:JUMP3|JUMP3]] and [[MC-Basic:JUMP3CP|JUMP3CP]] motion cammands. &lt;br /&gt;
:Arch[&amp;lt;index&amp;gt;][1] specifies the length that will not be blended along the first JUMP segment, whereas Arch[&amp;lt;index&amp;gt;][2] specifies the length that will not be blended along the third JUMP segment.&lt;br /&gt;
&lt;br /&gt;
:There are 7 available Arch pairs:&lt;br /&gt;
:Arch[1][1], Arch[1][2]&lt;br /&gt;
:...&lt;br /&gt;
:Arch[7][1], Arch[7][2]&lt;br /&gt;
&lt;br /&gt;
:The default values are:&lt;br /&gt;
:Arch[x][1] = 20 + 10*x&lt;br /&gt;
:Arch[x][2] = 20 + 10*x&lt;br /&gt;
:for x = 1..7.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
0 to Maxdouble&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.Arch[1][1] = 10&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SCARA.Arch[1][2] = 15&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?SCARA.Arch[2][1]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.LimZ|LimZ]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134079</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134079"/>
				<updated>2026-04-29T11:21:03Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
See the picture below with these three points marked on it.&lt;br /&gt;
&lt;br /&gt;
The three JUMPX command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX Rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX Rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property [[MC-Basic:robot.LimZ|LimZ]] is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion, side view. The horizontal motion is not necessarily a linear segment]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and JUMP3CP, segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134078</id>
		<title>MC-Basic:robot.LIMZ</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134078"/>
				<updated>2026-04-29T11:19:45Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added default value&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.LIMZ}} &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;''robot_name''&amp;gt;.LimZ = &amp;lt;value&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
? &amp;lt;''robot_name''&amp;gt;.LimZ&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
LimZ is used only for the [[MC-Basic:JUMP|JUMP]] motion cammand. It specifies the absolute height that the JUMP motion will reach.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
Mindouble to Maxdouble&lt;br /&gt;
&lt;br /&gt;
Default: 0&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal and nodal&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.LimZ = -20&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?SCARA.LimZ&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
JUMP &amp;lt;target point&amp;gt; LimZ = &amp;lt;value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.ARCH|ARCH]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134077</id>
		<title>MC-Basic:robot.LIMZ</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:robot.LIMZ&amp;diff=134077"/>
				<updated>2026-04-29T11:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:robot.LIMZ}} &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;''robot_name''&amp;gt;.LimZ = &amp;lt;value&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
? &amp;lt;''robot_name''&amp;gt;.LimZ&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
LimZ is used only for the [[MC-Basic:JUMP|JUMP]] motion cammand. It specifies the absolute height that the JUMP motion will reach.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Position&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
Mindouble to Maxdouble&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
Position units&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Modal and nodal&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
SCARA.LimZ = -20&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
?SCARA.LimZ&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
JUMP &amp;lt;target point&amp;gt; LimZ = &amp;lt;value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:JUMP|JUMP]]&lt;br /&gt;
* [[MC-Basic:robot.ARCH|ARCH]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:pls.HWASSISTANCE&amp;diff=134076</id>
		<title>MC-Basic:pls.HWASSISTANCE</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:pls.HWASSISTANCE&amp;diff=134076"/>
				<updated>2026-04-29T10:54:11Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Removed wild :&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
''&amp;lt;pls&amp;gt;''.HWAssistance&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?''&amp;lt;pls&amp;gt;''. HWAssistance&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Versions 4.21.2 and higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The high-accuracy PLS timing mode is activated by HWAssistance.&amp;lt;br&amp;gt;&lt;br /&gt;
*PLS High Accuracy On (&amp;lt;pls&amp;gt;.HWAssistance = &amp;lt;value&amp;gt;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::When high-accuracy mode is active, the Product software extrapolates the exact time at which the axis will reach the PLS position, based on its current position, velocity and acceleration, and sets an output event for that time.&amp;lt;br&amp;gt; &lt;br /&gt;
::If HWAssistance is active, the timing of the PLS output switch will be computed to an accuracy of microseconds.&amp;lt;br&amp;gt; &lt;br /&gt;
::The exact timing of the PLS switch is computed according to the current velocity and acceleration values of the samples before and after the PLS position.&amp;lt;br&amp;gt;&lt;br /&gt;
::In instances of constant acceleration or linear acceleration change between the two samples, the timing of the PLS is computed exactly to ±1µs.&amp;lt;br&amp;gt;&lt;br /&gt;
*PLS High Accuracy Off (&amp;lt;pls&amp;gt;.HWAssistance = 0)&lt;br /&gt;
::When HWAssistance is not active (normal PLS), the PLS outputs are toggled at the moment the PLS source crosses the PLS position. &amp;lt;br&amp;gt; The timing of the PLS switch is always an integer number of motion samples; therefore, the timing accuracy of the PLS is equivalent to the motion bus cycle. &lt;br /&gt;
&lt;br /&gt;
{{Note | With fw version 4.5.29 and before, the position command delay of PositionErrorDelay-2 samples will be taken into account as hard-coded expression. This means that in case of PositionErrorDelay {{=}} 3, when the PLSposition is passed, the output will be triggered after 1 sample delay plus Δt, the inter-sample delay.}}&lt;br /&gt;
&lt;br /&gt;
{{Note | '''Hwassistance''' is available only in systems that have the hardware that support this functionality &amp;lt;!--  --&amp;gt;}}&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  - no HW assistance &amp;lt;br&amp;gt;&lt;br /&gt;
1  - el2258 time-stamping module &amp;lt;br&amp;gt;&lt;br /&gt;
2  - CDHD2 PCOM1/PCOM2 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
FALSE&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
*Available only in systems with hardware that supports this functionality timestamping module el2258 or CDHD2 PCOM1/PCOM2 &amp;lt;br&amp;gt;&lt;br /&gt;
*Modal/Nodal&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
CDHD2 Setup &amp;lt;br&amp;gt;&lt;br /&gt;
1.Add objects 0x2191.0/0x2205.1 (PCOM1) or 0x2192.0/0x2206.1 (PCOM2) to TXPDO &amp;lt;br&amp;gt;&lt;br /&gt;
2.Two (2) additional outputs above digital outputs (for instance, 0x1008 and 0x1009 if CDHD2 is the first device on the network) will be implicitly mapped into sys.dout&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;?ver&amp;lt;br&amp;gt;&lt;br /&gt;
Version Number = MULTIBUS 0.4.21.2r1-C2 , Date = Nov 27 2022 [15:02:17]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;common shared HWPLS1 as PLS a1 sys.DOut.1008&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;sys.DOut.1008 = 0 'test that output is available and can be reached &amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;HWPLS1.HWAssistance=2&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;?plslist&amp;lt;br&amp;gt;&lt;br /&gt;
PlsName=HWPLS1,AxisName=A1,Output=sys.dout.1008,HWAssistance=TRUE&amp;lt;br&amp;gt;&lt;br /&gt;
?HWPLS1.PLSPropagationDelay=0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:COMMON SHARED ... AS PLS|COMMON SHARED ... AS PLS]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:pls.HWASSISTANCE&amp;diff=134075</id>
		<title>MC-Basic:pls.HWASSISTANCE</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:pls.HWASSISTANCE&amp;diff=134075"/>
				<updated>2026-04-29T10:52:59Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Fixed wikimedia garbage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
''&amp;lt;pls&amp;gt;''.HWAssistance&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?''&amp;lt;pls&amp;gt;''. HWAssistance&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Versions 4.21.2 and higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The high-accuracy PLS timing mode is activated by HWAssistance.&amp;lt;br&amp;gt;&lt;br /&gt;
*PLS High Accuracy On (&amp;lt;pls&amp;gt;.HWAssistance = &amp;lt;value&amp;gt;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::When high-accuracy mode is active, the Product software extrapolates the exact time at which the axis will reach the PLS position, based on its current position, velocity and acceleration, and sets an output event for that time.&amp;lt;br&amp;gt; &lt;br /&gt;
::If HWAssistance is active, the timing of the PLS output switch will be computed to an accuracy of microseconds.&amp;lt;br&amp;gt; &lt;br /&gt;
::The exact timing of the PLS switch is computed according to the current velocity and acceleration values of the samples before and after the PLS position.&amp;lt;br&amp;gt;&lt;br /&gt;
::In instances of constant acceleration or linear acceleration change between the two samples, the timing of the PLS is computed exactly to ±1µs.&amp;lt;br&amp;gt;&lt;br /&gt;
*PLS High Accuracy Off (&amp;lt;pls&amp;gt;.HWAssistance = 0)&lt;br /&gt;
::When HWAssistance is not active (normal PLS), the PLS outputs are toggled at the moment the PLS source crosses the PLS position. &amp;lt;br&amp;gt; The timing of the PLS switch is always an integer number of motion samples; therefore, the ::timing accuracy of the PLS is equivalent to the motion bus cycle. &lt;br /&gt;
&lt;br /&gt;
{{Note | With fw version 4.5.29 and before, the position command delay of PositionErrorDelay-2 samples will be taken into account as hard-coded expression. This means that in case of PositionErrorDelay {{=}} 3, when the PLSposition is passed, the output will be triggered after 1 sample delay plus Δt, the inter-sample delay.}}&lt;br /&gt;
&lt;br /&gt;
{{Note | '''Hwassistance''' is available only in systems that have the hardware that support this functionality &amp;lt;!--  --&amp;gt;}}&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  - no HW assistance &amp;lt;br&amp;gt;&lt;br /&gt;
1  - el2258 time-stamping module &amp;lt;br&amp;gt;&lt;br /&gt;
2  - CDHD2 PCOM1/PCOM2 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
FALSE&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Configuration, Task or Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
*Available only in systems with hardware that supports this functionality timestamping module el2258 or CDHD2 PCOM1/PCOM2 &amp;lt;br&amp;gt;&lt;br /&gt;
*Modal/Nodal&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
CDHD2 Setup &amp;lt;br&amp;gt;&lt;br /&gt;
1.Add objects 0x2191.0/0x2205.1 (PCOM1) or 0x2192.0/0x2206.1 (PCOM2) to TXPDO &amp;lt;br&amp;gt;&lt;br /&gt;
2.Two (2) additional outputs above digital outputs (for instance, 0x1008 and 0x1009 if CDHD2 is the first device on the network) will be implicitly mapped into sys.dout&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;?ver&amp;lt;br&amp;gt;&lt;br /&gt;
Version Number = MULTIBUS 0.4.21.2r1-C2 , Date = Nov 27 2022 [15:02:17]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;common shared HWPLS1 as PLS a1 sys.DOut.1008&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;sys.DOut.1008 = 0 'test that output is available and can be reached &amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;HWPLS1.HWAssistance=2&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;?plslist&amp;lt;br&amp;gt;&lt;br /&gt;
PlsName=HWPLS1,AxisName=A1,Output=sys.dout.1008,HWAssistance=TRUE&amp;lt;br&amp;gt;&lt;br /&gt;
?HWPLS1.PLSPropagationDelay=0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:COMMON SHARED ... AS PLS|COMMON SHARED ... AS PLS]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134074</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134074"/>
				<updated>2026-04-19T17:56:01Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
See the picture below with these three points marked on it.&lt;br /&gt;
&lt;br /&gt;
The three JUMPX command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX Rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX Rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property ''LimZ'' is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion, side view. The horizontal motion is not necessarily a linear segment]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and JUMP3CP, segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134073</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134073"/>
				<updated>2026-04-19T17:53:48Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
See the picture below with these three points marked on it.&lt;br /&gt;
&lt;br /&gt;
The three JUMPX command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property ''LimZ'' is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion, side view. The horizontal motion is not necessarily a linear segment]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and JUMP3CP, segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134072</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134072"/>
				<updated>2026-04-19T13:00:33Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
&lt;br /&gt;
The three command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property ''LimZ'' is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion, side view. The horizontal motion is not necessarily a linear segment]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and JUMP3CP, segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134071</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134071"/>
				<updated>2026-04-19T12:59:17Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
&lt;br /&gt;
The three command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property ''LimZ'' is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion, side view. The horizontal motion is not a linear segment]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and JUMP3CP, segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134070</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134070"/>
				<updated>2026-04-19T12:55:21Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
&lt;br /&gt;
The three command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property ''LimZ'' is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and JUMP3CP, segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134069</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134069"/>
				<updated>2026-04-19T11:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added figures&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
&lt;br /&gt;
The three command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP_point_defenitions.png|thumb|500px|JUMPX command point definition]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General JUMPX rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags at the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags at the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property ''LimZ'' is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as [[SCARA robot|SCARA]] and [[TARM robot|TARM]]. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP.png|thumb|500px|JUMP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and ''JUMP3CP'', segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;[[File:JUMP3CP.png|thumb|500px|JUMP3CP motion]]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:JUMP3CP.png&amp;diff=134068</id>
		<title>File:JUMP3CP.png</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:JUMP3CP.png&amp;diff=134068"/>
				<updated>2026-04-19T10:55:36Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:JUMP.png&amp;diff=134067</id>
		<title>File:JUMP.png</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:JUMP.png&amp;diff=134067"/>
				<updated>2026-04-19T10:53:19Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=File:JUMP_point_defenitions.png&amp;diff=134066</id>
		<title>File:JUMP point defenitions.png</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=File:JUMP_point_defenitions.png&amp;diff=134066"/>
				<updated>2026-04-19T10:44:36Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP3CP&amp;diff=134065</id>
		<title>MC-Basic:JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP3CP&amp;diff=134065"/>
				<updated>2026-04-19T08:49:48Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Redirected page to MC-Basic:JUMP JUMP3 JUMP3CP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MC-Basic:JUMP JUMP3 JUMP3CP]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP3&amp;diff=134064</id>
		<title>MC-Basic:JUMP3</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP3&amp;diff=134064"/>
				<updated>2026-04-19T08:48:26Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Redirected page to MC-Basic:JUMP JUMP3 JUMP3CP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MC-Basic:JUMP JUMP3 JUMP3CP]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP&amp;diff=134063</id>
		<title>MC-Basic:JUMP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP&amp;diff=134063"/>
				<updated>2026-04-19T08:47:02Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Redirected page to MC-Basic:JUMP JUMP3 JUMP3CP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MC-Basic:JUMP_JUMP3_JUMP3CP]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134062</id>
		<title>MC-Basic:JUMP JUMP3 JUMP3CP</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:JUMP_JUMP3_JUMP3CP&amp;diff=134062"/>
				<updated>2026-04-19T08:42:49Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Created the JUMPX page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MC-Basic&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
JUMP ''&amp;lt;target point&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {LimZ=&amp;lt;value&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3 ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVE/MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
JUMP3CP ''AscendingPoint=&amp;lt;p1&amp;gt; DescendingPoint=&amp;lt;p2&amp;gt; TargetPoint=&amp;lt;p3&amp;gt; {ArchNo=&amp;lt;x&amp;gt;} {BlendingPercentage=&amp;lt;value&amp;gt;} {other MOVES properties}''&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
0.4.21.2r14&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
The '''JUMPX''' motion commands are '''JUMP''', '''JUMP3''', and '''JUMP3CP'''. A JUMPX motion command is comprised of three motion segments, blended using [[MC-Basic:element.BLENDINGMETHOD|SP blending]].&lt;br /&gt;
&lt;br /&gt;
Starting from a StartPoint, the three points that define the motion are:&lt;br /&gt;
* AscendingPoint&lt;br /&gt;
* DescendingPoint&lt;br /&gt;
* TargetPoint&lt;br /&gt;
&lt;br /&gt;
The three command types differ in the interpolation types of the three segments:&lt;br /&gt;
* JUMP – MOVE, MOVE, MOVE&lt;br /&gt;
* JUMP3 – MOVES, MOVE, MOVES&lt;br /&gt;
* JUMP3CP – MOVES, MOVES, MOVES&lt;br /&gt;
&lt;br /&gt;
The parts of segments 1 and 3 that are not blended with segment 2 are controlled by the properties ''Arch[x][1]'' and ''Arch[x][2]'', where ''x = 1..7''. The pair used in the motion is selected by ''ArchNo = x''.&lt;br /&gt;
&lt;br /&gt;
The default values are:&lt;br /&gt;
* ''Arch[x][1] = 20 + 10*x''&lt;br /&gt;
* ''Arch[x][2] = 20 + 10*x''&lt;br /&gt;
for ''x = 1..7''.&lt;br /&gt;
&lt;br /&gt;
==General JUMPX rules==&lt;br /&gt;
* If ''ArchNo'' is not specified in the JUMPX command, there is no blending in the JUMPX motion.&lt;br /&gt;
* If ''(Arch[x][y] - Ly) &amp;gt; 0'' for x = ArchNo, y = 1,3, there is no blending for the relevant segment y.&lt;br /&gt;
* The blending method used for JUMPX segments is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If [[MC-Basic:element.BLENDINGPERCENTAGE|BlendingPercentage]] &amp;lt;&amp;gt; -1, it is used. Otherwise, [[MC-Basic:element.BLENDINGFACTOR|BlendingFactor]] is used to calculate:&lt;br /&gt;
''BlendingPercentage = 100 - BlendingFactor''&lt;br /&gt;
* The actual ''BlendingPercentage'' used is:&lt;br /&gt;
''min(100*(1-Arch[x][y]/Ly), BlendingPercentage)''&lt;br /&gt;
* If [[MC-Basic:element.PROFILERTYPE|ProfilerType]] is trapez acceleration, safe SP is used, so the Arch values cannot be guaranteed.&lt;br /&gt;
* The robot's configuration flags of the AscendingPoint are the same as those of the StartPoint.&lt;br /&gt;
* The robot's configuration flags of the DescendingPoint are the same as those of the TargetPoint.&lt;br /&gt;
&lt;br /&gt;
==Specific JUMPX rules==&lt;br /&gt;
=== JUMP ===&lt;br /&gt;
* In JUMP, the property ''LimZ'' is used instead of explicit ''AscendingPoint'' and ''DescendingPoint'' properties.&lt;br /&gt;
* The AscendingPoint is exactly above StartPoint, and the DescendingPoint is exactly above TargetPoint, both at height ''LimZ''.&lt;br /&gt;
* If ''LimZ'' is not specified in the JUMP command, the modal ''LimZ'' value is used.&lt;br /&gt;
* The default value is ''LimZ = 0''.&lt;br /&gt;
* The JUMP command can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* JUMP is best suited for robots that have a linear joint in the Z direction, such as SCARA and TARM. Otherwise, the first and third arch segments are not straight-line segments.&lt;br /&gt;
&lt;br /&gt;
=== JUMP3 and JUMP3CP ===&lt;br /&gt;
* In JUMP3 and ''JUMP3CP'', segments 1 and 3 are straight-line segments.&lt;br /&gt;
* In JUMP3, segment 2 is a joint interpolation motion (MOVE), and its motion is specified by MOVE properties such as [[MC-Basic:element.VELOCITYSCALE|VelocityScale]].&lt;br /&gt;
* In JUMP3CP, segment 2 is a Cartesian straight-line motion (MOVES), and its motion is specified by MOVES properties such as [[MC-Basic:robot.VELOCITYTRANS|VelocityTrans]].&lt;br /&gt;
* In contrast to JUMP, in JUMP3 and JUMP3CP the AscendingPoint and DescendingPoint can be in any direction, such as in the XY plane.&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Motion command&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;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* JUMP can be used only with robots that have a Z Cartesian coordinate.&lt;br /&gt;
* The blending method is always SP, even if the modal blending method is CP.&lt;br /&gt;
* If ''ProfilerType'' is trapez acceleration, safe SP is used, so Arch values cannot be guaranteed.&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
JUMP locTargetPoint&lt;br /&gt;
&lt;br /&gt;
JUMP jntTargetPoint ArchNo=2 LimZ=0 BlendingPercentage=50 Vscale=80 Ascale=30&lt;br /&gt;
&lt;br /&gt;
JUMP3 AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=1000 Ascale=20&lt;br /&gt;
&lt;br /&gt;
JUMP3CP AscendingPoint=P1 DescendingPoint=P2 TargetPoint=P3 ArchNo=2 BlendingPercentage=50 Vtran=100 Ascale=20&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:MOVE|MOVE]]&lt;br /&gt;
* [[MC-Basic:MOVES|MOVES]]&lt;br /&gt;
* [[Robot Kinematics Models]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=PUMA_THETA_Parameters&amp;diff=134061</id>
		<title>PUMA THETA Parameters</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=PUMA_THETA_Parameters&amp;diff=134061"/>
				<updated>2026-03-06T07:25:18Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added numerical values of ThetaOffset&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Theta of DH for PUMA model ==&lt;br /&gt;
&lt;br /&gt;
{{Note| For description of PUMA Denavit Hartenberg parameters please go to: '''[[PUMA_robot#Geometric.2C_Denavit-Hartenberg_.28DH.29_parameters_of_the_PUMA_robot| Puma DH]]'''}}&lt;br /&gt;
&lt;br /&gt;
{{Note | No need for user functions (PUMA_SET_THETA/PUMA_GET_THETA), you can use directly '''[[MC-Basic:robot.ThetaOffset | ThetaOffset]]''' property}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Theta parameter was added for PUMA kinematics model, to support user-defined zero joint position ( {0,0,0,0,0,0} ) independently of robot actual pose.&lt;br /&gt;
&lt;br /&gt;
Same robot position (joint is {0,0,0,0,0,0}) with different THETA values:&lt;br /&gt;
&lt;br /&gt;
[[File:PUMAZERO.JPG|Zero Theta]] [[File:GRTZERO.JPG|Non zero theta]]&lt;br /&gt;
&lt;br /&gt;
On the left side is the PUMA robot in the zero reference position according to the internal model, with ThetaOffset = {0,0,0,0,0,0}.&lt;br /&gt;
&lt;br /&gt;
On the right side is the PUMA robot in a user-defined zero reference position, with ThetaOffset = {0,-90,180,0,0,0}.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;pre&amp;gt;double PUMA_GET_THETA(int hndl, int i);&lt;br /&gt;
double PUMA_SET_THETA(int hndl,int i, double value);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remember to add in your PROTO.PRO file:&lt;br /&gt;
&amp;lt;pre&amp;gt;import_c PUMA_GET_THETA(byval as long, byval as long) as double&lt;br /&gt;
import_c PUMA_SET_THETA(byval as long, byval as long,byval as double) as double&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Algorithm ==&lt;br /&gt;
&lt;br /&gt;
Basically the &amp;lt;math&amp;gt;theta_i&amp;lt;/math&amp;gt; values are added in IK and DK to each of joint angle values.&lt;br /&gt;
&lt;br /&gt;
== Return Value ==&lt;br /&gt;
&lt;br /&gt;
If an error occurs (non-PUMA model or invalid index) both functions return -1&lt;br /&gt;
&lt;br /&gt;
If everything is OK, PUMA_SET_THETA returns 1&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
&lt;br /&gt;
Since version 4.5.15 &amp;lt;!-- [[Category:Mechatronics:AR-series robots]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Control]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Template:robot_model_table&amp;diff=134057</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=134057"/>
				<updated>2026-01-21T15:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added models 19 and 20&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;
| Puma with wrist offset&lt;br /&gt;
| 19&lt;br /&gt;
| XYZYPR&lt;br /&gt;
|-&lt;br /&gt;
| Universal DH&lt;br /&gt;
| 20&lt;br /&gt;
| User Defined&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>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.TOTALTIME&amp;diff=134056</id>
		<title>MC-Basic:element.TOTALTIME</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.TOTALTIME&amp;diff=134056"/>
				<updated>2026-01-18T12:03:18Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added reference to CURRENTTIME&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:element.TOTALTIME}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&amp;lt;''element''&amp;gt;.Ttime&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
&amp;lt;''element''&amp;gt;?Ttime&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Versions Since Version 4.5.25 and higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Returns the total time of the motion currently being executing. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Values: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''-2''' – Not applicable (PrfType = 0 or 1).&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''-1 '''– No motion active. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''0''' – Cannot happen as there are no motions of zero duration. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''&amp;gt; 0''' – Total time of running motion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note| Note that in case of blending the '''TotalTime/CurrentTime''' of the first motion of the blending pair is returned! Once the blending ceased (only the second motion is executing, i.e. the first movement finished) the time values of the second motion are returned.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
-2 to MaxInt&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
milliseconds (ms)&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
'''Axis''' &amp;lt;br&amp;gt;&lt;br /&gt;
?''A1''.totaltime &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Group''' &amp;lt;br&amp;gt; &lt;br /&gt;
?''G1''totaltime&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:element.CURRENTTIME|CURRENTTIME]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.CURRENTTIME&amp;diff=134055</id>
		<title>MC-Basic:element.CURRENTTIME</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.CURRENTTIME&amp;diff=134055"/>
				<updated>2026-01-18T12:02:25Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Added reference to TOTALTIME&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:element.CURRENTTIME}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
element.Ctime&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
?&amp;lt;element&amp;gt;Ctime&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Versions Since Version 4.5.25 and higher&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Returns the total time of the currently executing motion. Values:&lt;br /&gt;
&lt;br /&gt;
-1 = No motion active&lt;br /&gt;
&lt;br /&gt;
-2 = Not applicable (PrfType = 0 or 1)&lt;br /&gt;
&lt;br /&gt;
&amp;gt; 0 = Current time of running motion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note| Note that in case of blending the '''TotalTime/CurrentTime''' of the first motion of the blending pair is returned! Once the blending ceased (only the second motion is executing, i.e. the first movement finished) the time values of the second motion are returned.}}&lt;br /&gt;
&lt;br /&gt;
|TYPE=&lt;br /&gt;
Long&lt;br /&gt;
&lt;br /&gt;
|RANGE=&lt;br /&gt;
-2…MaxInt&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
milliseconds&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task, terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
Read-only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
'''Axis''' &amp;lt;br&amp;gt; &lt;br /&gt;
?''A1''.currenttime &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Group''' &amp;lt;br&amp;gt; &lt;br /&gt;
?''G1''.currenttime &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:element.TOTALTIME|TOTALTIME]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=Robot_Working_Frames&amp;diff=134053</id>
		<title>Robot Working Frames</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=Robot_Working_Frames&amp;diff=134053"/>
				<updated>2026-01-11T07:14:23Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Switched Base and World frames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Robot_Working_Frames}} &lt;br /&gt;
= Robot Working Frames =&lt;br /&gt;
&lt;br /&gt;
== TOOL ==&lt;br /&gt;
&lt;br /&gt;
Tool is a Robot property which informs the system to use the specified location as the tool transformation. It defines the position and orientation of the tool tip in relation to the center of the tool flange. The default tool transformation is the NULL transformation, which can be expressed as TOOL = #{0,0,0,0,0,0} Example: Puma.tool = #{25,0,100,0,45,0}&lt;br /&gt;
&lt;br /&gt;
[[File:Axy;Tool frame.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
Another example of tool coordinate calculation:&amp;lt;br/&amp;gt; [[File:RBT FRAMES TOOL.PNG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
== BASE ==&lt;br /&gt;
&lt;br /&gt;
Base is a Robot property which informs the system to use the specified location as the base transformation. It defines the position and orientation of the robot's base reference frame relative to the WORLD reference frame. The default base transformation is the NULL transformation, which can be expressed as Puma.base = #{0,0,0,0,0,0}&lt;br /&gt;
&lt;br /&gt;
[[File:RBT FRAMES BASE2.PNG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
== MachineTable ==&lt;br /&gt;
&lt;br /&gt;
MachineTable is a Robot property which informs the system to use the specified location as the machinetable transformation. It defines the position and orientation of a machine table reference frame relative to the WORLD reference frame. The default machinetable transformation is the NULL transformation, which can be expressed as Puma.MachineTable = #{0,0,0,0,0,0}&lt;br /&gt;
&lt;br /&gt;
[[File:RBT FRAMES MT.PNG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
{{Note| The inverse usage of MachineTable and WorkPiece properties!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WorkPiece ==&lt;br /&gt;
&lt;br /&gt;
WorkPiece is a Robot property which informs the system to use the specified location as the workpiece transformation. It defines the position and orientation of a work-piece relative to the MACHINE TABLE reference frame. The default WorkPiece transformation is the NULL transformation, which can be expressed as Puma.WorkPiece = #{0,0,0,0,0,0}&lt;br /&gt;
&lt;br /&gt;
[[File:RBT FRAMES WP.PNG|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
{{Note| The inverse usage of MachineTable and WorkPiece properties!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== All frames together ==&lt;br /&gt;
&lt;br /&gt;
[[File:AXY;Robot Working Farmes2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
So we have:&lt;br /&gt;
&lt;br /&gt;
'''Pworld=Base:PBase:Tool'''&amp;lt;br/&amp;gt; '''Pworld=MachineTable:WorkPiece:PWorkP'''&lt;br /&gt;
&lt;br /&gt;
For the given setup, the user frames will be:&amp;lt;br/&amp;gt; '''Base = #{300,200,1000,0,180,180}'''&amp;lt;br/&amp;gt; '''Tool = #{50,0,0,90,45,0}'''&amp;lt;br/&amp;gt; '''MachineTable = #{400,100,0,0,0,0}'''&amp;lt;br/&amp;gt; '''WorkPiece = #{20,70,150,0,90,-90}'''&lt;br /&gt;
&lt;br /&gt;
Therefore we have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''PWP= WorkPiece&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;: MachineTable&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;:Base:PBase:Tool'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{{Note| The inverse usage of MachineTable and WorkPiece properties!}}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
*[[MC-Basic:robot.TOOL|TOOL]] &lt;br /&gt;
*[[MC-Basic:robot.BASE|BASE]] &lt;br /&gt;
*[[MC-Basic:robot.WORKPIECE|WORKPIECE]] &lt;br /&gt;
*[[MC-Basic:robot.MACHINETABLE|MACHINETABLE]] &lt;br /&gt;
*[[User_Frame|User Frame]] &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Control]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.TIMEOFSHORTMOTIONS&amp;diff=134051</id>
		<title>MC-Basic:element.TIMEOFSHORTMOTIONS</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.TIMEOFSHORTMOTIONS&amp;diff=134051"/>
				<updated>2026-01-01T13:30:13Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:axis.TIMEOFSHORTMOTIONS to MC-Basic:element.TIMEOFSHORTMOTIONS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:axis.TIMEOFSHORTMOTIONS}}&lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
&amp;lt;''axis''&amp;gt;.TSHORT&lt;br /&gt;
&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
&amp;lt;''axis''&amp;gt;.TSHORT=&amp;lt;''numeric expression''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Since Version 4.4.x&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Defines the lower threshold below which TACCMIN and TDECMIN no longer affect motion. If the actual values of acceleration (or deceleration) time is below this limit, the entire excitation-limiting algorithm (TACCMIN and TDECMIN) is switched off. &lt;br /&gt;
&lt;br /&gt;
{{Note/Caution|The value of TSHORT is compared to acceleration/deceleration time only, and not to the entire duration of movement. Therefore, long movements with a long cruise-velocity phase and short acceleration/deceleration times could trigger the switch-off of the excitation-limiting algorithm. For best results, use small values (1 to 4 ms).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Setting one of TACCMIN, TDECMIN or TSHORT to 0, completely disables the entire timing feature (excitation-limiting algorithm)}}&lt;br /&gt;
&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 to  maxlong&lt;br /&gt;
&lt;br /&gt;
|UNITS=&lt;br /&gt;
milliseconds (ms)&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0 – Not active&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task, Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
*Modal/Nodal&lt;br /&gt;
*Read/Write&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
A1.timeaccmin = 500&lt;br /&gt;
&lt;br /&gt;
A1.timedecmin = 1000&lt;br /&gt;
&lt;br /&gt;
A1.timeofshortmotions = 200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[MC-Basic:element.TIMEACCMIN|TACCCMIN]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:axis.TIMEOFSHORTMOTIONS&amp;diff=134052</id>
		<title>MC-Basic:axis.TIMEOFSHORTMOTIONS</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:axis.TIMEOFSHORTMOTIONS&amp;diff=134052"/>
				<updated>2026-01-01T13:30:13Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:axis.TIMEOFSHORTMOTIONS to MC-Basic:element.TIMEOFSHORTMOTIONS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MC-Basic:element.TIMEOFSHORTMOTIONS]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMSQ_IXX&amp;diff=134050</id>
		<title>MC-Basic:element.PAYLOADMASSRMSQ IXX</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMSQ_IXX&amp;diff=134050"/>
				<updated>2025-12-23T14:41:22Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:element.PAYLOADMASSRMASSSQIXX}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
''&amp;lt;element&amp;gt;''.PayloadMassRmSq_Ixx = &amp;lt;''expression''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Since Version 4.20&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Payload mass times the distance to the center of mass (C.M) distance in the tool's z direction squared plus the Inertia of the payload in the tool's x direction - M*Lz^2 + Ixx&lt;br /&gt;
&lt;br /&gt;
This value is considered during the computation of joint torques by the [[MC-Basic:element.DYNAMICMODEL|dynamic model]].&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;
Kg*m^2&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0.0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task and Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* Read/Write&lt;br /&gt;
* Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Motion Dynamics]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADMASS|element.PAYLOADMASS]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADINERTIA|robot.PAYLOADINERTIA]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Dynamics]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMSQ_IXX&amp;diff=134048</id>
		<title>MC-Basic:element.PAYLOADMASSRMSQ IXX</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMSQ_IXX&amp;diff=134048"/>
				<updated>2025-12-23T14:40:43Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:element.PAYLOADMASSRMASSSQIXX to MC-Basic:element.PAYLOADMASSRMSQ IXX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:element.PAYLOADMASSRMASSSQIXX}}&lt;br /&gt;
&lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
''&amp;lt;element&amp;gt;''.PayloadMassRMassSqIxx = &amp;lt;''expression''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Since Version 4.20&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Payload mass times the distance to the center of mass (C.M) distance in the tool's z direction squared plus the Inertia of the payload in the tool's x direction  - M*Lz^2 + Ixx&lt;br /&gt;
&lt;br /&gt;
This value is considered during the computation of joint torques by the [[MC-Basic:element.DYNAMICMODEL|dynamic model]].&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;
Kg*m^2&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0.0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task and Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* Read/Write&lt;br /&gt;
* Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Motion Dynamics]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADMASS|element.PAYLOADMASS]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADINERTIA|robot.PAYLOADINERTIA]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Dynamics]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMASSSQIXX&amp;diff=134049</id>
		<title>MC-Basic:element.PAYLOADMASSRMASSSQIXX</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMASSSQIXX&amp;diff=134049"/>
				<updated>2025-12-23T14:40:43Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:element.PAYLOADMASSRMASSSQIXX to MC-Basic:element.PAYLOADMASSRMSQ IXX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MC-Basic:element.PAYLOADMASSRMSQ IXX]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMG&amp;diff=134047</id>
		<title>MC-Basic:element.PAYLOADMASSRMG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMG&amp;diff=134047"/>
				<updated>2025-12-23T14:37:32Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:element.PAYLOADMASSRMASSG}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
''&amp;lt;robot&amp;gt;''.PayloadMassRMG = &amp;lt;''expression''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Since Version 4.20&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Payload mass times the distance to the center of mass (C.M) distance in the tool's z direction times gravity - M*Lz*G&lt;br /&gt;
&lt;br /&gt;
This value is considered during the computation of joint torques by the [[MC-Basic:element.DYNAMICMODEL|dynamic model]].&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;
Kg*m^2/sec^2&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0.0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task and Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* Read/Write&lt;br /&gt;
* Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Motion Dynamics]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADMASS|element.PAYLOADMASS]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADINERTIA|robot.PAYLOADINERTIA]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Dynamics]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMG&amp;diff=134045</id>
		<title>MC-Basic:element.PAYLOADMASSRMG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMG&amp;diff=134045"/>
				<updated>2025-12-23T14:37:04Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:element.PAYLOADMASSRMASSG to MC-Basic:element.PAYLOADMASSRMG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:element.PAYLOADMASSRMASSG}}&lt;br /&gt;
&lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
''&amp;lt;robot&amp;gt;''.PayloadMassRMass = &amp;lt;''expression''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Since Version 4.20&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Payload mass times the distance to the center of mass (C.M) distance in the tool's z direction times gravity  - M*Lz*G&lt;br /&gt;
&lt;br /&gt;
This value is considered during the computation of joint torques by the [[MC-Basic:element.DYNAMICMODEL|dynamic model]].&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;
Kg*m^2/sec^2&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0.0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task and Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* Read/Write&lt;br /&gt;
* Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Motion Dynamics]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADMASS|element.PAYLOADMASS]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADINERTIA|robot.PAYLOADINERTIA]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Dynamics]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMASSG&amp;diff=134046</id>
		<title>MC-Basic:element.PAYLOADMASSRMASSG</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMASSG&amp;diff=134046"/>
				<updated>2025-12-23T14:37:04Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:element.PAYLOADMASSRMASSG to MC-Basic:element.PAYLOADMASSRMG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MC-Basic:element.PAYLOADMASSRMG]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRM&amp;diff=134044</id>
		<title>MC-Basic:element.PAYLOADMASSRM</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRM&amp;diff=134044"/>
				<updated>2025-12-23T14:36:01Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:element.PAYLOADMASSRMASS}} &lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
''&amp;lt;element&amp;gt;''.PayloadMassRM = &amp;lt;''expression''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Since Version 4.20&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Payload mass times the distance to the center of mass (C.M) distance in the tool's z direction - M*Lz&lt;br /&gt;
&lt;br /&gt;
This value is considered during the computation of joint torques by the [[MC-Basic:element.DYNAMICMODEL|dynamic model]].&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;
Kg*m&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0.0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task and Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* Read/Write&lt;br /&gt;
* Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Motion Dynamics]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADMASS|element.PAYLOADMASS]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADINERTIA|robot.PAYLOADINERTIA]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Dynamics]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRM&amp;diff=134042</id>
		<title>MC-Basic:element.PAYLOADMASSRM</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRM&amp;diff=134042"/>
				<updated>2025-12-23T14:35:36Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:element.PAYLOADMASSRMASS to MC-Basic:element.PAYLOADMASSRM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|MC-Basic:element.PAYLOADMASSRMASS}}&lt;br /&gt;
&lt;br /&gt;
{{MC-Basic&lt;br /&gt;
|SHORT FORM=&lt;br /&gt;
|SYNTAX=&lt;br /&gt;
''&amp;lt;element&amp;gt;''.PayloadMassRMass = &amp;lt;''expression''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|AVAILABILITY=&lt;br /&gt;
Since Version 4.20&lt;br /&gt;
&lt;br /&gt;
|DESCRIPTION=&lt;br /&gt;
Payload mass times the distance to the center of mass (C.M) distance in the tool's z direction - M*Lz&lt;br /&gt;
&lt;br /&gt;
This value is considered during the computation of joint torques by the [[MC-Basic:element.DYNAMICMODEL|dynamic model]].&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;
Kg*m&lt;br /&gt;
&lt;br /&gt;
|DEFAULT=&lt;br /&gt;
0.0&lt;br /&gt;
&lt;br /&gt;
|SCOPE=&lt;br /&gt;
Task and Terminal&lt;br /&gt;
&lt;br /&gt;
|LIMITATIONS=&lt;br /&gt;
* Read/Write&lt;br /&gt;
* Modal only&lt;br /&gt;
&lt;br /&gt;
|EXAMPLE=&lt;br /&gt;
|SEE ALSO=&lt;br /&gt;
* [[Motion Dynamics]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADMASS|element.PAYLOADMASS]]&lt;br /&gt;
* [[MC-Basic:element.PAYLOADINERTIA|robot.PAYLOADINERTIA]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Motion Dynamics]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	<entry>
		<id>http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMASS&amp;diff=134043</id>
		<title>MC-Basic:element.PAYLOADMASSRMASS</title>
		<link rel="alternate" type="text/html" href="http://softmc.servotronix.com/index.php?title=MC-Basic:element.PAYLOADMASSRMASS&amp;diff=134043"/>
				<updated>2025-12-23T14:35:36Z</updated>
		
		<summary type="html">&lt;p&gt;Hallel: Hallel moved page MC-Basic:element.PAYLOADMASSRMASS to MC-Basic:element.PAYLOADMASSRM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MC-Basic:element.PAYLOADMASSRM]]&lt;/div&gt;</summary>
		<author><name>Hallel</name></author>	</entry>

	</feed>