Данные временной области для хранения кодов неисправностей в Autosar Diagnostic

Автосар Диагностика реализована по стандартам UDS ( ISO 14229). Таким образом, после регистрации кода неисправности данные снимка сохраняются в соответствии с UDS. Данные моментальных снимков реализованы с помощью концепции данных стоп-кадра в модуле Autosar Dem.

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

Я хочу реализовать эти данные временной области в Autosar Diagnostic. Могу ли я это сделать? Если да, то как? Благодарю.

2 ответа

У нас был клиент, который хотел иметь почти одинаковые, 15 FreezeFrames, 12 до сбоя, один при сбое и два после этого с похожим стилем. Мы использовали кольцевой буфер, обновляемый циклически. Мы использовали вызов из Dem (либо DemCallbackEventStatusChanged() или DemCallbackDTCStatusChanged()), чтобы остановить кольцевой буфер и рассчитывать еще на два. После того, как они зарегистрированы, мы сохранили их в дополнительном блоке NvM. У вас может быть несколько таких блоков NvM, и вы связываете это число с DemEvent (данные FF?). Например, блок NvM может быть NVM_DATASET, поэтому вы можете использовать индекс. При считывании кодов DTC ищите назначение и считывайте индекс NvM DataSet.

В противном случае, вы могли бы найти способ с StorageConditions, отключить их сначала при первом сообщении и включить после завершения freezeframes?

Я не знаю, хотя функции Dem, чтобы поддержать это напрямую.

Я не очень понимаю, где твоя проблема. Как вы упомянули, данные снимка хранятся вместе с DTC. Содержимое данных снимка вы можете определить, ссылаясь на DID. Таким образом, вам нужно определить новый (внутренний) DID (в Dcm), где вы предоставляете данные своего домена времени и добавить этот DID в Dem к данным моментального снимка (стоп-кадр).

Другие вопросы по тегам