Programming of CNC machines, basic parametric programming for FANUC controllers and Sinumerik, tips, tricks, useful formulas and tables, the basics of CAD / CAM and CNC simulators.

G02, G03 - interpolacja kołowa

G02, G03 - circular interpolation

Taking bows using circular interpolation G02 / G03, is one of the basic steps for programming CNC machine tools. The key to proper programming of such treatment is the knowledge of several components: the plane on which we work - XY (G17), XZ (G18), YZ (G19) the direction of the plot arc, according to the G02 clockwise, counterclockwise ...
Tabela otworów pod gwint

Table holes for thread

Holes for threads - selection table drill into threads version in pdf download Metric (M) Metric drobnozwojny (MF) Thread inch Whitworth (BSW) Whitworth pipe thread (BSP) Thread Size Drill diameter [mm] Thread Size Drill diameter [mm] Thread Size ["] drill diameter [mm] Thread Size ["] ...
Alfabet CNC

CNC Alphabet

Knowledge of CNC alphabet, which gkodu (g code) is something without which you can not think of a professional programming CNC machines. Of course, being a good programmer is also having knowledge of material science, or mathematics, but gkod is kind, glue 'that combines all these elements into a single functional unit - the program ....

As we know, the operation consisting in the repetition of the same action / processing, we can easily use a simple routine. Macro offers us the opportunity to use a parameter, arithmetic and logical functions and conditional loops, and we can call the macro itself in the same simple way as a subroutine.


At the beginning of the fitting to mention as Fanuc controllers define variables in our macro. For Sinumerik been done to this by assigning specific values ​​of R parameters, eg R10=25 . In Fanucach proceed similarly, except that instead of the letter R, using, # ', eg #10=25 . More as a curiosity must be given to the fact that the number of our variable, we also present in the form of an arithmetic expression, included in square brackets, eg:
 N10 # 1 = 10
 N15 # 2 = 1
 N20 # [# 1 + # 2-8] = 5 // which in our case is 
                     equivalent to # 3 = 5


Variables can be set to zero, and the values ​​in the range (-10 47 -10 -29) ∪ (10 -29, 10 47). Values ​​outside this range will trigger the alarm No. 111.
In the program, to specify the variables referenced in the following manner:

 N10 # 2 = 10 # 5 = 100
 N15 G90 G1 X # 2 F # 5 // equivalent to G90 G1 X10 F100
 N20 G90 G1 X # 2 // equivalent to G90 G1 X-10 
 N25 G90 G1 Y [# 1 + # 5] // mandatory in square brackets.
                        equivalent to G90 G1 Y110

When defining the values ​​of the variables do not have to use commas, decimals, so important when programming Fanuc controllers, ie .:

 N10 # 1 = 5 // definition of the variable, without the dot / comma 
                     decimal
 N15 G90 G1 X5.  // Here the lack of dots for the X5.  cause an error 
 N20 G90 G2 X # 1 // even though the value was not 
                     dot, it will not cause the program error

Arithmetic and logic operations on variables that make a very simple

  • the sum of #1+#2
  • difference #1-#2
  • product #1*#2
  • quotient #1/#2

The values ​​define the angle in degrees, which angle e.g.
90 degrees 30 minutes: # 1 = 90.5

  • Sine SIN[#1]
  • cosine COS[#1]
  • tangent TAN[#1]
  • arctangent ATAN[#1]
  • square root SQRT[#1]
  • the absolute value ABS[#1]
  • rounding the ROUND[#1]
  • rounding down FIX[#!]
  • rounding up FUP[#1]
  • Boolean value OR #1 OR #2
  • XOR logical value #1 XOR #2
  • Boolean value AND #1 AND #2

We can perform nesting operations and define their execution sequence using square brackets. We can nest up to 5 arithmetic functions, such as:

 N10 # 1 = SIN [[[# 2 + # 3] * # 4 & # 5] * # 6]



Previous post G74: deep drilling cycle Fanuc CNC Next entry G02, G03 - circular interpolation

1 comment

  1. Widget says:

    Sep 28, 2012

    Regarding the decimal comma where the subject poruszyłeś, it is to your advantage to change the parameters that the machine read without a decimal number as mm, and not as micrometers. Unfortunately, I can not remember at the moment who is responsible for that parameter. But it is much more convenient to write programs without these unnecessary commas.

Leave a comment

You must be logged in to power komentowaæ ..