주요 콘텐츠

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

조건 생성 및 관리

조건을 사용하면 시뮬레이션 데이터가 지정된 기준을 충족하는지 모니터링하고 결함에 대한 트리거로 사용할 수 있습니다. 조건은 작업 공간 변수, 신호 또는 파라미터 값을 사용하여 부울 표현식을 평가합니다. 각각의 주 시간 스텝 동안 Simulink® Fault Analyzer™는 시뮬레이션 데이터가 생성된 후 조건을 평가합니다. 각 결함은 하나의 조건을 트리거로 사용할 수 있습니다. 조건을 사용하여 모델을 시뮬레이션한 후 시뮬레이션 데이터 인스펙터에서 조건이 트리거되는 시점을 볼 수 있습니다.

조건 만들기

조건을 만들려면:

  1. 모델을 열거나 새 모델을 만들어 저장합니다.

  2. 결함 테이블 창을 엽니다. 결함 분석기 탭의 보기 섹션에서 결함 테이블을 클릭합니다.

  3. 조건 탭에서 새 조건 만들기 버튼 을 클릭합니다.

  4. 조건을 선택하고 속성 인스펙터 버튼 을 클릭하여 조건의 속성을 수정합니다. 해당 속성은 속성 인스펙터에서 열립니다.

    This image shows the properties of a new conditional in the Property Inspector.

조건은 각 시간 스텝에서 조건 속성의 부울 표현식을 평가합니다. 표현식은 논리적 true 또는 false로 평가되어야 합니다. 조건은 표현식이 true일 때 결함을 트리거합니다.

다음의 MATLAB® 작업과 함수를 사용할 수 있습니다:

  • 관계 연산: >, <, >=, <=, ==, ~=, 및 ~

  • 논리 연산: &, &&, |, 및 ||

  • 산술 연산: +, -, 및 *

  • MATLAB 함수: abs, logical, int8, int16, uint16, int32, uint32, int64, uint64, single, double, half

자세한 내용은 MATLAB 연산자와 특수 문자 항목과 논리(부울) 연산 항목을 참조하십시오. 표현식의 데이터형은 일치해야 하며, 명시적으로 정의되어야 합니다. 지원되지 않는 함수, 연산자, 일관되지 않은 데이터형을 사용하면 컴파일 시 오류가 발생합니다.

각 시간 스텝의 시뮬레이션 시간을 가져오려면 표현식에 t를 입력합니다. 예를 들어, 시뮬레이션 시간이 6보다 큰 경우 true인 조건식을 만들려면 표현식에 t > 6을 입력합니다.

조건과 해당 속성에 대한 업데이트를 저장하려면 모델을 저장하거나 결함 테이블 창에서 결함 정보 저장 버튼 을 클릭합니다 (R2024a 이후). 저장하지 않고 모델을 닫으려고 하면 Simulink는 닫기 전에 결함 정보 파일을 저장할 수 있는 대화 상자를 표시합니다.

표현식 또는 모델 요소에 기호 할당

조건에서 시뮬레이션이나 작업 공간 데이터를 사용하려면 기호를 정의합니다. 보호되지 않은 기호를 표현식에 추가하면 Simulink Fault Analyzer가 자동으로 이를 기호 테이블에 추가합니다.

This image shows the properties of a conditional in the Property Inspector with two symbols, x and y. The Symbols table lists the names of each symbol in the Conditional Expression field.

기호 이름을 정의한 후에는 기호에 값을 지정해야 합니다. 기호 테이블에서 매핑 대상 열의 셀을 더블 클릭하여 기호 할당 유형을 선택합니다. 매핑 대상표현식 또는 모델 요소로 설정할 수 있습니다.

참고

기호는 실수 스칼라로 평가되어야 합니다.

표현식을 선택하는 경우, 셀을 모델이나 기본 작업 공간에 정의된 변수나 리터럴 실수 스칼라로 설정해야 합니다. Specify Source for Data in Model Workspace 항목을 참조하십시오.

모델 요소를 선택하면 모델이 바인딩 모드를 열어 줍니다. 모델 요소를 선택하려면 신호를 클릭하고 모델 요소를 선택합니다. 기호당 하나의 블록 출력 신호를 선택할 수 있습니다. 모델 캔버스의 오른쪽 상단에 있는 종료 아이콘 을 클릭하여 바인딩 모드를 종료합니다. 열은 선택한 모델 요소의 경로를 보여줍니다.

The Symbols pane after a symbol has been mapped to a model element. The Value column shows the path of the model element, and the path name is blue.

셀을 클릭하면 모델에서 관련 신호가 강조 표시됩니다.

결함 트리거에 조건 지정

결함 트리거에 조건을 할당하려면:

  1. 결함 테이블 창을 엽니다.

  2. 속성 인스펙터를 열어 결함 속성을 확인합니다. 결함 탭에서 결함을 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다.

  3. 트리거 유형 속성을 조건으로 설정합니다.

  4. 모델에서 조건 선택 속성을 조건으로 설정합니다.

결함에 대한 조건을 만들고 할당한 후에는 속성 인스펙터에서 결함을 선택하고 조건 보기를 클릭하여 결함 테이블 창에서 결함에 할당된 조건을 볼 수 있습니다.

속성 인스펙터에서 조건문을 열면 연결된 결함 섹션에 할당된 결함이 표시됩니다. 결함을 클릭하면 속성 인스펙터에서 결함 속성을 열 수 있으며, 모델 요소를 클릭하면 모델에서 모델 요소가 강조 표시됩니다.

트리거를 활성화하면 그 상태를 유지합니다 속성을 사용하면 조건에 따라 결함이 트리거되는 방식을 조정할 수 있습니다. 이 속성을 활성화하면 조건이 처음 충족될 때 결함이 주입되고, 시뮬레이션이 종료될 때까지 결함이 계속 주입됩니다. 이 속성을 비활성화하면 조건식이 충족될 때만 결함이 주입됩니다.

로그 조건 정보

모델을 시뮬레이션할 때 조건 트리거 상태를 기록할 수 있습니다. 조건을 기록하려면 결함 테이블 창의 조건 탭에서 활동 기록을 선택합니다. 속성 인스펙터에서 속성을 선택할 수도 있습니다.

모델을 시뮬레이션할 때 Simulink는 각 시간 스텝이 끝날 때마다 조건 상태를 true 또는 false로 기록합니다. 결과적으로 결함은 다음 시간 스텝에서 조건의 상태를 평가합니다. 결과는 시뮬레이션 데이터 인스펙터에서 볼 수 있습니다. 시뮬레이션 데이터 인스펙터를 열려면 결함 분석기 탭의 결과 검토 섹션에서 데이터 인스펙터를 클릭합니다. 모델을 시뮬레이션한 후 조건을 선택하면 시뮬레이션 전체에서 조건 상태를 볼 수 있습니다.

This image shows an example of the conditional as it appears in the Simulation Data Inspector after a simulation.

추가 시뮬레이션을 실행하면 각 실행에서 조건을 선택하고 레이아웃을 조정하여 결과를 겹쳐 놓을 수 있습니다. 사용 가능한 레이아웃에 대한 자세한 내용은 Inspect Simulation Data를 참조하십시오.

조건 삭제

조건을 삭제하려면 결함 테이블 창에서 조건을 마우스 오른쪽 버튼으로 클릭하고 삭제를 선택합니다. 조건이 결함에 할당되면 결함의 할당된 트리거는 항상 켜기로 되돌아갑니다.

또한, 모델과 관련된 결함 정보 파일을 삭제하면 조건도 삭제됩니다. 이 옵션을 사용하면 모델 결함 및 조건을 영구적으로 삭제할 수 있습니다.

Simulink.fault.deleteConditional 함수를 사용하여 프로그래밍 방식으로 모델에서 조건을 삭제할 수도 있습니다.

조건이 있는 예제 모델 조사

이 예제에서는 작업 공간 변수의 값에 따라 트리거되는 조건이 있는 결함을 사용합니다.

fault_conditional_exp 모델을 엽니다. 이 모델은 콜백을 사용하여 작업 공간 변수 K를 정의합니다. 모델 속성 창을 열어 모델 콜백을 수정할 수 있습니다. 모델링 탭에서 모델 설정 > 모델 속성을 클릭합니다. 모델 속성 창에서 콜백 탭을 열고 왼쪽 창에서 PreLoadFcn을 클릭합니다.

조건 열기

속성 인스펙터에서 조건 속성을 엽니다. 결함 분석기 탭의 보기 섹션에서 결함 테이블을 클릭합니다. 결함 테이블 창의 조건 탭에서 조건을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다. 조건문 두 개의 기호 signalValconst_K를 사용합니다. const_K는 작업 공간 변수 K에 할당됩니다. signalVal은 Sine Wave 블록 출력 포트의 값에 할당됩니다. 조건식 속성은 두 기호 간의 관계를 정의합니다. Sine Wave 블록의 신호의 절대값이 K보다 크면 조건이 true이고 결함이 트리거됩니다.

모델 시뮬레이션하기

모델을 시뮬레이션합니다. 조건이 충족되면 결함이 트리거되어 Sum 블록 출력의 신호가 0로 덮어쓰여집니다. Scope 블록을 열어서 모델 동작을 확인합니다.

시뮬레이션 중에 시뮬레이션 데이터 인스펙터에서 조건 및 결함 주입 상태를 볼 수 있습니다. 시뮬레이션 데이터 인스펙터를 열고 조건 및 결함을 선택하여 각각의 주 시간 스텝에서의 상태를 확인합니다.

결함은 조건을 평가하기 전에 조건의 상태를 평가합니다. 결과적으로 결함은 조건 signal_greater_than_valtrue인 시간 스텝에서 이어지는 시간 스텝에 주입됩니다.

참고 항목

도움말 항목