91ÊÓÆµÍøÕ¾ÎÛ

Published

Understanding Custom Macro Version A

Custom macro B is the more powerful and desirable version of custom macro. However, there are still control models that can be equipped with custom macro version A, so never assume that a given machine you plan to purchase will be (or can be) equipped with custom macro B.

Share

Leaders-In background

 

Custom macro B is the more powerful and desirable version of custom macro. However, there are still control models that can be equipped with custom macro version A, so never assume that a given machine you plan to purchase will be (or can be) equipped with custom macro B.  
 
One limitation of custom macro A is that you cannot use a decimal point in custom macro commands. All values must be expressed as integers. If you know the fixed format for certain CNC words, this isn’t too bad.
 
For example, if you’re working in the Imperial (inch) system and want to express an X word of 10.0 inches, the fixed format (with no decimal point) for most machines is X100000. Whenever performing calculations, or providing input data, you must use integers.
 
With custom macro B, a G65 is used to call a custom macro. This is not the case with version A in which case a G65 simply specifies that the command is custom macro. An H word specifies what kind of command is being given.
 
This gets a bit confusing, because every kind of arithmetic and logic command has its own H word—and unless you have all the H-word values memorized, you can’t simply scan a custom macro A program and tell what is happening. Three letter addresses—P, Q and R—are used within G65 commands to further clarify what is actually happening. Here are some examples showing the basic arithmetic functions:
 
Equal (H01): custom macro B: #101=1 – custom macro A: G65 H01 P#101 Q1
Add (H02): custom macro B: #101=4+1 – custom macro A: G65 H02 P#101 Q4 R1
Subtract (H03): custom macro B: #101=4-1 – custom macro A: G65 H03 P#101 Q4 R1
Multiply (H04) custom macro B: #101=4*2 – custom macro A: G65 H04 P#101 Q4 R2
Divide (H05) custom macro B: #101=4/2 – custom macro A: G65 H05 P#101 Q4 R2
 
Note that only one arithmetic operation can be performed per command, meaning some expressions must be divided into multiple commands. Consider the following command given in custom macro B format:
 
#101 = 6 * [4+5]
 
This requires two commands in custom macro A:
 
G65 H02 P#101 Q4 R5 (Add four to five)
G65 H04 P#102 Q6 R#101 (Multiply 6 times 9)
 
Custom macro A programs are tedious to write and interpret. I always recommend writing the custom macro in version B first, then converting it to version A.
 
Here is a more complete example. This custom macro will machine a bolt pattern of holes. First let’s look at the main (calling) program:
 
O0008 (Main program)
N005 G54 G90 S800 M03 T02 (Select coordinate system, absolute mode, start spindle, get next tool ready)
N010 G00 X3.0 Y2.5 (Rapid to center of bolt hole pattern)
N015 G43 H01 Z.1 (Instate tool length compensation, rapid up to workpiece)
(Set input data)
G65 H01 P#121 Q30000 (X center)
G65 H01 P#122 Q25000 (Y center)
G65 H01 P#123 Q0 (Z surface)
G65 H01 P#124 Q17500 (Bolt radius)
G65 H01 P#125 Q7500 (Hole depth)
G65 H01 P#126 Q45 (Starting angle)
G65 H01 P#127 Q8 (Number of holes)
G65 H01 P#128 Q500 (Feedrate)
(Call custom macro)
N020 M98 P1008 (Machine entire bolt hole pattern with drilling cycle)
N025G91 G28 Z0
N030 M30
 
Notice that every input variable (argument) must be specified in a separate equality command.
 
Now, here is the custom macro. We’ve placed the equivalent custom macro B command in parentheses after each version A command:
 
O1008 (Custom macro to machine bolt hole circle)
G65 H01 P#101 Q1 (#101 = 1)
G65 H01 P#102 Q#126 (#102 = #126)
G65 H05 P#103 Q360 R#127 (#103 = 360 / #127)
G65 H02 P#104 Q#123 R1000 (#104 = #123 + 0.1)
G65 H03 P#105 Q#123 R#125 (#105 = #123 - #125)
N1 G65 H83 P99 Q#101 R#127 (N1 IF [#101 GT #127] GOTO 99)
G65 H32 P#110 Q#124 R#102 (#110 = #124 * COS[#102])
G65 H02 P#110 Q#110 R#121 (#110 = #110 + #121)
G65 H31 P#111 Q#124 R#102 (#111 = #124 * SIN[#102])
G65 H02 P#111 Q#111 R#122 (#111 = #111 + #122)
G81 X#110 Y#111 R#104 Z#105 F#128 (Same in custom macro B)
G80 (Same in custom macro B)
G65 H02 P#101 Q#101 R1 (#101 = #101 + 1)
G65 H02 P#102 Q#102 R#103 (#102 = #102 + #103)
G65 H80 P1 (GOTO 1)
N99 M99 (End of custom macro)

Related Content

CNC Tech Talks

6 Variations That Kill Productivity

The act of qualifying CNC programs is largely related to eliminating variations, which can be a daunting task when you consider how many things can change from one time a job is run to the next.

Read More
Basics

How to Evaluate Measurement Uncertainty

Manufacturing and measurement are closely coupled. An important consideration for the use of measurement results is the associated measurement uncertainty. This article describes common metrology terms and provides an example uncertainty analysis.

Read More
Basics

How to Mitigate Risk in Your Manufacturing Process or Design

Use a Failure Mode and Effect Analysis (FMEA) form as a proactive way to evaluate a manufacturing process or design.

Read More
CNC Tech Talks

How to Determine the Currently Active Work Offset Number

Determining the currently active work offset number is practical when the program zero point is changing between workpieces in a production run.

Read More

Read Next

Automation

AMRs Are Moving Into Manufacturing: 4 Considerations for Implementation

AMRs can provide a flexible, easy-to-use automation platform so long as manufacturers choose a suitable task and prepare their facilities.

Read More
Basics

Machine Shop MBA

  Making Chips and 91ÊÓÆµÍøÕ¾ÎÛ are teaming up for a new podcast series called Machine Shop MBA—designed to help manufacturers measure their success against the industry’s best. Through the lens of the Top Shops benchmarking program, the series explores the KPIs that set high-performing shops apart, from machine utilization and first-pass yield to employee engagement and revenue per employee.  

Read More
Economics

Last Chance! 2025 Top Shops Benchmarking Survey Still Open Through April 30

Don’t miss out! 91ÊÓÆµÍøÕ¾ÎÛ's Top Shops Benchmarking Survey is still open — but not for long. This is your last chance to a receive free, customized benchmarking report that includes actionable feedback across several shopfloor and business metrics. 

Read More