Create an STI file, configure it to execute once per second (100mS * 10mS). This doesn't use a timer, which is the source of inaccuracies
Put a counter in the file, PREset it to 28800
28800 seconds = 480 minutes = 8 hours
XIO Counter.DN, RETurn from subroutine
So Counter.DN enables the code to execute (don't forget to reset the counter)
If you use the plc internal clock, that can be changed by anyone, anytime.....
Need more help, just ask