Обычно вы вызываете службу 0x19 (диагностика), затем вызываете подфункцию, а затем вы предоставляете битовую маску, которая содержит информацию о том, что вы ищете.
Итак, все, что вам нужно, определено в стандарте ISO 14229 «Транспорт дорожный».
Большинство услуг, связанных с кодами DTC и OBD, одинаковы для всех OEM-производителей. Каждый OEM-производитель обычно имеет Дополнение к Спецификации диагностики, в котором описываются специальные диагностические услуги для OEM и т. Д.
В CAPL обычно есть простой способ считывания кодов неисправности. Вам не нужно делать это вручную, как это предусмотрено CDD-файлом. Вы можете увидеть это в Обозревателе объектов CAPL Brower с правой стороны.
Так что для вашего случая для яйца. получить количество кодов DTC, соответствующих вашей маске:
Отчет о подфункции DTCByStatusMask 0x02
0x1902
Маска, которая является вашим поисковым фильтром, будет построена следующим образом:
бит # шестнадцатеричное описание состояния
0 0x01 testFailed DTC не выполнен во время запроса
1 0x02 testFailedThisOperationCycle DTC не удалось выполнить в текущем цикле работы
2 0x04 pendingDTC Сбой DTC в текущем или предыдущем рабочем цикле
3 0x08 подтверждается DTC DTC подтверждается на момент запроса
4 0x10 testNotCompletedSinceLastClear DTC тест не завершен, так как
последний код ясно
5 0x20 testFailedSinceLastClear DTC-тест не пройден хотя бы один раз с момента последней очистки кода
6 0x40 testNotCompletedThisOperationCycle Тест DTC не завершен в этом цикле операций
7 0x80 warningIndicatorRequested Сервер запрашивает предупреждениеIndicator для активации
Так что, если вы просто хотите прочитать DTC, которые подтверждены (сохранены), чем вы отправляете:
0x190208
Если вы получите положительный ответ, коды неисправности будут получены в шестнадцатеричном формате. Вам понадобится конвертер HEX-> SAE, который преобразует извлеченные коды DTC в обычный известный формат. В любом случае вы можете проверить это через диагностическую консоль.