The short version is that the inputs will only change during your PLC scan if you tell them to.
The longer version:
S7-1500 essentially combines the speed of asynch updates with the consistency of the traditional synchronous scan.
Local inputs and outputs are read/written on command over the backplane. Remote IO (PN/DP) are transmitted at the defined update interval, which is typically much faster than the PLC cycle.
HOWEVER. The Process Image automatically buffers these values for you during the PLC scan. At the beginning of OB1, the PLC copies the latest values for all the inputs into the Process Image, either remembered from the last packet recieved from remote IO or over the backplane for local. When you create a tag pointing to IW10, it reads from this buffered Process Image, not the most up to date value. To read the most up to date value, you use "Tagname
", as you suggested. There is no need to use the older PIW10 from the S7-300 world.
When the PLC scan ends, the values for the outputs in the process image are either sent over the backplane to local cards, or sent to the comm interface to be sent to the remote IO at the next appropriate interval. The "
" notation can similarly be used for a peripheral write. This is immediate for local IO, but as far as I know, for remote IO, it still waits for the next scheduled packet.
This means, essentially, that in most cases many of the PN packets sending values to Output cards carry duplicate data, because they are sending the data from the end of the last scan multiple times, until the next scan ends.
Extra Advanced Note:
You can actually split up the process image into Process Image Partitions, and have different IO racks updated in the process image with different OBs. This is automatically done for Motion/IRT/Technology Objects, but can sometimes also make sense when Cyclic OBs are used.