you can try CoDeSys programming software. it has built in simulator and visualization so you can test your program right away.
IEC 61131-3 compliant though pretty limited in ladder programming... but pretty powerful software with plenty of pre-built function blocks (libraries) that can communicate with LOTS of PLC's, and best of all...its FREE!
good luck!