Stateflow 유한 상태 머신 설계하기
Stateflow®는 유한 상태 머신을 사용하여 Simulink® 모델에서 제어 논리를 만들 수 있는 그래픽 프로그래밍 환경입니다. 또한 다음을 수행할 수 있습니다.
모델 간에 논리를 재사용하고 공유할 수 있습니다.
MATLAB® 코드나 Simulink 서브시스템을 상태 머신 내 함수로 사용할 수 있습니다.
라이브 애니메이션으로 논리를 시각화할 수 있습니다.
중단점을 사용하고 시뮬레이션 데이터를 기록하여 논리를 디버그할 수 있습니다.
Stateflow는 진리표와 플로우 차트도 지원합니다. 자세한 내용은 조합 논리 모델링에 진리표 사용하기 항목과 Stateflow에서 플로우 차트 만들기 항목을 참조하십시오.
상태와 천이를 사용하여 논리 정의하기
유한 상태 머신은 시스템의 동작 모드를 상태로 모델링합니다. 상태는 데이터를 수정하거나, 코드와 이벤트를 실행하거나, 다른 상태를 포함할 수 있습니다.
유한 상태 머신은 일련의 스텝으로 실행됩니다. 각 스텝 동안, 각 상태는 활성 또는 비활성 상태입니다. 활성 상태는 동작을 수행하거나 코드를 실행할 수 있지만, 비활성 상태는 그럴 수 없습니다. 상태 머신의 조건이 변경되면 활성 상태도 변경됩니다.
차량의 자동 변속기를 살펴보겠습니다. 여기에서는 기어가 동작 모드입니다. 다음 애니메이션 이미지는 기어를 상태로 모델링하며, 상태는 사각형으로 표현됩니다. 차량 속도의 변화에 따라 변속기가 기어를 변경하며, 이는 파란색 강조 표시로 표현됩니다.

상태 머신에서 천이는 한 상태에서 다른 상태로의 경로를 나타냅니다. 예를 들어, 자동 변속기 시스템은 1단 기어에서 2단 기어로, 2단 기어에서 1단 기어나 3단 기어로 전환할 수 있습니다.
애니메이션 이미지는 변속 시스템의 천이를 상태 간 화살표로 나타냅니다. 각 천이에는 활성 상태가 변경되는 시점을 결정하는 조건이 있습니다. 예를 들어, 차량 속도가 10을 초과하면 차량이 1단 기어에서 2단 기어로 전환됩니다.
상태 천이 테이블과 차트를 사용하여 상태 머신 모델링하기
Stateflow를 사용하면 상태 머신을 State Transition Table 블록 또는 Chart 블록으로 모델링할 수 있습니다.
상태 천이 테이블 사용하기
상태 천이 테이블은 상태와 천이를 테이블의 항목으로 나타냅니다. 예를 들어, 다음 상태 천이 테이블은 자동 천이의 기어를 상태로 모델링합니다.

상태의 그래픽 레이아웃에 신경 쓰지 않고 논리를 구현하는 데 집중하고 싶다면 상태 천이 테이블을 사용해 보십시오.
상태 천이 테이블을 만드는 방법에 대한 튜토리얼은 Model Rechargeable Battery System by Using a State Transition Table 항목을 참조하십시오.
차트 사용하기
차트를 만들 때는 위 애니메이션에서와 같이, 캔버스에 상태와 천이를 나타내는 사각형과 화살표를 배치하여 상태 머신을 모델링합니다. 설계에 다음이 필요한 경우 차트를 사용해 보십시오.
재사용 가능한 컴포넌트. 예를 들어 한 차트의 여러 위치에서 상태를 재사용하거나 여러 차트에서 동일한 상태를 사용할 수 있습니다.
이벤트 기반 동작 모드. 예를 들어 차트의 한 컴포넌트가 다른 컴포넌트로부터 신호를 수신할 때 상태를 변경할 수 있습니다.
비선형 흐름. 예를 들어 루프나 분기 경로를 사용하는 논리적인 흐름을 설계할 수 있습니다.
Stateflow 차트를 만드는 방법에 대한 튜토리얼은 Model Rechargeable Battery System as Chart 항목을 참조하십시오.