Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Элементарные типы данных (BOOL, INT, REAL, STRING и т.д.)

2020-04-01 1113
Элементарные типы данных (BOOL, INT, REAL, STRING и т.д.) 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

 

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.

Значения в данной колонке интерпретируются как описано в подстрочных примечаниях к таблице.

Диапазон значений и точность представления в данных типах данных определяются разработчиком.

Диапазон значений переменных данного типа данных от - (2) до (2)-1.

Диапазон значений переменных данного типа данных от 0 до (2) -1.

Диапазон значений переменных данного типа данных определяется в МЭК 60559 для основного формата с плавающей точкой одинарной точности. Результаты арифметических команд с ненормализованными значениями, бесконечным значением и нечисловыми значениями определяются разработчиком.

Значение переменных данного типа данных определяется в МЭК 60559 для основного формата с плавающей точкой двойной точности. Результаты арифметических команд с ненормализованными значениями, бесконечным значением и нечисловыми значениями определяются разработчиком.

Числовой диапазон значений не применяется к данному типу данных.

Возможные значения переменных этого типа данных: 0 и 1, соответствующие ключевым словам FALSE и TRUE соответственно.

Значение N указывает на число битов или символов для этого типа данных.

Значение N указывает на число битов в битовой строке для этого типа данных.

Допустимая переменных типов STRING и WSTRING определяется разработчиком.

Типов CHAR, STRING, WCHAR и WSTRING используется кодировка по ИСО/МЭК 10646 (см. 6.3.3).

Тип данных LTIME является 64-битовым целым числом со знаком, значение задается в наносекундах.

Тип данных LDATE является 64-битовым целым числом со знаком, значение задается в наносекундах, с начальной датой 1970-01-01.

Тип данных LTOD является 64-битовым целым числом со знаком, значение задается в наносекундах, начальное время с полуночи TOD#00:00:00.

Точность обновления значений данного формата времени определяется разработчиком; то есть значение указывается в наносекундах, но оно может обновляться через микросекунду или миллисекунду.

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 - Иерархия родовых типов данных


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.