Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программируемые логические контроллеры для управления технологическими процессами. В 2 ч. Ч 1.pdf
Скачиваний:
5
Добавлен:
29.11.2025
Размер:
2.39 Mб
Скачать

143

Рисунок 14.3 – Пример хранения чисел в регистрах

14.6 Представление чисел

ПЛК имеют, как правило, возможность работать со значениями чисел в следующих представлениях (форматах):

десятичные числа,

числа в научном формате,

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

двоичные числа,

шестнадцатеричные числа,

формат числа в двоично-десятичном коде (BCD),

битовый пример.

144

Десятичная система чисел

База: 10

Цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Область значений:

16-битный формат: -32 768 ... +32 767

32-битный формат: -2 147 483 648 ... +2 147 483 647

Пример:

351 (десятичное) = 3 · 102 + 5 · 101 + 1 · 100

Числа в научном формате

Этот формат рассчитан на научное представление очень больших и очень малых чисел. Представление выполняется в 32-х битном формате с плавающей запятой.

Формат: Мантисса · 10Экспонента

Пример

Скорость света:

как десятичное число: 299 792 458 м/с

в научном формате: 2998 · 105 м/с

Здесь 2998 является мантиссой и 5 – экспонентой. В регистре данных число сохраняется, например, в форме D120· 10D121 (рисунок 14.4).

Рисунок 14.4 – Расположение числа в научном формате в регистре данных

Система чисел с плавающей запятой

Операции с числами очень быстро превышают допустимые значения областей, серия FX предлагает дополнительное представление очень больших и очень малых чисел в формате с плавающей запятой, как это применяется в персональных и микрокомпьютерах.

Формат системы чисел с плавающей запятой запоминает мантиссу и экспоненту как двоичные числа в 32-битовых двойных словах, где мантисса имеет 23 бита, а экспонента 8 бит (рисунок 14.5).

145

Рисунок 14.5 – Расположение числа с плавающей запятой в регистре данных

Формат: ±Мантисса · 2Экспонента

Пример:

D101 = 16592 = 40D0HEX

D100 = 0 = 0000HEX

Размещение бит в регистре данных (мантиссы и экспоненты) показано на рисунке 14.6.

Рисунок 14.6 – Размещение бит в регистре данных

Бит знака числа равен 0 – положительное значение. Экспонента записана числом 10000001, это соответствует: (1 · 27 + 0 · 26 + ... + 1 · 20) – 127 = (128 + 0 + ... + 1) – 127 = 2;

Мантисса представлена числом 10100000000000000000000 – это соответствует:

1,1012 или 1 · 2-1 + 0 · 2-2 + 1 · 2-3 + ... + 0 · 2-23 = 1,625.

В результате число равно + 1,625 · 22 = 6,5.

Двоичная система чисел

База: 2 Цифры: 0, 1

Пример:

11001 (двоичное число) = 1 · 24 + 1 · 23 + 0 · 22 + 0 · 21 + 1 · 20

11001 (двоичное число) = 16 + 8 + 1 = 25 (десятичное)

146

Двоичное кодирование: десятичное число → двоичное

число

Пример:

30 (десятичное)

30 : 2 = 15 остаток 0

15 : 2 = 7 остаток 1

7 : 2 = 3 остаток 1

3 : 2 = 1 остаток 1

1 : 2 = 0 остаток 1

30 (десятичное) = 11110 (двоичное)

Кодирование: двоичное число → десятичное число Пример:

111000 (двоичное) = 1 · 25 +1 · 24 + 1 ·23 + 0 · 22 + 0 · 21 + 0 · 20 111000 (двоичное) = 32 + 16 + 8 = 56 (десятичное)

Восьмеричная система счисления

База: 8

Цифры: 0, 1, 2, 3, 4, 5, 6, 7

Пример:

245 (восьмеричное) = 2 · 82 + 4 · 81 + 5 · 80 = 128 + 32 + 5 = = 165 (десятичное)

Кодирование: десятичное число → восьмеричное число Пример:

30 (десятичное)

30 : 8 = 3 остаток 6

3 : 8 = 0 остаток 3

30 (десятичное) = 36 (восьмеричное)

Кодирование: восьмеричное число → десятичное число Пример:

374 (восьмеричное) = 3 · 82 + 7 · 81 + 4 · 80 = 192 + 56 + 4 = = 252 (десятичное)

Шестнадцатеричная система счисления

База: 16

Цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (A=10, B=11, C=12, D=13, E=14, F=15)

147

Пример:

1E (шестнадцатеричное) = 1 · 161 + 14 · 160 = 16 + 14 = 30 (десятичное).

Кодирование: десятичное число → шестнадцатеричное

число

Пример:

63 (десятичное)

63 : 16 = 3 остаток 15 R F (шестнадцатеричное)

3 : 16 = 0 остаток 3 R 3 (шестнадцатеричное) 63 (десятичное) = 3F (шестнадцатеричное)

Кодирование: шестнадцатеричное число → десятичное

число

Пример:

7A (шестнадцатеричное) = 7 · 161 + 10 · 160 = 112 + 10 = 122 (десятичное).

BCD - формат (двоично-десятичный код)

В «BCD»-формате (двоично-десятичном коде) каждая цифра десятичного числа представляется четырехбитным двоичным числом. При четырехбитном представлении имеется возможность двоично кодировать десятичные цифры от 0 до 15. Однако в «BCD»- формате допустимо кодирование только десятичных цифр от 0 до 9.

Кодирование: десятичное число → BCD - формат Пример:

67 (десятичное) <=> Цифры: 6, 7.