이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
결함 모델링 및 시뮬레이션을 위한 모범 사례
일부 결함 모델링 방식은 예상치 못한 시뮬레이션 결과를 초래할 수 있습니다. 또한, 일부 결함 모델링 방식은 모델을 컴파일하거나 시뮬레이션할 때 오류를 유발할 수 있습니다. 다음 모범 사례를 따라 이러한 문제를 해결하십시오.
저장 결함 및 조건문
모델과 연관된 첫 번째 결함, 결함 모델 또는 조건을 생성할 때, Simulink® Fault Analyzer™은 해당 정보를 결함 정보 파일에 자동으로 저장합니다. 결함 속성을 업데이트하거나 추가 결함, 결함 동작 또는 조건문을 생성한 경우, 결함 정보를 저장하려면 모델을 저장해야 합니다. 그렇지 않으면 시뮬레이션 결과가 부정확해지거나, 컴파일 오류나 시뮬레이션 오류가 발생할 수 있습니다. 결함 정보 파일, 결함 모델 및 결함이 포함된 모델을 저장하려면, 결함 분석기 탭의 파일 섹션에서 모두 저장을 클릭하십시오. 결함이 포함된 모델을 저장하지 않고 결함 정보 파일과 결함 모델을 저장하려면, 모두 저장을 확장한 후 결함 아티팩트만 저장을 클릭하십시오.
이러한 아티팩트를 수정한 후 저장하지 않고 모델을 닫으려고 하면, Simulink는 모델을 닫기 전에 결함 모델과 결함 정보 파일을 저장할 수 있는 대화 상자를 표시합니다.
결함으로부터의 신호 기록하기
결함이 발생한 블록 출력의 신호를 기록할 경우, 로그에는 결함 데이터보다 신호 데이터가 먼저 기록됩니다. 아이콘 순서는 평가 순서를 나타냅니다. 예를 들어, 이 모델의 신호 로그에서는 결함 동작 없이 Sine Wave 블록의 출력을 가져옵니다.

결함 발생 후 신호 값을 기록하려면, 결함 동작 내 Fault Outport 블록으로 입력되는 신호 값을 기록하거나, 결함 발생 지점 하류에 위치한 다른 블록의 출력 포트 데이터를 기록하십시오.
비가상 버스에서 결함 시뮬레이션
버스에 결함을 추가할 수 있습니다. Add Fault Behaviors to Buses 항목을 참조하십시오. 그러나 가상 버스나 버스 요소에서는 결함을 시뮬레이션할 수 없습니다. 예를 들어, 이 모델은 가상 버스를 출력하는 Bus Creator 블록을 사용합니다.

가상 버스 중 하나에 결함을 추가하고 시뮬레이션을 실행하면 모델 컴파일 중에 오류가 발생합니다.
반면, 이 모델은 비가상 버스에서 결함이 발생합니다. 이 모델을 시뮬레이션할 수 있습니다.

가상 버스를 비가상 버스로 변환할 수 있습니다. 자세한 내용은 Convert Virtual Bus to Nonvirtual Bus 항목을 참조하십시오.
결함 모델링 시 비가상 신호를 가상 신호로 변경하지 마십시오. 비가상 버스에 결함을 추가하고 결함 신호를 가상으로 변경하면 모델 컴파일 시 오류가 발생합니다.
호환되지 않는 신호 데이터 유형 또는 호환되지 않는 데이터 유형의 별칭을 사용하면 시뮬레이션 오류가 발생합니다.
결함 동작의 데이터 유형을 데이터 소스와 일치시키기
Fault Inport 및 Fault Data Inport 블록이 반환하는 신호 소스의 데이터 유형은 결함 동작에서 블록이 사용하는 데이터 유형과 일치해야 합니다. 그렇지 않으면 컴파일 오류가 발생합니다. 취하는 조치는 내장된 결함 동작을 추가하는지 사용자 지정 결함 동작을 추가하는지에 따라 달라집니다:
내장된 동작 — 결함 동작을 추가하기 전에 모델을 업데이트하십시오. 결함 및 해당 동작을 추가할 때, Simulink Fault Analyzer는 결함 동작 내 블록에서 사용되는 데이터 유형을 데이터 소스와 일치시키려 시도합니다.
사용자 지정 동작 — 데이터 소스와 일치하도록 블록의 데이터 유형을 수동으로 설정해야 합니다. 데이터 유형 표시 방법에 대한 자세한 내용은 Port Data Types를 참조하십시오.
결함 주입의 한계
다음과 같은 제한 사항이 결함 모델링 시 적용됩니다:
빠른 재시작은 Simscape™ 블록에 결함이 있는 모델에만 사용할 수 있습니다.
액셀러레이터 모드 또는 고속 액셀러레이터 모드는 Simscape 블록에 결함이 있는 모델에서만 사용할 수 있습니다.
가상 블록은 입력 및 출력 포트에서만 결함 처리를 지원합니다.
Atomic Subsystem은 Inport 및 Outport 블록에 해당하는 포트에서만 결함을 지원합니다.
중복된 Inport 블록에 결함을 추가할 수 없습니다.
연속 신호에 결함을 추가하면, 해당 신호는 이산 샘플 시간을 가진 블록으로 입력되어야 합니다. 샘플 시간에 대한 자세한 내용은 샘플 시간이란?를 참조하십시오.
가변 크기 신호에 대한 결함 시뮬레이션을 수행할 수 없습니다.
상수 샘플링 시간을 갖는 신호에 대한 결함 시뮬레이션을 수행할 수 없습니다.
export-function 모델 또는 동시 실행 모델의 최상위 레벨 신호에 대한 결함 시뮬레이션을 수행할 수 없습니다. 그러나 참조 모델 또는 해당 모델 내의 아토믹 서브시스템에서 신호에 대한 결함을 시뮬레이션할 수 있습니다.
Fault Subsystem 블록에서 사용하는 블록들은 상속된 샘플 시간 또는 상수 샘플 시간을 가져야 합니다.
결함은 조건 평가 전에 할당된 조건부 트리거의 상태를 평가합니다. 결과적으로, 결함은 조건부 상태가 변경되는 시간 스텝 다음의 시간 스텝에서 트리거됩니다.