My favourite example project for training is level control using two pumps in a tank with simple level control using the following simple I/O depending on hom much I/O you have to play with on your PLC.
Inputs:
Start (High Level) Float switch
Stop (Low level) Float switch
From the control panel:
Manual Start PB
Manual Stop PB
Fault Reset Pushbutton
Pump 1 Running Contactor Feedback
Pump 2 Running Contactor Feedback
Pump 1 Overload Contact Feedback
Pump 2 Overload Contact Feedback
Duty Select Auto
Duty Select Pump 1 manual
Duty Select Pump 2 manual
(On a 3 position selector switch)
Outputs:
Start Pump 1 Contactor
Start Pump 2 Contactor
Pump 1 Running Lamp
Pump 2 Running Lamp
Pump 1 Fault Lamp
Pump 2 Fault lamp
Generally I tend to start off with the basics and progress in stages eg:
Manually controlling latching the pumps on from the pushbuttons
Run the pumps from the level switches
Generate Faults from the Overload and contactor fail to energise etc
Duty/standby rotation (timed, by number of starts or on duty fail)
Duty/Standby Assist (by adding in further level switches)
Hours run counters etc.
Add in some valve control etc etc,
the possibilities are boundless, just need a little imagination. This small application should give you a basic grounding in programming with timers counters and basic latching circuits etc.
Cheers,
Lee