Для этого нужно использовать событие OnDataChange (https://simple-scada.com/help/manual/general-properties.html) (это событие вызывается каждый раз, когда переменная с которой связан объект изменилась). Последовательность такая:
1. Выставить у переменной датчика частоту опроса (https://simple-scada.com/help/manual/variable-new.html) = 500 мс;
2. Создать любой объект в проекте, например объект Текст и связать его с переменной датчика (или использовать существующий объект, если такой есть). Если не нужно видеть объект, то можно выключить свойство "Видимый" или вынести его координаты за пределы проекта;
3. Выделяем наш объект связанный с переменной датчика и на событие OnDataChage пишем любые проверки. Этот скрипт будет вызываться каждый раз, когда переменная датчика изменяет своё значение, что Вам и требуется. Если переменная будет меняться каждые 500 мс., то и скрипт будет выполняться каждые 500 мс. Если переменная будет меняться раз в час, то и скрипт будет вызываться раз в час, что хорошо скажется на производительности и позволит избежать лишних срабатываний скрипта по сравнению с использованием таймеров.
Пример OnDataChange скрипта для объекта который связан с переменной vrSignal:
begin
if vrSignal.AsFloat > 50 then // если значение переменной больше 50
AddMessage(Now, mkAlarm, 'Значение выше 50!', True, True); // то выдаём аварийное сообщение
end.
UPD: начиная с версии 2.6.14.0 добавлена возможность запускать задержки через RunDelay (https://simple-scada.com/help/script/rundelay.html).