주요 콘텐츠

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

결함 허용 연료 시스템의 결함 조합 평가

이 예에서는 결함 허용 제어 시스템에서 결함을 시뮬레이션하여 결함 조합의 영향을 확인하고 고장 모드 및 영향 분석(FMEA)을 검증하는 방법을 보여줍니다. 결함 생성에 대한 자세한 내용은 결함 정의 및 모델링를 참조하십시오. 다중 시뮬레이션 패널을 사용하여 결함 조합을 시뮬레이션하여 모델 동작에 미치는 영향을 확인할 수 있습니다. 결함을 구성한 후에는 결함을 안전성 분석 스프레드시트에 연결하고, 스프레드시트에서 시뮬레이션을 실행하고, 시뮬레이션 결과를 사용하여 스프레드시트를 분석할 수 있습니다.

모델 열기

sldemo_fuelsys_fault_analyzer 모델을 열고 fuelSysFaultSetup 헬퍼 함수를 사용하여 결함, 조건, 링크를 설정합니다. 헬퍼 함수는 기존 Simulink® Fault Analyzer™ 모델 아티팩트를 삭제하고 이를 예제에서 사용된 결함으로 대체합니다.

mdlName = "sldemo_fuelsys_fault_analyzer";
open_system(mdlName)
fuelSysFaultSetup

이 모델은 가솔린 엔진의 연료 제어 시스템을 나타내며, Model Fault-Tolerant Fuel Control System의 모델을 수정한 버전입니다. 이 모델은 컨트롤러에서 결함을 검출한 후 연료 모드 신호를 생성합니다. 컨트롤러가 단일 결함을 감지하면 컨트롤러는 연료 모드 신호 fuel_mode를 낮은 배출을 나타내는 LOW로, 그리고 진한 혼합물을 나타내는 RICH로 변경합니다. 컨트롤러가 두 번째 결함을 검출하면 fuel_modeDISABLED로 설정합니다.

헬퍼 함수를 실행한 후, 모델에 세 가지 결함이 포함되었습니다. 결함 테이블 창을 열어서 결함을 확인합니다. 탭에서 결함 분석기를 클릭합니다. 그런 다음 결함 분석기 탭의 보기 섹션에서 결함 테이블을 클릭합니다. 각 모델 요소를 확장하여 결함을 확인합니다. ego_faultmap_fault_timed 결함은 시간 지정된 트리거를 사용하고, map_fault_conditional은 조건 트리거를 사용합니다. ego_fault는 시뮬레이션 시간이 5일 때 삽입되고, map_fault_timed는 시뮬레이션 시간이 10일 때 삽입됩니다.

The starting Fault Table pane. The model has three faults. Two are on the same model element.

조건을 보려면 결함 테이블 창의 조건 탭에서 조건 throttle_HIGH를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다. 속성은 속성 인스펙터에서 열립니다. map_fault_conditional에 할당된 조건 트리거는 스로틀 신호가 18보다 큰 경우 true입니다. 이 조건이 true이면 결함이 주입됩니다.

The conditional properties in the Property Inspector. The conditional is assigned to the output of the throttle.

조건문을 개발하면서 결함 주입 조건을 더 잘 나타내기 위해 표현식을 업데이트해야 할 수도 있습니다. 조건식을 조정하여 신호 임계값을 조정할 수 있습니다. 자세한 내용은 조건 생성 및 관리 항목을 참조하십시오.

결함 조합을 수동으로 시뮬레이션

주어진 시뮬레이션에서는 결함을 하나, 여러 개, 또는 전혀 시뮬레이션하지 않을 수 있습니다. 예를 들어, map_fault_conditional 결함만 시뮬레이션하려면 To Controller/Inport/4 모델 요소를 활성화하고, To Controller/Inport/3 모델 요소를 비활성화하고, map_fault_conditional을 활성화합니다.

The Fault Table pane. The 4th input port is enabled, and the fault map_fault_conditional is active. The other input port is not enabled.

결함 분석기 탭의 상태 섹션에서 결함 시뮬레이션 버튼이 활성화되어 있는지 확인합니다. 모델을 시뮬레이션합니다. 시뮬레이션 데이터 인스펙터에서 시뮬레이션 결과를 볼 수 있습니다. 결함 분석기 탭의 결과 검토 섹션에서 데이터 인스펙터를 클릭합니다. 이 이미지는 결함의 주입 상태와 fuel_mode 신호를 보여줍니다.

The simulation results in the Simulation Data Inspector. The plot shows the map_fault_conditional status, as well as the fuel_mode signal value.

다음에는 ego_fault 결함으로 map_fault_timed 결함을 시뮬레이션합니다. 결함 테이블 창에서 이러한 결함을 활성화합니다.

The Fault Table pane, but now the faults are enabled and active.

모델을 다시 시뮬레이션합니다. 이 이미지는 ego_fault, map_fault_timed, fuel_mode 신호의 주입 상태를 보여줍니다.

The simulation results in the Simulation Data Inspector. The plot shows the ego_fault and map_fault_timed status, as well as the fuel_mode signal value.

한 번에 하나의 모델 요소에서 하나의 결함만 활성화할 수 있습니다. 따라서 map_fault_timedmap_fault_conditional을 동시에 시뮬레이션할 수 없습니다.

다중 시뮬레이션 패널을 사용하여 결함 시뮬레이션

결함 테이블 창에서 결함을 수동으로 활성화하여 시뮬레이션하거나 다중 시뮬레이션 패널을 사용하여 결함 조합을 자동화할 수 있습니다. 자세한 내용은 Configure and Run Simulations with Multiple Simulations Panel 항목과 다중 시뮬레이션 패널을 사용하여 결함이 있는 모델 시뮬레이션 항목을 참조하십시오. 설계 연구를 만들려면:

  1. 다중 시뮬레이션 패널을 엽니다. 결함 분석기 탭의 시뮬레이션 섹션에서 다중 시뮬레이션을 클릭합니다.

  2. 다중 시뮬레이션 패널에서 설계 연구를 만듭니다. 설계 연구 추가 버튼 Add a design study button.을 클릭합니다.

  3. "설계 연구에 결함 세트 추가" 버튼 Add a set of faults to the design study button.을 클릭합니다.

  4. 결함을 선택합니다. 설계 연구는 결함 세트에서 선택된 결함 중 하나를 활성화하는 각각의 시뮬레이션들이 포함된 시뮬레이션 목록을 준비해 줍니다. 이 예제에서 모든 결함을 선택합니다.

The design study details. The fault set includes three faults, and they are each selected.

설계 연구를 저장합니다. 여러 시뮬레이션을 실행하려면 Simulink® 툴스트립의 결함 분석기 탭에 있는 시뮬레이션 섹션에서 실행 > 모두 실행을 클릭합니다. Parallel Computing Toolbox™가 있으면 설계 연구의 병렬 시뮬레이션을 활성화하여 시뮬레이션 속도를 향상시킬 수도 있습니다. 다중 시뮬레이션 패널의 실행 옵션 탭에서 병렬 사용을 클릭합니다.

시뮬레이션 관리자를 사용하여 연구 결과를 검토할 수 있습니다. Simulink 편집기 하단에서 3개의 시뮬레이션 완료를 클릭합니다.

The Simulation Manager results. Multiple Simulations generated three simulates that completed. The first simulation is selected.

개별 시뮬레이션을 선택하고 시뮬레이션 데이터 인스펙터에서 해당 데이터를 확인합니다. 시뮬레이션 탭에서 시뮬레이션을 선택합니다. 툴스트립의 검사 섹션에서 결과 표시를 클릭합니다.

FMEA에 대한 링크 결함 및 모델 요소

실행하려는 시뮬레이션을 구성한 후에는 안전성 분석 관리자에서 만든 안전성 분석 스프레드시트의 요소에 Simulink Fault Analyzer™ 아티팩트를 연결할 수 있습니다. 이 예제에서 결함은 FMEA 스프레드시트의 셀 항목과 연결됩니다. FMEA는 일반적인 안전성 분석으로서, 고장 모드라고 하는 의도치 않은 시스템 또는 컴포넌트의 동작을 시스템에 미치는 잠재적 영향을 고려하여 분석합니다. 이러한 분석에는 비정상적인 동작을 검출하는 데 있어 안전 메커니즘과 같은 완화 로직이 얼마나 효과적인지에 대한 정보가 종종 포함됩니다. 안전성 분석 관리자에서 스프레드시트 FuelSysFMEA.mldatx를 엽니다.

fuelSysFMEADoc = safetyAnalysisMgr.openDocument("FuelSysFMEA.mldatx");
clearFlags(fuelSysFMEADoc)
safetyAnalysisMgr.openManager

고장 모드 열의 각 항목은 결함에 연결되고, 검출 방법 열의 각 항목은 모델의 관련 검출 로직에 연결됩니다. 링크를 보려면 마우스로 링크 아이콘 Link icon.을 가리키십시오. 또한 셀을 선택하고 속성 창에서 링크 섹션을 확장하여 링크를 볼 수도 있습니다.

The FMEA associated with the model. The Failure Mode column contains links to the faults, and the Detection Method column contains links to model artifacts.

FMEA 시뮬레이션 및 평가를 위한 콜백 실행

스프레드시트를 분석하기 위해 콜백을 만들고 실행합니다. Write Callbacks to Analyze Safety Analysis Manager Documents 항목을 참조하십시오. 이 예에서 스프레드시트 분석을 클릭하면 스프레드시트가 콜백을 실행합니다. 콜백은 MATLAB® 스크립트인 validateFuelSysFMEAUsingSimulation의 코드를 실행합니다. 고장 모드 열에 하나 이상의 연관된 결함이 있는 스프레드시트의 각 행에 대해 스크립트는 해당 결함을 활성화하고 시뮬레이션합니다. 그런 다음 스크립트는 시뮬레이션 중에 검출 방법 열에 있는 연결된 모델 아티팩트가 활성화되어 있는지 확인합니다. 시뮬레이션이 종료된 후 연료 모드가 LOW가 아니면 스크립트는 검출 방법 열의 셀에 확인 플래그를 추가합니다. 콜백 스크립트를 보고 편집하려면 MATLAB에서 스크립트를 엽니다.

결과를 보려면 스프레드시트 분석을 클릭합니다. 이 예제에서 검출 방법은 각 시뮬레이션에 대해 설계된 대로 실행됩니다.

The FMEA after analysis. The linked cells in the Detection Method column now have a check flag. The Properties pane also shows each flag.

행을 추가하고 다양한 결함 조합을 연결하여 스프레드시트에 테스트할 다양한 모드를 추가할 수 있습니다.

참고 항목

도움말 항목

외부 웹사이트