Время суток и дата – расширенный формат: DTL (date and time long). Переменная такого типа имеет длину 12 байт и хранит информацию о времени и дате в виде структуры из табл. 5.
Таблица5 Структура переменной типа DTL
Номер байта
Содержимое байта
Тип данного
Диапазон значений
0
год
UINT
1970–2200
1
2
месяц
USINT
1–12
3
день
USINT
1–31
4
день недели
USINT
1 (вс.)–7 (сб.)
день недели не указывается явно при записи переменной
в программе
5
час
USINT
0–23
6
минута
USINT
0–59
7
секунда
USINT
0–59
8
наносекунды
UDINT
0–999999999
9
10
11
Диапазон возможных значений – от DTL#1970-01-01-00:00:00.0 до DTL#2200-12-31-23:59:59.999999999. Пример записи в программе: DTL#2008-12-31-20:15:45.250.
Строки (табл. 6). Этот тип данных объявляется ключевым сло- вом STRING и определяет переменные, содержащие текстовую информацию. Размер строки задается при объявлении.
Таблица6 Строки
Тип данных
Подробное название
Пример
STRING
Character String
‘My string’
Преобразование типов. Присваивать значение одной перемен- ной другой можно, только если они обе одного типа. Если проис- ходит присваивание значения переменной одного типа переменной другого типа, то происходит преобразование типов, меняющее фи- зическое представление значения переменной в памяти данных, но не изменяющее само значение.
Допускается присваивание значения переменной совместимого типа, имеющей более широкое множество допустимых значений. В этом случае происходит неявное преобразование типа без потерь. Неявные преобразования типов данных с потерями запрещены. Так, например, логическую переменную, способную принимать только два значения (логические 0 и 1), можно присвоить перемен- ной типа SINT (–128...+127), но не наоборот. При трансляции про- граммы все подобные попытки отслеживаются и считаются грубыми ошибками. Если же это действительно необходимо, то выполнить присваивание с потерями возможно, но только при по- мощи специальных операторов.
Операторы преобразования выполняют также и более сложные операции, например преобразование числа или календарной даты в текстовую строку и наоборот.