Канал СИСТЕМНЫЙ(ВРЕМЯ ПЕРЕСЧЕТА) и ДИАГНОСТИКА(ПРЕВЫШЕНИЕ)всегда показывают 0. Канал ДИАГНОСТИКА(ЦИКЛ РЕАЛЬНО) показывает то значение, которое задано в параметрах узла. А как все-же определить реальное время пересчета базы каналов и установить оптимальные значения периода и разрешения пересчета в параметрах узла ??? В Файле, в котором профайлер сохраняет информацию о работе системы, есть строчка :"INFO: LoadTime=0.047s CalcPeriod=99ms". 99ms- это реальное время затраченное на цикл пересчета базы?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Реальное время, которое затратил сервер на пересчет базы на предыдущем цикле пересчета показывает канал СИСТЕМНЫЙ_Время пересчета. Однако он тактирован циклом системного таймера (параметр "Разрешение" в настройках узла). Поэтому, если разрешение таймера 20 мс, а сервер успевает пересчитать всю базу за 10 мс, то данный канал покажет занчение 0. И только когда реальное время пересчета будет превышать значение разрешения таймера, Вы получите в этом канале какие-либо значения (причем - они по прежнему будут изменяться дискретно согласно разрешению таймера). Например, цикл пересчета выставлен как 10 Периодов с разрешением таймера 0.02, т.е. - 200 мс. Однако база каналов маленькая и сервер успевает пересчитать ее за 15 мс, тогда канал СИСТЕМНЫЙ_Время пересчета покажет значение 0 мс. Однако, если серверу требуется для пересчета, например, 87 мс, то в данном канале Вы получите значение 100 мс (тактированно по 20 мс). Если же реально серверу требуется значение больше 200 мс, которые Вы выставили для узла (например 1500 мс), то в данном канале Вы увидете то время, которое потратил сервер на пересчет - 1500 мс, а вот значение канала ДИАГНОСТИКА_Превышение начнет расти (счетчик превышений) с каждым циклом, когда реальное время на пересчет превысило установленное для узла. Параметр "LoadTime=0.047s" в лог-файле показывает, сколько времени потребовалось серверу для загрузки базы каналов в память. Параметр "CalcPeriod=99ms" - цикл пересчета, который Вы задали для узла параметрами "Период пересчета" и "Разрешение".