There are so many different types. Some software does allow simulation. What I have found is Siemens is a problem. Software very expensive so many firms don't have software and will employ a contractor as cheaper than buying there own software. However this also means hard to get experience with Siemens as you also can't get software at a reasonable price.
The Mitsubishi PLC is easy to program for simple machines but hard with complex machines. The Rockwell PLC with RSLogix software were in the main modular and the method of programming allows you to write complex programs easier than with the more basic system used with most the smaller PLC's but is more difficult to use with simple tasks.
I found
http://www.plctalk.net/ was good but after writing a 2000 step program for a concrete press with Mitsubishi to make weights for washing machines I thought I was good and was proud of what I had done. But when I went to University and started using SCADA and rack PLC's I realised I had only scratched the surface there was far more than I thought.
So to add some PLC skills to electrical knowledge is great within 6 months you should be able to write short programs with the simpler units. But if your looking to specialise in PLC's then your looking at least 4 years.
With simple systems like I used much is trial and error. For example to trigger a solenoid to pour wax into a glass to make candles I would as a start guess a time and alter until it was spot on but as I progressed I would write so it auto measured the time required from flags and calculated the delay required allowing for delays so it would run A1 on first run. This was far harder.
So I was involved with installing a car transport system in Vaxhall's factory and I must take my had of to the guys who wrote the program it was built and once we got the PLC's talking to each other ran first time. Very little tweaking to times these guys were really skilled completely different to my concrete press.
When I worked in factories using PLC's we considered if some process needed more that 6 timers then better to fit a PLC as it was cheaper. Writing a small program to print labels is easy but as you move to program to run a bottling plant then it's a really different story.