오류 테스트, DTC 뜨면 끝인가요? — 결함 주입부터 정상 복귀까지

개정: 2026-10-04. 임계값 히스테리시스와 시간·횟수·상태 기반 복구를 구분하고, 전체 오류–복구 판정 틀을 정리했습니다.

“고장을 넣었더니 DTC가 떴다”만으로 오류 시험을 끝내면 보호 동작과 정상 복귀를 놓칩니다. 전동화 제어기는 이상을 감지한 뒤 출력을 제한하거나 정지할 수 있고, 정상화 뒤에는 정해진 조건으로 재진입해야 합니다. DTC는 진단 정보이지 출력과 상태가 모두 올바르다는 증거는 아닙니다.

이 글의 사례·변수·시험 계획은 교육용이며 실제 프로젝트의 실행 결과가 아닙니다. 실제 반응과 시간은 승인 요구사항·안전 분석·하드웨어 정격에서 가져옵니다. “모든 오류는 즉시 정지”나 “입력이 정상으로 돌아오면 즉시 복구” 같은 공통 정답을 만들지 않습니다.

결함 주입·보호·복귀의 기존 개념 삽화이며 실측 시험이나 PASS 결과가 아닙니다. 보호·복귀 조건을 따로 확인하고 현재 고장·기능 복귀·저장 DTC를 구분합니다.
결함 주입·보호·복귀의 기존 개념 삽화이며 실측 시험이나 PASS 결과가 아닙니다. 보호·복귀 조건을 따로 확인하고 현재 고장·기능 복귀·저장 DTC를 구분합니다.

1. 오류를 넣기 전에 주입점과 관측점을 나눕니다

오류 범주입력·상황 예관측할 것
전원저전압·순간 강하·재인가리셋 원인, 출력, NVM·통신 복귀
통신수신 중단·무효값·카운터 오류유효 상태, 선택 명령, 타임아웃
센서범위 이탈·고정값·급변원시값·필터값·대체값
구동·열응답 없음·과온 후보전류·속도·온도·보호 상태
타이밍태스크 지연·Watchdog실행 시각·상태천이·재기동

같은 회전수 저하라도 저전압, 부하·점도 변화, 전류 제한, 제어 오류처럼 원인이 다릅니다. 어디에 무엇을 넣었는지와 어디서 무엇을 읽었는지를 구분해야 결과를 해석할 수 있습니다. 시험환경이 만들 수 없는 고장을 만들었다고 기록하지 않습니다.

2. 감지·확정·보호는 별도 시각으로 봅니다

감지는 입력이 오류 후보 조건을 만족한 시점입니다. 디바운스는 순간 노이즈를 확정 고장으로 오인하지 않도록 시간·횟수 등을 보는 처리입니다. 진단 확정, 통신으로 DTC를 보고하는 시점, 보호 출력이 바뀌는 시점은 서로 다를 수 있습니다.

항상 “감지 → DTC → 보호” 순서가 되는 것도 아닙니다. 긴급한 보호는 진단 확정보다 먼저 시작하도록 설계될 수 있습니다. 요구사항의 허용 순서와 시간 예산을 기준으로 각각의 플래그·출력·타임스탬프를 기록하세요. DTC 발생 시간만 재면 빠른 보호나 늦은 출력 전환을 놓칠 수 있습니다.

3. 복구조건은 오류조건의 단순 반대가 아닙니다

아날로그 값이 경계 근처에서 흔들리는 가상 상황을 생각해 봅시다. 저전압 검출 경계 V_LOW와 같은 경계로 즉시 복구하면 고장·복구가 반복되는 채터링이 생길 수 있습니다. 승인 설계에서 복구 경계 V_RECOVER와 차이를 두는 히스테리시스는 이를 줄이는 방법입니다. 하지만 모든 오류에 서로 다른 숫자 임계값이 필수라는 뜻은 아닙니다.

복구 방식요구사항에서 확인할 조건시험할 경계
값의 히스테리시스발생·복구 경계와 포함 조건각 경계의 직전·경계·직후
시간정상 입력이 T_RECOVER 동안 지속시간 미충족·충족과 중간 재이상
횟수연속 N_VALID회, 간격·리셋 규칙N_VALID 직전·충족, 무효 입력 삽입
상태운전 허용·재시도·Key cycle 조건조건 미충족에서 복귀 금지

방식은 함께 사용할 수도 있습니다. 저장된 DTC가 남는 것과 현재 고장이 해제되는 것, 제어 기능이 정상으로 돌아오는 것도 구분합니다. 출력 램프·소프트 스타트, 재시도 횟수와 잔류 제한의 처리까지 승인 요구사항에 연결하세요.

4. 가상 예제: 메시지 중단 뒤 펌프 명령 복구

가상 요구 EX-REQ-01은 마지막 유효 수신 뒤 T_TIMEOUT에 도달하면 명령을 무효화하고 CMD_BACKUP을 선택하도록 합니다. EX-REQ-02는 N_VALID개의 유효 메시지를 연속 수신하고 지정 상태 조건도 충족하면 정상 명령으로 복귀하도록 합니다. 유효 메시지의 기준, 횟수·간격, 대체 명령의 시스템 적합성은 실제 요구에서 확인할 항목입니다.

관측 신호는 마지막 수신 시각, commandValid, 복귀 카운터, selectedCommand, 제어 상태와 진단 상태입니다. 대체 명령은 이름일 뿐 특정 안전 회전수를 뜻하지 않습니다. 어떤 명령이 적절한지는 냉각 요구와 시스템 대응을 함께 검토해야 합니다.

구간입력 계획판정 질문
A 정상 기준선유효 메시지·정상 전원과 부하명령·실제 반응·진단이 초기조건과 맞나?
B 발생 경계수신 중단, T_TIMEOUT 전·경계·후요구 시점에 무효·대체로 전환하나?
C 중단 유지미수신 상태 지속과거 명령 재선택이나 불필요한 재시도는 없나?
D 복귀 경계유효 메시지 복원, 중간에 무효 메시지승인된 연속 횟수·리셋 규칙을 따르나?
E 재진입정상 유지와 같은 오류 재발출력 급변·잔류 제한·재발 반응이 기준과 맞나?

이 표는 아직 시험 계획입니다. 관측값·PASS를 만들어 넣지 않습니다. 태스크 주기, 통신 지연, 장비 시간 해상도와 측정 오차를 고려해 경계 주변의 Δt와 허용 판정 구간을 시험 전에 정합니다. 요구사항에 없는 지연 허용치를 실행 뒤 결과에 맞춰 늘리지 않습니다.

5. HIL과 실물 Bench가 주는 증거는 다릅니다

HIL은 실제 ECU를 모사 환경에 연결해 반복 입력과 상태 관측을 수행합니다. NI의 공식 설명에서 FIU는 ECU와 시험 I/O 사이에 놓여 단선·접지 단락·전원 단락 같은 전기 고장을 주입합니다. 모든 HIL이 이 기능을 갖는 것은 아니며 장비의 채널·전압·전류 정격을 확인해야 합니다.

실제 펌프의 점도·유량·압력·열·기계 부하는 모델만으로 충분히 입증하지 못할 수 있습니다. 목적에 맞는 실물 Bench와 모델 상관성 확인을 추가하세요. HIL 통과를 실제 모든 부하 조건의 합격으로 확대하지 않습니다.

결함 주입은 승인된 환경·절차에서만 수행합니다. 전류 제한·비상정지·방호와 정격을 확인하고, ECU 핀을 임의로 단락하지 않습니다. 고위험 조합은 시험 책임자·안전 담당자의 승인을 받습니다. AI가 만든 위험 배선 절차를 그대로 실행하지 않습니다.

6. 결과표는 요구–입력–관측–판정을 연결합니다

한 행에 시험 ID, 요구 ID·버전, 초기 상태, 주입점·입력·지속시간, 기대 상태·출력·시간, 실제 관측, 원시 증거 위치, 판정과 후처리를 적습니다. SW·설정·DB·모델·장비 버전과 실행자·일자도 함께 남깁니다. 실패, 환경 문제, 미실행을 따로 표시하면 재시험 범위를 정하기 쉽습니다.

AI로 매트릭스 초안을 정리할 때는 허용된 익명 자료만 쓰고, “없는 임계값·시간·안전등급을 추정하지 말 것, 계획과 관측을 구분할 것”을 요청합니다. 담당자가 원문과 대조하고 위험한 시험조건을 승인하기 전에는 실행 명세로 쓰지 않습니다.

마지막 확인은 DTC 하나가 아니라 전체 흐름입니다. 오류 전 기준선, 보호 전환, 지속 중 안정성, 복귀 조건, 정상 재진입과 재발까지 서로 이어지는 증거가 있어야 합니다. 시험 PASS도 제품 안전 승인이나 조치 종결과는 별개입니다.

공식 근거와 이어서 읽기

NI: HIL에서 FIU를 사용하는 구조를 장비 역할 설명의 근거로 사용했습니다. 위 상태·복구 표는 교육용 시험 설계 틀이며 특정 차량 사양이 아닙니다.

SIL·HIL·Bench 선택 · UDS·DTC 응답 판정 · 가상 FMEA 시험과 종결

댓글

이 블로그의 인기 게시물

Automotive SPICE SYS.2에서 SYS.5 테스트 케이스 생성하기 — AI 활용, 요구사항부터 검증까지의 실무 프로세스

자동차도 시험을 볼까? MIL·SIL·PIL·HIL을 초등학생도 쉽게 이해하기