CHAR (литерный)

BOOL (логический), BYTE (байт), WORD (слово), DWORD (двойное слово),

Переменная типа BOOL представляет значение бита, к примеру, I 1.0. Переменные типов BYTE, WORD и DWORD – это битовые строки (совокупности битов), содержащие 8, 16 и 32 бита соответственно. Отдельные биты не определяются.

Особыми формами этих типов данных являются двоично-десятичные числа (BCD-числа) и значения счетчика (count), используемые совместно с функциями счетчика, а также тип данных CHAR, который представляет ASCII-символ (литера).

BCD-числа

Двоично-десятичные числа (Binary coded decimal – BCD) не имеют специального идентификатора. Просто вводите BCD-число с типом данных 16# (шестнадцатеричный) и используйте только цифры от 0 до 9.

BCD-числа встречаются в кодированной обработке значений таймеров и счетчиков и в сочетании с функциями преобразования. Тип данных S5TIME# применяется для определения значения времени для запуска таймера (смотрите ниже), тип данных 16# или C# - для определения значения счетчика. Значением счетчика C# является BCD-число из интервала 000 … 999, вследствие чего бит знака всегда равен 0.

Как правило, BCD-числа не имеют знака. В сочетании с функциями преобразования знак BCD-числа хранится в самом левом (высшем) разряде, поэтому под само число отведено на один разряд меньше.

Когда BCD-число занимает 16-битное слово, знак находится в высшем разряде, то есть в 15-м бите. Сигнальное состояние «0» означает, что число положительное. Сигнальное состояние «1» обозначает тот факт, что число отрицательное. Знак не влияет на содержимое отдельных разрядов. Подобное распределение действительно и для 32-битного слова.

Область значений 16-битного BCD-числа: от 0 до ±999. Область значений 32-битного двоично-десятичного числа: от 0 до ±9 999 999.

Char (литера)

Переменная типа CHAR (character, литера) занимает один байт. Тип данных CHAR представляет одну литеру в ASCII-формате, например, ’A’.

INT (целое число)

Переменная типа INT (integer) хранится как целое число (16-битное число с фиксированной запятой или десятичной точкой). Тип данных INT не имеет специального идентификатора.

Целочисленная переменная занимает одно машинное слово. Сигнальные состояния битов с 0-го по 14-ый представляют цифровые разряды (позиции) числа. Сигнальное состояние 15-го бита представляет знак (sign, S). Сигнальное состояние «0» означает, что число положительное, сигнальное состояние «1» обозначает отрицательное число. Отрицательное число представляется в дополнительном коде (в форме дополнения до двух). Допустимая область значений чисел: от +32 767 (7FFFhex) до -32 768 (8000hex).

DINT (двойное целое число)

Переменная типа DINT хранится как целое число (32-битное число с фиксированной запятой). Целое сохраняется в DINT-переменной, когда оно превышает 32 767 или меньше -32 768, или когда число предваряется идентификатором типа L#.

Под переменную типа DINT отводится двойное слово. Сигнальные состояния битов с 0-го по 30-ый представляют цифровые позиции числа. Знак хранится в 31-м бите.

Бит 31, установленный в «0», обозначает положительное число; если его значение «1», то данное число отрицательное. Отрицательные числа хранятся в дополнительном коде (дополнение до двух). Область значений чисел:

от +2 147 483 647 (7FFF FFFFhex)

до –2 147 483 648 (8000 0000hex).