a. Битовые типы данных представлены следующими типами:
Бит (BOOL)
Бит - это единица, соответствующая одному двоичному разряду. Два возможных
значения бита обозначаются "0" (FALSE) и "1" (TRUE).
Байт (BYTE)
Байт состоит из 8 бит, которым соответствуют битовые адреса от 0 до 7 (справа налево). Старшим является бит с большим адресом. Байт могут образовать только те биты, адрес младшего из которых кратен 8, например: 0, 8, 16 и т.д. В контроллерах Simatic S7 байт может интерпретироваться как просто байт (набор бит) или как ASCII-символ.
Слово (WORD)
Слово - это следующая после байта по величине единица, ее длина 16 бит. Любые два соседних байта можно объединить в слово, старшим будет являться байт с меньшим адресом. Адрес слова - это адрес байта с меньшим адресом. В контроллерах Simatic S7 слово может интерпретироваться как просто слово (набор бит), целое число со знаком, дата, время и т.д.
Двойное слово (DWORD)
Любые два соседних слова можно объединить в двойное слово, его длина - 32 бита или 4 байта. Старшим словом (байтом) является слово (байт) с меньшим адресом. Адрес двойного слова - это адрес байта с меньшим адресом. В контроллерах Simatic S7 двойное слово можно интерпретировать как просто двойное слово, длинное целое число со знаком, вещественное число в формате IEEE и т.д.
Таблица 3 - Представление битовых типов данных
Представление | Байт(В) | Слово (W) | Двойное слово (D) | ||||
Целое без знака | от 0 | до 255 | от 0 | до 65 535 | от 0 | до 4 294 967 295 | |
от 0 | до FF | oт 0 | до FFFF | от 0 | до FFFF FFFF | ||
|
|
| |||||
Целое со знаком | от-128до+127 | от-32 768 до+32 767 | от -2 147 483 648 до +2 147 483 647 от | ||||
от 80 до 7F | от 8000 до7FFF | 8000 0000 до 7FFF FFFF | |||||
|
|
|
| ||||
Вещественное IEEE | Неприменимо | Неприменимо | от +1.175495Е-38 до +3.402823Е+38 | ||||
32-битовое | с | (положительное) | |||||
плавающей точкой | от -1.175495Е-38 до -3.402823Е+38 | ||||||
(отрицательное) |
Char (литера)
Переменная типа CHAR (character, литера) занимает один байт. Тип данных CHAR представляет одну литеру в ASCII-формате, например, 'А'.
Работая с этим типом данных, вы можете использовать любую печатную литеру в апострофах.
b. Математические типы данных представлены следующими типами:
INT (целое число)
Переменная типа INT (integer) хранится как целое число (16-битное число с фикси-рованной запятой или десятичной точкой). Тип данных INT не имеет специального идентификатора.
Целочисленная переменная занимает одно машинное слово. Сигнальные состояния битов с 0-го по 14-ый представляют цифровые разряды (позиции) числа. Сигнальное состояние 15-го бита представляет знак (sign, S).
DINT (двойное целое число)
Переменная типа DINT хранится как целое число (32-битное число с фиксированной запятой). Целое сохраняется в DINT-переменной. когда оно превышает 32 767 или меньше -32 768, или когда число предваряется идентификатором типа L#.
Под переменную типа DINT отводится двойное слово. Сигнальные состояния битов с 0-го по 30-ый представляют цифровые позиции числа. Знак хранится в 31-м бите.
REAL (вещественный)
Переменная типа REAL представляет дробь и хранится как 32-битное число с плавающей запятой (десятичной точкой). Целое сохраняется как переменная типа REAL при добавлении десятичной точки и тая.
В экспоненциальном представлении вы можете предварить «е» или «Е» целым числом или дробью из семи соответствующих чисел и знака. Цифры, которые расположены за «е» или «Е» представляют экспоненту по базе 10. STEP 7 производит преобразование REAL-переменной во внутренне представление числа с плавающей точкой.
c. Временные типы данных представлены следующими типами:
S5TIME
Переменная типа S5TIME используется в базовых языках STL, LAD и FBD для установки таймеров системы SIMATIC. Она занимает одно 16-битное слово с 1 + 3 декадами.
Время устанавливается в часах (hours), минутах (minutes), секундах (seconds) и миллисекундах (milliseconds).
DATE (Дата)
Переменная типа DATE хранится в машинном слове как число с фиксированной точкой без знака. Содержимое переменной соответствует количеству дней, начиная с 01.01.1990. Ее представление показывает год, месяц и день, разделенные дефисом.
TIME (Время)
Переменная типа TIME резервирует одно двойное слово. Ее представление содержит информацию о днях (d), часах (li), минутах (т), секундах (s) и миллисекундах (ms), отдельные элементы этих данных могут быть опущены. Содержимое переменной интерпретируется в миллисекундах (ms) и хранится как 32-битное число с фиксированной точкой со знаком.