On Deck Production Runs
Implementing a way to stage production runs before they’re ready to be processed is an easy way to get more efficiency out of a process without an investment in hardware or automation. Typically, we call this concept “moving something on deck”.
Why are On Deck Production Runs Useful?
On deck production runs allow you to stage an order before it is run on the line. This staging process can include moving raw materials to a particular location, swapping dies or inserts on a machine for new parts, or even doing something like a cleaning cycle or an allergen flush on a system before moving to a new product.
With on deck production runs you can:
Alert operators when the new batch is put on deck
Tell the warehouse folks it is time to move needed materials to the start of the line
Get everything ready before it is time to start the run.
Reduce changeover time, and overall downtime attributed to changes ahead of time.
You could even take this concept further and stage an entire day’s worth of production, or tie it into the production schedule to automatically move the next runs on deck during a current production run.
For processes with a lot of automation, you can even load in a handful of batches staged for production, then have the process start the new runs as the current ones complete. For example, running multiple types of parts in a CNC Machining cell, with a given number of parts in each batch. You could put five batches on the feed conveyor, have the system track how many have been machined, and load in the appropriate parameters to the system as the next batch is coming down the line. This will reduce overall setup times by grouping parts with similar operating parameters together and loading them all at once rather than individually.
The bottom line: no matter your size or level of automation, On Deck functionality will increase your efficiency.
How to Add On Deck Functionality with Minimal Effort
Adding in On Deck functionality is a pretty simple process. For each slot of on deck capacity you want, add in tags to store the values for the new run. Instead of pulling in data from an operator entry screen before starting the run, you look at the new on deck tags for the data instead. In most cases, especially when using our favorite platform— Inductive Automation Ignition —this is simply a matter of replicating the tag structure of your recipes with memory tags, and updating a couple of scripts to write to the on deck tags instead of the active tags. Then, you can pull data from the on deck tags and put it into the active tags when the run starts.
This will still work seamlessly with any of your OEE and downtime tracking, MES functionality, and scheduling software.
Our approach is to set up a screen where operators enter the info for each production run to create a list of batches. Usually, we’ll have a table on this screen listing the batches and a button to move a batch on deck, a listing of the on deck batch information, and a button to load the on deck batch to the active batch.
The ease of implementing On Deck functionality with your existing process leads to something almost any operation can afford, especially with the resulting savings in time and money.
An Example On Deck Production Run
Here we will take an existing system with a basic recipe and add on deck functionality to replace directly writing to the PLC to start the run. We will simulate an injection molding machine, and the PLC in this example is an Opto22 groov EPIC. For the recipe we will send over a melt temperature, mold temperature, cycle time, and hold pressure. In a real world scenario we would use more data, but for this example we will have our bases covered to demonstrate functionality.
In the current system, an operator looked up the values for a given work order on a spec sheet, manually enter the four values, and run the machine. A typical screen for a machine with these parameters would look like this:
On the screen above, the operator would make changes to any of the values, then click “Load Recipe” to send the values to the machine. To run a part with a different melt temperature and mold temperature, they would go make all of their changes to the machine, load in new pellets, a new mold, etc. then load the recipe when they were done.
The new screen will have a section identical to the current screen, except we will use it to create a batch instead of loading the recipe directly to the machine. Once the batches are created, the operator can then load one of them on deck, and then push the on deck recipe to the machine. While this is a bit of overkill for four data points on a single machine, it demonstrates the functionality, and is easily extended to more advanced scenarios where this can really come in handy. For this process, if we had a plant floor with thirty machines, a production scheduler could input all of the batches for the day. Then, the operators could prepare machines for batches and start them much more quickly than by starting them one at a time.
The New On Deck Process
First we will enter the data into the new screen, and create a new batch.
Once we enter the data and click “Create Batch”, a new batch is created in the Batches table. For this exercise we are using numeric Batch IDs, which could refer to work orders, part numbers, or anything else you want to handle in a real use case. We can also manage many more data points, and would likely hide many fields from this table in a normal scenario. We would only display the batch id, part number, etc.
Doing this will move the batch on deck, allowing us to either clear it out and select a different batch, or load it to the machine:
Assuming we load it to the machine, the machine will take on the new settings and it will begin to run the current batch:
To enable the On Deck functionality in the PLC, we can use the existing tag structure. We can add complexity if we choose, however most of the work for this example will take place in Ignition.
For the initial example we only used the tags in the Active folder, and wrote directly to them from the Machine Parameters screen.
For the On Deck example, we created an identical tag structure using Memory tags instead of OPC tags, and will set the values when we move the batch on deck. Then, when we load the on deck batch to active, we simply do a mass read of the tags in the On Deck folder, and then write to the tags in the Active folder. Lastly, we reset the values of the On Deck tags.
If we wanted, we could put the on deck tags in the PLC, and do the swap there, or we could add some handshaking logic. Another more complex option could depend on the process requirements. Overall, our example demonstrates the On Deck functionality, and how On Deck batches can help you streamline your operations and increase your productivity with minimal changes to your process, controls system, or HMI.