이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
미리 정의된 결함 동작 및 사용자 정의 결함 동작 생성
결함 동작은 모델 내의 결함에 할당하는 동작입니다. Fault Subsystem 블록 내에서 동작을 모델링하여 미리 정의된 결함 동작이나 사용자 정의 결함 동작을 사용할 수 있습니다. 사용자 정의 결함 동작을 재사용하기 위해 라이브러리를 만들어 새 동작을 저장할 수 있습니다.
미리 정의된 결함 동작 추가
결함을 생성할 때 또는 기존 결함에 결함을 추가할 때 결함 동작을 할당할 수 있습니다. Simulink® Fault Analyzer™에는 선택할 수 있는 예제 결함 동작의 내장된 목록이 제공되며 라이브러리 파일 mwfaultlib.slx
에 미리 정의된 동작이 저장됩니다. 이러한 결함 동작을 double형 스칼라 신호에 그대로 사용할 수 있습니다.
디폴트 결함 동작 라이브러리 검사
미리 정의된 결함 동작이 저장된 라이브러리를 열려면 \matlab\toolbox\safety\block_libraries
로 이동하여 디폴트 결함 동작 라이브러리인 mwfaultlib.slx
를 엽니다.
이 라이브러리는 수정할 수 없습니다.
내장된 동작을 결함에 추가
결함을 생성하고 결함 동작을 할당하려면:
신호를 선택합니다.
앱 탭에서 결함 분석기를 선택합니다.
결함 분석기 탭의 결함 준비 섹션에서 결함 추가를 클릭합니다. 결함 생성 창이 열립니다.
결함 동작 추가를 선택합니다.
결함 라이브러리 속성을
mwfaultlib
로 설정합니다.결함 동작 속성에서 결함 동작을 선택하고 확인을 클릭합니다.
할당된 동작이 없는 기존 결함에 동작을 추가하려면:
결함이 추가된 결함 배지를 클릭합니다.
미리보기 창에서 결함 동작 추가 아이콘 을 클릭합니다. 결함 동작 추가 창이 열립니다.
결함 동작 추가 창에서 결함 라이브러리 속성을
mwfaultlib
로 설정하고 결함 동작 속성에서 결함 동작을 선택합니다. 확인을 클릭합니다.
결함 테이블 창에서 결함 동작을 생성할 수도 있습니다.
결함 테이블 창을 엽니다. 결함 분석기 탭의 보기 섹션에서 결함 테이블을 클릭합니다.
결함을 선택하고 속성 인스펙터 버튼 을 클릭합니다.
속성 인스펙터에서 결함 동작 추가를 클릭합니다.
이미 결함 동작이 있는 결함에 결함 동작을 추가할 수 없습니다.
할당된 결함 동작 열기
결함에 결함 동작을 추가하면 Fault Subsystem 블록에 할당된 결함 동작이 포함됩니다. 이러한 블록은 fault model이라는 모델에 저장됩니다. 할당된 결함 동작을 보려면 다음 방법 중 하나를 사용하여 결함 모델을 엽니다.
결함 배지 를 클릭한 다음 결함 동작 미리보기 창을 클릭합니다. 결함 모델을 불러오지 않은 경우 미리보기 창에는 각 결함 동작에 대한 열기 결함 동작 아이콘 이 표시됩니다.
결함 테이블 창을 엽니다. 이름 열의 모델 요소를 확장하여 결함을 확인합니다. 결함을 마우스 오른쪽 버튼으로 클릭하고 결함 동작 열기를 선택합니다.
예를 들어, 모델에 결함을 추가하고 mwfaultlib
내장 라이브러리를 사용하고 결함 동작 선택을 잡음 추가
로 설정합니다. 이러한 결함 동작은 신호에 잡음을 추가합니다. Fault Subsystem 블록을 열어 결함 동작을 모델링하는 블록을 검사합니다. Fault Subsystem 블록에는 각각 신호가 서브시스템에 들어오고 나가는 위치를 나타내는 Fault Inport 블록 및 Fault Outport 블록이 하나씩 포함되어 있습니다.
동작을 만든 후에는 서브시스템의 블록을 수정할 수 있습니다. 결함 동작을 사용자 지정 결함 동작
으로 설정하면 Fault Subsystem 블록에는 Fault Inport 블록과 Fault Outport 블록만 포함됩니다.
사용자 정의 동작을 모델링하려면 블록과 신호를 추가해야 합니다.
참고
동작에 있는 블록은 동작 데이터 소스의 데이터 유형을 사용해야 합니다. Match Data Types of Fault Behaviors to Data Source 항목을 참조하십시오.
블록 입력 또는 출력 포트의 결함과 연관된 Fault Subsystem 블록에는 Fault Input 블록과 Fault Outport 블록이 각각 하나만 있어야 합니다. 동작에 Fault Data Inport 블록을 추가하여 추가적인 결함 동작 데이터 소스를 지정할 수 있습니다 (R2024b 이후). 이 블록을 동작에 추가하려면 다음 방법 중 하나를 따르십시오.
라이브러리 브라우저 또는
add_block
함수를 사용하여 결함 동작에 블록을 수동으로 추가합니다.결함에 새로운 동작을 추가할 때 블록을 추가합니다. 결함 생성 창 또는 결함 동작 추가 창에 있는 결함 동작 속성에서
사용자 지정 결함 동작
을 선택하고 동작에 Fault Data Inport 블록 추가를 선택합니다. 기본적으로 이 속성은 선택 해제되어 있습니다. 결함 동작을 모델링하는 Fault Subsystem 블록에는 Fault Data Inport, Fault Inport, Fault Outport 블록이 포함되어 있습니다.
그런 다음 지정된 모델 신호를 결함 동작에 매핑할 수 있습니다. 자세한 내용은 Access Data from Model Outputs in Fault Behaviors 항목을 참조하십시오.
지정된 결함에 대한 결함 동작 추적
할당된 결함에 대한 결함 동작을 추적할 수 있습니다. 결함 동작을 추적하면 모델은 관련 모델 요소와 영향을 받는 신호를 강조 표시합니다.
결함 동작을 추적하려면 다음 방법 중 하나를 사용합니다.
결함 모델에서 Fault Subsystem 블록을 클릭합니다. Fault Subsystem 탭의 결함 섹션에서 결함 소스 추적을 클릭합니다.
Fault Subsystem 블록을 엽니다. Fault Inport 블록 또는 Fault Outport 블록을 선택합니다. 결함 포트 탭의 결함 섹션에서 결함 소스 추적을 클릭합니다.
결함 모델에서 Fault Subsystem 블록의 블록 마스크에서 Fault 속성 버튼
을 더블 클릭합니다. 속성 인스펙터에서 결함 소스 추적을 클릭합니다.
여러 모델이 동일한 결함 모델을 사용할 수 있습니다. 다른 모델에서 결함 동작을 추적하려면 결함이 포함된 각 모델을 불러옵니다.
라이브러리를 사용하여 결함 동작 사용자 정의
결함 동작 속성은 선택한 라이브러리의 결함 동작을 나열합니다. 이 목록은 결함 라이브러리 속성에서 선택한 라이브러리에 따라 달라집니다. 결함 동작 선택 속성에 새 목록을 만들려면 새 라이브러리를 만들어야 합니다.
참고
디폴트 라이브러리에서 결함에 동작을 할당하면 Simulink Fault Analyzer는 결함 모델의 서브시스템 사본을 생성하며, 사용자가 이 사본을 수정할 수 있습니다. 사용자 정의 라이브러리에서 동작을 할당하면 Simulink Fault Analyzer는 결함 모델에서 서브시스템의 연결된 사본을 생성하며, 이는 사용자 정의 라이브러리에서만 수정할 수 있습니다.
함수를 사용하여 사용자 정의 결함 동작 등록
결함 동작 속성에 사용자 정의 결함 동작을 추가하려면 사용자 정의 라이브러리를 만들고 결함 동작을 등록합니다.
빈 Simulink 모델이나 라이브러리를 만들고 경로에 저장합니다.
라이브러리나 모델에서 Simulink Fault Analyzer 라이브러리에서 Fault Subsystem 블록을 추가합니다. Fault Subsystem 블록만 포함합니다. 일단 Fault Subsystem 블록을 추가하면 Simulink Fault Analyzer를 열 수 없습니다.
Fault Subsystem 블록을 엽니다. 원하는 결함 동작을 모델링하는 블록을 추가합니다. 블록을 Fault Inport 블록과 Fault Outport 블록에 연결합니다.
라이브러리를 저장합니다.
Simulink.fault.libraries
함수를 사용하여 라이브러리를 등록합니다. 예를 들어,myLibrary
라는 작업 폴더에 라이브러리를 등록하려면 명령 창에 다음 명령을 입력합니다.Simulink.fault.libraries("myLibrary");
사용자 정의 라이브러리의 각 Fault Subsystem 블록에 지정한 이름은 결함 동작 속성에 나타나는 이름입니다. 호환되는 블록 이름을 정의하려면 서브시스템 이름에서 허용되는 문자를 사용해야 합니다. jc_0231: Usable characters for block names (jc_0231: 블록 이름에 사용 가능한 문자) 및 jc_0243: Length restriction for subsystem names (jc_0243: 서브시스템 이름의 길이 제한) 항목을 확인하십시오.
사용자 정의 라이브러리를 만든 후에는 라이브러리 파일처럼 내보낼 수 있습니다. 다른 사용자의 경로에 있는 디렉터리에 라이브러리를 복사할 수 있습니다.
사용자 정의 라이브러리의 등록을 취소하려면 Simulink.fault.unregisterLibrary
함수를 사용합니다.
Simulink.fault.unregisterLibrary("myLibrary");
sl_customization
함수를 사용하여 라이브러리 등록
sl_customization
함수를 사용하여 사용자 정의 라이브러리를 등록할 수도 있습니다. sl_customization
함수는 MATLAB®을 불러올 때 실행되거나 명령 창에 sl_refresh_customizations
를 입력하면 실행됩니다. 자세한 내용은 Register Customizations with Simulink 항목을 참조하십시오. sl_customization
에 사용자 정의 라이브러리를 등록하려면 라이브러리를 저장하고 같은 경로에 sl_customization.m
파일을 만듭니다. 예를 들어, customFaultLib
라는 라이브러리를 등록하려면 다음 코드를 포함하는 sl_customization.m
이라는 함수를 만듭니다.
function sl_customization(cm) cObj = cm.SimulinkFaultCustomizer; cObj.clearCustomFaultLibraries; cObj.addCustomFaultLibrary("customFaultLib");
이 예제에서 코드는 clearCustomFaultLibraries
함수를 사용하여 사용자 정의 라이브러리의 등록을 해제한 다음, addCustomFaultLibrary
함수를 사용하여 customFaultLib
라이브러리를 등록합니다. addCustomFaultLibrary
의 입력 인수는 라이브러리 이름이 포함된 string형 스칼라 또는 문자형 벡터여야 합니다.
라이브러리와 sl_customization.m
을 다른 사용자의 경로에 있는 디렉터리에 복사할 수 있습니다. 특정 라이브러리의 등록을 취소하려면 removeCustomFaultLibrary
함수를 사용합니다. 예를 들어, customFaultLib
의 등록을 취소하려면 sl_customization
함수에 다음 코드를 입력합니다.
function sl_customization(cm) cObj = cm.SimulinkFaultCustomizer; cObj.removeCustomFaultLibrary("customFaultLib");
참고 항목
Fault Inport | Fault Outport | Fault Subsystem