<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">

<html>

<!--(==============================================================)-->
<!--(Document created with RoboEditor. )============================-->
<!--(==============================================================)-->

<head>

<title>Formatted/Non-formated Codes</title>

<!--(Meta)==========================================================-->

<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
<meta name=generator-major-version content=0.1>
<meta name=generator-minor-version content=1>
<meta name=filetype content=kadov>
<meta name=filetype-version content=1>
<meta name=page-count content=0>
<meta name=layout-height content=0>
<meta name=layout-width content=0>
<meta name=date content="08 14, 2001 12:10:40 PM">


<!--(Links)=========================================================-->

<link rel="StyleSheet" href="../../css/main_styles.css">



<!--(Style Sheet)===================================================-->

<style type="text/css">
<!--

body {
	background-image: url("../paper.gif");
	background-repeat: repeat;
	background-attachment: scroll;
}

-->
</style>


</head>

<!--(Body)==========================================================-->


<body class="bodydocs" onLoad="top.pageLoader()" bgcolor="#FFFFFF">


<h2 style="text-align: left;"
	align=left>Formatted and Non-formatted Codes</h2>

<p CLASS=Paragraph>The output from GPM has two basic formats, formatted 
 and non-formatted codes. Throughout this document there are numerous references 
 to M and G codes. For the purpose of this description M and G codes are 
 considered non-formatted codes. To output a formatted M code use AUXFUN 
 and to output a formatted G code use PREFUN.</p>

<p CLASS=Paragraph><span style="font-weight: bold;">Formatted codes</span> 
 consist of a word address character followed by numeric data. This is 
 useful for specifying dimensional or quantitative information. Examples 
 of this type of output are:</p>

<p CLASS=ListBulletTxt>Coordinate information (X,Y,Z,I,J,K)<br>
Feedrates (F)<br>
Dwell time (D)</p>

<p CLASS=Paragraph>When specifying code that requires formatted output 
 you have the following options.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Character For Word 
 Address</span> - Specify the character(s) to proceed the numeric information 
 (for example, X for an x coordinate). You can specify up to 12 characters. 
 A blank is a valid Word Address character.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Total Number Of 
 Digits</span> - Specify the total number of digits following the character 
 (not including trailing characters). This does not include the decimal 
 point.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Number Of Decimal 
 Places</span> - Specify the number of digits to the right of the decimal 
 point.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Zero Suppression</span> 
 - You have the following Zero Suppression options:</p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">No Suppression 
 </span>- No zeros are suppressed. Each coordinate is as long as the value 
 of the <span style="font-weight: bold;">Total Number Of Digits<span style="font-weight: normal;">.</span></span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Suppress 
 Trailing </span>- All zeros at the end of the coordinate are deleted during 
 postprocessing. For example, the CLSF coordinate 2.3750 becomes X002375 
 (3 decimal places).</p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Suppress 
 Leading And Trailing </span>- All zeros at the beginning and end of the 
 coordinate are deleted during postprocessing. For example, the CLSF coordinate 
 2.3750 becomes X2.375. Do not use this option if your controller does 
 not use decimal points.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Sign Suppression</span> 
 - You have the following Sign Suppression options:</p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Plus </span>- 
 The system does not generate a plus sign (+) for a positive coordinate. 
 A minus sign (-) is generated for a negative coordinate.</p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">None </span>- 
 The system generates a plus or a minus sign for all Z(or X) coordinates.</p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Plus And 
 Minus </span>- The system does not generate either a plus or a minus sign 
 for any X(or Z) coordinate. If your CLSF contains any negative X(or Z) 
 coordinates, they will have no sign in the postprocessed output. The controller 
 assumes that all unsigned values are positive.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Decimal Point Output?</span> 
 - This option toggles between YES and NO. If the setting is YES, coordinate 
 contains a decimal point.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Trailing Character(S) 
 Required? (5 Maximum)</span> - Enter the trailing character(s) that are 
 to appear after the numeric information. These characters are not counted 
 in the <span style="font-weight: bold;">Total Number Of Digits.</span></p>

<p CLASS=Paragraph>For example, the X coordinate, 2.3750 in the CLSF, becomes 
 X023750 based on a <span style="font-weight: bold;">Total Number Of Digits</span> 
 of 6 and a <span style="font-weight: bold;">Number Of Decimal Places </span>of 
 4. Since <span style="font-weight: bold;">Trailing Zeros</span> are suppressed, 
 the final coordinate in Machine Code is X02375.</p>

<p CLASS=Paragraph>The <span style="font-weight: bold;">Total Number Of 
 Digits</span> and the <span style="font-weight: bold;">Decimal Places</span> 
 establish the maximum numerical value that can be postprocessed by the 
 GPM. For example, using the format of 6 <span style="font-weight: bold;">Total 
 Digits</span> and 4 <span style="font-weight: bold;">Decimal Places</span> 
 limits the maximum number that can be used to 99.9999. If the GPM finds 
 a number larger than this, a string overflow error is generated in the 
 postprocessor output.</p>

<p CLASS=Paragraph><span style="font-weight: bold;">Non-formatted code</span> 
 consists of non-numeric information. This is data that can contain variable 
 formats that cannot be represented easily by a word address and numeric 
 data. Examples of this type of output are:</p>

<p CLASS=ListBulletTxt>Canned cycle codes (G81,G81.1,L81,&lt;DRILL&gt;)<br>
Range change codes (M41,R41)<br>
Motion control (G01,G1,(0),&lt;MOVE&gt;)</p>

<p CLASS=Paragraph>When specifying a code that requires non-formatted output 
 you will be asked to specify a 24 character text string that will be output 
 by GPM. Since some controllers are limited to the number of G or M codes 
 per block of output, you need to specify whether the text string is an 
 M code, G code or neither. You have the following options for specifying 
 an non-formatted code.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Code -</span> this 
 option allows you to enter a character string that represents the traverse 
 motion code. If you press return without entering a character string, 
 the current status does not change.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Validity - </span>This 
 option toggles between <span style="font-weight: bold;">Valid</span> and 
 <span style="font-weight: bold;">Not Valid</span>.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Code Type - </span>this 
 option allows you to specify the code that is being defined. This information 
 is used to control the number of preparatory or auxiliary function codes 
 per block. Choose one of the following code types:</p>

<p CLASS=ListBulletTxt>You can also specify whether the previous (normal 
 motion) G codes are modal using the remaining options</p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">G Code</span><span 
 style="font-weight: bold;"><br>
M Code</span><span style="font-weight: bold;"><br>
Othe</span>r</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Modality - </span>this 
 option allows you to specify whether or not the code should be modal. 
 This option toggles between <span style="font-weight: bold;">Modal</span> 
 and <span style="font-weight: bold;">Not Modal</span>.</p>

<p CLASS=ListBulletTxt>For example,If Linear Traverse is set to <span style="font-weight: bold;">Modal</span>, 
 and the system outputs a G01, all motion is interpreted as being Linear 
 Interpolation, until another code, such as G02, for Clockwise Circular 
 Interpolation, is encountered.</p>

<p CLASS=ListBulletTxt>If Circular Interpolation is set to<span style="font-weight: bold;"> 
 Not Modal</span> and the system outputs G02, the following coordinate 
 data is interpreted as a Clockwise Circular Interpolation move. However, 
 the next motion is interpreted as whatever the previous<span style="font-weight: bold;"> 
 Modal</span> function was.</p>

<p CLASS=ListBulletTxt><span style="font-weight: bold;">Functional Group 
 - </span>This option allows you to specify the functional group to which 
 the code belongs. Only one code from each group will be output in a single 
 block. The default functional groups are assigned to each code. Choose 
 the appropriate functional group from the following options.</p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Miscellaneous 
 G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Miscellaneous 
 M</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Motion 
 Control G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Plane Select 
 G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Feed Mode 
 G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Cutter 
 Compensation G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Spindle 
 Mode G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Absolute/Incremental 
 G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Fanuc Retract 
 G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Inch/Metric 
 G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Spindle 
 Direction M</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Coolant 
 M</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">4th Axis 
 Rotary M</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">5th Axis 
 Rotary M</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Spindle 
 Range M</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Turret 
 Index Direction M</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Tool Change 
 G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px;"><span style="font-weight: bold;">Circular 
 Interpolation G</span></p>

<p CLASS=ListBulletTxt
	style="margin-left: 40px; margin-bottom: 0;"><span style="font-weight: bold;">Tool 
 Adjust G</span> </p>

</body>

</html>
