Stateflow

 

Stateflow

상태 머신과 플로우 차트를 사용한 의사 결정 논리의 모델링 및 시뮬레이션

상태 머신 설계

Stateflow를 사용하여 끌어서 놓기 요소와 간단한 논리문으로 상태 머신을 설계할 수 있습니다. 여러분은 Stateflow Onramp교육을 수강하여 쉽게 시작할 수 있습니다.

여러 상태 및 MATLAB 함수 블록이 있는 상태 차트. “exchange” 상태에는 플로우 차트로 표현되는 논리가 포함되어 두 자식 상태 중 하나로 진입하는지 상태를 종료하는지 파악할 수 있습니다.

플로우 차트 생성

플로우 차트를 사용하여 상태 논리를 표현할 수 있습니다. 패턴 마법사를 사용하여 일반적 논리 패턴의 플로우 차트를 자동으로 생성할 수 있습니다.

표를 사용한 논리 모델링

Stateflow에는 상태 천이표진리표가 있습니다. 상태 천이표는 논리를 모델링하기 위한 테이블 형식 보기를 제공하고 진리표는 조합 논리 설계를 테이블 형식으로 구현합니다.

Stateflow 차트 실행

상태 다이어그램을 실행하면 애니메이션을 통해 활성 상태와 천이가 강조 표시됩니다. 실행 중에 변수를 직접 수정하여 시스템에 미치는 영향을 시각화할 수 있습니다.

왼쪽은 수동 기어 변속에 대한 Stateflow 차트입니다. 두 차트 상태의 시뮬레이션 데이터가 오른쪽 그래프에 표현되어 있으며, 화살표는 각 상태에 해당하는 플롯을 가리킵니다.

데이터 모니터링 및 분석

시뮬레이션 데이터 인스펙터는 시뮬레이션 데이터를 시각화하는 기능을 제공합니다. 이 툴을 사용하면 시스템을 모니터링하여 시스템 거동에 대한 귀중한 통찰력을 수집할 수 있습니다.

Stateflow에서의 논리 디버그

Stateflow의 디버그 기능을 통해 차트 실행을 세밀하게 순차적으로 실행할 수 있습니다. 상태 다이어그램에서 중단점을 설정하고 다양한 함수를 순차적으로 실행함으로써 예기치 못한 거동을 파악할 수 있습니다.

Temporal Logic Scheduler 블록이 Simulink 모델에서 구현된 모습. 이 블록은 함수 호출 서브시스템 세 개의 실행을 스케줄링하며, 그중 세 번째는 Scope 블록으로 출력됨.

Stateflow 작업 스케줄링

Stateflow는 Simulink 알고리즘을 주기적 또는 연속적으로 호출하여 구성요소의 실행을 스케줄링하고 실시간 환경을 시뮬레이션할 수 있습니다.

요구사항 검증 후에 재설계된 Simulink 모델. 모델 아래에는 나열된 요구사항의 검증 상태가 녹색으로 표시되어 모든 모델 속성이 유효함을 나타내고 있습니다.

Simulink를 사용한 설계 검증

Stateflow는 설계를 검증하고 확인하며 테스트하기 위해 다른 MathWorks 제품과 원활히 통합됩니다. 사용자는 이러한 제품들을 활용하여 설계가 요구사항을 충족하도록 하고 오류를 조기에 발견하며 품질 목표를 달성할 수 있습니다.

첫 번째 창에서 두 번째 창이 생성된 모습을 나타내는 그래픽으로 연결된 두 개의 응용 프로그램 창. 첫 번째 창에는 Stateflow 차트가 보이고 두 번째 창에는 이 차트로부터 자동으로 생성된 C 코드가 보입니다.

배포할 코드 생성

코드 생성을 통해 임베디드 시스템에서 상태 차트 논리를 구현할 수 있습니다. Stateflow는 C, C++, VHDL 및 Verilog 코드는 물론이고 PLC에 대한 Structured Text도 생성하는 워크플로를 지원합니다.

“Deep Space 1 전에는 우주선 항공전자 소프트웨어의 대규모 시스템에서 상태 차트와 자동 코드 생성 기술이 쓰이지 않았습니다. MathWorks 툴은 이러한 접근법을 가능하게 했습니다.”

Stateflow에 대해 더 알아보고 싶으십니까?