주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

결함 정의 및 모델링

결함은 물리적이거나 소프트웨어적인 시스템, 서브시스템, 컴포넌트, 부품에서 발생하는 이상을 나타냅니다. 엔지니어는 결함 모델링이라고 알려진 과정을 통해 결함을 모델링하여 결함이 설계에 미치는 영향을 이해하려고 시도합니다. 엔지니어는 결함을 모델링한 후 결함 주입을 수행하여 시스템에 결함의 동작을 반영합니다. 결함이 어디에 있는지, 그리고 결함으로 인해 어떤 동작이 나타나는지에 따라 결함은 제품에 미미한 영향을 미칠 수도 있고, 제품을 완전히 고장낼 수도 있습니다.

Simulink® Fault Analyzer™를 사용하여 Simulink 모델에 결함 주입을 수행할 수 있습니다. 모델에 결함을 추가한 후에는 동작을 조정하고, 동작이 주입되는 방식을 제어하고, 모델에 미치는 영향을 시뮬레이션할 수 있습니다.

예제 모델 열기

이 예제에서는 사인파를 받아서 1.25보다 크거나 같은지 확인합니다. Scope 블록에서 시뮬레이션 결과를 볼 수 있습니다. 해당 모델에는 결함이 포함되어 있지 않습니다. 모델을 열어 시작합니다.

모델에 결함 추가

Sine Wave 블록의 출력에 잡음을 더하는 결함을 모델에 추가합니다.

  1. 결함 분석기 앱을 엽니다. Simulink 모델의 탭에서 결함 분석기를 클릭합니다.

  2. Sine Wave 블록 출력 신호를 클릭합니다.

  3. 모델의 결함 분석기 탭의 결함 준비 섹션에서 결함 추가를 클릭합니다. 또는 신호를 클릭하고 줄임표를 가리켜 작업 모음을 열고 신호에 결함 추가 아이콘 을 클릭합니다. 결함 추가 창에는 결함에 할당할 수 있는 속성이 표시됩니다.

    This image shows the window that appears when you add a fault to a signal.

  4. 모델 요소 속성을 지정하여 모델 요소를 선택합니다. 모델 요소fault_analyzer_intro/Sine Wave/Outport/1로 설정하여 Sine Wave 블록의 출력 포트에 결함을 할당합니다. 신호에 연결된 블록 입력 또는 출력 포트를 선택할 수 있습니다. 입력 포트를 선택하면, 신호가 블록에 들어가기 직전에 결함에 의해 수정됩니다. 출력 포트를 선택하면, 결함은 Simulink 블록의 출력 신호에서 시작되어 그 신호가 다른 블록을 만날 때까지 다운스트림으로 전파됩니다.

  5. 결함 라이브러리 속성에서 mwfaultlib를 선택하여 내장된 사례의 동작에 액세스합니다. 이러한 결함 동작을 double형 스칼라 신호에 그대로 사용할 수 있습니다. 신호의 유형이 다른 경우, 대신 사용자 지정 동작을 만들어야 할 수도 있습니다. 미리 정의된 동작과 사용자 정의 동작에 대한 자세한 내용은 미리 정의된 결함 동작 및 사용자 정의 결함 동작 생성 항목을 참조하십시오.

  6. 결함 동작잡음 추가로 설정합니다.

  7. 확인을 클릭합니다. 결함 배지 가 신호 옆에 나타납니다.

    This image shows the Sine Wave block output port with the fault badge.

모델에 첫 번째 결함을 추가하면 Simulink Fault Analyzer가 모델의 결함 정보가 포함된 결함 정보 파일이라는 XML 파일을 생성합니다. 각 모델은 하나의 결함 정보 파일을 사용합니다. 기본적으로 Simulink Fault Analyzer는 결함 정보 파일을 현재 작업 디렉터리에 저장합니다. 모델에 첫 번째 결함을 추가할 때 결함 정보 파일에 다른 디렉터리를 지정할 수 있습니다. 결함 추가 창에서 결함 정보 디렉터리 속성에 디렉터리를 지정합니다. 추가적인 결함은 자동으로 동일한 결함 정보 파일을 사용하게 됩니다.

결함 및 영향을 받는 신호 강조 표시

결함을 강조 표시하여 영향을 받는 모델 요소와 신호를 시각화할 수 있습니다. 강조 표시를 켜거나 끄려면 보기 섹션에서 결함 강조 표시를 클릭합니다.

This image shows the fault_analyzer_intro model with highlighted faults.

결함 동작 조사

결함 동작을 모델링하기 위해 Simulink Fault Analyzer는 설계와 분리된 서브시스템의 블록을 사용합니다. 이 예제에서 SineWave_Outport1_fault에 대한 결함 동작을 여십시오.

  1. 결함 배지를 클릭합니다.

  2. 미리보기 창을 클릭합니다. 이 결함에 할당된 결함 동작은 White Noise 블록을 사용하여 신호에 잡음을 추가합니다.

    This shows the fault behavior used. When enabled, it injects noise into the model signal.

Simulink Fault Analyzer는 할당된 결함 동작을 결함 모델이라는 별도의 SLX 파일에 저장합니다. 결함에 결함 동작을 추가하면 결함 모델에 대한 해당 결함 동작이 Fault Subsystem 블록에 추가됩니다. 서브시스템의 부모 모델로 이동하거나 결함 모델을 직접 열어서 결함 모델을 볼 수 있습니다. 결함 모델이 저장되는 디렉터리는 결함 추가 창의 결함 모델 디렉터리 속성에 지정합니다. 기본적으로 결함 모델은 파일 이름을 사용하며 그 뒤에 _FaultModel이 붙습니다. 이 예제에서는 fault_analyzer_intro_FaultModel이라는 파일입니다.

결함 추가 및 삭제

블록 출력 신호에 여러 개의 결함을 추가할 수 있습니다. Sine Wave 블록의 출력 신호에 또 다른 결함을 추가합니다. 이 결함의 디폴트 이름은 SineWave_Outport1_fault_1입니다. 이 예제에서는 결함 이름을 편집하지 마십시오. 결함 동작 속성을 이득으로 설정합니다. 확인을 클릭합니다.

모델을 저장하거나 파일 섹션의 결함 분석기 탭에서 모두 저장을 클릭하여 새로운 결함을 저장합니다. 저장하지 않고 모델을 닫으려고 하면 Simulink는 닫기 전에 결함 모델과 결함 정보 파일을 저장하라는 창을 표시합니다.

결함을 삭제하려면:

  1. 결함이 추가된 결함 배지를 클릭합니다.

  2. 결함 동작 미리보기 창에서 결함 작동 아이콘 을 클릭합니다.

  3. 삭제를 클릭합니다.

  4. 모델을 저장합니다.

결함을 삭제하면 결함 모델에 있는 연결된 결함 동작도 삭제됩니다. 결함을 삭제할 때 그 결함 동작이 결함 모델에 있는 유일한 결함이면 결함 모델도 삭제됩니다.

연결된 모델 요소를 삭제하여 결함을 삭제할 수도 있습니다.

활성 결함의 활성화, 수정 및 선택

결함은 그 결함이 할당된 모델 요소를 활성화하기 전까지는 모델에 동작을 주입할 수 없습니다. 모델 요소를 활성화한 후에는 주입하려는 결함을 선택해야 합니다. 선택한 결함은 활성 결함이 됩니다. 활성화된 각 결함 요소에는 최소한 하나의 결함이 활성화되어 있습니다. 결과적으로, 활성화된 모델 요소에 결함이 하나만 있는 경우 그 결함이 활성화됩니다.

결함 속성에 액세스하여 모델 요소를 활성화하고 결함을 활성화할 수 있습니다. Sine Wave 블록의 결함 속성에 액세스하려면:

  1. 결함이 추가된 결함 배지를 클릭합니다.

  2. 결함 동작 미리보기 창에서 결함 작동 아이콘 을 클릭합니다.

  3. 속성을 클릭합니다.

결함의 속성을 조정하려면 표시할 결함 선택 속성에서 결함을 선택합니다. 자세한 내용은 결함 속성 지정 항목을 참조하십시오.

This image shows the Property Inspector as it appears for this example.

켜기를 선택하여 블록 출력 신호에서 결함을 활성화합니다. 신호에서 결함이 활성화되면 모델 요소에 대해 하나의 활성 결함을 선택할 수 있습니다. 속성 인스펙터에서 시뮬레이션할 활성 결함 속성의 활성 결함으로 SineWave_Outport1_fault를 선택합니다. 단일 모델 요소의 결함을 비활성화하려면 켜기 속성을 선택 해제합니다.

속성 인스펙터를 사용하여 결함 트리거 속성 조정

모델 요소에 대한 결함을 활성화하고 활성 결함을 선택해도, Simulink Fault Analyzer는 특정 조건이 발생할 때까지는 시뮬레이션 중에 모델에 동작을 주입하지 않습니다. 각 결함에 대해 트리거를 사용하여 이러한 조건을 지정하십시오. 트리거 조건이 충족되면 결함 동작이 모델에 주입됩니다. 결함이 발생하는 방식을 제어하려면 트리거 유형 속성을 사용하여 결함에 대한 트리거를 조정하십시오.

이 예제에서는 SineWave_Outport1_fault를 시뮬레이션 시간 5초 후에 트리거되도록 설정합니다. 이를 위해 트리거 유형시간 지정됨으로 변경하고 결함 트리거 시점 속성에 5를 입력합니다.

결함 테이블에서 결함 보기 및 선택

결함 테이블 창을 사용하여 모델의 결함을 보고 선택할 수 있습니다. 기본적으로 탭에서 결함 분석기를 선택하면 결함 테이블 창이 Simulink 편집기 하단에 열립니다. 결함 테이블 창을 닫은 경우 결함 분석기 탭에서 결함 테이블을 클릭하면 다시 열 수 있습니다.

This image shows the Fault Table pane resulting from the previous example after the fault has been added.

창에는 결함이 포함된 모델 요소, 각 모델 요소와 연결된 결함, 결함의 활성화 상태, 모델 요소가 활성화되었는지 여부가 표시됩니다. 창을 사용하여 결함을 보고 관리할 수 있습니다.

  • 모든 모델 요소를 확장하려면 확장/축소 버튼 을 클릭합니다.

  • 결함 정보 파일을 저장하려면 결함 정보 저장 버튼 을 클릭합니다 (R2024a 이후).

  • 검색 기준에 맞는 결함을 검색합니다. 검색은 대소문자를 구분하지 않습니다.

  • 속성 인스펙터의 결함 속성을 보려면 결함을 선택하고 속성 인스펙터 버튼 을 클릭합니다.

  • 결함을 클릭하면 모델의 결함이 강조 표시됩니다. 한 번에 하나의 결함을 강조 표시할 수 있습니다. 강조 표시를 지우려면 강조 표시된 결함 이름을 마우스 오른쪽 버튼으로 클릭하고 결함 강조 표시 모두 제거를 클릭합니다.

모델 시뮬레이션하기

결함 시뮬레이션을 허용하려면 해당 기능을 켜야 합니다. 결함 분석기 탭의 상태 섹션에서 결함 시뮬레이션 버튼을 클릭하십시오. 버튼이 녹색이고 상태가 켜짐이면 결함 시뮬레이션은 켜져 있습니다.

The left side of the Fault Analyzer app toolstrip. The Fault Simulation button is depressed, and the button icon is green.

결함 테이블 창에서 결함 시뮬레이션 켜기/끄기 버튼 을 눌러 결함 시뮬레이션을 활성화할 수도 있습니다.

결함 모델링을 켜고 실행을 클릭합니다. Scope 블록을 열어 결함의 영향을 확인하십시오. 시간이 5일 때 Sine Wave 블록 출력에 잡음이 발생합니다.

This image shows the effect of the fault on the model. The Sine Wave has noise despite the source block not producing noise on its own

결함 시뮬레이션을 비활성화하면 Sine Wave 블록 출력이 정상으로 돌아갑니다.

결함 대시보드 탭을 열어서 결함이 주입되었는지 확인할 수 있습니다 (R2024a 이후). 결함 분석기 탭의 보기 섹션에서 결함 대시보드를 클릭합니다. 시뮬레이션 결과 탭은 시뮬레이션 중에 활성 결함인 SineWave_Outport1_fault가 트리거되었음을 보여줍니다.

The Fault Dashboard pane. It shows 1/1 faults simulated, and the specified fault, SineWave_Outport1_fault. In the Triggered Faults drop down.

시뮬레이션 중에 결함이 주입되지 않으면 트리거된 결함 섹션에 결함이 표시되지 않습니다.

결함 및 동작을 삭제하고 다시 시작

생성한 결함과 동작을 삭제할 때 각각의 결함이나 모델 요소를 수동으로 삭제하지 않고 싶다면 다음과 같이 대화형으로 결함을 삭제할 수 있습니다.

  1. 결함이 있는 모델을 닫습니다.

  2. 다음 방법 중 하나를 사용하여 메모리에서 연관된 결함 모델을 지웁니다.

    1. 결함 모델이 열려 있으면 결함 모델을 닫습니다.

    2. 결함 모델이 메모리에만 로드된 경우 close_system 함수를 사용하여 메모리에서 모델을 지웁니다.

  3. 결함 정보 파일과 결함 모델을 삭제합니다.

이러한 파일을 삭제하면 결함 정보 파일이나 결함 모델을 사용하는 모델에 연결된 결함 아티팩트가 영구적으로 삭제됩니다.

Simulink.fault.deleteFault 또는 Simulink.fault.deleteAll 함수를 사용하여 결함과 해당 동작을 프로그래밍 방식으로 삭제할 수도 있습니다.

참고 항목

도움말 항목