Difference between revisions of "MC-Basic:PASS"

From SoftMC-Wiki
Jump to: navigation, search
m
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
{{Languages|MC-Basic:PASS}}
 
{{MC-Basic
 
{{MC-Basic
 
|SHORT FORM=
 
|SHORT FORM=
Line 70: Line 71:
 
|SEE ALSO=
 
|SEE ALSO=
 
* [[MC-Basic:DOPASS|DOPASS]]
 
* [[MC-Basic:DOPASS|DOPASS]]
* [[Axystems:MC-Basic:VIA|VIA]]
+
* [[MC-Basic:robot.PASSBUFFERSIZE|PassBufferSize]]
* [[Axystems:MC-Basic:THROUGH|THROUGH]]
+
* [[MC-Basic:robot.PASSBUFFERMIN|PassBufferMin]]
 
+
* [[MC-Basic:robot.PASSBUFFERLEVEL|PassBufferLevel]]
  
 
}}
 
}}

Latest revision as of 06:37, 25 April 2017

Language: English  • 中文(简体)‎

Adding the given point vector to the motion buffer. The motion is interpolated in according to PassInterpolation and  nodal/modal parameters

The motion will start once the number of points in the buffer exceeds the PassBufferMin value. The number of points given by PASS command (min of point arry size and the PassUpTo value) can not be bigger then the PassBufferSize-PassBufferLevel value:

Min(ArraySize(Through), PassUpTo) <= PassBufferSize-PassBufferLevel

All standard motion-command limitations hold (attachment /enable/limits…).

Points can be given both as locations or joint vectors. In both cases the same path will be made. The point array must be previously defined.

Syntax

PASS <element> Nodes = <array of points>

{StretchFactor=<stretch factor>}

{StrechVector =<stretch vector>}

{UserParameterVector =<up. vector>}

{PassUpTo = <number of points>}

{PassBackward = 0|1}

{PassFrom = <value>}

{[list of all nodal parameters of MOVE and MOVES]}

Availability

Version 4.0.26 and later

Scope

Task or Terminal

Limitations

Valid for robots only. Same limitations as any other motion.
The following parameters will have no effect or return an error if used in PASS command:

  • CP
  • StartType
  • Vfinal, Vtranfinal, Vrotfinal

The PASS command can only be given if previously the BlendingMethod is set to 3, else an error will be returned.

Please note that there is no guard against mutual access to the nodal user vectors (nodes, stretchvector, userparametervector). The values (array elements of these vectors) will be copied to internal buffer during the time the PASS command is executed (but definitely before the actual motion starts). If another task (or terminal) acess (writes) to this values before they are copied possible data corruption can occur.  Therefore a good practice will be to wait until the movement is started until the vectors are available again. (Actually they are available immediately after the PASS command is processed but there is no indication when the process is completed therefore the best (safest) technique is to waint on motion start.

See Also