Main Content

Enabled Subsystem 사용하기

Enabled Subsystem은 제어 신호가 양수 값을 가지는 동안 각 주 시간 스텝에서 한 번 실행되는 조건부 실행 서브시스템입니다. 보조 시간 스텝 동안 신호가 영점을 교차하면 다음 주 시간 스텝까지 서브시스템은 활성화되거나 비활성화되지 않습니다.

제어 신호는 스칼라나 벡터일 수 있습니다.

  • 스칼라 값이 0보다 크면 서브시스템이 실행됩니다.

  • 벡터 요소 값 중 하나라도 0보다 크면 서브시스템이 실행됩니다.

Enabled Subsystem 생성하기

Enabled Subsystem을 생성하려면 다음을 수행하십시오.

  1. Enabled Subsystem 블록을 모델에 추가합니다.

    • Simulink® Ports & Subsystems 라이브러리에서 모델로 블록을 복사합니다.

    • 모델 다이어그램을 클릭하고 enabled를 입력한 후 Enabled Subsystem을 선택합니다.

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

  3. 서브시스템이 활성화된 경우 서브시스템 상태를 처리하는 방법을 지정합니다.

    Subsystem 블록을 연 다음 Enable 포트 블록의 파라미터 대화 상자를 엽니다. 활성화할 때의 상태 드롭다운 목록에서 다음을 선택합니다.

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

    • 재설정 — 서브시스템이 적어도 하나의 시간 스텝에서 비활성화되면 상태가 초기 조건으로 되돌아갑니다.

      참고

      Simulink Function 블록이 포함된 Stateflow® 차트가 서브시스템에 포함되어 있으면 Simulink Function 블록 내에 있는 블록이 초기 조건으로 되돌아가지 않습니다. 더 포괄적인 재초기화 기능을 원할 경우에는 Reinitialize Function 블록을 사용해 보십시오.

      단순 방식 초기화 모드(디폴트 값)에서는 서브시스템이 활성화된 후 첫 번째 실행 동안 서브시스템 경과 시간이 항상 재설정됩니다. 이러한 재설정은 활성화 시 서브시스템이 재설정되도록 구성되었는지 여부에 상관없이 발생합니다. Underspecified initialization detection 항목을 참조하십시오.

    Enable 블록이 서로 다른 파라미터 설정을 갖는 중첩된 서브시스템의 경우, 자식 서브시스템의 설정이 부모 서브시스템에서 상속된 설정을 재정의합니다.

  4. Enable 블록에서 제어 신호를 출력합니다.

    Enable 블록의 파라미터 대화 상자에서 출력 포트 표시 체크박스를 선택합니다.

    이 파라미터를 선택하면 제어 신호를 Enabled Subsystem에 전달할 수 있습니다. 이 신호는 제어 신호 값에 따라 달라지는 알고리즘에 사용할 수 있습니다.

Enabled Subsystem의 블록

이산 블록

Enabled Subsystem의 이산 블록은 서브시스템이 실행될 때와 이산 블록 샘플 시간이 시뮬레이션 샘플 시간과 동기화될 때만 실행됩니다.

이산 블록 4개와 제어 신호 1개가 포함된 이 모델이 있다고 가정하겠습니다. 이산 블록은 다음과 같습니다.

  • 블록 A, 샘플 시간 0.25초

  • 블록 B, 샘플 시간 0.5초

신호 E는 Pulse Generator로 생성된 활성화 제어 신호로, 샘플 시간은 0.125초입니다. 출력의 값이 0.375초에서 0에서 1로 변경되고, 0.875초에서 0으로 돌아갑니다.

Enabled Subsystem의 이산 블록은 다음과 같습니다.

  • 블록 C, Enabled Subsystem 내에 있음, 샘플 시간 0.125초

  • 블록 D, Enabled Subsystem 내에 있음, 샘플 시간 0.25초

이산 블록은 아래 표시된 샘플 시간에 실행됩니다.

블록 A와 B는 Enabled Subsystem에 속하지 않기 때문에 활성화 제어 신호와는 독립적으로 실행됩니다. 활성화 제어 신호가 양수가 되면 블록 C와 D는 활성화 제어 신호가 다시 0이 될 때까지 할당된 샘플 레이트로 실행됩니다. 활성화 제어 신호가 0으로 변경되면 블록 C는 0.875초에 실행되지 않습니다.

Goto 블록

Enabled Subsystem에는 Goto 블록이 포함될 수 있습니다. 하지만 상태가 있는 블록의 출력 포트만 Goto 블록에 연결할 수 있습니다. Enabled Subsystem 내에 Goto 블록을 사용하는 방법에 대한 예제는 sldemo_clutch 모델의 Locked 서브시스템을 참조하십시오.

Enabled Subsystem 블록을 번갈아 실행하기

조건부 서브시스템에 Merge 블록을 사용하여 모델의 현재 상태에 따라 번갈아 실행하는 서브시스템 세트를 만들 수 있습니다.

Enabled Subsystem 블록 2개와 Merge 블록 1개를 사용하여 AC 전류를 맥동 DC 전류로 변환하는 기기인 전파 정류기를 모델링하는 모델이 있다고 가정하겠습니다.

예제 모델 ex_alternately_executing_model을 엽니다.

pos라는 이름의 서브시스템을 엽니다.

이 서브시스템은 AC 파형이 양수일 때 활성화되며 파형을 변경되지 않은 상태로 출력에 전달합니다.

neg라는 이름의 서브시스템을 엽니다.

이 서브시스템은 파형이 음수일 때 활성화되며 파형을 반전시킵니다.

Merge 블록은 현재 활성화된 서브시스템의 출력을 원래 파형과 함께 Scope 블록에 전달합니다.

모델을 시뮬레이션합니다. 그런 다음 Scope 블록을 엽니다.

모델 예제

모델 예제는 다음 항목을 참조하십시오.

참고 항목

| | |

관련 항목