My understanding:
You have one conveyor supplying material to three separate work stations.
Each work station has a request material push button and an arm that will divert or grab material from the conveyor. You want to give the material to the work station based on the order that the request was given?
I would assign a number; 1, 2, or 3, to an integer for each station. Then use a FIFO (First In, First Out) to keep track of which station number button was pressed. Then unload the FIFO and activate the arm for that station number as the material is delivered to the conveyor.