Do you have variables in your manufacturing operation?
Okuma control, the variables and related functions are part of User Task II. On the Fanuc control, it is part of Macro B. Most of the variable functions are now standard on the newer Okuma controls. Macro B is usually an option on many Fanuc controls. There are basically three types of variables – local variables, common variables, and system variables. Some controls also have a function called IO variables (input /output variables).
A common variable on the Okuma lathe is called out using V, on a machining center it is VC. Common variables can be used to represent coordinate positions, spindle speeds, or a counter.
Most Okuma machines will have common variables ranging from 1 up to 32. New machines will usually have 200. One of the basic uses of common variables is a parts counter. The operator or programmer would put a line of code in the program, each time the program reads that particular line one is added to the parts count. At the end of the shift the operator can check the number of parts by looking in the common variable page in parameter mode.
A parts counter on the lathe might look something like this, V10=V10+1, with this statement in the program the machine would add 1 to common variable 10 each cycle. For a machining center it would read VC10=VC10+1.
On a Fanuc control is would look like this #105 = #105+1.
System variables have a specific meaning to the machine’s operating system. One system variable that is used quite often on an Okuma lathe or mill is VZOFZ. This is used to represent the Z zero offset from the zero set mode. When the machine reads the line containing VZOFZ, the Z zero offset would be set or updated. There are many systems variables ranging from zero offsets to pitch error comp to current machine position. Used in the program, the variable would read like this, VZOFZ=652.9658. The number following the equal sign is the value obtained from the Z zero offset in zero set mode. On a Fanuc control, the Z axis work shift is variable #2601 and the name is [#_WKSFTZ].
Local variable names are chosen by the programmer. The name is usually up to four characters long, with the first two characters being letters from the alphabet. Local variables are cleared upon the completion of the program or when rest is pressed. Up to 127 local variables are available on most controls with this type of function. With this type of variable we create a unique name that has some meaning to us. An example of this might be XDIM1 or ZDIM1. With these names we assign an X program position and Z program position. In the program it would like this:
XDIM1=1.0 (this defines the value for XDIM1)
ZDIM1=1.0 (this defines the value for ZDIM1)
G0 X=XDIM1 (X is positioned to 1-inch at a rapid speed)
G1 Z=-ZDIM1 F.010 (Z is positioned to 1-inch at a feed rate of .010 per rev)
A fourth, but often overlooked, type of variable is what we call an I/O variable. These types of variables are used to check the status of an input or output on the machine. For example, we can check to see if single block is on or if the spindle override is set to 100%. If the proper conditions do not exist, we can generate an alarm to alert the operator to the condition so it can be corrected before running the machine cycle. Here in this example to check if single block is on:
IF [VORDEQ 1] NAL06 (check to see if single block is on; if it is on jump to line NAL06)
NCUT (start of cutting program)
NDONE (end of cutting program)
GOTO NEND (jump to line NEND to read M30 end of program code)
NAL06 VAUCM=’SINGLE BLK ON’ (comment that will appear with alarm if single block is on)
When programmers use check statements like this, they will usually check multiple items on the machine and will put these checks in a subprogram.
Most machines with the variable functions will also have the ability to do math within the program. This can range from simple addition and subtraction, trig functions using sine and cosine, or rounding up or down. With this example, we set the speed command S by using local variable and a simple math formula:
SFM=770 (surface speed of 770)
S=3.82/4*SFM (speed is equal to 3.82/4 flutes *SFM of 770)
For more information, please reach out to a Hartwig expert!
More Posts Like ThisExplore Full Content Library
How to Use the G84 Code for Rough Turning Conditions
The following commands allow the cutting conditions to be changed from the desired point(s) during a rough...
The following commands allow the cutting conditions to be changed from the desired point(s) during a rough turning cycle. If no change in cutting conditions is necessary, there is no need to use them. Changes can only be specified three times – A, B, C. The commands following the three specified entries must be designated Read More...
EDM Best Practices
We often help customers at Hartwig with troubleshooting their EDM processes. This short article contains a few...
We often help customers at Hartwig with troubleshooting their EDM processes. This short article contains a few helpful tips for keeping your EDM operation running smoothly. Avoiding Spooling Problems Wire tangling or crossovers on the spool are one of the most common reasons for returned EDM wire, yet the vast majority of these incidents are Read More...