Stateflow에서 플로우 차트 만들기
Stateflow® 플로우 차트는 의사 결정 트리 및 반복 루프와 같은 논리 패턴을 모델링하는 그래픽 구문입니다. 플로우 차트는 하나의 결과가 이전 결과에 의존하지 않는 조합 논리를 나타냅니다. 연결점과 천이만 조합하여 플로우 차트를 작성합니다. 연결점은 서로 다른 천이 경로 사이의 의사 결정 분기를 제공합니다. 플로우 차트를 실행하면 디폴트 천이에서 시작하여 종단 연결점에서 끝납니다. 종단 연결점은 나가는 천이가 없는 연결점입니다. 자세한 내용은 Combine Transitions and Junctions to Create Branching Paths 항목을 참조하십시오.
참고
Stateflow 차트에 플로우 차트만 포함된 경우 차트는 차트가 웨이크업 상태가 될 때마다 플로우 차트를 평가합니다. 반대의 경우 차트는 상태 진입 중에만 상태 내부의 모든 플로우 차트를 평가합니다.
가장 좋은 방법은 플로우 차트를 그래픽 함수로 캡슐화하여 차트의 어디에서나 호출할 수 있는 모듈화되고 재사용 가능한 논리를 만드는 것입니다. 그래픽 함수에 대한 자세한 내용은 Reuse Logic Patterns by Defining Graphical Functions 항목을 참조하십시오.
예를 들어 다음 플로우 차트는 간단한 if
-else
논리를 모델링합니다.
플로우 차트는 다음 코드를 모델링합니다.
if u > 0 y = 1; else y = 0; end
플로우 차트 그리기
연결점을 대체 천이 경로 사이의 분기점으로 사용하여 플로우 차트를 그릴 수 있습니다. 플로우 차트 그리려면 다음을 수행하십시오.
새 차트를 엽니다.
플로우 차트 실행이 시작되는 연결점에 디폴트 천이를 추가합니다. 객체 팔레트에서 디폴트 천이 아이콘
을 클릭합니다. 그런 다음 차트 캔버스에서 천이를 위한 위치를 클릭합니다. Stateflow 편집기는 새 연결점을 천이의 대상으로 추가합니다.
새로운 천이를 추가하기 위해 연결점의 테두리를 가리킵니다. 그런 다음 클릭하여 연결점에서 멀리 끌어서 놓습니다. Stateflow 편집기는 연결점 또는 상태를 추가할 수 있는 그래픽 큐를 제공합니다.
천이의 끝부분에 연결점을 배치하려면 원형 큐를 클릭합니다.
천이를 기존 연결점에 연결하려면 포인터를 원하는 대상으로 끌어서 놓습니다.
차트에 연결점을 추가하기 위해 객체 팔레트에서 연결점 아이콘
을 클릭합니다. 그런 다음 차트 캔버스에서 새 연결점의 위치를 클릭합니다.
필요한 만큼 이전 단계를 반복합니다.
Define Actions in a Transition에 설명된 대로 천이에 레이블을 지정합니다.
플로우 차트를 만드는 모범 사례
플로우 차트를 만들 때 다음 모범 사례를 따르십시오.
하나의 디폴트 천이만 사용하기
플로우 차트에 단 하나의 진입점만 있습니다.
하나의 종단 연결점만 제공하기
여러 개의 종단 연결점은 플로우 차트의 가독성을 저하시킵니다.
모든 천이 경로를 종료 연결점으로 수렴시키기
플로우 차트를 실행하면 항상 종료 지점에 도달합니다.
종단 연결점을 제외한 모든 연결점에서 비조건부 천이를 제공하기
시뮬레이션 중에 의도하지 않은 역추적이 발생하면 경고 메시지가 나타납니다.
의도하지 않은 역추적에 대한 진단 동작의 수준을 제어하려면 구성 파라미터 대화 상자를 열고, 진단 > Stateflow 창에서 예기치 않은 역추적 파라미터를 없음
, 경고
또는 오류
로 설정하십시오. 디폴트 설정은 경고
입니다. 자세한 내용은 Unexpected backtracking (Simulink) 항목을 참조하십시오.
다음과 같은 조건의 연결점에서 의도하지 않은 역추적이 발생할 수 있습니다.
연결점에 상태 또는 종단 연결점에 대한 비조건부 천이 경로가 없습니다.
여러 개의 천이 경로가 해당 연결점으로 이어집니다.
업데이트를 처리하기 위해 천이 동작 대신 조건 동작을 사용하기
플로우 차트는 천이를 테스트하지만 실행하지는 않습니다. 따라서 플로우 차트는 절대로 천이 동작을 실행하지 않습니다. 또한 동작 언어로 MATLAB®을 사용하는 차트에서 천이 동작을 그래픽 함수에 사용하면 컴파일타임 오류가 발생합니다.