Main Content

상태 천이 테이블을 사용하여 CD 플레이어/라디오 모델링하기

이 예제는 Stateflow®에서 상태 천이 테이블을 사용하는 CD 플레이어/라디오 논리의 간단한 모델을 보여 줍니다.

CD 플레이어/라디오를 제어하는 논리의 핵심은 상태 천이 테이블을 사용하여 설계한 CdPlayerModeManager 차트에 있습니다. 테이블은 모달 논리를 테이블 형식으로 표현하는 데 사용됩니다. 이렇게 하면 상태 간 천이와 함께 다양한 상태와 그러한 상태의 계층적 구조를 정의할 수 있습니다.

상태 셀

가장 왼쪽 열은 테이블의 모든 상태를 나타냅니다. 상태는 계층적으로 중첩될 수 있습니다. 주어진 수준에서 디폴트 상태가 될 상태를 하나 선택할 수 있습니다. 이는 상태의 왼쪽에 그려진 디폴트 천이로 표현됩니다. 첫 번째로 진입할 상태의 선택과 관련된 논리가 있는 경우 디폴트 천이 행을 추가할 수도 있습니다.

상태를 마우스 오른쪽 버튼으로 클릭하고 이력 연결점 추가를 선택하여 주어진 상태에 이력 연결점을 추가할 수 있습니다. 이렇게 하면 상태에 재진입할 때 디폴트 상태를 선택하는 대신 마지막 활성 상태를 기억해낼 수 있습니다. 예를 들어 ModeManagerON 상태에는 이력 연결점이 있습니다. Stateflow 차트는 이 테이블 보기에서 자동으로 생성할 수 있습니다.

천이 셀

다음 열 집합은 상태로부터의 외부 천이를 나타냅니다. 각 행은 주어진 상태로부터의 외부 천이를 나타냅니다. 각 천이 셀은 다음과 같이 세 개의 하위 셀로 나뉩니다.

  1. 조건 셀: 천이가 활성 상태일 때를 지정하는 부울 조건을 지정합니다.

  2. 조건 동작 셀: 천이가 활성 상태일 때 수행할 동작을 지정합니다.

  3. 대상 셀: 천이의 대상 상태를 지정합니다. $NEXT, $PREV와 같은 특수 키워드를 사용하여 현재 상태와 연관된 대상을 지정할 수 있습니다.

이 차트는 디스크가 삽입되었는지 여부, 라디오 모드 선택(FM, AM 또는 CD)과 같은 사용자 입력을 수신합니다. 그런 다음, 차트는 출력할 기계적 명령을 결정합니다. 입력 및 출력 데이터의 데이터형은 MATLAB® 파일 CdRequestMode.mRadioRequestMode.m에 열거된 데이터형으로 정의됩니다.

CdPlayerModeManager 차트의 출력 명령은 CD 플레이어 메커니즘의 동작을 모델링하는 CdPlayerBehaviorModel 차트에 의해 처리됩니다. 또한 이 논리는 상태 천이 테이블을 사용하여 구현됩니다.

MATLAB UI는 다양한 CD/라디오 모드를 설정하는 데 사용됩니다.

참고 항목

함수

관련 항목