Шестнадцатиричный формат

Стартовая страница Форумы Понять, как работает ПО Шестнадцатиричный формат

Просмотр 8 сообщений - с 31 по 38 (из 38 всего)
  • Автор
    Записи
  • #32202
    manjey73
    Участник

    значит все равно косяк сидит в преобразовании. X16 добавляет только нули впереди, вместо отображения полного числа.

    #32206
    Mikhail
    Модератор

    Я неправильно написал. Обновите dll в директории ScadaWeb. Форматирование выполняется веб-приложением.

    #32207
    Z_h_e
    Участник

    Только завтра уже.
    А в Сервере вернуть как было?

    #32212
    Z_h_e
    Участник

    4х байтное число вроде как заработало корректно, по крайней мере 0xFFFFFFFF отображается корректно и действительное полученное от модбаса число 0х800D0003 тоже верно.

    Теперь попробовал 8ми байтное число в 16ый вывести.
    Максимум отображается 0x8000000000000000. Видимо аналогичная проблема. Но есть еще странность. Во входном канале в формуле ставлю константу 0x0FFFFFFFFFFFFFFF, а отображается как 1000000000000000h .

    #32244
    Mikhail
    Модератор

    Канал по умолчанию имеет тип double. У него максимальное целое число меньше, чем у long. Поэтому есть некоторое ограничение.
    У канала можно поставить целый тип, но драйвер также должен передавать тег в целочисленном виде. Существующие драйверы все передают теги как double.

    Большие числа удобно записывать 0xFF_FF_FF…, чтобы было видно, сколько в них знаков.

    #32245
    Mikhail
    Модератор

    Можно обойти ограничение — от драйвера принять значение как double, затем записать побайтно в расчётный канал, который имеет тип Integer. Но старший бит будет означать знак числа, т.к. тип Integer для канала является Int64 (со знаком).

    #32246
    Z_h_e
    Участник

    В дистрибутив для скачивания будет новая версия или в текущей DLL будет заменён?

    #32280
    Mikhail
    Модератор

    Исправление войдёт в следующий релиз. В текущей версии останется как есть.

Просмотр 8 сообщений - с 31 по 38 (из 38 всего)
  • Для ответа в этой теме необходимо авторизоваться.