Автомобили

Kwp2000 протокол в автомобильной диагностических приложений

KWP2000 протокол стал стандартом де-факто в автомобильной диагностических приложений. Он стандартизован как ISO 14230-3. KWP2000 описывает реализацию различных диагностических услуг вы можете accethrough протокол. Вы можете запустить KWP2000 на несколько слоев транспорта как K-line (серийный) или CAN.

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

Как KWP2000 использует сообщения переменной байта длины, транспортный протокол необходим на слоях длиной только хорошо определены (короткая) сообщения, например CAN. Транспортный протокол разбивает длинное сообщение KWP2000 на куски, которые могут быть переданы по сети и перекомпилирует эти части, чтобы восстановить исходное сообщение.

KWP2000 работает на можно на различных транспортных протоколов, таких как ISO TP (ISO 15765-2), TP 1.6, TP 2. 0 (Volkswagen) и SAE J1939-21. Для KWP2000 автомобильный диагностический набор команд поддерживает только ISO ТП (стандартизированы ISO 15765-2) и производителя конкретного VW ТП 2.0 транспортные протоколы.

Диагностические услуги

Диагностические услуги, доступные в KWP2000 группируются в функциональных подразделениях и определены один байт-код (ServiceId). Стандарт не определяет все коды; для некоторых кодов стандарт относится к другим SAE или ISO стандарты, и некоторые зарезервированы для производителя конкретного расширения. Автомобильный диагностический набор команд поддерживает следующие услуги:

• Диагностические управление

• Передача данных

• Хранить передачи данных (диагностические коды неисправностей)

• Контроль ввода/вывода

• Удаленная активация рутинных

Выгрузка/загрузка и расширенные услуги не являются частью автомобильной диагностики набор команд.

Диагностические службы формат

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

Негативные реакции это обычно три байта сообщение: он имеет негативные реакции ServiceId как первый байт, эхо оригинального ServiceId как второй байт и ResponseCode как третий байт. Единственное исключение из этого формата является отрицательный ответ на службу EscapeCode; здесь третий байт является отголоском кода службы, определяемые пользователем, и четвертый байт является ResponseCode. KWP2000 стандарт частично определяет ResponseCodes, но есть номер слева для производителя конкретных расширений. Для некоторых из ResponseCodes KWP2000 определяет процедуру обработки ошибок. Потому что положительные и отрицательные ответы имеют эхо запрошенную службу, вы всегда можете назначить ответы на их соответствующий запрос.

Подключение/отключение

KWP2000 ожидает диагностические сессии началась с StartDiagnosticSession и с StopDiagnosticSession. Однако StartDiagnosticSession имеет DiagnosticMode параметр, который определяет тип диагностических сеанса. В зависимости от этого типа ECU может не поддерживать другие диагностические услуги или функционируют в ограниченном режиме, где доступны не все функции ЭКЮ. DiagnosticMode значения параметров являются производителем конкретные и не определен в стандарте. Для диагностики сессии остаются активными оно необходимо выполнить TesterPresent службы периодически, если другие службы не выполняется. Если для определенного периода времени отсутствует служба TesterPresent, диагностические сессия прекращается, и ЕШС возвращается в нормальный режим работы.

GetSeed/разблокировать

GetSeed/разблокировать механизм может защитить некоторые диагностические услуги. Однако соответствующих служб на усмотрение производителя и не определен в стандарте.Вы можете выполнить GetSeed/разблокировать механизм через службу SecurityAccess. Это определяет несколько уровней безопасности, однако производитель назначает эти уровни для определенных услуг.

Чтения/записи памяти

Используйте службы чтения/WriteMemoryByAddress для загрузки/выгрузки данных на определенные адреса памяти на ЭКЮ. Адрес является количество трех байт в KWP2000 и пяти байтовое количество (4 байтовый адрес и однобайтовых расширение) в протоколы калибровки. Загрузить/скачать функциональной единицы услуги являются весьма производителя конкретной и не четко определены в стандарте, поэтому они не являются хорошим способом для обеспечения механизма общей загрузки/выгрузки.

Измерения

ReadDataByLocal/CommonIdentifier службы используйте для доступа к данным ЭКЮ в аналогии с список DAQ. Местное/CommonIdentifier описывает список ЭКЮ количеств, которые затем передаются от ЭБУ тестером. Передача может быть одно значение или скорость периодический, с медленный, средний, или быстрой передачи. Скорость передачи являются производителем конкретными; можно использовать службу SetDataRates, чтобы установить их, но этот параметр является конкретным производителем. Автомобильный диагностический набор команд поддерживает точечные измерения.

Диагностические коды неисправностей

Главной особенностью диагностики является индикация диагностических кодов неисправностей (ДКН). KWP2000 определяет