Main Content

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

Function-Call Subsystem 사용하기

Function-Call Subsystem 블록은 제어 포트가 함수 호출 이벤트를 수신할 때마다 실행되는 조건부 실행 서브시스템입니다. Stateflow® 차트, Function-Call Generator 블록, MATLAB Function 블록, S-Function 블록 또는 Hit Crossing 블록은 함수 호출 이벤트를 제공할 수 있습니다.

Function-Call Subsystem은 절차적 프로그래밍 언어의 함수와 비슷합니다. Function-Call Subsystem을 호출하면 실행 순서에 따라 서브시스템 내 블록의 출력 메서드가 실행됩니다. Function-Call Subsystem 파라미터 설명은 Subsystem을 참조하십시오.

Function-Call Subsystem 만들기

Function-Call Subsystem을 만들려면 다음과 같이 하십시오.

  1. 모델에 Function-Call Subsystem 블록을 추가합니다.

  2. 서브시스템 블록을 엽니다. 서브시스템이 함수 호출 이벤트를 수신할 때 실행되는 알고리즘을 정의한 블록 다이어그램을 추가합니다.

  3. Outport 블록에 대해 초기값과 비활성인 경우의 값을 설정합니다. Conditional Subsystem Initial Output Values 항목 및 Conditional Subsystem Output Values When Disabled 항목을 참조하십시오.

  4. 서브시스템이 실행될 때 서브시스템 상태가 처리되는 방식을 설정합니다.

    서브시스템 블록을 연 다음 Trigger 블록의 블록 파라미터 대화 상자를 엽니다. 활성화할 때의 상태 드롭다운 목록에서 다음 옵션 중 하나를 선택합니다.

    • 유지 — 상태가 가장 최근 값을 유지합니다.

    • 재설정 — 상태를 초기 조건으로 설정합니다.

    • 상속 — 함수 호출을 시작한 부모 서브시스템에 유지된 설정 또는 재설정된 설정을 사용합니다.

    Function-Call Subsystem 블록이 서로 다른 파라미터 설정을 갖는 중첩된 서브시스템의 경우, 자식 서브시스템의 설정이 부모 서브시스템에서 상속된 설정을 재정의합니다. Trigger 항목을 참조하십시오.

  5. 함수 호출 개시자를 함수 호출 입력 포트에 연결합니다.

    Inport 블록을 연결한 뒤 블록을 열고 신호 특성 탭을 선택한 경우 함수 호출 출력 체크박스를 선택합니다.

Function-Call Subsystem에서 샘플 시간 전파

Trigger Port 블록의 샘플 시간 유형트리거됨 또는 주기적으로 설정하여 Function-Call Subsystem을 구성합니다.

  • Triggered(비주기적) Function-Call Subsystem은 시간 스텝 동안 실행하지 않거나 한 번 또는 여러 번 실행할 수 있습니다.

    이산 샘플 시간을 사용하는 루트 수준의 Function-Call Inport 블록이 Function-Call Subsystem을 실행한다면 하나의 시간 스텝 동안 여러 번의 함수 호출은 허용되지 않습니다. 함수 호출을 여러 번 허용하려면 샘플 시간-1(상속됨)로 설정하고 Function-Call Subsystem의 모든 블록 샘플 시간을 -1(상속됨)로 설정합니다.

  • 주기적 Function-Call Subsystem은 함수 호출 신호를 수신할 때 각 시간 스텝 동안 한 번 실행되며 함수 호출 신호를 수신하지 않은 시간 스텝에서는 실행되지 않습니다. Function-Call Subsystem의 모든 블록에 대한 샘플 시간을 -1(상속됨)로 설정합니다.

참고

범위를 검사하는 동안 최소 및 최대 파라미터 설정은 Function-Call Subsystem이 활성화되지 않은 상태일 때도 Function-Call Subsystem의 실제 소스 포트로 역전파됩니다.

이 역전파를 방지하려면 다음과 같이 하십시오.

  1. 소스 포트 뒤에는 Signal Conversion 블록과 Signal Specification 블록을 추가합니다.

  2. Signal Conversion 블록의 출력신호 복사로 설정합니다.

  3. 소스 포트에 최솟값과 최댓값을 설정하는 대신 Signal Specification 블록에 설정하십시오.

모델 예제

참고 항목

블록

관련 예제

세부 정보