Статус документа
Статус документа

ГОСТ Р 58940-2020 Требования к протоколам обмена информацией между компонентами интеллектуальной системы учета и приборами учета

     7.2 Типы данных

7.2.1 Типы данных при передаче кодируются в соответствии с алгоритмом A-XDR, то есть указывается тег (код) типа данных, количество данных этого типа и собственно последовательность данных, но если тип и размер данных указан однозначно, тег и длина не передаются. Если возможны различные типы или длина данных, данные передаются в BER-кодировке. Теги типов данных приведены в таблице 7.2.

_______________

См. [11].

Таблица 7.2 - Типы данных

Тег

Тип данных

Описание

0

null-data

Отсутствие данных

1

array

Массив однородных данных

2

structure

Структура из данных разных типов

3

boolean

Логические данные (TRUE, FALSE)

4

bit-string

Последовательность битов

5

double-long

32-разрядное целое со знаком

6

double-long-unsigned

32-разрядное целое без знака

9

octet-string

Последовательность байтов

10

visible-string

Последовательность ASCII-символов

12

utf8-string

Последовательность символов UTF-8

13

BCD

Двоично-десятичная кодировка байта

15

integer

8-разрядное целое число со знаком

16

long

16-разрядное целое число со знаком

17

unsigned

8-разрядное целое число без знака

18

long-unsigned

16-разрядное целое число без знака

19

compact array

Массив упакованных данных

20

long64

64-разрядное целое со знаком

21

long64-unsigned

64-разрядное целое без знака

22

enum

Перечисление

23

float32

4-байтовая строка - число с плавающей запятой

24

float64

8-байтовая строка - число с плавающей запятой

25

date-time

12-байтовая строка дата-время

26

date

5-байтовая строка "Дата"

27

time

4-байтовая строка "Время"

7.2.2 Дата представляется в виде типа octet-string (тег "9") длиной 5 байтов.

Формат даты имеет следующую структуру:

OCTET STRING (SIZE(5))

{

year highbyte,

year lowbyte,

month,

dayOfMonth,

dayOfWeek

}

где year - год, интерпретируется как long-unsigned. Диапазон значений 0x0000...0xFFFE, значение 0xFFFF означает, что год не определен;

month - месяц, интерпретируется как unsigned. Диапазон значений 1...12, 0xFD, 0xFE, 0xFF. Единице соответствует январь, 0xFD - окончание летнего времени, 0xFE - начало летнего времени, 0xFF - значение не определено;

dayOfMonth - день месяца, интерпретируется как unsigned. Диапазон значений 1...31, 0xFD, 0xFE, 0xFF. 0xFD - предпоследний день месяца, 0xFE - последний день месяца, 0xFF - день месяца не определен;

dayOfWeek - день недели, интерпретируется как unsigned. Диапазон значений 1...7, 0xFF - значение не определено.

7.2.3 Время представляется в виде типа octet-string (тег "9") длиной 4 байта.

Формат времени имеет следующую структуру:

OCTET STRING (SIZE(4))

{

hour,

minute,

second,