Difference between revisions of "MC-Basic:PASS"
(Created page with '{{MC-Basic |SHORT FORM= |SYNTAX= ''PASS <element> Nodes = <array of points> <br> {StretchFactor=<s. factor>}<br> {StrechVector =<s. vector>}<br> {UserParameterVector =<up…') |
m |
||
(10 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Languages|MC-Basic:PASS}} | ||
{{MC-Basic | {{MC-Basic | ||
|SHORT FORM= | |SHORT FORM= | ||
Line 4: | Line 5: | ||
|SYNTAX= | |SYNTAX= | ||
− | + | PASS <element> Nodes = <array of points> <br> | |
− | {StretchFactor=< | + | {StretchFactor=<stretch factor>}<br> |
− | {StrechVector =< | + | {StrechVector =<stretch vector>}<br> |
{UserParameterVector =<up. vector>}<br> | {UserParameterVector =<up. vector>}<br> | ||
Line 16: | Line 17: | ||
{PassBackward = 0<nowiki>|</nowiki>1}<br> | {PassBackward = 0<nowiki>|</nowiki>1}<br> | ||
− | {PassFrom = <value>}<br> | + | {PassFrom = <''value''>}<br> |
− | { [list of all nodal parameters of MOVE and MOVES]} | + | {[list of all nodal parameters of MOVE and MOVES]} |
|AVAILABILITY= | |AVAILABILITY= | ||
Line 57: | Line 58: | ||
The following parameters will have no effect or return an error if used in PASS command: | 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. | 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. | 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. | ||
Line 73: | Line 70: | ||
|SEE ALSO= | |SEE ALSO= | ||
− | * [[ | + | * [[MC-Basic:DOPASS|DOPASS]] |
− | * [[ | + | * [[MC-Basic:robot.PASSBUFFERSIZE|PassBufferSize]] |
− | * [[ | + | * [[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.