Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Check Against Reference

시뮬레이션하는 동안 모델 신호가 기준 신호를 추종하는지 검사

  • Check Against Reference block

라이브러리:
Simulink Design Optimization / Model Verification
Simulink Design Optimization / Signal Constraints

설명

시뮬레이션하는 동안 신호가 기준 신호의 허용오차 범위 내에 있는지 검사합니다.

  • 신호가 모든 범위를 충족하면 블록은 아무것도 하지 않습니다.

  • 신호가 범위를 충족하지 않으면 MATLAB® 명령 창에 경고 메시지가 나타납니다. 블록이 다음을 수행하도록 지정할 수도 있습니다.

    • MATLAB 표현식을 평가합니다.

    • 시뮬레이션을 중지하고 오류 메시지를 반환합니다.

시뮬레이션하는 동안 블록은 논리형 어설션 신호를 반환할 수도 있습니다.

  • 신호가 모든 범위를 충족하면 어설션 신호는 true(1)입니다.

  • 신호가 모든 범위를 충족하지 않으면 어설션 신호는 false(0)입니다.

Check Against Reference 블록을 여러 신호에 추가하여 기준 신호를 추종하는지 검사할 수 있습니다. 시간 플롯에 기준 신호를 플로팅하여 신호 추종을 시각적으로 확인할 수도 있습니다.

이 블록과 Model Verification 라이브러리의 다른 블록들은 지정된 시간 영역 특성 범위 안에 신호가 속하는지 테스트합니다. 모델이 범위를 위반하지 않는 경우 어설션 옵션을 선택 해제하여 블록을 비활성화할 수 있습니다. 모델을 수정하는 경우 변경 내용으로 인해 모델이 범위를 위반하지 않도록 어설션을 다시 활성화할 수 있습니다.

신호가 범위를 충족하지 않으면 범위를 충족하도록 모델 파라미터를 최적화할 수 있습니다. Simulink® Control Design™ 소프트웨어가 있으면 보드(Bode) 크기와 같은 주파수 영역 범위를 추가하고 시간 영역 요구 사항과 주파수 영역 요구 사항을 모두 충족하도록 모델 응답을 최적화할 수 있습니다.

이 블록은 신호 모니터링을 위해서는 모든 시뮬레이션 모드에서 사용할 수 있지만, 응답 최적화를 위해서는 표준 시뮬레이션 모드 또는 액셀러레이터 시뮬레이션 모드에서만 사용할 수 있습니다.

포트

입력

모두 확장

시뮬레이션하는 동안 진폭시간에 지정된 기준 신호와 비교하여 검사할 신호입니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point | enumerated | bus

출력

모두 확장

지정된 어설션 신호의 범위 내에 입력 신호가 있는지를 나타내는 출력 신호입니다. 출력은 시간 스텝마다 다음 중 하나로 반환됩니다.

  • 어설션이 성공하면, 즉 입력 신호가 모든 범위를 충족하면 True(1)

  • 어설션이 실패하면, 즉 신호가 범위를 위반하면 False(0)

출력 신호의 데이터형은 기본적으로 double형입니다. Simulink 모델에서 논리 신호를 생성하는 모든 블록에 대해 출력 데이터형을 부울로 설정하려면 [구성 파라미터]에서 [논리형 신호를 부울 데이터로 구현]을 선택하십시오.

종속 관계

이 포트를 활성화하려면 어설션 탭에서 출력 어설션 신호 파라미터를 선택합니다.

데이터형: Boolean | double

파라미터

모두 확장

플롯을 사용하여 다음을 볼 수 있습니다.

  • 시뮬레이션하는 동안 계산된 시스템 특성 및 신호 — 모델을 시뮬레이션하기 전에 이 버튼을 클릭하여 시스템 특성 또는 신호를 볼 수 있습니다.

    플롯을 마우스 오른쪽 버튼으로 클릭하고 특성을 선택하여 피크 응답 시간과 같은 추가 특성을 표시할 수 있습니다.

  • 범위 — 범위 탭에서 또는 플롯을 마우스 오른쪽 버튼으로 클릭하고 범위 > 새 범위를 선택하여 범위를 지정할 수 있습니다.

    범위 세그먼트를 끌어서 놓거나 플롯을 마우스 오른쪽 버튼으로 클릭하고 범위 > 범위 편집을 선택하여 범위를 수정할 수 있습니다. 모델을 시뮬레이션하기 전에 블록 업데이트를 클릭하여 블록 파라미터의 범위 값을 업데이트합니다.

플롯 창에서 수행하는 일반적인 작업은 다음과 같습니다.

  • Open block parameters dialog icon 아이콘을 클릭하거나 편집을 선택하여 블록 파라미터 대화 상자를 엽니다.

  • Highlight block icon 아이콘을 클릭하거나 보기 > Simulink 블록 강조 표시를 선택하여 플롯 창에 상응하는 블록을 찾습니다. 이 동작은 모델 창을 활성화하고 해당 블록을 강조 표시합니다.

  • Run icon 아이콘을 클릭하여 모델을 시뮬레이션합니다. 이 동작은 또한 지정된 선형화 입력과 출력 사이의 모델 부분을 선형화합니다.

  • Insert legend icon 아이콘을 클릭하여 선형 시스템 특성 플롯에 범례를 추가합니다.

Simulink 모델에서 블록을 더블 클릭하면 블록 파라미터 대신 플롯 창이 열립니다.

블록 파라미터 대신 플롯 창에서 범위 추가 또는 범위 수정과 같은 작업을 열어 수행하고 싶다면 이 파라미터를 사용하면 됩니다. 플롯 창에서 블록 파라미터에 액세스하려면 편집을 선택하거나 Open block parameters dialog icon 아이콘을 클릭합니다.

플롯에 대한 자세한 내용은 플롯 표시 파라미터를 참조하십시오.

프로그래밍 방식 사용

파라미터: LaunchViewOnOpen
유형: 문자형 벡터
값: 'on' | 'off'
디폴트 값: 'off'

응답 최적화기를 열어서 범위 탭에 지정된 설계 요구 사항을 충족하도록 모델 응답을 최적화합니다.

참고 항목

범위 탭

시뮬레이션하는 동안 블록에 대한 입력 신호가 진폭시간에 지정된 기준 신호를 추종하는지 확인합니다. 신호가 기준 신호를 추종하지 않으면 경고가 표시됩니다.

  • 이 파라미터를 비활성화하면 소프트웨어는 시뮬레이션하는 동안 입력 신호가 기준을 추종하는지 검사하는 것을 중지합니다.

  • 플롯에서 기준 신호만 보려면 어설션 활성화를 비활성화합니다.

플롯 표시를 선택하면 다음 그림과 같이 기준 신호가 시간 플롯에 표시됩니다.

Plot of the specified reference signal

종속 관계

이 파라미터를 사용하려면 블록 파라미터에서 어설션 활성화를 선택합니다. 어설션 활성화가 비활성화되면 소프트웨어는 기준 신호를 어설션에 사용하지 않지만, 플롯에는 기준 신호가 계속 표시됩니다.

프로그래밍 방식 사용

파라미터: EnableReferenceBound
유형: 문자형 벡터
값: 'on' | 'off'
디폴트 값: 'on'

기준 신호의 시간 벡터(단위: 초)로, 단조 증가하는 양수 값으로 구성된 벡터로 지정됩니다. 벡터로 평가되는 MATLAB 표현식을 지정할 수도 있습니다. 진폭 파라미터를 사용하여 상응하는 진폭을 지정합니다. 시간 벡터는 진폭 벡터와 동일한 차원을 가져야 합니다.

프로그래밍 방식 사용

파라미터: ReferenceTimes
유형: 벡터
값: 양수 값으로 구성된 벡터 | MATLAB 표현식
디폴트 값: linspace(0,10)

기준 신호의 진폭으로, 시간에 지정된 시간 벡터에 상응하는 유한한 실수형 벡터로 지정됩니다. 벡터로 평가되는 MATLAB 표현식을 지정할 수도 있습니다. 진폭 벡터는 시간(초) 벡터와 동일한 차원을 가져야 합니다.

프로그래밍 방식 사용

파라미터: ReferenceAmplitudes
유형: 벡터
값: 벡터 | MATLAB 표현식
디폴트 값: 1-exp(-linspace(0,10)/2)

입력 신호가 기준 신호에 접근할 때 범위를 확인하기 위해 사용하는 절대 허용오차로, 양의 실수형 스칼라로 지정됩니다. 시뮬레이션하는 동안 신호는 다음 수식에 따른 기준 신호에 대한 상한과 하한 내에 있어야 합니다.

yu = (1 + RelTol)yr + AbsTol

yl = (1 – RelTol)yr – AbsTol

여기서 각각은 다음을 나타냅니다.

  • yr은 특정 시간에서의 기준값입니다.

  • yu는 해당 시간 지점에 상응하는 상한 허용오차입니다.

  • yl은 해당 시간 지점에 상응하는 하한 허용오차입니다.

  • RelTol은 각 시간 스텝에서 입력 신호 진폭과 기준 신호 진폭 간의 상대 허용오차를 설정합니다. RelTol을 설정하려면 상대 허용오차 파라미터를 사용하십시오.

  • AbsTol은 각 시간 스텝에서 입력 신호 진폭과 기준 신호 진폭 간의 절대 허용오차를 설정합니다. AbsTol을 설정하려면 절대 허용오차 파라미터를 사용하십시오.

블록은 신호가 이러한 제한을 위반하는지 어설션합니다.

프로그래밍 방식 사용

파라미터: AbsTolerance
유형: 스칼라
값: 양의 실수형 스칼라
디폴트 값: eps^(1/3)

입력 신호가 기준 신호에 접근할 때 범위를 확인하기 위해 사용하는 상대 허용오차로, 양의 실수형 스칼라로 지정됩니다. 시뮬레이션하는 동안 신호는 다음 수식에 따른 기준 신호에 대한 상한과 하한 내에 있어야 합니다.

yu = (1 + RelTol)yr + AbsTol

yl = (1 – RelTol)yr – AbsTol

여기서 각각은 다음을 나타냅니다.

  • yr은 특정 시간에서의 기준값입니다.

  • yu는 상한 허용오차입니다.

  • yl은 하한 허용오차입니다.

  • RelTol은 각 시간 스텝에서 입력 신호 진폭과 기준 신호 진폭 간의 상대 허용오차를 설정합니다. RelTol을 설정하려면 상대 허용오차 파라미터를 사용하십시오.

  • AbsTol은 각 시간 스텝에서 입력 신호 진폭과 기준 신호 진폭 간의 절대 허용오차를 설정합니다. AbsTol을 설정하려면 절대 허용오차 파라미터를 사용하십시오.

블록은 신호가 이러한 제한을 위반하는지 어설션합니다.

프로그래밍 방식 사용

파라미터: RelTolerance
유형: 스칼라
값: 양의 실수형 스칼라
디폴트 값: 0.01

어설션 탭

이 블록을 활성화하면 범위 탭에 지정해 포함시킨 어설션 범위가 시뮬레이션하는 동안 충족되는지 검사할 수 있습니다. 범위가 충족되지 않으면 어설션이 실패합니다. 어설션 실패를 보고하는 경고가 MATLAB 프롬프트에 나타납니다.

어설션이 실패하면 선택적으로 블록을 다음과 같이 지정할 수 있습니다.

  • 어설션 실패 시 시뮬레이션 콜백(선택 사항)에 지정된 MATLAB 표현식을 실행합니다.

  • 어설션 실패 시 시뮬레이션 중지를 선택하여 시뮬레이션을 중지하고 오류 메시지를 반환합니다.

이 파라미터는 범위를 지정하지 않으면 아무런 영향을 주지 않습니다.

이 파라미터를 비활성화하면 블록은 입력 신호가 지정된 범위를 충족하는지 더 이상 검사하지 않습니다. 또한 어설션이 비활성화되었음을 나타내도록 블록 아이콘도 업데이트됩니다.

Simulink 모델의 구성 파라미터에서 Model Verification 블록 활성화 파라미터를 사용하면 블록에서 이 옵션이 어떻게 설정되었는지와 관계없이 모델의 모든 Model Verification 블록을 활성화하거나 비활성화할 수 있습니다.

프로그래밍 방식 사용

파라미터: enabled
유형: 문자형 벡터
값: 'on' | 'off'
디폴트 값: 'on'

어설션 실패 시 실행할 MATLAB 표현식입니다.

이 표현식은 MATLAB 작업 공간에서 평가되기 때문에, 먼저 작업 공간에서 표현식에 사용되는 모든 변수를 정의하십시오.

종속 관계

이 파라미터를 활성화하려면 어설션 활성화를 선택합니다.

프로그래밍 방식 사용

파라미터: callback
유형: 문자형 벡터
값: MATLAB 표현식
디폴트 값: ''

시뮬레이션하는 동안 범위 탭에 지정된 범위를 입력 신호가 위반할 때, 즉 어설션 실패 시 시뮬레이션을 중지합니다.

Simulink 모델 창에서 시뮬레이션을 실행한 경우에는 시뮬레이션 진단 창이 열리고 오류 메시지를 표시합니다. 범위 위반이 발생한 블록은 모델에서 강조 표시됩니다.

이 옵션을 선택하면 어설션이 실패하는 즉시 시뮬레이션이 중지되므로, 이후의 시뮬레이션에서 발생할 수 있는 어설션 실패는 보고되지 않습니다. 모든 어설션 실패를 보고하려면 이 옵션을 선택하지 마십시오.

종속 관계

이 파라미터를 활성화하려면 어설션 활성화를 선택합니다.

프로그래밍 방식 사용

파라미터: stopWhenAssertionFail
유형: 문자형 벡터
값: 'on' | 'off'
디폴트 값: 'off'

시간 스텝마다 다음과 같이 부울 신호를 출력합니다.

  • 어설션이 성공하면, 즉 입력 신호가 모든 범위를 충족하면 True(1)

  • 어설션이 실패하면, 즉 입력 신호가 범위를 위반하면 False(0)

출력 신호의 데이터형은 기본적으로 double형입니다. Simulink 모델에서 논리 신호를 생성하는 모든 블록에 대해 출력 데이터형을 부울로 설정하려면 [구성 파라미터]에서 [논리형 신호를 부울 데이터로 구현]을 선택하십시오.

이 파라미터를 선택하면 모델의 어떤 블록에도 연결할 수 있는 출력 포트가 블록에 추가됩니다.

복잡한 어설션 논리를 설계하려면 이 파라미터를 사용하십시오. 예제는 Verify Model Using Simulink Control Design and Simulink Verification Blocks (Simulink Control Design) 항목을 참조하십시오.

프로그래밍 방식 사용

파라미터: export
유형: 문자형 벡터
값: 'on' | 'off'
디폴트 값: 'off'

확장 기능

버전 내역

R2011b에 개발됨