;P#TYPE#VARIABLE#VALUE
Where type indicates the type of operation to be performed:
0 |
= |
Place VALUE into VARIABLE |
1 |
+ |
Add VALUE to VARIABLE |
2 |
- |
Subtract VALUE from VARIABLE |
3 |
* |
Multiply VARIABLE by VALUE |
4 |
/ |
Divide VARIABLE by VALUE |
5 |
Sin |
Set VARIABLE to sin(VALUE) |
6 |
Cos |
Set VARIABLE to cos(VALUE) |
7 |
Atan |
Set VARIABLE to atan(VALUE) |
8 |
Mod |
Set VARIABLE to mod(VALUE) |
NOTE: Due to syntax restrictions only one TYPE of ;P switch can be used per $PP entry.
;Q
This switch is used to control the generation of quadrant arcs by the post. If this switch appears on either of the entries "CIRCUL/CLW" or "CIRCUL/CCLW, then all arcs will be output broken along quadrant boundaries.
Example:
G02;D#CIRCUL/CCLW;E#CIRCUL/CLW;M#0#LINEAR;N#0;Q=CIRCUL/CLW
This line would force Clockwise arcs to be broken up into quadrants.
;S
This switch is used to scale the value before output to the NC file. The most common use for this switch is in lathe applications that require one axis to be specified as diameter. "Z#3.4;S#2.0=X" would cause all X axis output to be output with a 'Z' letter code and multiplied by 2.0.
;V
This switch is used to retrieve a numeric value from one code to be used in another.
Example:
R#3.3;V#X=MYX
This line defines entry "MYX" to get its value from the current value stored in post entry "X". This switch can also be used to define X,Y, or Z axis output that is not modal A typical example would be a controller that needs X and Y for a drilling cycle at the current point. If X, Y, and Z are defined to be modal, a different X can be defined that is not modal.
Example:
X#3.4;M#1=XMOD
X#3.4;V#X=XNON
;Y
This is a switch that functions exactly like the 'D' disable switch but 'Y' will not reset the modal buffers. The 'D' switch currently disables a code and resets its modal buffers.
Example:
;Y#LINEAR;E#RAPID=RAPID
Will cause RAPID to be enabled and LINEAR to be disabled, but LINEAR will not have its modal buffer reset.
;Z
This is a switch that allows a string to be appended to the end of a code.
Example:
(X#3.4#3.4;Z#)=X
Assume X is currently 2.0 and this will generate (X2.0) as output.