Basically they work on a delay in conjunction with the length before it. For example, the timers in the file by default is five seconds and the timer will start when the train reaches 40 meters before the signal. I have it set at 40 meters. So when your train gets to the 40 meter mark before the signal, your trains speed should be around 14-20 mph. Once the timer expires, the signal will turn from red to yellow, then to green. If you time it right and have your speed adjusted accordingly, the timer will clear to green just before you pass it. There is no penalty for passing at red as openBVE only sees this as an animated object and does not recognize it as a signal, though it is placed with a signal command and functions as a signal.