How to Prevent Different Grain Commodities from Mixing in Shared Equipment Paths
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Problem statement
I am modelling grain receiving and dispatching in FlexSim and need to prevent commodity mixing across shared equipment.
A truck can either unload grain into the system or load grain from the system. Each truck has:
A commodity label (Commodity / Load_Commod)
A tonnage label (Load_Ton)
The tonnage logic is working reasonably well, but I am struggling with the commodity control logic.
The challenge is that commodities cannot mix anywhere within the material handling route. The restriction is not only on the conveyor itself, but on the entire material handling path.
For unloading, the route is:
Truck → Hopper → Conveyor → Elevator → Conveyor → Bin
For loading, the route is:
Bin → Conveyor → Elevator → Temporary Bin → Truck
The issue occurs when consecutive trucks have different commodities and need to use the same equipment route.
Example:
Truck 1 unloads Commodity 1 through Hopper 1
Truck 2 unloads Commodity 2 immediately afterwards and also requires Hopper 1
Truck 2 should not be allowed to enter until:
Hopper 1 is empty
The downstream conveyors are empty
The elevator is empty
Grain has reached the destination bin
No residual Commodity 1 remains anywhere in the route
Currently, Commodity 2 can enter while Commodity 1 is still somewhere in the material handling chain, causing grain mixing.
Requirement
I need a scalable, standard FlexSim solution (minimal custom code) that:
Prevents commodity mixing across an entire equipment route
Allows only one commodity per route at a time
Automatically releases the route once all associated equipment becomes empty
Works when adding additional bins/hoppers later without rewriting code
Integrates with the existing truck labels (Commodty, Ton)
My question is whether the correct approach is to lock an entire equipment route using a route commodity state/label, or whether there is a more standard FlexSim method to achieve this.