Attached is a printout of a very simple system based on what I understand you want to do, if you want a file it is too large to post here just send me a private message with your email address & I will send it to you.
Not sure of the inputs/outputs you are using but assumed the following as in the printout.
How it works:
Assume the part in place sensor is sensing the part & all cylinders are down (cylinder down sensors) & the two buttons are pressed then it pulses an internal memory to set a internal memory to start the cycle.
Should the operator release any of the two buttons it resets everything.
The internal memory M1 drives the cylinder(s) output to send all three cylinders up, when they reach the up position sensors the timer starts (timers are 100ms (0.1 seconds) increments so K300 = 30 seconds.
When the timer has timed out it resets the cycle latch & the cylinders retract, if the operator keeps the buttons pressed it will not start again until the buttons are released and the part sensor is true.
There are many functions the PLC can do like counts, compare data perhaps you need to download the FX manual to get yourself up to speed.
You could add more functionallity like flash a spare output if the sensors do not sense position, or count the number of operations etc. if you need more help do not hesitate to post.