It makes sense to map the I/O to internal bits in a program block so by disabling the call to this block you can simulate the I/O in a simulator, or on a real plc with a simulator like pics pro, there was a purpose built simulator for S5 called prosis, this was developed by a german guy who apparently used to work for siemens, this was a program on a pc + a card that fitted in the S5 rack, it could simulate the real I/O so no need to mod program there was two types of configuration, 1 internally in the prosis software i.e. A I 0.0 T 5 secs = or set Q 1.0
or for some real clever stuff you wrote a program in pascal wrapper that was called 18.5 times a second (pc clock int).