What is the best way to learn how to program, troubleshoot with PLC's? Should you take a class, go to school, buy a trainer, hire someone to teach you, read books? there are many ways but I think the best is hands one with a PLC or PLC trainer.
In the real world... your boss, engineer, operations, plant manager, etc. will tell you this is what they want to happen "bla, bla bla" they are not going to tell you I need XIO to close when timer 4 ACC is at 32 seconds so after you learn the basics of programming JUMP into the fire! have your friend/spouse/dog anyone give you a problem and you figure out what needs to happen to get there.
As with our trainers, turn on the red light 32 seconds after I push the green push button and have the green lamp turn on first then shut off after the red light turns on, simple right?
Now ask them make it a little harder, using the red push button turn on the red lamp and then turn off the red lamp the second time its pushed... oh and turn on the green lamp once the meter reads 4-6 if the meter is 7-10 volts have the yellow light flash, if the meter reads 0-3 volts have the blue light flash
These are the real way you need to learn how, once you are tossed on the night shift or its the weekend you will need to figure out what needs to happen and how you can fix the issues.