91ÊÓÆµÍøÕ¾ÎÛ

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.

Related Content

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
Measurement

A Balancing Act for Differential Gaging

Differential gaging measures using two devices, which has advantages over standard, comparative measurements using a single sensing head. These include the ability to measure size without regard to position.

Read More
CNC Tech Talks

5 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 More
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

Read Next

Top Shops

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
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