Automatic Job Dispatch is a system within MachineMetrics that allows users to configure Jobs in a way that Job Runs will automatically be started and stopped when certain program information is reported by the machine.
Depending on the make, model, age, and connectivity of a machine, we are able to capture more or less information from the machine — either by querying the control or through the use of sensors. Automatic Job Dispatch only works for certain machines because we need to be able to retrieve program information to make it work — this immediately excludes machines integrated exclusively with sensors (what we sometimes refer to as Digital IO-connected machines).
Note: To use Auto Job Dispatch, your machine must be capable of reporting programs that can be correlated to jobs. You will also need to have Jobs configured for your MachineMetrics dashboard
As the machine is running, we are constantly asking it what program number it is running and sending it through our data ingestion pipeline. For machines that have Automatic Job Dispatch enabled, we examine the program number and look up any jobs at that company that are allowed to run on that machine and also have that program number associated with the job. Next, we check to see if that machine already has a job running.
If it does, and the job that is running matches the one we found in our previous step, we do nothing. If it does not match - or we didn't find a job in that previous step, we stop the currently running job. Assuming we found a job in the first step and it isn't already running, we start it (ie: we create a Job Run with a start time matching the moment the program number was reported by the machine and no end time).
Topics covered in this article
- Before you can use Auto Job Dispatch
- Configuring Auto Job Dispatch
- Auto Job Dispatch by API
- Common Auto Job Dispatch Questions
- Have Questions?
Before you can use Auto Job Dispatch
This feature can only be enabled by a MachineMetrics employee. Please contact your CSM or email email@example.com if you would like to enable Auto Job Dispatch or are interested in learning more.
Configuring Auto Job Dispatch
Once Auto Job Dispatch is enabled for your account, the next step will be configuring it for your individual machines. In order to configure your machines, follow the steps below.
1. From your MachineMetrics dashboard, hover over the Settings option from the top navigation menu, and then select Machine Settings from the dropdown.
2. If you are configuring a machine that has already been added to your account, click on the machine or on the Edit button that appears when hovering over it.
If you are looking to add a new machine and configure it with Auto Job Dispatch, click the Add Machine or Duplicate button.
3. Next, select Auto Job Dispatch from the left sidebar. If you do not see Auto Job Dispatch as a menu option, please reach out to your Customer Success Manager or firstname.lastname@example.org.
4. Click the Automatic Start dropdown and select which program metric you'd like to use. This will be the data point that reports programs that correlate to your jobs. If you're unsure of which metric to select, take a look at your machine's Diagnostic Timeline to view the different program metrics.
Auto-Job Dispatch supports main and subprogram number fields, main and subprogram name fields, and program header fields.
*Keep in mind: if the machine doesn't have support for one of these fields, it will not be present in the list of options. Below we outline the parameters for using name, numbers, and headers when configuring your auto-job dispatch.
Name and Numbers
Names and Numbers are treated differently from Headers. Names and Numbers must match exactly. Use the timeline to get this right. Sometimes a number has an O (capital oh) in front of it, sometimes it doesn't, it varies by machine make & model. The program name fields sometimes report a program number if no name is available. Every value that's in the timeline on the selected metric must be included in the job record (or Ignore Programs field) if you want that job to be running at any given time.
Headers are special. A program header is the first comment in the g-code (code that tells the machine what to do to perform the work). This typically looks like the following:
% O2289G26 (CITIZEN_A2_20_T7) (SAFE START CODES)
The content within the first set of parentheses is what we're after. That's what our system matches on. The content within the first set of parentheses of the program header must match any of the programs on the job — exactly. In this case, the job should be configured with the program CITIZEN_A2_20_T7.
*Please Note: No two active jobs can be configured to start based on the same program name, number, or header information on a given machine. An active job is a job in MachineMetrics that is not archived. Archived Jobs are not dispatched. Decommissioned machines are also not dispatched.
5. The final step is to configure your Ignored Programs. These are programs that can be configured to be ignored by Auto Job Dispatch to ensure they do not interrupt the job that is running. Programs that appear on the data item you selected from the Automatic Start dropdown that aren't associated with a specific job, such as a pallet change, should be added to the Ignored Programs field, each program separated by a semicolon.
*Please Note: If Ignored Programs are not configured, Auto Job Dispatch will not work correctly.
6. Click Save Changes at the bottom of the page, then repeat these steps for each machine you'd like to configure for Auto Job Dispatch!
Auto Job Dispatch by API
If you're interested in using our APIs to dispatch jobs in MachineMetrics, you'll need to do a few additional steps of configuration.
1. Follow the steps above in the Configuring Auto Job Dispatch section above, but select Start Job based on MES from the Automatic Start dropdown.
2. Then enter a unique ID into the ERP Machine ID field. This is what will be used in the jobdispatch/start and jobdispatch/stop endpoints to identify machines. To learn more about our APIs, see our developer page!
Common Auto Job Dispatch Questions:
- What if a machine runs multiple programs to produce a part?
You can specify multiple program numbers on a job. Just separate them with semicolons. You have to be aware of overlap. No two jobs can have a same program. If they do, we wouldn’t know which one to start. You can work around that by using the machine’s ignore program list.
- What if a few machines are capable of running a job, but some have different program numbers since they're slightly different pieces of equipment?
You can add machine-specific overrides to a job allowing you to indicate which program numbers are expected on each machine.
- What if the main program is generic across all parts and sub programs are called to do the part-specific work?
When enabling Automatic Job Dispatch on a machine, you can configure it to watch sub program numbers instead of main program numbers.
- What if it's a combination of the two that make it unique?
You can configure machines to watch a combination of the main and sub program numbers. This is tricky, but available for specific cases. Main-sub program number sets are combined with a period. For example, if the main program was 123 and the sub program was 456, the job would be configured with the value 123.456.
- What if the machine runs one or more main or sub programs on every job?
The machine form has a field for Ignore Programs where you can specify a list of programs that won't cause a job to start or stop when present.
- What about machines with multiple paths.
This adds another layer of complexity, but every program number on every path must be included on the job (see 1). This is avoided for most (if not all) scenarios using the new “Start jobs based on data value” option in the drop-down menu when configuring auto job dispatch for your machine in the MM app.