Stateflow

상태 기계와 순서도를 사용한 의사 결정 로직 모델링 및 시뮬레이션

 

Stateflow는 상태 전이 다이어그램, 순서도, 상태 전이표 및 진리표가 포함된  그래픽 언어를 제공합니다. Stateflow를 사용하여 MATLAB® 및 알고리즘과 Simulink® 모델이 입력 신호, 이벤트 및 시간 기반 조건에 어떻게 반응하는지 설명할 수 있습니다. 

Stateflow를 사용하면 감시 제어, 작업 일정 예약, 오류 관리, 통신 프로토콜, 사용자 인터페이스 및  하이브리드 시스템 을 설계하고 개발할 수 있습니다.

Stateflow를 사용하면 Simulink 모델 내 블록으로 시뮬레이션하거나 MATLAB 내 객체로 실행할 수 있는 조합과 순차 결정 로직을 모델링할 수 있습니다. 그래픽 애니메이션을 사용하면 실행 중에 로직을 분석하고 디버깅할 수 있습니다. 편집 시간과 런타임 검사는 구현하기 전에 설계의 일관성과 완전성을 보장합니다.

시작하기:

제어 로직 설계

상태 머신, 순서도, 진리표를 사용하여 시스템 로직을 모델링합니다.

그래픽으로 상태 머신설계하기

전이로 연결된 상태와 접합점을 그리면서 상태 머신을 그래픽으로 구축합니다. 순서도 표기법, Simulink 서브시스템, MATLAB 코드 및 진리표를 사용하여 함수를 작성할 수도 있습니다.

보일러 온도 제어 시스템의 로직을 정의하는 Stateflow 다이어그램. 이 다이어그램은 그래픽 함수(오른쪽)를 사용하여 히터 시스템(왼쪽)에서 호출되는 유틸리티 알고리즘을 구현합니다.

순서도 설계하기

접합점에 연결된 전이를 그려 순서도를 작성합니다. Pattern Wizard를 통해 자주 사용되는 로직 흐름 패턴을 작성할 수 있습니다. 순서도를 사용하여 상태 간 전이 로직을 설계할 수 있습니다.

의사 결정 트리 및 반복 루프와 같은 조합 로직을 순서도와 함께 그래픽으로 나타냅니다.

테이블을 통한 로직 설계

Stateflow의 진리표를 사용하면 출력이 현재 입력에만 의존할 때 Simulink에서 로직을 모델링할 수 있습니다. 상태 전이표는 Simulink에서 상태 머신을 모델링하기 위한 구조화된 환경을 제공합니다.

결함 탐지 알고리즘에서 올바른 센서 판독을 선택하는 로직을 구현하는 진리표.

실행 및 디버깅 차트

분석과 디버깅을 위한 시스템의 동작을 시각화합니다.

Stateflow 차트 실행하기

상태 다이어그램 애니메이션을 사용하여 시스템 동작을 시각화함으로써 차트의 활성 상태와 전이를 강조 표시합니다.

디버깅 Stateflow 차트

Stateflow 디버깅 기능을 통해 차트 실행을 상세히 실행할 수 있습니다. 중단점을 설정하고 데이터 값을 모니터링하며 상태 다이어그램의 여러 함수를 순차적으로 실행할 수 있습니다.

Stateflow의 시뮬레이션 데이터 시각화 옵션. 왼쪽 상단: 특정 신호를 비교하기 위한 Simulink Data Inspector; 왼쪽 하단: 데이터 분석을 위한 사용자 지정 MATLAB 인터페이스, 오른쪽: 특정 상태 비교를 위한 Simulink Signal Selector

MATLAB 응용 프로그램을 위한 재사용 가능한 로직 개발

Stateflow 차트 객체를 사용하여 MATLAB 응용 프로그램을 위한 재사용 가능한 로직을 개발합니다. 테스트와 측정, 자율 시스템, 신호 처리 및 통신을 포함한 폭넓은 응용 프로그램용 상태 머신과 타이밍 로직을 설계합니다.

재사용 가능 차트 객체

상태 및 전이 동작에서 MATLAB 언어의 모든 기능을 사용하는 독립형 Stateflow 차트를 만듭니다. 이러한 차트를 상태 머신과 타이밍 로직이 필요한 응용 프로그램의 MATLAB 객체로 사용합니다.

상태 머신 및 타이밍 로직

Stateflow를 사용하여 텍스트로 구현하기 어려운 상태 머신과타이밍 논리를 그래픽으로 설계하여 MATLAB 응용 프로그램 개발을 가속화합니다.

Stateflow 응용 프로그램 배포

Stateflow 차트 객체가 포함된 MATLAB 응용 프로그램을 만들어 Stateflow가 필요 없이 이를 공유합니다.

Stateflow 차트 객체를 포함하는 MATLAB 응용 프로그램을 Stateflow가 없는 사용자와 공유합니다. 

Simulink 알고리즘 스케줄링

Simulink에서 모델링된 알고리즘을 스케줄링합니다.

주기적 및 연속적 스케줄링

Stateflow에서 조건 기반, 이벤트 기반 및 시간 기반 로직을 모델링하여 주기적 또는 연속적 방식으로 Simulink 알고리즘을 호출할 수 있습니다. 컴포넌트의실행을 조정하여 실시간 환경의 스케줄링을 시뮬레이션합니다.

Stateflow의 로직을 모델링하여 Simulink 및 MATLAB 알고리즘을 주기적 또는 연속적으로 호출할 수 있습니다.

시간 연산자

이벤트 기반 및 시간 기반 연산자(after 및 duration과 같은)를 사용하여 자신의 타이머와 카운터를 만들고 유지 관리할 필요 없이 이벤트 카운트, 경과 시간 및 노이즈 없는 신호를 기반으로 상태 전이 로직을 지정할 수 있습니다.

설계 검증 및 코드 생성

요구 사항에 대하여 설계를 검증하고 임베디드 시스템을 위한 코드를 생성할 수 있습니다.

설계 검증하기

Stateflow를 다른 Simulink 제품과 함께 사용하여 요구 사항에 맞춰 설계를 검증합니다.

  • Simulink Requirements™에서 끌어서 놓기를 사용하여 Stateflow 객체에 직접 요구 사항을 연결합니다.
  • Simulink Check™를 사용하여 상태 다이어그램이 표준을 준수하는지 확인합니다.
  • Simulink Coverage™를 사용하여 모델과 생성된 코드 커버리지 측정 항목을 수집합니다.
  • Simulink Design Verifier™를 사용하여 설계 오류를 탐지하고 테스트 벡터를 생성합니다.
  • Simulink Test™를 사용하여 시뮬레이션 기반 테스트를 개발, 관리 및 실행합니다.

Model Slicer를 사용하여 활성 로직을 강조 표시합니다.

코드 생성하기

임베디드 시스템에서 Stateflow 로직을 구현하기 위한 코드를 생성합니다.

  • Simulink Coder™를 사용하여 Simulink 및 Stateflow 모델에서 C와 C++ 코드를 생성합니다.
  • HDL Coder™로 FPGA 및 ASIC 설계용 VHDL 및 Verilog 코드를 생성합니다.
  • Simulink PLC Coder™를 사용하여 PLC 및 PAC에 대한 IEC 61131-3 구조화된 텍스트를 생성합니다.

Stateflow 로직을 구현하는 코드를 생성합니다. 

최신 기능

Stateflow Onramp

대화형 튜토리얼을 통해 상태 머신을 생성, 편집 및 시뮬레이션하는 방법에 대한 기본 사항 학습

툴스트립

필요할 때 Stateflow 기능에 액세스하고 찾기

MATLAB의 Stateflow 차트

독립형 상태 머신을 그래픽을 사용하여 MATLAB 객체로 프로그래밍, 디버깅 및 실행

MATLAB의 순서도

MATLAB 코드를 순서도로 변환하여 그래픽으로 시각화

외부 C 코드

Stateflow 차트의 외부 C 코드를 Simulink Coverage 및 Simulink Design Verifier로 변경 동기화, 오류 검사, 값 검사 및 분석하여 완벽하게 통합합니다.

진리표 편집기

편집 시간 확인, 애니메이션, 중단 지점 및 단계별 디버깅을 사용하여 Simulink 및 Stateflow 편집 환경에서 조합 로직을 설계합니다.

Stateflow 상태로서의 Simulink 서브시스템

하이브리드 시스템을 모델링하기 위해 연속적이고 주기적인 Simulink 알고리즘을 사용하여 상태 설계

Sequence Viewer

시간 경과에 따른 상태 변경, 이벤트 활동 및 함수 호출 시각화

이 기능과 그에 상응하는 함수에 대한 자세한 내용은 릴리스 정보를 참조하십시오.

무료 평가판 받기

30일 동안 사용해 보세요.

다운로드

구매하기

제품별 가격을 확인하세요.

학생이세요?

학생용 MATLAB 및 Simulink를 확인하세요.

자세히 보기