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).