Приказ Росалкогольрегулирования от 25.06.2018 N 181
О формате передачи сведений в электронном виде организациями, осуществляющими перевозку этилового спирта (в том числе денатурата) и нефасованной спиртосодержащей продукции с содержанием этилового спирта более 25 процентов объема готовой продукции автомобильным транспортом, в автоматизированную систему контроля перевозок этилового спирта и спиртосодержащей продукции на территории Российской Федерации

Оглавление

МИНИСТЕРСТВО ФИНАНСОВ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНАЯ СЛУЖБА ПО РЕГУЛИРОВАНИЮ АЛКОГОЛЬНОГО РЫНКА

ПРИКАЗ от 25 июня 2018 г. N 181

О ФОРМАТЕ ПЕРЕДАЧИ СВЕДЕНИЙ В ЭЛЕКТРОННОМ ВИДЕ ОРГАНИЗАЦИЯМИ, ОСУЩЕСТВЛЯЮЩИМИ ПЕРЕВОЗКУ ЭТИЛОВОГО СПИРТА (В ТОМ ЧИСЛЕ ДЕНАТУРАТА) И НЕФАСОВАННОЙ СПИРТОСОДЕРЖАЩЕЙ ПРОДУКЦИИ С СОДЕРЖАНИЕМ ЭТИЛОВОГО СПИРТА БОЛЕЕ 25 ПРОЦЕНТОВ ОБЪЕМА ГОТОВОЙ ПРОДУКЦИИ АВТОМОБИЛЬНЫМ ТРАНСПОРТОМ, В АВТОМАТИЗИРОВАННУЮ СИСТЕМУ КОНТРОЛЯ ПЕРЕВОЗОК ЭТИЛОВОГО СПИРТА И СПИРТОСОДЕРЖАЩЕЙ ПРОДУКЦИИ НА ТЕРРИТОРИИ РОССИЙСКОЙ ФЕДЕРАЦИИ

В соответствии с пунктом 3 постановления Правительства Российской Федерации от 6 июля 2012 г. N 688 "О Правилах ведения автоматизированной системы контроля перевозок этилового спирта и спиртосодержащей продукции на территории Российской Федерации" (Собрание законодательства Российской Федерации, 2012, N 29, ст. 4117) приказываю:

1. Установить, что передача сведений в электронном виде организациями, осуществляющими перевозку этилового спирта (в том числе денатурата) и нефасованной спиртосодержащей продукции с содержанием этилового спирта более 25 процентов объема готовой продукции автомобильным транспортом, в автоматизированную систему контроля перевозок этилового спирта и спиртосодержащей продукции на территории Российской Федерации производится по формату согласно Приложению N 1 и согласно Приложению N 2 к настоящему приказу.

2. Установить, что в случае отсутствия технической возможности представления информации, указанной в пункте 1 настоящего приказа, с использованием формата согласно Приложению N 1 к настоящему приказу, информация должна представляться с использованием формата согласно Приложению N 2 к настоящему приказу.

3. Установить, что настоящий приказ вступает в силу с 1 июля 2018 года.

Руководитель
И.ЧУЯН

Приложение N 1
к приказу Федеральной службы
по регулированию алкогольного рынка
от 25 июня 2018 г. N 181

ФОРМАТ ПЕРЕДАЧИ СВЕДЕНИЙ В ЭЛЕКТРОННОМ ВИДЕ ОРГАНИЗАЦИЯМИ, ОСУЩЕСТВЛЯЮЩИМИ ПЕРЕВОЗКУ ЭТИЛОВОГО СПИРТА (В ТОМ ЧИСЛЕ ДЕНАТУРАТА) И НЕФАСОВАННОЙ СПИРТОСОДЕРЖАЩЕЙ ПРОДУКЦИИ С СОДЕРЖАНИЕМ ЭТИЛОВОГО СПИРТА БОЛЕЕ 25 ПРОЦЕНТОВ ОБЪЕМА ГОТОВОЙ ПРОДУКЦИИ АВТОМОБИЛЬНЫМ ТРАНСПОРТОМ, В АВТОМАТИЗИРОВАННУЮ СИСТЕМУ КОНТРОЛЯ ПЕРЕВОЗОК ЭТИЛОВОГО СПИРТА И СПИРТОСОДЕРЖАЩЕЙ ПРОДУКЦИИ НА ТЕРРИТОРИИ РОССИЙСКОЙ ФЕДЕРАЦИИ

В случае внесения изменений в формат факт внесения изменений в настоящий документ отражается в изменении номера версии формата. Номер версии настоящего формата 1.0.

1. Общие сведения

Назначение

Настоящий документ описывает требования к XML файлам (далее - файлам обмена) передачи сведений в электронном виде организациями, осуществляющими перевозку этилового спирта (в том числе денатурата) и нефасованной спиртосодержащей продукции с содержанием этилового спирта более 25 процентов объема готовой продукции автомобильным транспортом, в автоматизированную систему контроля перевозок этилового спирта и спиртосодержащей продукции на территории Российской Федерации.

Логическая модель файла обмена

Элементами логической модели файла обмена являются элементы и атрибуты XML файла.

Для каждого структурного элемента логической модели файла обмена приводятся следующие сведения:

1. Наименование элемента. Приводится полное наименование элемента. В строке таблицы могут быть описаны несколько элементов, наименования которых разделены символом "|". Такая форма записи применяется в случае возможного присутствия в файле обмена только одного элемента из описанных в этой строке.

2. Сокращенное наименование элемента. Приводится сокращенное наименование элемента. Синтаксис сокращенного наименования должен удовлетворять спецификации XML.

3. Признак типа элемента. Может принимать следующие значения: "С" - сложный элемент логической модели (содержит вложенные элементы), "П" - простой элемент логической модели, реализованный в виде элемента XML файла, "А" - простой элемент логической модели, реализованный в виде атрибута элемента XML файла. Простой элемент логической модели не содержит вложенные элементы.

4. Формат значения элемента. Формат значения элемента представляется следующими условными обозначениями: T - символьная строка; N - числовое значение (целое или дробное).

Формат символьной строки указывается в виде T(N-k) или T(=k), где N - минимальное количество знаков, k - максимальное количество знаков, символ - разделитель, символ "=" означает фиксированное количество знаков в строке. В случае, если минимальное количество знаков равно 0, формат имеет вид T(0-k). В случае, если максимальное количество знаков неограниченно, формат имеет вид T(N-).

Формат числового значения указывается в виде N(m.k), где m - максимальное количество знаков в числе, включая знак (для отрицательного числа), целую и дробную часть числа без разделяющей десятичной точки, k - максимальное число знаков дробной части числа. Если число знаков дробной части числа равно 0 (т.е. число целое), то формат числового значения имеет вид N(m).

Для простых элементов, являющихся базовыми в XML (определенными в http://www.w3.org/TR/xmlschema-0), например, элемент с типом "date", поле "Формат значения элемента" не заполняется. Для таких элементов в поле "Дополнительная информация" указывается тип базового элемента.

5. Признак обязательности элемента определяет обязательность присутствия элемента (совокупности наименования элемента и его значения) в файле обмена. Признак обязательности элемента может принимать следующие значения: "О" - наличие элемента в файле обмена обязательно; "Н" - присутствие элемента в файле обмена необязательно, т.е. элемент может отсутствовать. Если элемент принимает ограниченный перечень значений (по классификатору, кодовому словарю и т.п.), то признак обязательности элемента дополняется символом "К". Например: "ОК". В случае если количество реализаций элемента может быть более одной, то признак обязательности элемента дополняется символом "М". Например: "НМ, ОКМ".

К вышеперечисленным признакам обязательности элемента может добавляться значение "У" в случае описания в XSD схеме условий присутствия (отсутствия) элемента в файле обмена или к принимаемым значениям элемента. Например: "НУ", "ОКУ".

Дополнительная информация. Для сложных элементов указывается ссылка на таблицу, в которой описывается состав данного элемента. Для элементов, принимающих ограниченный перечень значений из классификатора (кодового словаря и т.п.), указывается соответствующее наименование классификатора (кодового словаря и т.п.) или приводится перечень возможных значений. Для классификатора (кодового словаря и т.п.) может указываться ссылка на его местонахождение. Для элементов, использующих пользовательский тип данных, указывается наименование типового элемента.

2. Описание файлов обмена

2.1. Формат передачи сведений в электронном виде организациями, осуществляющими перевозку этилового спирта (в том числе денатурата) и нефасованной спиртосодержащей продукции с содержанием этилового спирта более 25 процентов объема готовой продукции автомобильным транспортом, в автоматизированную систему контроля перевозок этилового спирта и спиртосодержащей продукции на территории Российской Федерации

Таблица 2.1.1

Файл обмена

Наименование элемента

Сокращенное наименование (код) элемента

Признак типа элемента

Формат элемента

Признак обязательности элемента

Дополнительная информация

Документы

DOCUMENTS

С

О

Состав элемента представлен в табл. 2.1.1.1.

Таблица 2.1.1.1

Документы (DOCUMENTS)

Наименование элемента

Сокращенное наименование (код) элемента

Признак типа элемента

Формат элемента

Признак обязательности элемента

Дополнительная информация

Владелец

OWNER

С

О

Типовой элемент <ВладТип>

Состав элемента представлен в табл. 3.1

Документ

DOCUMENT

С

О

Состав элемента представлен в табл. 2.1.1.1.1.

Таблица 2.1.1.1.1

Документ (DOCUMENT)

Наименование элемента

Сокращенное наименование (код) элемента

Признак типа элемента

Формат элемента

Признак обязательности элемента

Дополнительная информация

Навигационные данные

ASCPNAV

С

О

Состав элемента представлен в табл. 2.1.1.1.1.1.

Таблица 2.1.1.1.1.1

Навигационные данные (ASCPNAV)

Наименование элемента

Сокращенное наименование (код) элемента

Признак типа элемента

Формат элемента

Признак обязательности элемента

Дополнительная информация

Контроллер оборудования

SENSOR

N(15)

П

О

Международный идентификатор мобильного оборудования (IMEI) контроллера

Время

TIMEUTC

N(10)

П

О

Время в местоположении транспортного средства в стандарте Всемирного Координированного Времени (UTC) (UNIX-время)

Широта

LATITUDE

N(5.5)

П

О

Широта местоположения транспортного средства

Долгота

LONGITUDE

N(5.5)

П

О

Долгота местоположения транспортного средства

Количество спутников

COUNTSATELLITE

N(3)

П

О

Количество спутников, с помощью которых было определено местоположение транспортного средства

Точность

ACCURACY

N(1.2)

П

О

Точность определения местоположения транспортного средства

Направление

COURSE

N(3)

П

О

Направление движения транспортного средства

Скорость

SPEED

N(3)

П

О

Скорость передвижения транспортного средства в км/ч

Секции

DATALEVELGAUGE

С

О

Состав элемента представлен в табл. 2.1.1.1.1.1.1.

Таблица 2.1.1.1.1.1.1

Секции (DATALEVELGAUGE)

Наименование элемента

Сокращенное наименование (код) элемента

Признак типа элемента

Формат элемента

Признак обязательности элемента

Дополнительная информация

Секция

LEVELGAUGE

С

О

Состав элемента представлен в табл. 2.1.1.1.1.1.1.1.

Таблица 2.1.1.1.1.1.1.1

Секция (LEVELGAUGE)

Наименование элемента

Сокращенное наименование (код) элемента

Признак типа элемента

Формат элемента

Признак обязательности элемента

Дополнительная информация

Номер секции

NUMBER

N

П

О

Порядковый номер секции в транспортном средстве.

Уровень

READINGS

N(5.3)

П

О

Объем жидкости в секции в декалитрах

Температура

TEMPERATURE

N(2.2)

П

О

Температура жидкости в секции в градусах по Цельсию

Плотность

DENSITY

N(2.3)

П

О

Плотность жидкости в секции в г/см3.

3. Перечень типовых структурных элементов логической модели файла обмена

Перечень структурных элементов логической модели файла обмена приведен в таблицах:

Таблица 3.1

Владелец (ВладТип)

Наименование элемента

Сокращенное наименование (код) элемента

Признак типа элемента

Формат элемента

Признак обязательности элемента

Дополнительная информация

Идентификатор отправителя

FSRAR_ID

П

T(50)

О

Идентификатор транспортного средства, с которого поступают сведения.

Приложение N 2
к приказу Федеральной службы
по регулированию алкогольного рынка
от 25 июня 2018 г. N 181

ФОРМАТ ПЕРЕДАЧИ СВЕДЕНИЙ В ЭЛЕКТРОННОМ ВИДЕ ОРГАНИЗАЦИЯМИ, ОСУЩЕСТВЛЯЮЩИМИ ПЕРЕВОЗКУ ЭТИЛОВОГО СПИРТА (В ТОМ ЧИСЛЕ ДЕНАТУРАТА) И НЕФАСОВАННОЙ СПИРТОСОДЕРЖАЩЕЙ ПРОДУКЦИИ С СОДЕРЖАНИЕМ ЭТИЛОВОГО СПИРТА БОЛЕЕ 25 ПРОЦЕНТОВ ОБЪЕМА ГОТОВОЙ ПРОДУКЦИИ АВТОМОБИЛЬНЫМ ТРАНСПОРТОМ, В АВТОМАТИЗИРОВАННУЮ СИСТЕМУ КОНТРОЛЯ ПЕРЕВОЗОК ЭТИЛОВОГО СПИРТА И СПИРТОСОДЕРЖАЩЕЙ ПРОДУКЦИИ НА ТЕРРИТОРИИ РОССИЙСКОЙ ФЕДЕРАЦИИ

1. Общие положения

Формат передачи в автоматизированную систему контроля перевозок этилового спирта и спиртосодержащей продукции на территории Российской Федерации информации, указанной в пункте 7 Правил ведения автоматизированной системы контроля перевозок этилового спирта и спиртосодержащей продукции на территории Российской Федерации, утвержденных постановлением Правительства Российской Федерации от 06.07.2012 N 688, определяется протоколом передачи навигационных данных NDTP (Navigation Data Transfer Protocol) 16.03.2012, версии 1.0.

2. Структура стека протоколов NDTP

Описание протокола обмена данными представлено согласно модели OSI. Все уровни реализованы стандартными средствами:

- для специальных технических средств регистрации в автоматическом режиме движения, устанавливаемых на автомобильные транспортные средства, оснащенные специальными емкостями для перевозки продукции (далее - СТС) - встроенным стеком GPRS модема;

- для сервера сбора данных (далее - ССД) - средствами операционной системы.

Уровни

СТС

ССД

Прикладной

команды и пакеты данных

команды и пакеты данных

Сеансовый

NPL

NPL

Транспортный

TCP

TCP

Протокол передачи данных NDTP (Navigation Data Transfer Protocol) состоит из двух уровней:

- NPL - Navigation data transfer Protocol (Low level) - протокол нижнего уровня (сеансовый);

- NPH - Navigation data transfer Protocol (High level) - протокол верхнего уровня (представления).

Протокол нижнего уровня (сеансовый) предназначен для передачи обезличенных блоков данных и контроля целостности принимаемых данных. На данном уровне определены правила адресации устройств, правила проверки целостности данных и др.

Протокол верхнего уровня (представления данных) описывает форматы и правила передачи данных для реализуемой услуги. На данном уровне учитывается состав и форматы передаваемых данных.

Все пакеты типа NPH (прикладной уровень), передаваемые со стороны СТС, передаются с подтверждением приема на стороне ССД.

Все данные в пакетах NPL и NPH передаются в little-endian формате, если не установлено иное. В описаниях структуры пакетов длина полей указывается в байтах, либо var - для полей с переменной длиной.

3. Сеансовый уровень (протокол NPL)

На сеансовом уровне осуществляется шифрование и маршрутизация пакетов.

Пакета NPL, протокола нижнего уровня (NPL) имеет следующий формат:

Поле

Длина

Тип

Описание

Может ли данное поле (значение) изменяться

заголовок пакета

NPL

<signature>

2

int16

Сигнатура - предопределенное поле данных в начале пакета, предназначенное для проверки на принимающей стороне того, что по данному адресу в памяти находятся данные соответствующего пакета. Наличие сигнатуры является обязательным.

Нет. В поле всегда должно быть установлено значение 7E7E

<data_size>

2

unsigned int16

Определяет размер данных, находящихся в поле. Для незашифрованных и зашифрованных пакетов всегда равно размеру NPH данных. Если данные передаются в зашифрованном виде, размер поля равен длине данных выровненной по границе 8 байт (требования алгоритма Blowfish). При этом дополнительные байты в расшифрованном пакете не используются. Пример: если длина NPH пакета равна 18, то = 18, а длина поля равна 24.

Нет. В поле всегда должно быть установлено значение 0 - дополнительных данных в пакете не содержится.

<flags>

2

int16

NPL_FLAG_CRC - определяет расчет контрольной суммы пакета (CRC) для обеспечения возможности проверки валидности пакета получателем. Принимает значения: 0 - нет, 1 - да.

Нет. В поле всегда должно быть установлено значение 1

<crc>

2

unsigned int16

Значение контрольной суммы поля, либо 0x0000, если флаг NPL_FLAG_CRC не установлен.

<type>

1

Byte

Указывает тип передаваемых данных. NPL_TYPE_ERROR - ошибка протокола NPL NPL_TYPE_NPH - пакет данных NPH

Да

<peer_address>

4

unsigned int32

Определяет адрес участника соединения:

NPL_ADDRESS_SERVER - сервер. Другие значения - мобильные устройства

Да

<request_id>

2

unsigned int16

Идентификатор пакета (ID) рекомендуется делать уникальным хотя бы в рамках одной сессии передачи данных. Например, выбрать некоторое значение ID при установке соединения и для каждого последующего пакета увеличивать его ID на единицу. При достижении 0 x FFFFFFFF следующее значение ID будет равно 0 x 00000000 и т.д.

Да

<data>

Var

Пакеты протокола NPL однонаправленные, подтверждения не требуют.

<peer_address> входящего пакета указывает адрес отправителя пакета. В данном поле может передаваться либо адрес ССД (для пакетов, приходящих со стороны ССД на СТС), либо адрес СТС (для пакетов, приходящих со стороны СТС на ССД).

4. Типы пакетов NPL

Пакеты NPL имеют следующие типы:

- NPL_TYPE_ERROR - ошибка протокола NPL;

- NPL_TYPE_NPH - пакет данных NPH.

4.1. Тип пакета: NPL_TYPE_ERROR

Коды об ошибке протокола NPL передаются пакетами NPL_TYPE_ERROR, которые при передаче не шифруются. Поле передачи данных содержит код ошибки и имеет следующий формат:

Поле

Длина

Тип

Описание

Может ли данное поле (значение) изменяться

<error_code>

4

unsigned int32

Содержит коды ошибки:

NPL_ERR_OK

NPL_ERR_UNDEFINED

NPL_ERR_INVALID_PEER_ADDRESS

NPL_ERR_PEER_NOT_AVAILABLE

NPL_ERR_PEER_PERM_DENIED

Да

Существуют следующие ошибки протокола NPL:

Общие ошибки:

- NPL_ERR_OK - запрос выполнен успешно;

- NPL_ERR_UNDEFINED - код для ошибок, не имеющих описания;

Ошибки маршрутизации пакетов:

- NPL_ERR_INVALID_PEER_ADDRESS - недопустимый адрес участника соединения;

- NPL_ERR_PEER_NOT_AVAILABLE - участник соединения недоступен;

- NPL_ERR_PEER_PERM_DENIED - доступ запрещен.

4.2. Тип пакета: NPL_TYPE_NPH

Тип пакета NPL_TYPE_NPH - пакет NPH, передается на уровне представления (протокол NPH).

4.3. Уровень представления (протокол NPH)

Каждый участник соединения (СТС) обладает набором функций (услуг), которые он может предоставить другим участникам соединения. Все функции логически разделены на группы услуг мониторинга. Набор услуг мониторинга, которые поддерживает определенный участник соединения, определяет интерфейс его взаимодействия с другими участниками соединения.

Для каждого типа услуг мониторинга определены свои типы пакетов и логика работы. Отдельные типы пакетов могут использоваться в нескольких типах услуг мониторинга (например: пакет NPH_RESULT - пакет подтверждения, отсылающийся на не требующий получения данных запрос). Участник соединения может не поддерживать отдельные пакеты в определенном типе услуг мониторинга.

Обмен данными на уровне представления ведется с помощью пакетов NPH.

Пакет NPH имеет следующий формат:

Поле

Длина

Тип

Описание

Может ли данное ноле (значение) изменяться

заголовок пакета NPH

<service_id>

2

unsigned int16

Тип услуги

Нет. В поле всегда должно быть установлено значение 0100 - NPH_SRV_NAVDATA

<type>

2

unsigned int16

Тип пакета

Да

<flags>

2

unsigned int16

Флаги пакета (определяет необходимость подтверждения).

Bit 0

NPH_FLAG_REQUEST - определяет необходимость подтверждения пакета.

Принимает значения:

0 - пакет не требует подтверждения;

1 - пакет требует подтверждения.

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

Нет. В поле всегда должно быть установлено значение 1 - пакет требует подтверждения

<request_id>

4

unsigned int32

Идентификатор пакета, используется для подтверждения запроса. ID пакетов рекомендуется делать уникальным хотя бы в рамках одной сессии передачи данных. Например, выбрать некоторое значение ID при установке соединения и для каждого последующего пакета увеличивать его ID на единицу. При достижении 0xFFFFFFFF следующее значение ID будет равно 0x00000000 и т.д.

Да

данные пакета NPH

<data>

var

var

Поле содержит данные, является необязательным. Наличие и структура поля должны однозначно определяться типом услуг () и типом пакета ().

Да

Тип пакета NPH_RESULT относится ко всем типам услуг.

4.4. Общий пакет подтверждения: NPH_RESULT

Пакет NPH_RESULT является общим для всех типов услуг, если запрос не предусматривает получения каких-либо данных. В ответ на пакет запроса посылается пакет подтверждения NPH_RESULT.

Пакет подтверждения NPH_RESULT имеет следующий формат поля данных:

поле

длина

тип

описание

может ли данное поле (значение) изменяться

<error>

4

unsigned int32

0 в случае успешного выполнения запроса или код ошибки

Да

Поле <error> пакета NPH_RESULT может принимать следующие значения:

- 0 - успешное выполнение запроса;

Общие ошибки:

- NPH_RESULT_OK - запрос выполнен успешно;

- NPH_RESULT_UNDEFINED - код для ошибок, не имеющих описания;

- NPH_RESULT_BUSY - участник соединения не может обработать пакет в данный момент;

- NPH_RESULT_SERVICE_NOT_SUPPORTED - тип услуг не поддерживается;

- NPH_RESULT_SERVICE_NOT_ALLOWED - тип услуг запрещен для данного участника соединения;

- NPH_RESULT_SERVICE_NOT_AVAILABLE - тип услуг не доступен в данный момент;

- NPH_RESULT_PACKET_NOT_SUPPORTED - неизвестный тип пакета, либо тип пакета не поддерживается;

- NPH_RESULT_PACKET_INVALID_FORMAT - неверный формат пакета;

- NPH_RESULT_PACKET_INVALID_PARAMETER - неверный параметр пакета;

Ошибки установки соединения:

- NPH_RESULT_PROTO_VER_NOT_SUPPORTED - версия протокола не поддерживается;

- NPH_RESULT_CLIENT_NOT_REGISTERED - клиент не зарегистрирован на сервере (в БД);

- NPH_RESULT_CLIENT_TYPE_NOT_SUPPORTED - тип клиента не поддерживается;

- NPH_RESULT_CLIENT_AUTH_FAILED - ошибка аутентификации клиента.

5. Установка соединения с сервером

Соединение с сервером может быть защищенным или незащищенным. Параметры соединения задаются инициатором соединения в поле <connection_flags> пакета NPH_SGC_CONN_REQUEST. В первом случае все пакеты передаются в зашифрованном виде, за исключением пакетов установки соединения:

- NPH_SGC_CONN_REQUEST;

- NPH_SGC_CONN_AUTH_STRING.

В случае отказа в установке соединения (на любом этапе) сервер посылает клиенту незашифрованный пакет NPH_RESULT с кодом ошибки.

Пакет запроса установки соединения NPH_SGC_CONN_REQUEST имеет следующий формат поля <data>:

Поле

Длина

Тип

Описание

Может ли данное поле (значение) изменяться

<proto_version_high>

2

unsigned int16

Версия протокола NDTP (старший номер)

Нет. В поле всегда должно быть установлено значение 1

<proto_version_low>

2

unsigned int16

Версия протокола NDTP (младший номер)

Да

<connection_flags>

2

unsigned int16

Опции соединения, определяет настройки соединения, которые будут использоваться после установки соединения.

(бит2: рассчитывать CRC пакетов (0 - нет, 1 - да)

Нет. Все значения битов кроме второго должны быть установлены в 0. Значение второго бита должно быть установлено в 1

<peer_address>

4

unsigned int32

Адрес участника соединения, пославшего пакет

Да

<max_packet_size>

4

unsigned int32

Максимальный размер пакета, который сможет обработать данный участник соединения

Нет. Все значения битов должны быть установлены в 0

Так как сервер не устанавливает соединения, то пакет запроса соединения посылают только клиенты (СТС).

Поля <proto_version_high> и <proto_version_low> определяют версию протокола, по которой собирается работать клиент. <proto_version_high> всегда должно быть установлено в 1.

Пакет с массивом данных для аутентификации клиента NPH_SGC_CONN_AUTH_STRING имеет следующий формат поля <data>:

Поле

Длина

Тип

Описание

Может ли данное поле (значение) изменяться

<data>

var

char[]

Массив данных. Длина массива определяется по полю пакета NPL

Да

6. Мониторинг транспортных средств: NPH_SRV_NAVDATA

Навигационные данные передаются в типе передачи NPH_SRV_NAVDATА.

Существует два типа пакетов:

- NPH_SND_REALTIME - передача навигационных данных в реальном времени;

- NPH_SND_HISTORY - передача навигационных данных, сохраненных в памяти устройства ("ретроспективы").

Передача навигационных данных, сохраненных в памяти устройства, предназначена для случаев нарушения соединения с сотовой сетью. При потере соединения клиент записывает данные во внутренний буфер. При восстановлении соединения клиент передает данные из внутреннего буфера. На стороне сервера при обработке данных необходимо различать случаи передачи данных в реальном времени и из внутреннего буфера. Для этого введены отдельные типы пакетов для передачи данных в режиме реального времени из внутренней памяти.

Поле

Длина

Тип

Описание

Может ли данное поле (значение) изменяться

<Type>

1

unsigned int8

Тип ячейки (определяет длину и содержимое).

Различаются следующие типы:

0 - основные навигационные данные;

2 - данные от внутренних портов;

8 - данные от датчиков уровня продукта в отсеках.

Да

<Number>

1

unsigned int8

Определяет навигационный приемник: N=0 - GPS приемник, N=1 - GLONASS приемник. Если Type=13, данное поле определяет номер отсека, к которому подключен уровнемер.

Да

<Data>

var

char[]

Данные от датчика.

Структура определяется полем.

Да

Пакеты передачи навигационных данных NPH_SND_HISTORY и NPH_SND_REALTIME имеют следующий формат поля <data>:

Структура поля <Data> состоит из ячеек, каждая из которых имеет поля <Type>, <Number> и <Data> переменной длины. Длина каждой ячейки поля <Data> определяется нолем <Type>.

Ячейки следуют строго по увеличению поля <Type>. Возможно следование нескольких ячеек с одинаковым полем <Type>, но обязательно разными полями <Number>, которое определяет номер датчика, от которого направлен данный пакет. Время формирования данных от внешних датчиков определяется пакетом навигационных данных.

Ячейка 2

Ячейка 1

Data N байт Number=1 1 байт Type=2 1 байт Data N байт Number=1 1 байт Type=0 1 байт

Ячейка передачи основных навигационных данных (Type=0, N=1) Дополнительные навигационные данные Type=1, N=1.

Поле

Длина

Тип

Описание

Может ли данное поле (значение) изменяться

20

struct

<time_stamp>

4

unsigned int32

Содержит значение реального времени

Да

<longitude>

4

unsigned int32

Содержит долготу в градусах, умноженную на 10 000 000

Да

<latitude>

4

unsigned int32

Содержит широту в градусах, умноженную на 10 000 000

Да

<extra_dop>

1

unsigned int8

bit7 - достоверность навигационных данных (1 - достоверны, 0 - нет); bit6 - полушарие долготы (1 - E, 0 - W); bit5 - полушарие широты (1 - N, 0 - S); bit4 - флаг работы от встроенного аккумулятора; bit3 - флаг первоначального включения; bit2 - состояние SOS (1 - SOS, 0 - нет SOS) bit1 - флаг тревожной информации (один из параметров находится в диапазоне тревоги)

Да.

Примечание: в настоящей версии bit2 не должен устанавливаться

<bat_voltage>

1

unsigned int8

Напряжение батареи, 1 бит = 20 мВ

Да

<track>

2

unsigned int16

Пройденный путь, м

Да

<altitude>

2

signed int16

Высота над уровнем моря в метрах (-18000 - +18000)

Да

<nsat>

1

unsigned int8

Количество видимых спутников

Да

<pdop>

1

unsigned int8

PDOP - Снижение точности по местоположению. Термин, использующийся в области систем глобального позиционирования для параметрического описания геометрического взаиморасположения спутников относительно антенны приемника. Этот параметр должен передаваться на сервер для дальнейшего использования

Да

Данные от внутренних датчиков Type=2, N=1

Поле

Длина

Тип

Описание

Может ли данное поле (значение) изменяться

24

struct

<an_in0>

2

unsigned int16

Значение 0 аналогового входа в 16 битном формате

Да

<an_in1>

2

unsigned int16

Значение 1 аналогового входа в 16 битном формате

Да

<an_in2>

2

unsigned int16

Значение 2 аналогового входа в 16 битном формате

Да

<an_in3>

2

unsigned int16

Значение 3 аналогового входа в 16 битном формате

Да

<di_in>

1

unsigned int8

Значение цифровых входов

Да

<di_out>

1

unsigned int8

Состояние дискретных выходов

Да

<di0_counter>

2

unsigned int16

Количество импульсов на дискретном входе 0 с предыдущей нав. отметки

Да

<di1_counter>

2

unsigned int16

Количество импульсов на дискретном входе 1 с предыдущей нав. отметки

Да

<di2_counter>

2

unsigned int16

Количество импульсов на дискретном входе 2 с предыдущей нав. отметки

Да

<di3_counter>

2

unsigned int16

Количество импульсов на дискретном входе 3 с предыдущей нав. отметки

Да

<odometer>

4

unsigned int32

Длина трека с момента первого включения

Да

<CSQ>

1

unsigned int8

Сила GSM сигнала

Да

<GPRS_State>

1

unsigned int8

Состояние GPRS подключения

Да

16 битное значение полей <an_inN>. В случае если устройством поддерживается 12 битная оцифровка, значение умножается на 4. Максимальное значение становится равным 0xFFFC. У такого устройства дискретность становится не 1, а 4.

Данные от датчиков уровня продукта в отсеке Type=13, N=1..6

Поле

Длина

Тип

Описание

Может ли данное поле (значение) изменяться

13

struct

<density>

4

unsigned int32

Плотность продукта

Да

<temperature>

4

unsigned int32

Температура продукта

Да

<level>

4

unsigned int32

Уровень продукта

Да

<level_unit>

1

uint8

Единица измерения:

Декалитры

Да

Пример пакета навигационных данных NPH_SND_REALTIME

Весь пакет:

7E7E42000200665A02000000000000010065000100990500000000931B4E4FF14

59B1DAF2FED22E0D000000000510000008D0008000200000000000000000000

0000000000000000002FC800001F040000

Заголовок NPL

7E7E 4200 0200 665A 02 00000000 0000

Значение

Описание

7E7E

Сигнатура

4200

Размер данных (nph + размер массива данных)

0200

Флаги соединения (2 - проверять crc)

665A

Crc

02

Тип пакета (nph)

00000000

Идентификатор NPL

Заголовок NPH

0100 6500 0100 99050000

0100

Идентификатор услуги (NPH_SRV_NAVDATA)

6500

NРH_SND_REALTIME

0100

Флаг (1 - требуется подтверждение)

99050000

Идентификатор nph

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

0000931B4E4FF1459B1DAF2FED22E0D000000000510000008D000800020000

000000000000000000000

00000000000002FC800001F040000

Начало данных 2 байта тип и номер ячейки:

0000

0

Тип ячейки

0

Номер ячейки

Нулевая ячейка размер 52 байта:

931B4E4FF1459B1DAF2FED22E0D000000000510000008D000800

931B4E4F

Значение реального времени unixtime utc

F1459B1D

Долгота в градусах, умноженная на 10 000 000

AF2FED22

Широта в градусах, умноженная на 10 000 000

E0

bit7 - достоверность навигационных данных

(1 - достоверны, 0 - нет);

bit6 - полушарие долготы (1 - E, 0 - W);

bit5 - полушарие широты (1 - N, 0 - S);

bit4 - флаг работы от встроенного аккумулятора;

bit3 - флаг первоначального включения;

bit2 - состояние SOS (1 - SOS, 0 - нет SOS);

bit1 - флаг тревожной информации (один из параметров находится в диапазоне тревоги)

D0

Напряжение батареи, 1 бит = 20 мВ

0000

Пройденный путь, м

8D00

Высота над уровнем моря в метрах (-18000 - +18000)

08

Количество видимых спутников

00

PDOP

Пример пакета данные от датчиков уровня продукта Type=13, N=1

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

0D01931B4E4FF1459B1DAF2FED2201

Начало данных 2 байта тип и номер ячейки:

0D01

13

Тип ячейки

1

Номер ячейки

13 ячейка размер 13 байт:

931B4E4FF1459B1DAF2FED2201

931B4E4F

Плотность продукта

F1459B1D

Температура продукта

AF2FED22

Уровень продукта

01

Единица измерения: Декалитры

Пример пакета NPH_SND_REALTIME

В данном пакете содержатся ячейки следующих типов:

- основные навигационные данные;

- данные от внутренних датчиков;

- данные от датчиков уровня продукта (число отсеков 6).

Весь пакет:

7E7E94000200316E02000000000000010065000100990500000000931B4E4FF14

59B1DAF2FED22E0D000008D0008000200000000000000000000000000000000

0000002FC800001F040D01F5676F3F0000A0418FC2B142010D02F5676F3F000

0A0418FC2B142010D03F5676F3F0000A0418FC2B142010D04F5676F3F0000A

0418FC2B142010D05F5676F3F0000A0418FC2B142010D06F5676F3F0000A04

18FC2B14201

Заголовок NPL

7E7E 9400 0200 316E 02 00000000 0000

Значение

Описание

7E7E

Сигнатура

9400

Размер данных (nph + размер массива данных)

0200

Флаги соединения (2 - проверять crc)

316E

Crc

02

Тип пакета (nph)

00000000

Адрес участника соединения

0000

Идентификатор NPL

Заголовок NPH

0100 6500 0100 99050000

0100

Идентификатор услуги (NPH_SRV_NAVDATA)

6500

NPH_SND_REALTIME

0100

Флаг (1 - требуется подтверждение)

99050000

Идентификатор nph

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

0000931B4E4FF1459B1DAF2FED22E0D000008D000800020000000000000000

00000000000000000000002FC800001F040D01F5676F3F0000A0418FC2B14201

0D02F5676F3F0000A0418FC2B142010D03F5676F3F0000A0418FC2B142010D

04F5676F3F0000A0418FC2B142010D05F5676F3F0000A0418FC2B142010D06

F5676F3F0000A0418FC2B14201

Начало данных 2 байта тип и номер ячейки:

0000

0

Тип ячейки

0

Номер ячейки

Ячейка (Type=0, N=0) размер 20 байт:

931B4E4F F1459B1D AF2FED22 E0 D0 0000 8D00 08 00

931B4E4F

Значение реального времени unixtime utc

F1459B1D

Долгота в градусах, умноженная на 10 000 000

AF2FED22

Широта в градусах, умноженная на 10 000 000

E0

bit7 - достоверность навигационных данных

(1 - достоверны, 0 - нет);

bit6 - полушарие долготы (1 - E, 0 - W);

bit5 - полушарие широты (1 - N, 0 - S);

bit4 - флаг работы от встроенного аккумулятора;

bit3 - флаг первоначального включения;

bit2 - состояние SOS (1 - SOS, 0 - нет SOS);

bit1 - флаг тревожной информации (один из параметров находится в диапазоне тревоги)

D0

Напряжение батареи, 1 бит = 20 мВ

0000

Пройденный путь, м

8D00

Высота над уровнем моря в метрах (-18000 - +18000)

08

Количество видимых спутников

00

PDOP

2 байта тип и номер ячейки:

0200

02

Тип ячейки

00

Номер ячейки

Ячейка (Type=2, N=0) размер 24 байта:

0000 0000 0000 0000 00 00 0000 0000 0000 0000 2FC80000 1F 04

0000

Значение 0 аналогового входа в 16 битном формате

0000

Значение 1 аналогового входа в 16 битном формате

0000

Значение 2 аналогового входа в 16 битном формате

0000

Значение 3 аналогового входа в 16 битном формате

00

Значение цифровых входов

00

Состояние дискретных выходов

0000

Количество импульсов на дискретном входе 0 с предыдущей нав. отметки

0000

Количество импульсов на дискретном входе 1 с предыдущей нав. отметки

0000

Количество импульсов па дискретном входе 2 с предыдущей нав. отметки

0000

Количество импульсов па дискретном входе 3 с предыдущей нав. отметки

2FC80000

Длина трека с момента первого включения

1F

Сила GSM сигнала

04

Состояние GPRS подключения

2 байта тип и номер ячейки:

0D01

13

Тип ячейки

01

Номер ячейки

Ячейка (Type=13, N=1) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F

Плотность продукта

0000A041

Температура продукта

8FC2B142

Уровень продукта

01

Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D02

13

Тип ячейки

02

Номер ячейки

Ячейка (Type=13, N=2) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F

Плотность продукта

0000A041

Температура продукта

8FC2B142

Уровень продукта

01

Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D03

13

Тип ячейки

03

Номер ячейки

Ячейка (Type=13, N=3) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F

Плотность продукта

0000A041

Температура продукта

8FC2B142

Уровень продукта

01

Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D04

13

Тип ячейки

04

Номер ячейки

Ячейка (Type=13, N=4) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F

Плотность продукта

0000A041

Температура продукта

8FC2B142

Уровень продукта

01

Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D05

13

Тип ячейки

05

Номер ячейки

Ячейка (Type=13, N=5) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F

Плотность продукта

0000A041

Температура продукта

8FC2B142

Уровень продукта

01

Единица измерения: Декалитры.

2 байта тип и номер ячейки:

0D06

13

Тип ячейки

06

Номер ячейки

Ячейка (Type=13, N=6) размер 13 байт:

F5676F3F 0000A041 8FC2B142 01

F5676F3F

Плотность продукта

0000A041

Температура продукта

8FC2B142

Уровень продукта

01

Единица измерения уровня: Декалитры.