Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2020-04-01 | 879 |
5.00
из
|
Заказать работу |
|
|
6.4.2.1 Спецификация элементарных типов данных
Настоящий стандарт устанавливает набор (предопределенных) элементарных типов данных.
Элементарные типы данных, ключевое слова для каждого типа данных, число битов на элемент данных и диапазон значений для каждого элементарного типа данных приведены в таблице 10.
Таблица 10 - Элементарные типы данных
Номер | Описание | Ключевое слово | Неявное начальное значение | Длина (бит) | ||
1 | Логический | BOOL | 0, FALSE | 1 | ||
2 | Короткое целое | SINT | 0 | 8 | ||
3 | Целое | INT | 0 | 16 | ||
4 | Двойное целое | DINT | 0 | 32 | ||
5 | Длинное целое | LINT | 0 | 64 | ||
6 | Короткое целое без знака | USINT | 0 | 8 | ||
7 | Целое без знака | UINT | 0 | 16 | ||
8 | Двойное целое без знака | UDINT | 0 | 32 | ||
9 | Двойное целое без знака | ULINT | 0 | 64 | ||
10 | Действительные числа | REAL | 0.0 | 32 | ||
11 | Длинные целые | LREAL | 0.0 | 64 | ||
12a | Продолжительность времени | TIME | T#0s | -- | ||
12b | Продолжительность времени | LTIME | LTIME#0s | 64 | ||
13a | Дата (отдельно) | DATE | Примечание | -- | ||
13b | Длинная дата (отдельно) | LDATE | LDATE#1970-01-01 | 64 | ||
14a | Время суток (отдельно) | TIME_OF_DAY или TOD | TOD#00:00:00 | -- | ||
14b | Время суток (отдельно) | LTIME_OF_DAY или LTOD | LTOD#00:00:00 | 64 | ||
15a | Дата и время суток | DATE_AND_TIME или DT | Примечание | -- | ||
15b | Дата и время суток | LDATE_AND_TIME или LDT | LDT#1970-01-01-00:00:00 | 64 | ||
14a | Время суток (отдельно) | TIME_OF_DAY или TOD | TOD#00:00:00 | -- | ||
14b | Время суток (отдельно) | LTIME_OF_DAY или LTOD | LTOD#00:00:00 | 64 | ||
15a | Дата и время суток | DATE_AND_TIME или DT | Примечание | -- | ||
15b | Дата и время суток | LDATE_AND_TIME или LDT | LDT#1970-01-01-00:00:00 | 64 | ||
16a | Строка однобайтовых символов переменной длины | STRING | (пустая) | 8 | ||
16b | Строка двухбайтовых символов переменной длины | WSTRING | (пустая) | 16 | ||
17a | Однобайтовый символ | CHAR | 8 | |||
17b | Двухбайтовый символ | WCHAR | 16 | |||
18 | Битовая строка длины 8 | BYTE | 16#00 | 8 | ||
19 | Битовая строка длины 16 | WORD | 16#0000 | 16 | ||
20 | Битовая строка длины 32 | DWORD | 16#0000_0000 | 32 | ||
21 | Битовая строка длины 64 | LWORD | 16#0000_0000_0000_0000 | 64 | ||
Примечание - Определяется разработчиком, так как специальное стартовое значение отлично от 0001-01-01.
|
6.4.2.2 Элементарные строковые типы данных (STRING, WSTRING)
Максимальная поддерживаемая длина элементов типа STRING и WSTRING задается разработчиком и определяет максимальную длину STRING и WSTRING, которая поддерживается средствами программирования и отладки.
Явная максимальная длина определяется максимальной длиной (которая не должна превышать поддерживаемое максимальное значение, определенное разработчиком), приведенной в скобках в соответствующем объявлении данных.
Доступ к отдельным символам строки в элементах данных CHAR или WCHAR осуществляется указанием в квадратных скобках позиции символа в строке, начиная с позиции 1.
Ошибка возникает, если к строкам двухбайтовых символов осуществляется доступ с использованием однобайтовых символов или если к строкам однобайтовых символов осуществляется доступ с использованием двухбайтовых символов.
Пример 1 - Типы STRING, WSTRING и CHAR, WCHAR
a) Объявление
VAR
END_VAR
b) Использование типов STRING и CHAR
c) Использование типов WSTRING и WCHAR
d) Эквивалентные функции (см. 6.6.2.5.11)
Char1:= String1[2];
Эквивалентно
Char1:= STRING_TO_CHAR(Mid(IN:= String1, L:= 1, P:= 2));
aWStrings[1][3]:= WChar1;
Эквивалентно
REPLACE(IN1:= aWStrings[1], IN2:= WChar1, L:= 1, P:=3);
E) Случаи ошибки
Char1:= String1[2]; // смешивание типов WCHAR,
STRING String1[2]:= String2;
// требует неявного преобразования STRING_TO_CHAR, которое не разрешено
Примечание - Типы данных для отдельных символов (CHAR и WCHAR) могут содержать только один символ. Строки могут содержать несколько символов; поэтому строки могут содержать дополнительную информацию для управления, которая не нужна для отдельных символов.
Пример 2 - Если тип STR10 объявлен как
то максимальная длина STR10 равна 10 символам, начальное значение по умолчанию равно и начальная длина элементов данных типа STR10 равна шести символам.
Родовые типы данных
В дополнение к элементарным типам данных, приведенным в таблице 10, в спецификации входных и выходных переменных стандартных функций и функциональных блоков можно использовать иерархию родовых типов данных, показанных на рисунке 5. Родовые типы данных определяются по префиксу "ANY".
При использовании родовых типов данных следует соблюдать следующие правила:
|
1 Родовой тип прямо порожденного типа является таким же, как родовой тип элементарного типа, из которого он порожден.
2 Порожденным типом типа-диапазона является ANY_INT.
Родовым типом всех других порожденных типов, приведенных в таблице 11, является ANY_DERIVED.
Использование родовых типов данных в определенных пользователем программных компонентов находится вне области действия настоящего стандарта.
Рисунок 5 - Иерархия родовых типов данных
Родовые типы данных | Родовые типы данных | Группы элементарных типов данных | ||||
ANY | g) | |||||
ANY_DERIVED | ||||||
ANY_ELEMENTARY | ||||||
ANY_MAGNITUDE | ||||||
ANY_NUM | ||||||
ANY_REAL | h) | REAL, LREAL | ||||
ANY_INT | ANY_UNSIGNED | USINT, UINT, UDINT, ULINT | ||||
ANY_SIGNED | SINT, INT, DINT, LINT | |||||
ANY_DURATION | TIME, LTIME | |||||
ANY_BIT | BOOL, BYTE, WORD, DWORD, LWORD | |||||
ANY_CHARS | ||||||
ANY_STRING | STRING, WSTRING | |||||
ANY_CHAR | CHAR, WCHAR | |||||
ANY_DATE | DATE_AND_TIME, LDT, DATE, TIME_OF_DAY, LTOD |
Рисунок 5 - Иерархия родовых типов данных
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!