Число с плавающей запятой, Формат числа с двойной точностью (dp), Формат числа с тройной точностью (tp) – Инструкция по эксплуатации Basler Electric DGC-2020

Страница 485: Контрольная сумма

Advertising
background image

Число с плавающей запятой

Формат числа с плавающей запятой в Modbus™ использует два рядом расположенных регистра

хранения. Первый регистр содержит младшие 16 бит следующего 32-битного формата:

Наиболее значащий бит представляет знак числа (0 = положительное).

Следующие 8 бит являются экспонентой, дополненной до 127.

Следующие 23 бита представляют нормализованную мантиссу. Наиболее значащий бит

мантиссы всегда предполагается равным 1 и не хранится непосредственно, увеличивая

эффективную точность до 24 бит.

Таблица B-2. Формат с плавающей запятой

Знак

Экспонента + 127

Мантисса

1 бит

8 бит

23 бит


Формат числа с плавающей запятой позволяет хранить значения в диапазоне от 8.43X10

-37

до

3.38X10

38

. Все нулевые биты в числе с плавающей запятой говорят о нулевом значении числа. Все

единичные биты в числе с плавающей запятой говорят о неприменимом значении.

Пример: значение 95800 представленное в данном формате равно 47BB1C00. Это число

прочтется из регистров хранения следующим образом:

Регистр хранения

Значение

K (ст. байт)

hex 1C

K (мл. байт)

hex 00

K+1 (ст. байт)

hex 47

K+1 (мл. байт)

hex BB


Аналогичное выравнивание требуется и при записи.

Формат числа с двойной точностью (DP)

Формат числа с двойной точностью в Modbus™ (DP) использует два соседних регистра для

представления значения. Первый регистр содержит старшие 16 бит и являются значением числа

деленным на 10000.
Второй регистр содержит младшие 16 бит числа и являются остатком от деления на 10000.

Формат числа с тройной точностью (TP)

Формат числа с тройной точностью в Modbus™ (TP) использует три соседних регистра для

представления значения. Первый регистр содержит старшие 16 бит и являются значением числа

деленным на 100000000. Остаток от деления далее делится на 10000 и результат представляет

собой второй регистр, а остаток от этого деления помещается в третий регистр.

Контрольная сумма

Это поле содержит двубайтовую контрольную сумму CRC для обнаружения ошибок передачи.

Ведущий вычисляет значение CRC и добавляет его в сообщение. DGC-2020 также вычисляет

значение CRC и сравнивает с принятым для определения целостности сообщения. При наличии

ошибки ответное сообщение не формируется. Если сообщение было принято корректно, ведомый

вычисляет CRC для ответного сообщения и присоединяет его к своему ответу.
См. "Modicon Modbus™ Protocol Reference Guide", PI-MBUS-300 Rev. E, страницы 112 - 115 для

более точного описания принципа и реализации алгоритма CRC-16.
Вычисление CRC происходит по всем байтам адреса устройства, кода функции и полям данных.

Шестнадцатибитное значение регистра CRC инициализируется единицами. Затем каждые восемь

бит сообщения используются в следующем алгоритме:
Сначала, производится операция «исключающего» ИЛИ с байтом сообщения и младшим байтом

CRC. Результат, сохраненный в регистре CRC, далее сдвигается вправо на восемь бит. Таким

9400273990 Bep. X1

DGC-

2020 Протокол Modbus

B-7

Advertising