Accessing Parameter Values from within Programs
A new parameter reading function gives CNC programs more intelligence, enabling them to behave as you need them to.
A relatively new FANUC feature provides the ability to read parameter values from within CNC programs. It has always been possible to enter (write) parameter values from within programs using a G10 command, but the new PRM function completes the read/write loop. The format for the parameter reading command varies based on the parameter type.
1. Eight-bit parameters:
#101 = PRM[1] (Sets common variable #101 parameter to number one’s value. For example, if parameter number one’s value is 01100110, the value of #101 will be set to 01100110.)
#101 = PRM[1, 4] (Sets common variable #101 to the value of bit number four of parameter number one. So if parameter number one’s value is 01100110, the value of #101 will be set to 0.)
By the way, you can easily test whether or not a given machine has this new functionality by executing the first command above (#101 = PRM[1]) using manual data input (MDI). If common variable #101 is set to the value of parameter number one, the machine has the ability to read parameter values.
2. Axis-type parameters:
#101 = PRM[1322]/[2] (Sets common variable #101 to the second axis value of parameter number 1322.)
Applications
Some parameters affect the way CNC programs behave. Others affect the way programs must be written. For these reasons, having the ability to read parameter settings from within a program has important implications. In essence, you can give your programs more intelligence. After determining what the CNC expects, you can make your programs behave accordingly.
Improving Compatibility
Consider the program format required for multiple repetitive cycles and subprogramming on turning centers. Bit one of parameter one (for a FANUC 0iD control) specifies whether multiple repetitive cycles use a one-line or two-line command, and how multiple executions of a subprogram are specified.
If this bit is set to a value of 0, the two-line multiple repetitive cycle format must be used, and the P word in an M98 command specifies the number of subprogram executions. If this bit is set to a value of 1, the one-line multiple repetitive cycle format must be used, and an L word in the M98 command specifies the number of subprogram executions. For example, the following commands will work regardless of how this parameter is set:
G00 X3.5 Z0.1
#33 = PRM[1,1] (Read bit one of parameter one)
IF [#33EQ1] GOTO 5
G71 U0.125 R0.05 (Two-line G71)
G71 P10 Q15 U0.040 W0.005 F0.015
GOTO 10
N5 G71 P10 Q15 U0.040 W0.005 D1250 F0.015 (One-line G71)
N10 G00 X1.25
G01 Z0 F0.008
X1.5 Z-0.125
Z-1.0
X1.75
X2.0 Z-2.0 F0.005
Z-2.75 F.008
X2.5 Z-3.0 R.25
G01 X2.75
X3.0 Z-3.125
Z-3.5
X3.25
N15 X3.5 Z-3.625
Error Trapping
Perhaps you know a program will fail, or cause unexpected movements, if a parameter is not properly set. Maybe the machine must be in the imperial measurement system (inch) mode when your program is run. If bit number two of
parameter number zero controls measurement system mode selection (as it is on a FANUC 0iD control), these commands will ensure that the CNC is in the imperial measurement system mode. An alarm will sound if it is not.
#33 = PRM [0,2] (Read bit two of parameter zero)
IF [#33=1] GOTO 5
#3000 = 100 (You must select imperial measurement system.)
N5 . . .
Related Content
The Best Point of Reference for Program Zero Assignment Entries
Correctly specified program zero assignment and coordinate position values enable the CNC to determine how far to move the cutting tool during each positioning motion.
Read MoreTroubleshooting Differences in Programming Methods, Machine Usage
Regardless of the level of consistency among machines owned by your company, you probably have experienced consistency-related issues. Here are some tips to help solve them.
Read More5 Reasons Why You Should Know How to Write Custom Macros
Custom macros enhance what can be done in G-code programs, giving users the ability to code operations that were previously not possible.
Read MoreA Spiral Milling Custom Macro Using Constant Contouring Feedrate
Helical milling or “spiral” milling are helpful when machining a circular pocket that is much larger than the milling cutter diameter.
Read MoreRead Next
Inside Machineosaurus: Unique Job Shop with Dinosaur-Named CNC Machines, Four-Day Workweek & High-Precision Machining
Take a tour of Machineosaurus, a Massachusetts machine shop where every CNC machine is named after a dinosaur!
Read MoreIncreasing Productivity with Digitalization and AI
Job shops are implementing automation and digitalization into workflows to eliminate set up time and increase repeatability in production.
Read MoreThe Future of High Feed Milling in Modern Manufacturing
Achieve higher metal removal rates and enhanced predictability with ISCAR’s advanced high-feed milling tools — optimized for today’s competitive global market.
Read More