I would use a sequencer, also called a drum on some PLCs. You did not state the brand of the PLC you are using so I'll give you a generic response that I hope will be helpful.
While a sequencer can support any number of outputs, I'll explain the general concept with a simple molding machine using four outputs.
Output A - Close mold
Output B - Open mold
Output C - Extend press ram
Output D - Retract press ram
There are five steps:
0 Mold open, ram retracted, machine ready for operation.
1 Close the Mold.
2 Extend the press ram to press material into the mold.
3 Retract the press ram.
4 Open the mold.
After the last step is completed the sequencer will wrap around to the first step.
Now we create a binary table to represent the state of the outputs for each of the steps of the molding machine.
STEP Output: A B C D Decimal Equiv.
0 0 0 0 0 0
1 1 0 0 0 8
2 1 0 1 0 10
3 1 0 0 1 9
4 0 1 0 0 4
A sequencer (or drum) is an instruction that will move each of the integer values, in this case, 0,8,10,9,4 to an output destination each time the step is advanced. You would program your push button to advance the sequencer. The output destination can be the IO output word of your PLC, or it can be an intermediate word and each bit of the intermediate word can be mapped to a PLC output.
----------------------------------------------------------
In the days before PLCs a round drum was often used for these kinds of operations. The drum was mounted next to an array of switches and switch operators called dogs were positioned around the drum in the proper locations to operate each of the swithces in sequence as the drum rotated into positon for each step.