Auto Production Monitoring (APM)

Overview
This article explains how Auto Production Monitoring (APM) works and how to configure it for your machines. APM is an automated matching algorithm that monitors running programs and matches them to corresponding jobs based on part numbers and program data — eliminating the need for operators to manually select which job is active. It is triggered when a machine's Jobs selected by setting is set to Program.
APM is available for machines with or without MES enabled, but the job lifecycle is handled fundamentally differently in each case. Machines with MES enabled use a different APM engine and workflow than machines without MES. The sections below are organized by MES configuration — read the section that applies to your machines.
Feature Availability
| Requirement | Details |
|---|---|
| Access Level | Manager, Executive, and IT Admin users. |
| Prerequisites | APM must be enabled per machine by setting "Jobs selected by" to Program on the machine's Production & Operations tab. See Configuring a Machine's Production Settings. |
| Account Settings (MES only) | Account-level APM settings are configured on the MES Settings page. See MES Settings. |
Configuration
These settings are configured on each machine's Production & Operations tab and apply regardless of whether MES is enabled.
| Setting | What It Controls |
|---|---|
| Data Items | Which machine data items are used for program-to-job matching. By default, the system intelligently selects which data items to use. |
| Default Activity | Activity mode (Setup or Production) assigned to newly-added jobs when APM creates them automatically. Default: Production. |
| Ignore 9XXX programs | Treats 9000-series programs as non-production and excludes them from matching. |
| Ignored programs | Explicit list of program values to exclude from matching. Supports an explicit list and a regex pattern. |
| Create run when operation changes | Whether to close the current Production Run and start a new one when the detected operation changes. Only visible when MES is off — when MES is on, labor tickets manage the run lifecycle. |
For full configuration guidance, see Configuring a Machine's Production Settings.
Without MES
How It Works
When a program is detected on a non-MES machine, APM searches for a matching job and creates or updates a Production Run — a contiguous period of tracked data assigned to that job. Burden time accrues to the Production Run for as long as the matched program is loaded.
Programs configured as non-production — via the Ignored Programs list or the "Ignore 9XXX programs" setting — do not create Production Runs. Burden attribution forward-fills from the prior state — continuing to accrue to whatever job was last active, or pausing if no job was active. Common candidates for exclusion include warmup routines, probe cycles, and tool changer programs.
The "Create run when operation changes" setting controls whether a new Production Run is automatically started when the detected operation changes, or whether the existing run continues.
How to Use It
- Enable APM — on the machine's Production & Operations tab, set "Jobs selected by" to Program. See Configuring a Machine's Production Settings.
- Review configuration — check Data Items, Default Activity, and Ignored Programs. The defaults work for most machines; consult your SDM before adjusting.
- APM runs automatically — as programs change, Production Runs are created and tracked. No operator action is required unless a program needs to be manually excluded.
With MES
How It Works
The Matching Cycle
APM runs continuously while a machine is active. When the detected program changes, APM:
- Searches for a job matching the new program based on part number and program data.
- Evaluates match confidence based on how precisely the program maps to a job.
- Creates a draft labor ticket and assigns a match state (Matched, Suggested, or No Match Found).
- Presents the match state in ShopPulse for operator review or confirmation.
Match States
These are the labels operators see on job cards in ShopPulse:
| State | What It Means |
|---|---|
| Waiting for Program | Operator manually added the job before any program ran. A committed ticket already exists in the ERP. APM will prioritize this job when a matching program starts. |
| Matched | APM identified a job with high confidence. A draft ticket is created automatically. |
| Suggested | APM found a likely job but confidence is low. A draft ticket is created; the operator should verify before confirming. |
| No Match Found | APM could not identify a matching job. A draft ticket is created; the operator must select the correct job manually. |
| Confirmed | The operator has confirmed the match. The ticket is now committed (open) in the ERP and ready to be submitted. |
Draft vs. Committed Tickets
By default, APM-created tickets start as draft tickets — they exist only in MachineMetrics and have not been committed to the ERP. When "Automatically confirm high confidence matches" is enabled, high-confidence matches skip the draft stage and are committed to the ERP immediately.
- Draft ticket: Created automatically by APM. The job can still be reassigned before confirmation with no ERP impact.
- Committed ticket: Opened in the ERP when the operator confirms the match, or immediately upon match when auto-confirmation is enabled. The job is locked and the ticket can be submitted to close it.
Confirmation is required before a labor ticket can be submitted.
Account-Level Settings
These settings on the MES Settings page control APM behavior across all machines:
| Setting | What It Controls | Default |
|---|---|---|
| Automatically confirm high confidence matches | When enabled, high-confidence APM matches are committed to the ERP without operator confirmation. Suggested and No Match Found cases always require manual confirmation regardless of this setting. | Off (unchecked) |
How to Use It
Configuring APM
- Enable APM on each machine — on the machine's Production & Operations tab, set "Jobs selected by" to Program. See Configuring a Machine's Production Settings.
- Review per-machine settings — Data Items, Default Activity, and Ignored Programs appear once Program is selected. The defaults work for most machines; consult your SDM before adjusting.
- Configure account-level settings — on the MES Settings page (Automated Production section), review "Automatically confirm high confidence matches" and configure any other account-wide preferences.
Using APM (Operator)
- Pre-select jobs (optional) — before programs start running, you can manually add jobs to the queue. Each pre-selected job shows as Waiting for Program until APM detects a matching program.
- Check the match state — each job in your queue shows a state: Matched, Suggested, No Match Found, or Confirmed.
- Confirm a Matched job — if "Automatically confirm high confidence matches" is not enabled, tap the job card and tap Confirm. The state changes to Confirmed and the ticket is committed (opened) in the ERP.
- Review a Suggested job — if APM is uncertain, review the suggested job. Confirm if correct, or select a different job from the candidate list. If the correct job isn't listed, use the search option to find it — jobs selected via search are committed immediately.
- Select a job manually (No Match Found) — select the correct job from the list. Only released, active jobs are shown. Selecting a job commits the ticket immediately.
- Submit the labor ticket — once a ticket shows Confirmed, complete your work and submit it to close the ticket in the ERP. The job is removed from your queue when marked Complete.
Tips & Best Practices
- Make sure accurate part data is present in the machine's program data. APM can only match what it can read. The ideal case is a clearly delineated comment block in a program header — for example,
(PART# 12345-ABCDE). If accurate part data isn't surfacing in the machine's output, consult your SDM. - Leave Data Items at their defaults initially. The default configuration works for most machines. If you do customize, pick only the data items most likely to contain relevant part information and deselect the others — this reduces ambiguity and improves match quality. For example, if the relevant part info is in a subprogram file name on path 2, select just that item and deselect all others.
- For non-standard matching needs, use Transform data collectors. If part information needs to be synthesized from machine data in a non-standard way — such as appending a dimensional setting from a macro variable to a base part number — Transform data collectors can create a custom program data item for APM to use. Consult your SDM.
- Use Ignored Programs to filter noise. Add values that appear on a data item but don't represent production work — exact strings (e.g.,
WARMUP,PROBE) and regex patterns (e.g.,^O8[0-9]+) can be combined in any combination. By default, O9### programs are already filtered, as are certain system-specific values. If any of these defaults conflict with your setup, uncheck the corresponding box. - Enable "Ignore 9XXX programs" if your shop uses 9000-series programs as utilities. This prevents false matches on non-job programs.
- (MES) Leave "Automatically confirm high confidence matches" off initially. Monitor match accuracy before enabling auto-confirmation. Once confidence in matching is high, enabling it reduces operator overhead significantly.
- (MES) Be cautious when pre-selecting multiple similar jobs. When you manually add a job, a committed ticket is created in the ERP immediately — and APM prioritizes pre-selected jobs when matching. If APM matches the wrong pre-selected job, the ticket cannot be corrected from MachineMetrics. You'll need to edit it directly in the ERP.
FAQs & Troubleshooting
-
Why is a program being ignored? The program may match a value in the Ignored Programs list, match the 9XXX pattern with "Ignore 9XXX programs" enabled, or otherwise be treated as non-production. Review the machine's program matching settings on its Production & Operations tab.
-
(MES) Why is the match showing as Suggested instead of Matched? APM found a likely job but confidence didn't meet the high-confidence threshold. This can happen even when the part number matches perfectly — if multiple work orders exist for the same part, APM can't determine which one is correct and flags it for operator verification. Review and confirm the suggested job, or contact your SDM to review matching data quality.
-
(MES) What's the difference between a draft and committed ticket? A draft ticket exists only in MachineMetrics — no ERP record has been created yet. Confirming the match opens the ticket in the ERP. You can reassign the job on a draft ticket; you cannot on a committed one.
-
(MES) What happens when APM shows No Match Found? A draft ticket is created in a holding state. The operator must manually select the correct job from the list before the ticket can be committed.
-
(MES) Why am I seeing No Match Found when I know there are matching jobs on the machine? If the running program could match multiple jobs that both have open tickets on the same machine, APM cannot determine which is correct and returns No Match Found rather than making a guess. Select the correct job manually to resolve it.
-
What is APM3? APM3 is the underlying matching engine used for machines with MES enabled. It is configured and behaves identically to APM from the user and administrator perspective — no separate setup is required. When MES is enabled on a machine, APM automatically uses APM3.
Related Articles
- Configuring a Machine's Production Settings
- MES Settings
- How to Use ShopPulse on MES-Enabled Machines
Need Help?
Contact your Solutions Delivery Manager or email support@machinemetrics.com.