Yep that is what the plc does, when updating the image it copies the PW to the IW anyway all you are doing is exactly the same thing but at a rate or time you want, you can update the Image at any time as posted before you could do that a dozen times in OB1 between calls to other blocks although not consistent i.e. if a call to the update is before & again after some program block the time will vary depending on the internmediate block scan time for example
C PB1 (takes 5ms) some code
C PB100 (takes 2ms) the PIW update
C PB2 (Takes 15ms) some code
C PB100 (takes2ms) The PIW update
& so on
So every call to PB100 the delay between the update will vary i.e. first call 5ms
Second call 15ms but if the total scan of the program was 100ms at least you can update as fast as the slowest block scan.
C PB1 (takes 5ms) some code
C PB100 (takes 2ms) the PIW update
C PB2 (Takes 15ms) some code
C PB100 (takes2ms) The PIW update
& so on
So every call to PB100 the delay between the update will vary i.e. first call 5ms
Second call 15ms but if the total scan of the program was 100ms at least you can update as fast as the slowest block scan.