ДОЗОР мониторинг. web интерфейс, принимая данные в формате двух и четырехбайтных целых от устройств, предполагает, что они беззнаковые. Если на самом деле они знаковые, то необходимо настроить таблицу преобразований.
В данном примере будет рассмотрен такой случай: когда приходит знаковое (положительное или отрицательное) целое число, а в системе оно отображается только беззнаковым (только положительным) целым.
Первым делом нужно удостовериться, что необходимые данные приходят на сервер. Для этого необходимо перейти в режим сообщений и получить данные за какой-нибудь промежуток времени, где к устройству уже был подключен датчик. При этом параметры должны отображаться как «исходные данные».
По имеющимся данным ищем необходимый параметр в сообщении. Если устройство конфигурировалось вручную, то имя параметра Вы уже знаете, если нет, то необходимо посмотреть и найти ожидаемые цифры от устройства. В нашем случае это датчик температуры с наименованием «param72».
Видно, что при снижении температуры и пересечении порога в 0 градусов, появляются невероятно большие цифры вместо необходимых отрицательных.
Сначала определим, каков максимальный порог у этих чисел. Для этого возьмём самое большое число, которое найдём в этом параметре, откроем калькулятор, перейдём в «Инженерный» вид и вставим туда найденное число. После этого перейдём в шестнадцатеричное представление (кнопка-переключатель «Hex»).
Считаем количество разрядов в полученном числе. Возможные значения: 2, 4, 8. В нашем случае получается 8 разрядов. Если разрядов получилось меньше, то делаем округление в бóльшую сторону (например получилось 7, округляем до 8). Далее для вычисления наибольшего числа вводим в калькуляторе в режиме «Hex» букву «F» столько раз, сколько получили разрядов. После этого переходим в режим «Dec». Это и есть максимально возможное число (наибольшее). Его необходимо запомнить или записать.
Переходим в режим «Карта» и перемещаемся на вкладку «Устройства». Здесь находим устройство, с которым работаем и открываем его свойства. Далее необходимо переместиться на закладку «Датчики» и нажать кнопку добавить датчик. В появившемся окне введите имя датчика, выберите его тип, а также параметр, который узнали до этого. При необходимости введите описание.
Перейдите на вкладку «Таблица расчёта». Здесь необходимо снять флажок «Продолжить предыдущий отрезок»
Теперь можно вводить первый интервал. Так как на входе только положительные числа, то интервал будет начинаться с нуля. Концом интервала будет максимально возможное число делённое на два. Все поступающие значения прямо пропорциональны реальным значениям делённым на 10, в связи с чем коэффициент а ставим «0.1».
Для задания второго интервала необходимо вычислить, где заканчивается первый. Для этого открываем калькулятор, вводим полученное наибольшее значение и делим на два. Записываем или запоминаем число до запятой.
Эти же действия можно сделать и в режиме «Hex»: для этого вводим латинскую букву «F» столько раз, сколько получили разрядов (т.е. 8), а дальше снова делим на 2. После этого переходим в режим «Dec» (десятичный цифр) и сохраняем или запоминаем полученное число.
Теперь вводим второй интервал. Который будет начинаться с полученного серединного значения (Х), коэффициент а также будет прямо пропорциональный делённый на 10, т.е. 0.1. Остаётся ввести смещение b. Для этого берём наибольшее число, прибавляем к нему единицу (т.к. ноль у нас уже есть) и делим на 10 (т.к. значения, которые мы будем корректировать, также делённые на 10). Полученное значение вводим со знаком минус в поле для коэффициента «b».
Теперь можно проанализировать полученную таблицу. Для этого перейдите на вкладку «Таблица расчёта» и нажмите кнопку «Обновить».
Если все данные относительно создаваемого датчика верны нажмите кнопку «ОК».
Когда все поля заполнены необходимо проконтролировать выполненные действия.
Переходим в режим сообщений выбираем объект, временной интервал и отображение параметров как «Значения датчиков». Смотрим результат…