Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение Ж
(обязательное)
Спецификация протокола обмена данными бортового устройства тахографа и блока тахографической информации
Ж.1 Транспортный протокол '04'
Ж.1.1 Блок тахографической информации и процессор тахографа обмениваются блоками, формат которых представлен в таблице Ж.1.
В блок включает контрольный байт протокола с порядковым номером блока (сквозной счетчик передаваемых процессором тахографа блоков данных) и 2/4 байтовый CRC16/CRC32.
Максимальное количество байтов данных сообщения равно 4096 байт.
Таблица Ж.1 - Формат блока транспортного протокола '04'
Поле |
Длина в байтах |
Значение |
STX |
1 |
'04' признак начала блока 8 бит (код протокола) |
РСВ |
1 |
Контрольный байт протокола |
Data_Length |
2 |
Количество байтов данных сообщения (до 4096 байт) |
Data |
N |
Данные сообщения (содержащие команду или ответ на команду) Формат сообщения, соответствует протоколу приложения |
CRC16/CRC32 |
2/4 |
Контрольная сумма всех байт блока, кроме STX |
Возможные значения алгоритмов вычисления в зависимости от величины кодировки контрольного байта (ЗСВ) приведены в таблице Ж.2.
Таблица Ж.2 - Кодировка контрольного байта (РСВ)
b8 |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
Значение |
x |
- |
- |
- |
- |
- |
- |
- |
Номер блока (N = 0/1) |
- |
x |
- |
- |
- |
- |
- |
- |
Инверсное значение номера блока |
|
|
x |
x |
x |
x |
|
|
RFU |
- |
- |
- |
- |
- |
- |
x |
- |
Тип CRC (0 - CRC16, 1 - CRC32) |
- |
- |
- |
- |
- |
- |
- |
x |
Инверсное значение типа CRC |
Пример
РСВ = 01хххх01b - номер блока = 0, CRC16
РСВ = 10хххх01b - номер блока = 1, CRC16
РСВ = 01хххх10b - номер блока = 0, CRC32
РСВ = 10хххх10b - номер блока = 1, CRC32
Алгоритмы вычисления CRC:
CRC-32 - алгоритм, идентичный CRC32 JAMCRC, за исключением стартового значения CRC (CRC_IV). CRC_IV = 0хА5А56С6С (байтовая последовательность: 6С 6С А5 А5)
CRC16 - алгоритм идентичен CRC-A, за исключением стартового значения CRC (CRC_IV). CRC_IV = 0хА56С (байтовая последовательность: 6С А5).
Ж.1.2 Логика обмена
Ж.1.2.1 Процессор тахографа формирует блок C_B(N), содержащий сообщение процессора тахографа.
Каждый блок включает порядковый номер "N", который подсчитывается по модулю 2 и кодируется одним битом. При запуске протокола или после процедуры инициализации по включению питания начальное значение номера N = 0, далее значения чередуются после посылки каждого блока.
Ж.1.2.2 Блок тахографической информации осуществляет прием блока C_B(N), содержащего сообщение процессора тахографа.
Блок C_B(N) считается принятым блоком тахографической информации, если
- первый принятый байт является байтом STX = '04';
- номер блока корректен;
- контрольная сумма CRC корректна;
- количество байт данных сообщения соответствует количеству, указанному в поле длины.
Если хотя бы одно из перечисленных условий не выполнено, блок считается непринятым.
Примечание - Если в процессе обработки команды обнаружены ошибки, включая ошибки, требующие повторной подачи команды (ошибки уровня приложения), блок считается принятым.
Ж.1.2.3 На принятый блок процессора тахографа C_B(N) блок тахографической информации выдает блок ответа R_B(N), который включает номер блока процессора тахографа.
Ж.1.2.4 Если блок процессора тахографа C_B(N) не принят, блок тахографической информации выдает блок ответа на предыдущий блок R_B(N-1).
Ж.1.2.5 Процессор тахографа осуществляет прием блока ответа блока тахографической информации.
Блок ответа считается принятым процессором тахографа, если
- первый принятый байт является байтом STX='04';
- номер блока равен номеру отправленного блока;
- контрольная сумма CRC корректна;
- количество байт данных ответа команды соответствует количеству, указанному в поле длины.
Если хотя бы одно из перечисленных условий не выполнено, блок считается непринятым.
Ж.1.2.6 Если блок ответа блока тахографической информации принят, процессор тахографа формирует следующий блок C_B(N+1), содержащий сообщение процессора тахографа.
Ж.1.2.7 Если блок ответа блока тахографической информации не принят, процессор тахографа повторяет подачу последнего блока C_B(N) до трех раз.
Ж.1.2.8 Если обмен не удается установить, то выполняется процедура перезапуска блока тахографической информации.
Примечание - В блоке ответа R_B(N) передается сообщение ответа на команду, которое может содержать код ошибки исполнения команды, включая код, требующий повторной подачи команды. Данный код не относится к транспортному протоколу. Повторно команда подается в следующем блоке.
Пример
подан блок C_B[CMD(x)+...](0)
ответ R_B[SB(err)](0) принят (код 'err' требует повторной подачи команды), подан следующий блок с тем же сообщением C_B[CMD(x)+...](1)
ответ R_B[SB(00)+...](1) принят, подан следующий блок с другим сообщением C_B[CMD(y)+...](0)
ответ R_B[SB(00)+...](0) принят, подан следующий блок с другим сообщением C_B[CMD(z)+...](1)
и т.д.
Пример протокола
Процессор тахографа |
|
блок тахографической информации |
первый блок С_В(0) |
С_В(0) принят, |
|
R_B(0) принят, |
ответ R_B(0) |
|
следующий блок С_В(1) |
С_В(1) принят, |
|
R_B(1) принят, |
ответ R_B(1) |
|
следующий блок С_В(0) |
С_В(0) принят, |
|
R_B(0) принят, |
ответ R_B(0) |
|
следующий блок С_В(1) |
С_В(1) принят, |
|
R_B(1) принят, |
ответ R_B(1) |
|
следующий блок С_В(0) |
С_В(0) не принят (ош.STX/PCB/L/CRC), |
|
R_B(1) не принят (ошибка N), |
в ответ повторно отправлен R_B(1) |
|
повторно подан блок С_В(0) |
С_В(0) принят, |
|
R_B(0) принят, |
ответ R_B(0) |
|
следующий блок С_В(1), |
С_В(1) принят, |
|
Процессор тахографа |
|
блок тахографической информации |
R_B(1) не принят (ош.STX/PCB/L/CRC) |
ответ R_B(1) |
|
повторно подан блок С_В(1) |
С_В(1) не принят (ошибка N) |
|
R_B(1) принят |
в ответ повторно отправлен R_B(1) |
|
следующий блок С_В(0) |
блок С_В(0) принят, |
|
R_B(0) принят |
отправлен ответ R_B(0) |
Ж.1.2.9 Примеры обработки ошибок протокола
1) Если блок процессора тахографа не принят, блок тахографической информации выдает блок ответа на предыдущий блок.
Пример 1 - Блок не корректен (ошибка PCB/L/CRC):
- блок С_В(1) принят и отправлен ответ R_B(1);
- следующий блок С_В(0) не принят, в ответ повторно отправлен R_B(1).
Пример 2 - Процессор тахографа не принял ответ и повторяет подачу последнего блока:
- блок С_В(1) принят и отправлен ответ R_B(1);
- следующий блок С_В(1) не принят, в ответ отправлен R_B(1).
Пример 3 - Блок протокола '02' или неопределенного протокола:
- блок С_В(1) принят и отправлен ответ R_B(1);
- следующий блок не принят, в ответ отправлен R_B(1).
2) Если блок ответа НКМ не принят, процессор тахографа повторяет подачу последнего блока до трех раз.
Пример 1 - Блок ответа некорректен (ошибка PCB/L/CRC):
- ответ R_B(0) принят, подан блок С_В(1);
- ответ R_B(1) не принят, повторно подан блок С_В(1) (до трех раз);
- ответ R_B(1) принят, подан блок С_В(0).
Пример 2 - НКМ не принял блок и передал ответ на предыдущий блок:
- ответ R_B(0) принят, подан блок С_В(1);
- ответ R_B(0) не принят, повторно подан блок С_В(1) (до трех раз);
- ответ R_B(1) принят, подан блок С_В(0).
Пример 3 - Блок ответа протокола '02' или неопределенного протокола
- ответ R_B(0) принят, подан блок С_В(1);
- ответ не принят, повторно подан блок С_В(1) (до трех раз).
Ж.2 Инициализация транспортного протокола
Ж.2.1 Протокол инициализируется в процедуре начального пуска.
Ж.2.2 Правила инициализации транспортного протокола:
а) по умолчанию при инициализации по включению блока тахографической информации устанавливает текущий протокол '02';
б) протокол '04' инициализируется блоком тахографической информации после первого успешного приема в процедуре начального пуска блока процессора тахографа по данному протоколу;
в) тахограф выбирает протокол и посылает первый блок по выбранному протоколу.
Примечание - Если тахографу неизвестна версия ПО блока тахографической информации, первые блоки в процедуре начального пуска (команда '32', '33') тахограф посылает по протоколу '02' и после проверки версии инициализирует протокол '04' (или подтверждает выбор протокола '02') в следующем блоке (команда '37');
г) после инициализации протокола смена протокола и его параметров (смена типа CRC протокола ''04') в течение одного сеанса связи запрещена;
д) если в процедуре начального пуска первый блок процессора тахографа по выбранному протоколу не принят блоком тахографической информации:
- блок с неопределенным протоколом ("мусор");
- блок по протоколу '02' с ошибкой CRC,L;
- блок по протоколу '04' с ошибкой PCB,CRC,L.
- блок тахографической информации формирует ответ по протоколу '02' (сообщение ответа с кодом ошибки '13');
е) если блок ответа блока тахографической информации на первый блок не принят процессором тахографа:
- блок ответа с неопределенным протоколом ("мусор");
- блок ответа по другому протоколу;
- блок ответа с ошибкой РСВ и/или CRC,L;
- процессор тахографа повторяет подачу первого блока до трех раз.
Ж.3 Протокол приложения
По протоколу приложения процессор и блок тахографической информации обмениваются сообщениями команды и ответа на команду. Формат сообщений представлен в Ж.1.
Сообщение, принятое блоком тахографической информации от процессора тахографа, всегда является командой для блока тахографической информации. Сообщение, переданное блоком тахографической информации процессору тахографа, всегда является ответом на команду.
Команды, выполняемые блоком тахографической информации, должны соответствовать описанию командам, указанных в правилах пользования на блок тахографической информации.
Порядок следования команд определяется процедурными протоколами и условиями выполнения команды. Условия выполнения команды определены в описании команды.
Если в процессе обработки команды возникли какие-либо ошибки, блок тахографической информации выдает ответное сообщение с кодом обнаруженной ошибки. Общий список кодов ответов представлен в Ж.1.
Если блок тахографической информации выдал ответное сообщение с кодом ошибки, тахограф выполняет определенные действия в соответствии с кодом ошибки, например, повторяет до трех раз подачу последней команды.
Если при повторной подаче блок тахографической информации (до трех раз) выдал ответное сообщение с кодом ошибки, то выполняется процедура перезапуска блока тахографической информации.
Ж.4 Формат сообщений
Процессор тахографа посылает в блок тахографической информации команду в формате, представленном в таблице Ж.3.
Таблица Ж.3 - Формат данных сообщения, содержащего команду
Поле |
Длина в байтах |
Значение |
CMD |
1 |
Код команды |
Data_Array_N |
N |
Данные команды, в соответствии коду |
На любую команду процессора тахографа блок тахографической информации выдает ответ в формате, представленном в таблице Ж.4.
Таблица Ж.4 - Формат данных сообщения, содержащего ответ на команду
Поле |
Длина в байтах |
Значение |
SB |
1 |
Код ответа |
Data_Array_N |
N |
Данные ответа, в соответствии с командой процессора тахографа |
Ж.5 Коды ответов блока тахографической информации
Общий список кодов ответов блока тахографической информации приведен в таблице Ж.5. Значения кодов ответа блока тахографической информации, которые могут быть получены при выполнении конкретной команды, приведены в описании этих команд в таблице Ж.5.
Таблица Ж.5 - Общий список кодов ответа блока тахографической информации
Код |
Описание кода ответа блока тахографической информации |
Действия процессора тахографа |
'00' |
Успешное выполнение команды |
- |
Ошибка транспортного протокола. Сообщение команды не принято. Код ошибки может быть возвращен в ответе на любую команду | ||
'13' |
Ошибка проверки контрольной суммы, ошибка формата и т.д. |
Требуется повторный запуск команды на исполнение |
Ошибка проверки. Сбой в работе ПО УОД тахографа. Команда отвергнута | ||
'12' |
Команда не поддерживается |
FTnn - регистрация неисправности, если необходимо |
'15' |
Неверные входные данные |
FTnn - регистрация неисправности, если необходимо |
'16' |
Неверная длина входных данных |
Требуется исправить и повторить запуск команды на исполнение |
'18' |
Неверный диапазон времени |
FTnn - регистрация неисправности, если необходимо |
'19' |
Цепочка не завершена |
|
'21' |
Неверное состояние НКМ |
|
'22' |
Команда заблокирована |
|
'27' |
Конец отчета (нет запрошенных данных) |
|
Ошибка исполнения. Попытка нарушения системы защиты. Временные критические данные удалены | ||
'31'-'44' |
Зарезервировано |
FTnn (1х) - регистрация события "Нарушение системы защиты" |
'45' |
Команда не может исполняться во время движения ТС |
|
'46' |
Команда не может выполняться в режиме энергосбережения |
Требуется подать команду '51' с Vehicle_state = '82' (выход из режима энергосбережения) |
Ошибка проверки/исполнения команды обмена с сервером | ||
'61'-'62' |
Зарезервировано |
Принято 1 сообщение с ошибкой - формирование следующего сообщения (повторная выдача данных) Принято 2 сообщения подряд с ошибкой - завершение сессии (разрыв соединения) и выполнение процедуры установления новой сессии |
'63' |
Некорректный формат подтверждения |
|
'64' |
Не найдено событие для присланного подтверждения |
|
'65' |
Некорректная последовательность команд (не была сформирована посылка для сервера) |
|
Ошибка проверки. Исполнение завершено с предупреждением | ||
'70' |
Требуется ключ для проверки сертификатов |
Подать сертификат карты |
'75' |
Нет готовности блока тахографической информации |
Требуется повторный запуск команды на исполнение |
'76' |
Команда не может исполняться, не сформирован запрос на выдачу сертификата |
Требуется провести процедуру формирования запроса на выдачу сертификата. |
Ошибка проверки. Исполнение завершено с предупреждением. Сбой в работе ПО УОД тахографа | ||
'80' |
Не было команды ввода карты с данным номером в тахограф |
FT10 - регистрация неисправности |
'81' |
Карта с таким номером или в таком слоте уже была вставлена. Удаляются несоответствующие данные в структуре блока тахографической информации |
FT10 - регистрация неисправности Подача команды ввода карты |
Ошибка исполнения. Сбой в работе блок тахографической информации | ||
'Е0' |
Рассинхронизация между элементами блока тахографической информации |
Требуется провести процедуру перезапуска или синхронизации, с регистрацией неисправности FT3F |
'Е1' |
Внутренняя ошибка блока тахографической информации при передаче данных |
Требуется повторный запуск команды на исполнение |
'Е2' |
Недостаточное напряжение питания блока тахографической информации |
Повысить напряжение питания. Произвести перезапуск блока тахографической информации |
'Е3' |
Ошибка протокола приложения (ошибка протокола начального пуска, процедура начального пуска не закончена за 30 секунд и т.д.) |
Требуется запуск команды '37' с корректными параметрами или завершение начального пуска или перезапуск |
Если команда процессора тахографа предполагает получение от блока тахографической информации каких-либо данных, то они передаются в поле Data_Array_N ответа в виде цепочки байт. Количество передаваемых байтов данных равно значению поля ответа Data_Length минус единица.
Ошибка с кодом '13' может появиться в ответ на любую команду, при обмене по протоколу '02'. При получении данной ошибки требуется повторный запуск команды на исполнение.
Ошибка с кодом '16' может появиться в ответ на любую команду. При получении данной ошибки требуется исправить и повторить команду.
Ошибка с кодом '46' может появиться в ответ на любую команду, кроме '32' и '51'. При получении данной ошибки требуется подать команду '51' с Vehicle_state = <82> (выход из режима энергосбережения).
Ошибка с кодом '75' может появиться в ответ на любую команду, кроме команды '32' "Запрос статуса блока тахографической информации". При получении данной ошибки требуется повторный запуск команды на исполнение.
Ошибка с кодом '76' может появиться в ответ на команду '21' "Активация тахографа". При получении данной ошибки рекомендуется отобразить на дисплее информацию о том, что запрос на выдачу квалифицированного сертификата не сформирован, и изъять карту из ридера. Требуется повторный запуск процедуры загрузки сертификата с формированием шаблона запроса на выдачу квалифицированного сертификата.
Ошибка с кодом 'Е0' может появиться в ответ на любую команду. При получении данной ошибки требуется запустить процедуру перезапуска блока тахографической информации с отключением питания, или процедуру синхронизации (внутренний перезапуск), с регистрацией неисправности 'FT3F'.
Ошибка с кодом 'Е1' может появиться в ответе на любые команды. При получении данной ошибки требуется повторный запуск команды на исполнение.
Ошибка с кодом 'Е2' может появиться в ответ на команды, для исполнения которых недостаточное напряжение питания. Например, может появиться в ответ на команды '60', '61' и '62' только во время движения при условии, что данные приемника ГНСС недостоверны. При получении данной ошибки требуется произвести процедуру перезапуска блока тахографической информации с повышением напряжения перед выполнением процедуры начального пуска.
Ошибка с кодом 'Е3' может появиться в ответ на команды, отличные от '3х', поданные в процедуре начального пуска до команды '37', и в ответ на команду '37' при несовпадении указанного протокола протоколу активации, если процедура активации выполнялась с тахографом, поддерживающим протокол блока тахографической информации версии не ниже 2.10. Так же ошибка с кодом 'Е3' может появиться в ответ на команды, исполнение которых не разрешено до завершения процедуры начального пуска (например, команда '65' в режиме '05' и другие), и в ответ на любые команды, если процедура начального пуска не закончена за 30 с. При получении данной ошибки требуется запуск команды '37', подтверждающей поддерживаемый протокол или завершение процедуры начального пуска, или перезапуск.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.