DCM 설정과 SWC 구현까지 완료했다면, 이제 ECU는 진단 요청을 처리할 준비가 된 상태다.
하지만 이 시점에서 가장 많이 발생하는 문제는 단순하다.
요청은 보냈는데, 응답이 나오지 않는다.
설정도 맞고, 코드도 작성했는데 CANoe에서는 아무 반응이 없는 상황이다.
이 경우 설정을 다시 보는 것보다 먼저 해야 할 일은 하나다.
"요청이 ECU 내부 어디까지 들어갔는지를 확인하는 것"
이 글에서는 CANoe를 사용하여 0x22 F190 요청을 보내고 VIN 응답을 확인하는 과정부터,
응답이 나오지 않을 때 어떤 순서로 문제를 좁혀가야 하는지를 실제 흐름 기준으로 설명한다.
1. CANoe에서 진단 요청 준비
CANoe에서 진단 테스트를 하기 위해서는 먼저 ECU와 통신이 가능한 상태여야 한다.
CANoe의 Diagnostic Console을 통해 요청을 전송할 수 있다.
CANoe에서 진단 테스트를 수행하기 위해서는 Diagnostic Setup에서 해당 ECU의 DCM 설정이 로드되어 있어야 한다.
특히 F190 DID가 Basic Diagnostics에 정의되어 있지 않으면 요청은 전송되더라도 응답을 해석하지 못할 수 있다.
안되어 있을 경우, 아래 이미지를 참고해서 적용하도록 하자.

2. 0x22 F190 요청 전송
F190은 VIN을 읽는 DID이므로, ReadDataByIdentifier 서비스(0x22)를 사용한다.
요청 메시지는 다음과 같다.

이 요청은 “F190에 해당하는 데이터를 읽어라”는 의미다.
3. 정상 응답 형태
정상적으로 동작할 경우 ECU는 다음과 같이 응답한다.

여기서
62 → Positive Response (0x22 + 0x40)
F1 90 → 요청한 DID
이후 17바이트 → VIN 데이터
이 값이 정상적으로 들어온다면, DCM → RTE → SWC → 응답 흐름이 모두 정상적으로 연결된 상태다
Diagnostic Console 창에서도 아래와 같이 확인할 수 있다.

4. 응답이 나오지 않을 때 확인 순서
응답이 없는 경우 대부분 DCM 문제가 아니라 흐름이 중간에서 끊어진 경우이다.
확인 순서는 다음과 같다.
1. CAN Trace에서 요청(0x22 F1 90)이 실제로 들어왔는지 확인
→ 안 들어오면 CAN 설정 문제
2. DCM까지 요청이 전달되는지 확인
→ DSL 단계 차단 여부 확인
3. ConditionCheckRead 호출 여부
→ 호출 안 되면 RTE 연결 문제
4. ReadData 호출 여부
→ 호출 안 되면 조건 실패 또는 DID 설정 문제
5. SWC에서 Data 값이 채워지는지 확인
→ 값 이상하면 SWC 로직 문제
6. 최종 응답(0x62 F1 90)이 생성되는지 확인
→ DCM 설정 문제
정리
F190 테스트는 단순히 요청을 보내고 응답을 확인하는 과정이 아니다.
설정이 맞는지, 연결이 제대로 되었는지, 실제 데이터가 생성되는지 등
이 모든 흐름이 정상적으로 동작하는지를 검증하는 단계다.
이 과정을 한 번 제대로 이해하면, 다른 DID 역시 동일한 방식으로 문제를 해결할 수 있다.
CANoe 테스트는 단순한 결과 확인이 아니라,
DCM → RTE → SWC로 이어지는 전체 진단 흐름이 정상적으로 동작하는지를 검증하는 과정이다.
'mobilgene > DCM' 카테고리의 다른 글
| [DCM] Security Access 설정 방법 (DcmDspSecurityRow 실무 설정) (0) | 2026.05.28 |
|---|---|
| [DCM] F190 VIN 응답 구현 (SWC Port/Runnable 생성부터 RTE 연결, 코드 구현까지) (0) | 2026.05.06 |
| [DCM] DID 0xF190 설정부터 응답까지 (mobilgene 실무 전체 과정) (0) | 2026.05.06 |
| [DCM] DcmDsp > Did / Did Info / Data / Data Info 설정 방법 (실무) (5) | 2026.04.19 |
| [DCM] DCM 전체 구조 이해하기 (DSL, DSD, DSP 설명 포함) (0) | 2026.04.19 |