Router-CIM Automation Suite

rcim_2023_header


rcim_2023_header


Previous topic Next topic  

rcim_2023_header


Previous topic Next topic  

Switch Parameters

The following lists all of the available switches and explains their use.

;A

An entry using this switch will have its NC code placed in the AFTER or PA buffer so when the motion block is processed, the code will be placed after the motion information.

Input G04;A

Result X2000Y2000G04

;B

An entry using this switch will have its NC code placed in the BEFORE or PB buffer so when the motion block is processed, the code will be placed before the motion information.

Input G04;B

Result G04X2000Y2000

;C

An entry using this switch will have its NC code placed in the CURRENT or PC buffer so when the entry is processed, the NC code will be immediately output to the NC file.  In terms of group definitions, the $TEXT group in the $PP file will be evaluated and output to the NC file.

Input G04;C

Result G04

;D

An entry using this switch will disable other $PP entries so they do not generate output.  The parameters to this switch are other $PP entries which are to be disabled.  Note that all codes are initially defaulted "ENABLED".

This switch can be used in conjunction with the "E" or "ENABLE" switch to handle codes that enable/disable each other.

For example, "G00;D#LINEAR;E#RAPID=RAPID" and "G01;D#RAPID;E#LINEAR=LINEAR" will define "G00" to be output when the text "RAPID" is processed and "G01" to be output when "LINEAR" is processed.  When "RAPID" is processed it will disable the $PP entry "LINEAR" and enable itself.  This provides the ability to output G00 or G01 in a motion block definition as well as the ability to disable/enable other $PP entries.

;E

An entry using this switch will enable other $PP entries so they do generate output.  The parameters to the switch are the $PP entries to be enabled.  This switch is used in conjunction with the "D" switch to output one code or the other.

;F

An entry using this switch will not use global formatting switches for number formatting.  The required options will be taken from the 'F' switch.

For example, "N#4#4;F#ZL=SEQNO" will create fixed left sequence numbers with leading zeros ("N0001" as opposed to "N1").

;G

This switch controls the current group number for $PP output.  Use this to allow for totally different blocks of NC code to be generated.  The default group is set to 1 on startup of the post.

;I

An entry using this switch will be initialized to the value contained in the parameter.

Example: "N#3.0;I#1=SEQNO" initializes sequence numbers to 1.

Note that all values without a ;I switch will be initialized to 0.

;M

This switch is used to control the definition of modal codes to the postprocessor.

;N

This is a switch that controls the modal behavior of the current line of NC code.  If a line completely modals out, the lines output is suppressed.  SEQNO is always considered to be blank so that lines of code containing only SEQNO will be suppressed.

This switch in ;N#0 form will cause the code to always be considered blank for modal purposes (just like SEQNO).

In the ;N#1 form, this switch will cause the entire line to be suppressed if this code modals out.  This can be used to suppress tool change lines if the tool modals out.

Example:

T#4#4;M#0;N#1=TOOLNO

Will suppress the current line of NC code if the TOOLNO has modaled out.

;P

This is a switch that will put or assign values to other $pp entries. The first number after the switch controls the type of assignment.  The number 0 indicates an absolute assignment, the number 1 indicates an incremental assignment. After the first number you can repeat pairs of $PP names and numbers to assigned to them.

Example 1:

;P#0#SEQNO#100#SEQINC#10

Will place the number 100 into the post entry SEQNO and 10 into SEQINC.

Example 2:

;P#1#SEQNO#100

Will increment SEQNO by 100.

An entry can also be assigned a value by using a variable instead of a fixed value.

Example :

;P#0#SEQNO#3  

Will place a 3 into SEQNO.

This could now be accomplished with the following statements.

;I#3.0=SI

;P#0#SEQNO#SI

With the added benefit that you could set SI in the drawing and the post would output the correct value.

;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.