PM scheduling in a CMMS is configuring how the system generates recurring maintenance work orders: what triggers each PM, a fixed calendar date, a floating interval measured from last completion, or a meter reading, how far ahead the work order is created, and how the system handles missed, early, or overlapping tasks.

Getting this right is the difference between a PM program that runs itself and one that quietly drifts. The same task list can produce clean, actionable work orders or a stack of overdue duplicates depending entirely on how the triggers and generation settings are configured. This guide walks the three trigger types, the generation settings that trip people up, and a setup sequence that keeps the schedule honest.

What is PM scheduling in a CMMS?

PM scheduling is the automation layer of a CMMS: you define a PM once, its tasks, trade, parts, and interval, and the system generates the actual work orders on the right cadence forever after. The scheduling engine answers three questions for each PM: what event makes it due (the trigger), when the work order should appear so it can be planned (the lead time), and what to do when the previous instance was not completed on time.

The tasks themselves come from your preventive maintenance schedule; scheduling is how that plan turns into work on the floor without anyone remembering to raise it. Configure it well and PM compliance becomes measurable and self-sustaining. Configure it carelessly and you get phantom overdues, double-scheduled tasks, and technicians who stop trusting the queue.

What are the three PM trigger types?

There are three ways a CMMS decides a PM is due: a fixed calendar date, a floating interval counted from the last completion, and a meter reading tied to actual usage. Most programs use all three, matched to how each failure mode develops. Time-based failures suit calendar or floating triggers; usage-based wear suits meter triggers.

TriggerHow it firesBest forWatch out for
Fixed / calendarDue on set dates regardless of when the last one was done (e.g. the 1st of each month)Compliance and inspection tasks that must land on a rhythm, safety checks, regulatory PMsIf a PM is done late, the next one still fires on schedule, so intervals can compress
FloatingNext due date is recalculated from the actual completion date of the last oneCondition-preserving tasks where the clock should start when the work is actually done, lubrication, filter changesChronic lateness slowly stretches the real interval; watch completion dates
Meter / usageFires when a counter crosses a threshold, run hours, cycles, units produced, milesWear driven by use, not time, hydraulic service, bearing lube on variable-duty assetsOnly as good as your meter readings; needs a reading source and a projection method
Fixed, floating, and meter PM triggers comparedThe same PM, three different triggersFIXED / CALENDAR1st1st1st1stdue on the date no matter whatFLOATING (from completion)done+interval+interval+intervalclock restarts each time work is finishedMETER / USAGEthreshold = PM duefires when the counter crosses the linerun hours →
The three triggers behave differently when work runs late. Fixed dates hold their rhythm but compress the real gap between jobs; floating resets from completion; meter triggers ignore the calendar entirely and follow actual use.

Calendar or floating, which should you use?

Use a fixed calendar trigger when the task must happen on a rhythm regardless of the last one, safety inspections, regulatory checks, anything auditors expect on a set cadence. Use a floating trigger when the interval is about elapsed condition and the clock should start when the work is actually finished, lubrication, filter and belt changes, most condition-preserving tasks. The distinction matters most when work runs late.

Here is the trap. With a fixed monthly PM done two weeks late, the next one still fires on the 1st, so you have two services two weeks apart, then a long gap, the schedule compresses and then stretches. With a floating monthly PM, finishing late simply pushes the next due date out, so the real interval creeps longer than you intended if lateness is chronic. Neither is wrong; they fail in opposite directions. Pick the one whose failure mode you can live with for each task, and watch schedule compliance so lateness never quietly redefines your intervals.

How do meter-based triggers work?

A meter-based (usage) trigger fires when a counter crosses a threshold, 500 run hours, 100,000 cycles, 250,000 units, rather than on a date. It matches maintenance to actual wear, which is the honest driver for a lot of equipment: a pump that runs two shifts wears twice as fast as one running a single shift, and a calendar PM treats them the same. Meter triggers fix that mismatch.

The catch is data. A meter PM is only as reliable as the reading feeding it, so you need a source, a manual reading route, a PLC or SCADA tag, or a sensor, and a way to project the next due date from the usage rate so planners can stage parts before the threshold hits. Plants that already stream machine data into one operational layer, the approach Harmony takes with no rip-and-replace, get meter triggers close to automatic; plants relying on someone to key in run hours weekly should keep the meters on their most usage-sensitive assets and leave the rest on time triggers. Meter-based PM is the on-ramp to condition-based maintenance where the trigger becomes a measured condition rather than a usage count.

What PM generation settings actually matter?

Beyond the trigger, a handful of generation settings decide whether the schedule produces clean work or clutter. These are the ones worth getting right before you turn a PM loose.

Anatomy of a PM generation windowOne PM cycle, from generation to dueplan · stage parts · scheduleWO generated(lead time before due)DUE DATEgrace / overduenext generates← lead time governs how early planners see the work“one open at a time” stops a second WO firing hereSet the lead time to your planning horizon; block duplicate generation until this one closes.
A single PM cycle. Lead time controls how early the work order appears for planning; the one-open-at-a-time rule prevents a second instance generating while the first is still overdue.

How do you set up PM scheduling step by step?

Set it up asset by asset, matching each PM's trigger to how its failure develops, then loading the generation settings that keep the queue clean. This sequence keeps a new configuration from becoming next quarter's mess.

  1. Build the asset hierarchy first. PMs attach to assets, so a clean equipment register with locations and criticality is the foundation. Scheduling against a messy hierarchy produces work orders nobody can route.
  2. Pick the trigger per PM. Time-based, condition-preserving task on a rhythm, fixed or floating. Usage-driven wear, meter, if you have a reading source. Do not default everything to calendar out of habit.
  3. Set the interval from evidence, not the manual's maximum. Start from the manufacturer's guidance, then tune with failure and downtime history the same logic as a PM optimization review.
  4. Attach the tasks, parts, and trade. Load the checklist with pass/fail criteria, the parts kit from spare parts inventory and the responsible trade so the generated work order is ready to execute.
  5. Configure generation settings. Set the lead time to your planning horizon, enable one-open-at-a-time, and nest overlapping frequencies so a single visit covers the monthly, quarterly, and annual work.
  6. Turn on meter feeds where they exist. Point usage triggers at a reading source, route, PLC tag, or sensor, and set a projection so the work order lands before the threshold, not after.
  7. Review the forecast, then go live. Look at the projected PM load week by week before switching on. Level the peaks so no single week is impossible, then monitor compliance and adjust intervals as history accumulates.

What does well-configured PM scheduling pay?

Clean scheduling is what turns a PM plan from an intention into executed, measurable work, and the maintenance literature ties that shift to real money:

The honest caveat: the CMMS generates work orders; it does not do the work or guarantee the interval is right. Bad intervals scheduled perfectly still waste labor or let failures through. Scheduling makes a good plan executable, it does not make a bad plan good.

How does PM scheduling fit the bigger picture?

PM scheduling is the operational heartbeat of your maintenance strategy: it is where the plan from your PM schedule meets the daily queue, and where the climb toward predictive maintenance begins, every meter trigger is a step toward condition-driven work. It also underpins the maturity described in our equipment reliability guide and it is where total productive maintenance shows up in the system, as operator-owned PMs generated on their own routes.

The recurring blocker is fragmentation: PM triggers in the CMMS, meter data in the historian, parts in the ERP, and completion notes on paper, so no one setting sees the whole cycle. When those records live in one connected layer, the approach Harmony takes with no rip-and-replace (see how that works), meter triggers feed themselves, generated work orders arrive complete, and compliance is a number you can trust. The CLS case study shows what that connected plant record looks like on the floor.