Appia의 IT세상

[Stateflow] Flowchart (플로우 차트) 흐름 및 Transition Label 본문

Programming/Stateflow

[Stateflow] Flowchart (플로우 차트) 흐름 및 Transition Label

Appia 2019. 12. 11. 07:24
반응형

[Stateflow] Flowchart (플로우 차트) 흐름 및 Transition Label

 

[Stateflow] Flowchart(플로우 차트) 구성 및 개요

Flowchart : Logic의 Sequence를 도식화 한것 저는 대학교에서 플로우 차트(Flowchart)에 대해서 다음과 같은 그림으로 배우곤 했습니다. 물론 세월이 좀 지났기에 아직도 이런 그림으로 배우는지는 잘 모르겠지만..

appia.tistory.com

 앞서 화에서 Stateflow Flowchart구성과 개요에 대해서 이야기 해보았습니다. 그러면서, 몇가지 사항들에 대해서 이야기 했는데.. 반드시 중요해서 다시 한번 강조해 볼게요.

  1. 한스텝에 Deafault transition-> Terminating Junction으로 간다.
  2. 반드시 시작점과 종료지점 필요하다. ( , Deafault transition, Terminating Junction 필요
Flowchart 흐름

그럼 먼저, Flowchart의 흐름에 대해서 한번 같이 보도록 할께요. 다음과 그림은 함께 살펴 볼께요. 

보이는 바와 같이 Default transition으로 시작합니다. 그리고 1번째 Junction을 만나죠?

여기서. 1번 표시가 된 Transition 방향으로 이동합니다.

Condition을 만나고 만약  A == 1의 조건을 만족할 때, 즉 True일 경우 1번 표시가 된 Tansition의 화살표의 Junction으로 이동합니다. 이 Junction에서는 분기( 나누어 지는 지점)이 없기 때문에 다른  Junction으로 향하고 여기에 포함되어 있는 Action인  C = 0 이 Action  을 수행합니다. 그리고 다음 Junction에 도착합니다. 그리고 연결된 Transition을 통해 마지막 Transition으로 이동합니다. 

그럼 만약에 A==1이라는 조건을 만족하지 않게 된다면 어떻게 될까요? 1번 Transition에서 Condition을 비교 하고, False이면 2번 Transition으로 가게 됩니다. 그리고 2번 Transition의 조건이 없기 때문에 Action만 실행하게 됩니다. 

Transition Label

Transition에는 Label 작성할 있습니다. Label 3가지로 구성됩니다.

Condition

Condition [ ]안에 명시됩니다. 즉, 방향에 있어서 조건을 나타내는 부분입니다. 

Condition

크게 2가지 형태의 연산자(논리 연산자, 관계 연산자)를 함께 사용가능합니다. 

논리 연산자   관계 연산산자  
& And == equal
| OR > 크다
~ NOT < 작다
    >= 크거나 같음
    <= 작거나 같음
    ~= Not equal

Condition Action

Condition Action { }안에 명시됩니다. 그리고 이는 Matlab 기본 문법을 따릅니다. 즉 항상 문장 마지막에는 세미콜론(;)을 붙여 줘야 합니다. 

Condition Action

Comment 

Comment는 Condition 또는 Condition Action 뒤에 %시작으로 설명등의 주석을 작성함으로, 관련하여 이해를 촉구 하는 역할을 합니다. 

이번 포스팅에서는 Flowchart (플로우 차트) 흐름 및 Transition Label에 대해 살펴보았습니다. 다음 포스팅에서는 Flowchart에서의 Chart Data설정 방법 및 Pattern Wizard에 대해서 살펴 보겠습니다.

제 주관적인 부분들을 포스팅 하다 보니, 다소 부족함이 있을 수 있지만, 그런 부분들에 대해 댓글 달아주시면, 적극적으로 보완하겠습다. 

반응형
Comments