Main Content

Stateflow에서 플로우 차트 만들기

Stateflow® 플로우 차트는 의사 결정 트리 및 반복 루프와 같은 논리 패턴을 모델링하는 그래픽 구문입니다. 플로우 차트는 하나의 결과가 이전 결과에 의존하지 않는 조합 논리를 나타냅니다. 상태를 사용하지 않고 연결점과 천이를 조합하여 플로우 차트를 작성합니다. 연결점은 서로 다른 천이 경로 사이의 의사 결정 분기를 제공합니다. 플로우 차트를 실행하면 디폴트 천이에서 시작하여 종단 연결점(유효한 나가는 천이가 없는 연결점)에서 끝납니다.

가장 좋은 방법은 플로우 차트를 그래픽 함수로 캡슐화하여 차트의 어디에서나 호출할 수 있는 모듈화되고 재사용 가능한 논리를 만드는 것입니다. 그래픽 함수에 대한 자세한 내용은 Reuse Logic Patterns by Defining Graphical Functions 항목을 참조하십시오.

간단한 If-Else 논리를 모델링하는 플로우 차트의 예는 다음과 같습니다.

Flow chart that models an if else statement.

플로우 차트는 다음 코드를 모델링합니다.

if u > 0
   y = 1;
else
   y = 0;
end

플로우 차트 그리기

연결점을 대체 천이 경로 사이의 분기점으로 사용하여 플로우 차트를 수동으로 그리고 사용자 지정할 수 있습니다.

  1. 차트를 엽니다.

  2. 편집기 도구 모음에서 연결점 툴을 사용하여 하나 이상의 연결점을 차트로 끌어서 놓습니다.

  3. 연결점 사이에 천이 경로를 추가합니다.

  4. 천이에 레이블을 지정합니다.

  5. 플로우 차트 실행이 시작되는 연결점에 디폴트 천이를 추가합니다.

플로우 차트를 만드는 모범 사례

효율적이고 정확한 플로우 차트를 만들려면 다음 모범 사례를 따르십시오.

Flow chart that illustrates best practices.

하나의 디폴트 천이만 사용하기

플로우 차트에 단 하나의 진입점만 있습니다.

하나의 종단 연결점만 제공하기

여러 개의 종단 연결점은 플로우 차트의 가독성을 저하시킵니다.

모든 천이 경로를 종료 연결점으로 수렴시키기

플로우 차트를 실행하면 항상 종료 지점에 도달합니다.

종단 연결점을 제외한 모든 연결점에서 비조건부 천이를 제공하기

시뮬레이션 중에 의도하지 않은 역추적이 발생하면 경고 메시지가 나타납니다.

의도하지 않은 역추적에 대한 진단 동작의 수준을 제어하려면 구성 파라미터 대화 상자를 열고, 진단 > Stateflow 창에서 예기치 않은 역추적 파라미터를 없음, 경고 또는 오류로 설정하십시오. 디폴트 설정은 경고입니다. 자세한 내용은 Unexpected backtracking (Simulink) 항목을 참조하십시오.

다음과 같은 조건의 연결점에서 의도하지 않은 역추적이 발생할 수 있습니다.

  • 연결점에 상태 또는 종단 연결점에 대한 비조건부 천이 경로가 없습니다.

  • 여러 개의 천이 경로가 해당 연결점으로 이어집니다.

업데이트를 처리하기 위해 천이 동작 대신 조건 동작을 사용하기

플로우 차트는 천이를 테스트하지만 실행하지는 않습니다. 따라서 플로우 차트는 절대로 천이 동작을 실행하지 않습니다. 또한 동작 언어로 MATLAB®을 사용하는 차트에서 천이 동작을 그래픽 함수에 사용하면 컴파일타임 오류가 발생합니다.

관련 항목