Период выполнения скриптов из раздела "Правила"

Хотелось бы узнать где задаётся этот период и сколько мсек он по-умолчанию.
Также вопрос как на языке JS считать текущее внутреннее время ПЛК в миллисекундах?
Аналог функции T_PLC_MS() из библиотеки OSCAT. Разрешение таймера ПЛК - 1мсек.

Добрый день!

В движке правил контроллеров Wiren Board нет рабочего цикла ПЛК в классическом его понимании, правила автоматически не выполняются каждые n секунд, механизмов жесткого реального времени нет.

Движок правил событийно-ориентированный: правила просматриваются и выполняются по событиям: при старте, при изменении полученных от устройств данных, при срабатывании таймеров и т. д.

То есть эмулировать такие циклы можно таймерами, но если это делать с высокой частотой, то это создаст очень большую нагрузку на ЦП контроллера. Точность срабатывания таймеров ограничена event-loop-моделью движка (аналогичной Node.js), общей загрузкой системы, длиной обработчиков. Параллельного исполнения таймеров тоже нет, обработчики выполняются последовательно.

Получать время в движке правил с миллисекундным разрешением можно с помощью функции Date.now():

var plcStartMs = Date.now();

// Функция T_PLC_MS() возвращает время в (мс) с момента 
// старта движка или повторной загрузки  правила

function T_PLC_MS() {
  return Date.now() - plcStartMs;  
}