NTMA
Published

Tracking Time with Custom Macro

System variables allow for time-based applications like tool-life monitoring, preventive maintenance, sampling inspections and machine warm-up.

Share

Leaders-In background

Custom Macro gives you the ability to monitor time from within a CNC program. System variables provide access to two timers (milliseconds and hours), a calendar (year, month, day) and a clock (hours, minutes, seconds):
 • #3001 millisecond timer
 • #3002 hour timer
 • #3011 date (yyyymmdd)
 • #3012 time (hhmmss)

The millisecond timer (#3001) will run for about 600 hours before it automatically resets. The hour timer (#3002) will run for about 9,500 hours before resetting. They are always running, but can be reset at any time. Consider these commands that use the milliseconds timer to cause a 10-second dwell:
#3001 = 0 (Reset millisecond timer)
N1 IF [#3001 GT 10000] GOTO 5
GOTO 1
N5 …

The date and clock functions work differently. If the present date and time is February 3, 2018, at 3:39:02 p.m., the current date and time system variable values will display as follows:
#3011: 20180203
#3012: 153902

The clock uses a 24-hour format: 15:39 is, of course, 3:39 p.m. Since these system variables run in sync with the CNC’s system clock, it is possible to track events over longer periods of time. 

These time-related system variables also allow unique time-based applications. Think of situations in which events must be timed:
 • How long a cutting tool is machining (part of a tool-life monitoring system).
 • Preventive maintenance tasks, like filter changes.
 • Time-based sampling inspections.
 • Machine warm-up after a period of non-use.

The following time-based spindle warm-up example was suggested by Ryan McKibbin of the Maryland Institute College of Art. A machine spindle’s thermal expansion during warm-up may cause size deviations that make it impossible to run acceptable workpieces until it warms up. The warm-up routine must be run whenever the spindle cools, such as after off-shifts and whenever the machine is idle for more than an hour.

As Mr. McKibbin’s program shows, tracking when the warm-up program is required can be programmed by including a few commands at the beginning and end of all programs:
%
O0001
IF [[[#509 + 010000] GT #3012] AND [#508 EQ #3011]] GOTO 5
#3006 = 1 (Cold spindle – press cycle start)
M03 S12000
G04 P120000
M03 S18000
G04 P120000
M03 S23000
G04 P60000
M05
#3006 = 2 (Warm-up over – press cycle start)
(Machining program begins here)
N5 . . .
(At the end of the program:)
#508 = #3011
#509 = #3012
M30
%

Permanent common variables #508 and #509 keep track of the last date and time when the machine finished running a program. The IF statement tests the last completion time plus one hour against the current time and the last completion date against the current date. If more than an hour has elapsed, or if the date changes, the operator is instructed (by the #3006 stop with message command) to press the cycle start button to run the warm-up routine. The warm-up routine could, of course, be run automatically by eliminating the stop with a message command.

The warm-up routine starts the spindle at varying speeds, and the CNC will dwell appropriately until the spindle warms up. After the spindle warms up, the operator is instructed to press the cycle start button again to run the program. This could also be an automatic action.

Permanent common variables #508 and #509 are updated at the end of the program, so new time and date values will be considered the next time the program is run.

Become a NTMA member today!
NTMA
NTMA
MMS Online Apr-2021
IMTS+
IMTS+
Starrett W9400 Touch Screen Indicator
World Machine Tool Survey

Related Content

CNC Tech Talks

Troubleshooting 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 More
CNC Tech Talks

Obscure CNC Features That Can Help (or Hurt) You

You cannot begin to take advantage of an available feature if you do not know it exists. Conversely, you will not know how to avoid CNC features that may be detrimental to your process.

Read More
CNC Tech Talks

4 Reasons to Use Safety Commands

Safety commands help safeguard CNC applications from common programming or operation errors.

Read More
CNC Tech Talks

Strange But True: Odd Things That Happen With CNCs

These oddities in the way a CNC naturally behaves can help explain some rather unusual situations that may occur during machining.

Read More

Read Next

Workforce Development

Building Out a Foundation for Student Machinists

Autodesk and Haas have teamed up to produce an introductory course for students that covers the basics of CAD, CAM and CNC while providing them with a portfolio part.

Read More

5 Rules of Thumb for Buying CNC Machine Tools

Use these tips to carefully plan your machine tool purchases and to avoid regretting your decision later.

Read More

Registration Now Open for the Precision Machining Technology Show (PMTS) 2025

The precision machining industry’s premier event returns to Cleveland, OH, April 1-3.   

Read More
IMTS+