Main Content

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

계층 구조를 생성하여 시스템 복잡성 관리하기

시스템에서 여러 수준의 복잡도를 제어하려면 다른 상태의 경계 내에 하나 이상의 상태를 배치하여 Stateflow® 차트에 중첩된 상태의 계층 구조를 생성합니다.

바깥쪽 상태는 안쪽 상태의 부모(즉, 상위 상태)입니다. 안쪽 상태는 바깥쪽 상태의 자식 상태(즉, 하위 상태)입니다. 상위 상태의 내용은 더 작은 차트처럼 작동합니다. 상위 상태가 활성화되면 하위 상태 중 하나도 활성화됩니다. 상위 상태가 비활성화되면 모든 하위 상태가 비활성화됩니다.

미디어 플레이어 모델링하기

이 예제에서는 FM 라디오와 인터넷 스트림 플레이어로 구성된 미디어 시스템을 모델링합니다. 시뮬레이션 중에 Media Player App 사용자 인터페이스에 있는 버튼 및 노브와 상호 작용하여 미디어 플레이어를 제어합니다.

미디어 플레이어를 실행하려면 다음을 수행하십시오.

  1. Simulink 모델을 열고 실행을 클릭합니다. Media Player App이 열립니다. 미디어 플레이어는 처음에 꺼져 있습니다. 앱의 위쪽에 있는 미디어 플레이어 상태(Media Player Status) 상자에 메시지 Standby (Off)가 표시됩니다.

  2. 컴포넌트 선택(Component Selection) 노브를 Stream으로 돌립니다. 상태 메시지에 잠깐 동안 Connecting to Handel's Greatest Hits가 표시됩니다. 잠시 멈춘 후에 상태 메시지가 Playing: Handel's Greatest Hits로 바뀌고 음악이 재생되기 시작됩니다.

  3. 빨리 감기(Fast-Forward) 버튼을 클릭합니다. 음악이 멈추고 짹짹 소리가 들리기 시작합니다. 상태 메시지가 Forward >> Handel's Greatest Hits로 바뀝니다. 디스플레이에서 스트림의 이름이 순방향(forward)으로 움직이며 표시됩니다. 정상적인 재생 모드를 다시 시작하려면 재생(Play) 버튼을 클릭합니다.

  4. 뒤로 감기(Reverse) 버튼을 클릭합니다. 짹짹 소리가 들리고 상태 메시지가 Reverse >> Handel's Greatest Hits로 바뀝니다. 디스플레이에서 스트림의 이름이 역방향(reverse)으로 움직이며 표시됩니다. 정상적인 재생 모드를 다시 시작하려면 재생(Play) 버튼을 클릭합니다.

  5. 스트림 이름(Stream Name) 상자에 새 스트림의 이름을 입력하고 Connect를 클릭합니다. 예를 들어, 스트림 Training Deep Networks 또는 Fun With State Machines에 연결해 봅니다.

  6. 컴포넌트 선택(Component Selection) 노브를 Radio로 돌립니다. 상태 메시지에 Playing: 99.5 FM이 표시됩니다. 다른 방송을 선택하려면 FM 라디오 주파수(FM Radio Station) 노브를 돌립니다.

  7. 시뮬레이션을 중지하려면 Media Player App을 닫습니다.

상태 계층 구조를 사용하여 작동 방식 구현하기

이 예제에서는 한 번에 한 수준의 활동에 집중하면서 미디어 플레이어를 구현합니다. 예를 들어, 스트림 플레이어가 빨리 감기 재생 모드로 진입하려면 다음과 같은 조건이 필요합니다.

  1. 미디어 플레이어를 켭니다.

  2. 스트림 플레이어를 선택합니다.

  3. 스트림 재생을 시작합니다.

  4. 빨리 감기(Fast-Forward) 버튼을 클릭합니다.

이 모델에서는 중첩된 상태의 계층 구조를 사용하여 각 조건을 개별적으로 고려합니다. 예를 들어, 모델 탐색기의 Mode Manager 차트에 상태의 계층 구조가 표시됩니다. 모델 탐색기를 열려면 모델링 탭에서 모델 탐색기를 선택합니다.

계층 구조의 최상위 수준 또는 가장 바깥쪽 수준에서 Mode Manager 차트는 미디어 플레이어의 활동을 제어하는 다음 두 가지 상태를 갖습니다.

  • Off는 미디어 플레이어가 꺼지면 활성화됩니다.

  • On은 미디어 플레이어를 스트리밍 또는 라디오 모드로 설정하면 활성화됩니다.

On의 자식 상태는 다음과 같은 미디어 플레이어 컴포넌트를 제어합니다.

  • Stream은 스트림 플레이어를 선택하면 활성화됩니다.

  • Radio는 FM 라디오를 선택하면 활성화됩니다.

Stream의 자식 상태는 다음과 같은 스트림 플레이어의 활동을 제어합니다.

  • Play는 스트림을 재생하면 활성화됩니다.

  • Pause는 스트림 플레이어를 일시 중지하면 활성화됩니다.

Play의 자식 상태는 다음과 같은 스트림 플레이어의 재생 모드를 제어합니다.

  • Normal은 정상적인 재생 모드 동안 활성화됩니다.

  • Reverse는 뒤로 감기(Reverse) 버튼을 클릭하면 활성화됩니다.

  • FastForward는 빨리 감기(Fast-Forward) 버튼을 클릭하면 활성화됩니다.

아래 그림은 차트의 상태 레이아웃을 보여줍니다.

예제 살펴보기

이 예제의 모델에는 다음과 같은 두 개의 다른 Stateflow 차트가 들어 있습니다.

  • App Interface는 MATLAB 앱을 사용하여 인터페이스를 관리하고 입력값을 Mode ManagerStream Player 차트로 전달합니다.

  • Stream PlayerApp InterfaceMode Manager 차트의 출력값을 받아서 스트림 플레이어의 내부 작동 방식을 시뮬레이션합니다.

시뮬레이션 중에 각 차트가 Media Player App과의 상호 작용에 어떻게 반응하는지 조사할 수 있습니다. 차트 간에 빠르게 전환하려면 Stateflow 편집기 맨 위의 탭을 사용하십시오.

관련 항목