но я все теги вывожу и вижу, что в ключевых тегах есть значение
Через код в скриптах можно изменить значение переменной например 1 млн. раз в секунду. Но Вы увидите только последнее значение. Нет смысла определять на глаз. Если Вы видите значение NAN, значит переменная была поделена на ноль. У Вас деление на ноль будет обязательно выполняться при каждом запуске проекта (как минимум), т.к. в момент инициализации проекта в переменные записываются нули.
В том то и дело, что деления на ноль не происходит.
Скада-система это обычная скомпилированная программа, как Калькулятор и т.п. приложения, она не может не разделив на ноль получить NAN и работает всегда одинаково. Она не будет в произвольный момент времени сама по себе записывать NAN (или какие-либо другие произвольные значения) в переменную, или делать какие-то другие "чудеса", т.к. для этого нам пришлось бы написать такой алгоритм присвоения NAN. Странно, что об этом вообще приходится писать.
Я согласен с тем, что как-то, где-то происходит деление на ноль и из-за чего я вижу NAN
Именно. И есть только одно место в котором может производиться деление переменной - это скрипты, в которых выполняется её деление.
Если у Вас никак не получается разобраться с тем, как выполняется деление и скрипты, то вышлите проект нам на
support@simple-scada.com, мы проверим Ваш проект и напишем где и когда выполняется деление на ноль. Из той информации что у нас есть сейчас, деление очевидно выполняется в коде:
SpecificPowerConsumption_VNS19_Result.Value := SPC_VNS19.value / HourlyWaterConsumption_VNS19_Result.Value;
, т.к. другого кода с делением нет.
На самом деле, учитывая количество потраченного времени на такую простую проблему, уже давно можно было бы проверить имеющийся код, например просто на одни сутки изменить код скрипта вот так:
SpecificPowerConsumption_VNS19_Result.Value := SPC_VNS19.value / 1;
и если NAN перестанет возникать, то значит дело на 100% именно в этом конкретном скрипте и значит на 100% переменная HourlyWaterConsumption_VNS19_Result бывает равна нулю. Тогда не придётся угадывать или предполагать магическое деление. Если NAN все равно будет возникать, значит дело на 100% в чем-то другом и т.д.