Tank Scheduling is intended for manufacturers that use large storage vats to hold liquids such as beverages, chemicals, or formula blends for an indeterminate amount of time. These tanks are considered “in use” until downstream operations empty them. With Tank scheduling, the normal Item/Warehouse inventory plan is bypassed since the storage of the material is being recorded in the tank and ultimately emptied from the tank.
Tanks are used as indefinite storage but come with the caveat that no other item can be stored unless the Tank is emptied. Emptying a Tank entails creating jobs or activities that consume the Item stored in the Tank as a Stock Material.
Once a Job has been created that requires the stored item as a Stock Material, other items can be stored in the Tank, but only as the job consuming the stored item has started.
Note: If there is no Activity consuming the stored Item, all Operations requiring the Tank for storage will Fail to Schedule.
On the Gantt, the Process segment of the Gant Labels provides a graphical representation of the quantity of product being stored in the Tank. As consuming jobs are moved out further in time, the graphical portion of the Gantt Label will change to show the change in quantity.
It is important to note that PlanetTogether does not control the flow rate of the Tank. Instead, it displays that the flow rate is dynamic depending on when the consuming job is scheduled and the job producing the consumed item. The farther apart they are scheduled, the slower the flow rate.
Configuring a Tank Resource
The following steps are required to configure a Tank Resource.
On the Resource:
- Right-click the Resource and click Open.
- On the Capacity tab, under Capacity Type, ensure that “Tank” is checked.
- Max Qty Per Cycle: This sets the maximum amount of material that can be stored in the Tank at any time.
- Max Qty: If the Max Qty is set lower than the Required Quantity of the operations scheduled on it, the operation will fail to schedule. Otherwise, this does not affect the Tanks. On the Work Assignment tab, set the Quantity constraints:
On the Job:
- The Operation scheduled on the Tank must list a Product.
- On the Product tab, ensure that “StoreInTank” is checked
- On the Resources tab, make sure the Resource Requirement that will run on a Tank Resource has its Usage End set to either 'Storage' or 'Storage Post-Processing.'
- On the Material Requirement tab of the consuming Operation, make sure the specified warehouse is null/blank.
Note: If StoreInTank is not checked, the Operation will still schedule to the Tank, but no graphic will show, and it will not prevent a second item from being stored in the Tank before another Activity empties it.
If StoreInTank is checked, but the Operation does not run on the Tank Resource, there will be no graphic displaying the quantity level of the stored item. Still, PlanetTogether will prevent a second item from being stored in the Tank unless another activity is emptied.
- The OverlapType on the Manufacturing Order Path must be set to ‘TransferSpan.’ This will allow both the producing operation (tank operation) and the consuming operation to finish simultaneously. You will also need to make sure to add a value to the OverlapTransferHrs field, which will enable the successor operation to begin after the first has been running for a specified time.
The post-processing time on a Tank Resource isn’t constrained to its online capacity intervals. Post-processing after the material is withdrawn will always start online, but it can extend into offline capacity. It is displayed as a blue bar of the Process segment on the Gantt Label.
The Shelf Life needs to be set on the Item Details in the Inventory Plan; this will automatically cause the Tank to empty if other jobs have not consumed the full quantity within the Shelf Life span.
Using MRP/MPS Optimize with Tanks
MRP can generate Jobs that produce more than is needed by the demand. This is usually due to batching constraints (BatchSize, MinNbrOfBatches, etc.) on the inventory. This can be problematic on Tank resources since the excess quantity will not be consumed. The tank will not become available until the production is expired (if using shelf-life) or until the end of the planning horizon. PlanetTogether resolves this issue by increasing the quantity of the parent Job so that any excess quantity is consumed. This is done by using a field in the Inventory Mappings called MrpExcessQuantityAllocation. This field controls which parent jobs are adjusted to accept the increased allocation. The following values are permitted for this field:
- None: Leave extra material as WIP in the warehouse or on the Tank. This is the default.
- LastParentJob: Allocate the remainder to the last consuming Job (by NeedDate).
- AllParentJobsEqually: Divide the excess quantity equally among the parent Jobs.
- AllParentJobsProportionally: Divide the excess quantity proportional to the parent Job quantities.
To improve performance where many Tank resources might all be displaying changing inventory levels of stored items simultaneously, Tank plots can also be hidden via the Simplify Gantt dialog. As a result, users will only see the yellow 'Storage' section of the Process segment.
Although the plots may not be displayed, the behavior of the Tanks will not be affected. Additional activities cannot be processed and stored in the Tank unless downstream Activities have consumed the previous item entirely.