Формат данных двойной точности, Формат данных тройной точности, Проверка на наличие ошибок – Инструкция по эксплуатации Basler Electric IEM-2020
Страница 299
9441073990 Rev B1
IEM-2020
Протокол Modbus™
A-7
•
23 завершающих значащих бита составляют нормированную мантисса. Наиболее
значащий бит мантисса присваивает зачение “1” и циклически не сохраняется, повышая
точность до 24 бит. Величина численного значения с плавающей точкой достигается
увеличением значения двоичного кода мантисса до объективного показателя.
Присвоенный бит двоичного кода мантисса имеет значение “1”, а оставшиеся 2 бита
представляют дробную величину. В таблице A-2 представлен формат данных с
плавающей точкой.
Таблица A-2. Формат данных с плавающей точкой
Символ
Показатель степени +
127
Нормированная величина
мантисса
1 bit
8 bits
23 bits
Значения чисел с плавающей точкой варьируются от 8.43X10
-37
до 3.38X10
38
. Значение нуля с
плавающей точкой приравнивается к нулю. Величина всех единиц с плавающей точкой (не чисел)
означает величину, которая в данное не используется либо заблокирована.
Пример: число 95,800 кодируется в формате с плавающей точкой как десятичное число 47BB1C00.
Данное значение будет считываться с 2-ух последовательных регистров временного хранения
информации в следующей форме:
Временный регистр
Величина
K
(Байт высшего порядка)
десят. 1C
K
(Байт низшего порядка)
десят. 00
K+1
(Байт высшего порядка)
десят. 47
K+1
(Байт низшего порядка)
десят. BB
Формат сообщения должен соответствовать данному образцу.
Формат данных двойной точности
Данный формат использует 2 последовательных регистра для отображения необходимой
величины. 1-ый регистр содержит 16 бит высшего порядка и представляет величину,
эквивалентную /10,000
2-
ой регистр содержит 16 бит низшего порядка и имеет показатель степени 10,000.
Формат данных тройной точности
Данный формат использует 2 последовательных регистра для отображения необходимой
величины. 1-ый регистр содержит 16 бит высшего порядка и представляет величину,
эквивалентную /100,000,000. Модуль от этой операции делится на 10000, чтобы прийти к значению
2-
ого регистра, а модуль последней операции является значением 3-его регистра.(16 низшего
порядка тройной точности).
Проверка на наличие ошибок
Это поле содержит двубайтовую контрольную сумму CRC для обнаружения ошибок передачи.
Ведущий вычисляет значение CRC и добавляет его в сообщение. IEM-2020 также вычисляет
значение CRC и сравнивает с принятым для определения целостности сообщения. При наличии
ошибки ответное сообщение не формируется. Если сообщение было принято корректно, ведомый
вычисляет CRC для ответного сообщения и присоединяет его к своему ответу.
Инструкции и принцип работы алгоритма CRC-16 представлены в “Справочном руководстве
протокола Modicon Modbus”, PI-MBUS-300 Rev. E, стр 112-115.
Вычисление CRC происходит по всем байтам адреса устройства, кода функции и полям данных.
Шестнадцатибитное значение регистра CRC инициализируется единицами. Затем каждые восемь
бит сообщения используются в следующем алгоритме:
Сначала, производится операция «исключающего» ИЛИ с байтом сообщения и младшим байтом
CRC
. Результат, сохраненный в регистре CRC, далее сдвигается вправо на восемь бит. Таким
образом, младший байт CRC заполняется нулями. После каждого сдвига анализируется младший
байт регистра CRC. Если наименее значащий бит равен 1, то регистр CRC подвергается