The S5 time word is split into 4 nibbles.
nibble 0 = time base
nibble 1 to 3 = time preset value in BCD, 000 to 999
what scaling your code is doing I don't know, but basically the third network converts the variable to BCD and blanks off nibble 0, leaving you a number between 0 and 999 BCD.
Network 4, then OR's it with zero, waste of time really as it already was 0, this means nibble 0 = 0 = time base of 1/100th second. The result is the S5 time preset.
If the time base was supposed to be seconds for example, then instead of W#16#0, it would have been W#16#2000.