Stateflow 2. state
상태머신
자동차의 동작모드를 D(전진) P(정지), R(후진) 3가지 모드의 상태만 있다고 하자.
여기서 활성 상태는 현재 동작하고 있는 모드이며, 이러한 상태는 한번에 하나의 상태로만 존재할 수 있습니다.
상태 머신에서는 상태 사이의 천이 방식에 대한 일련의 규칙이 있습니다.
예를 들어 모터를 앞으로 전진시키면 D로 상태로 천이됩니다.
상태 천이 다이어그램을 사용하여 이러한 규칙을 다이어그램으로 표시합니다.
다이어그램에서 상자 형태는 상태를 나타내고, 화살표는 천이를 나타냅니다..
상태 머신의 현재 상태는 변수와 이전상태에 따라 달라집니다.
matlab의 simulink stateflow는 화이트보드에서 상태 머신을 바로 설계하여 상태 천이 다이어그램을 모델링 할 수 있습니다.
다이어그램이 완성되면 '실행'을 눌러 모델을 시뮬레이션합니다.
차트는 상태머신의 동작 방식을 애니메이션으로 보여줍니다.
stateflow를 사용하면 정보를 쉽게 MATLAB의 Simulink와 교환하거나, 코드를 생성하여 타깃 하드웨어에서 모델을 실행할 수 도 있습니다.
Stateflow 차트 실행하기
Stateflow chart는 Simulink 모델에서 블록으로 존재한다.
다른 Simulink 블록과 마찬가지로 포트를 통해 데이터를 송수신할 수 있다.
Simulink 캔버스에서 더블클릭을 하고 chart를 입력하여 차트를 추가 할 수 있습니다.
StateflowOnramp 파일의 chart 파일
위는 신호등을 모델링하는 Stateflow chart이다. 표시등은 타이머를 기반으로 하여 빨간색, 노란색 및 녹색으로 전환된다. fault가 발생하면 표시등이 빨간색으로 깜빡인다.
차트가 활성화된 상태에서(상태 및 천이가 표시됨) 툴스트립의 디버그 탭을 클릭하고
드롭다운 메뉴를 사용하여 애니메이션 속도를 조절할 수 있습니다.
(에니메이션 속도를 빠름으로 설정하면 시간을 절약할 수 있다.)
신호등의 시간 설정은 천이 조건에 의해 결정됩니다다.
예를들어 after(1,sec)는 1초뒤에 BlinkOn 상태에서 BlinkOff 상태로,
또는 BlinkOff 상태에서 BlinkOn 상태로 이동하도록 만듭니다.
[공부] Stateflow 4.Stateflow 기호와 데이터 (2) | 2024.01.08 |
---|---|
[공부] stateflow 3. chart 만들기 (2) | 2024.01.02 |
[공부] AUTOSAR - RTE (0) | 2023.12.24 |
[공부] AUTOSAR (0) | 2023.12.19 |
[공부] state flow 교육 과정개요 (0) | 2023.12.18 |