Help with the Decimal Points

All numbers (integers) require a decimal point to determine if the number is fractional or a ‘whole’ number, although in everyday life, the decimal point is invariably left out, as the reader will assume the number is a whole number unless specified otherwise; for example one hour would be written as 60 minutes, not 60.0 minutes although both mean the same thing. This assumption though cannot be applied to a CNC program, as not all controls interpret the program data in the same way, in the example above with the number of minutes, the number 60 could mean 60.0 or 6.0, or 0.60 or indeed 0.060 or even 0.0060 depending on the units being used and so compatibility with other controls is sometimes difficult to achieve.

Haas control engineers have addressed this issue by adding two specific settings to the Haas control – setting 77 and setting 162. Their functions differ in that setting 77 is solely for the feedrate command, whereas setting 162 will apply to address codes, X, Y, Z, A, B, C, E, F, I, J, K, U, W, their individual meanings and uses are described below.

77 – Scale Integer F

This setting allows the operator to select how the control interprets an F value (feedrate) that does not contain a decimal point. (It is recommended that programmers always use a decimal point.) This setting helps operators run pro grams developed on a control other than Haas.

For example, F12 becomes:

0.0012units/minute with Setting 77 Off

12.0 units/minute with Setting 77 On

There are 5 feedrate settings:


DEFAULT (.0001) 


.1 F1 = F.0001 

.01 F10 = F.001

.001 F10 = F.01


DEFAULT (.001)


.1 F1 = F.001

.01 F10 = F.01

.001 F10 = F.1

162 – Default To Float

When this setting is On, the control will add a decimal point to values entered without a decimal point (for certain address codes.) When the setting is Off, values following address codes that do not include decimal points are taken as machinists notation (i.e., thousandths or ten-thousandths.) This setting will exclude the A value (tool angle) in a G76 block. Thus, the feature applies to the following address codes: X, Y, Z, A, B, C, E, F, I, J, K, U, W

A (except with G76)If a G76 A value containing a decimal point is found during program execution, alarm 605 Invalid Tool Nose Angle is generated.

D (except with G73)

R (except with G71 in YASNAC mode)

Value entered With Setting Off With Setting On

In Inch mode X-2 X-.0002 X-2.

In MM mode X-2 X-.002 X-2.

Note that this setting affects the interpretation of all programs entered either manually or from disk or via RS-232. It does not alter the effect of setting 77 Scale Integer F.