Stateflow

로직 설계

Stateflow는 상태 시스템를 사용한 시스템 로직 모델링을 위한 그래픽 및 표 양식 인터페이스를 제공합니다. 상태 시스템에서 시스템의 운영 모드를 상태로서 모델링하고 전환 및 접합을 사용하여 모드를 전환하는 로직을 표현합니다. 독립적으로 또는 병렬로 실행되는 상태로서 시스템의 여러 구성요소를 모델링할 수 있습니다. Stateflow를 통해 상태 다이어그램 객체, 함수 및 구성요소를 계층적으로 구성함으로써 설계 복잡성을 관리할 수 있습니다.

Stateflow에서 순서도와 truth table을 포함한 표 양식으로 결합적 로직을 시각적으로 표현할 수 있습니다.

로직 설계를 위해서는 조건을 확인하고 순차적 action을 정의해야 합니다. Stateflow를 통해 C 또는 MATLAB®에서 조건과 동작을 정의할 수 있으며 Simulink® Model Explorer의 조건 및 동작에서 사용되는 데이터를 관리할 수 있습니다. Stateflow는 설계를 실행하기 전에 상태 불일치, 미사용 데이터 및 이벤트, 잘못된 전환 가능성을 알려줍니다.

Stateflow diagram defining the logic for a boiler temperature control system.
보일러 온도 제어 시스템을 위한 로직을 정의하는 Stateflow 다이어그램 - 다이어그램은 그래픽 함수(오른쪽)를 사용하여 히터 시스템이 호출하는 유틸리티 알고리즘(왼쪽)을 구현합니다.

시각적으로 로직 설계

Stateflow는 상태 시스템과 순서도 작성을 위한 편집기와 그래픽 객체를 제공합니다. 그래픽 팔레트에서 상태, 전환 및 접합을 선택하고 이를 Stateflow Editor로 끌어와서 상태 시스템을 작성할 수 있습니다. 또한 순서도 표기법, Simulink 서브시스템, MATLAB 및 truth table을 사용하여 함수를 만들 수도 있습니다. Stateflow 다이어그램은 확장된 기능, Mealy 시스템 또는 Moore 시스템 뿐 아니라 Mealy와 Moore 시스템이 같이 표현될 수 있는 하이브리드 형태로 지정될 수 있습니다.

접합부에 연결되고 조건 로직에 따라 실행되는 전환을 그림으로써 순서도를 작성할 수 있습니다. Pattern Wizard를 통해 자주 사용되는 로직 흐름 패턴을 작성할 수 있습니다. 순서도는 상태 다이어그램의 여러 위치와 같은 모델의 다른 상태 다이어그램에서 사용되는 그래픽 함수에 배치할 수 있습니다. 반드시 순서도를 사용하여 상태 간 전환을 위한 로직을 설계해야 합니다.

Stateflow diagram that uses a graphical function generated by the pattern wizard.
Pattern Wizard(가운데)에서 생성한 그래픽 함수(오른쪽)를 사용하는 Stateflow 다이어그램(왼쪽)

Stateflow Editor는 잘못된 객체 배치와 전환을 파악할 수 있는 편집-시간 검사를 제공합니다.

Stateflow Editor with a model of a cooling system.
Stateflow Editor와 냉각 시스템 모델 서로 겹치는 경계가 있는 상태는 빨간색으로 표시됩니다.

표를 통한 로직 설계

Stateflow의 상태 전환 표는 상태 시스템 모델링을 위한 구조적 환경을 제공합니다. 상태를 위한 행, 상태 간 전환을 위한 열을 추가하여 상태 시스템을 작성합니다. 상태 전환 표는 상태 이름을 위한 드롭다운 메뉴, 유한 상태 시스템 구문 자동 완성 및 기타 편집-시간 검사를 제공함으로써 상태 시스템 작성을 도와줍니다. 모델을 실행하기 전에 진단 테스트를 실행하여 구문 오류, 불완전한 전환 및 도달할 수 없는 상태를 감지할 수 있습니다.

상태 전환 표에서 생성된 상태 전환 행렬 보기를 통해 특정 상태의 조건과 목표 상태 가능성을 빠르게 파악할 수 있습니다.

Stateflow의 Truth table을 사용하여 연속 실행에서 상태 관리가 필요 없는 로직을 모델링할 수 있습니다. 검사할 조건을 입력한 다음 그러한 조건에 대한 결과 조합을 입력하여 truth table을 작성합니다. 그 다음 서로 다른 결과 조합에 대해 작업을 입력할 수 있습니다. truth table을 작성한 후 정적 진단 검사를 실행하여 과도하게 지정되었거나 부족하게 지정된 조건을 파악할 수 있습니다.

Truth table implementing the logic for selecting a valid sensor reading in a fault-detection algorithm, and an automatically generated graphical representation of the truth table.
왼쪽: 결함 감지 알고리즘에서 올바른 센서 판독을 선택하는 로직을 구현하는 truth table 오른쪽: truth table의 자동으로 생성된 그래픽 표현
다음: 구성요소 통합 및 알고리즘 스케줄링

평가판 사용 Stateflow

평가판 신청

MATLAB/Simulink를 이용한 자동차 Active Safety System 개발 및 검증

온라인 세미나 보기