상태에서 나가기(진출)
어떤 상태로부터의 유효한 천이가 있으면 해당 상태는 exit로 표시됩니다. 상태는 다음 중 한 가지 방식으로 exit로 표시됩니다.
나가는 천이가 상태 경계에서 시작됩니다.
나가는 천이가 상태 경계를 가로지릅니다.
대상 상태가 활성화된 상태의 병렬 상태 자식입니다.
상태에서 나가기(진출)에 대한 워크플로
다음 플로우 차트는 상태에서 나갈 때의 Stateflow® 이벤트 진행 과정을 보여줍니다. 이 플로우 차트에서 현재 상태는 의사결정이나 프로세스가 진행 중인 상태를 의미합니다.
exit 동작
상태에 대한 Exit
동작은 상태가 활성화되어 있고 상태로부터의 유효한 천이가 존재하면 실행됩니다. 상태는 비활성화되기 전에 exit
동작을 수행합니다.
exit 동작 앞에는 접두사 exit
또는 ex
가 오고, 그 뒤에는 필수 콜론(:
)과 하나 이상의 동작이 옵니다. 여러 동작을 캐리지 리턴, 세미콜론(;
) 또는 쉼표(,
)로 구분하십시오.
상태에서 나가기(진출) 예제
이 예제에서는 Stateflow 차트가 초기화되고 StateA
와 StateA1
에 대한 entry
동작이 수행됩니다. 이 차트의 경우 이 차트에 대한 during
동작이 두 번 발생했습니다. 새로운 시간 스텝이 발생한 후 차트는 웨이크업 상태가 됩니다.
Stateflow 차트 실행에 대한 워크플로 항목과 Workflow for Evaluating Transitions 항목에 따라 StateB
는 entry로 표시되었습니다. StateA
는 천이의 소스입니다. 이 시간 스텝에서 x = 5
, y = 2
, z = 0
입니다.
상태 exit 동작에 대한 플로우 차트에 따라 차트가 슬립 상태로 전환될 때까지 이 차트의 실행 단계는 다음 순서를 따릅니다.
StateA
는StateB
의 상위 상태가 아닙니다.StateA
의 exit 동작을 수행하고StateA
를 비활성으로 표시합니다. 이제z = 1
입니다.StateA
에 부모 상태가 없습니다.Entry Actions으로 이동합니다.
이러한 단계에 따라 StateA
에 대한 exit
워크플로가 완료됩니다. 하지만 차트는 아직 슬립 상태가 아닙니다.
시간 스텝을 완료하려면 StateB
에 대해 Workflow for Entering a Chart or State 항목을 수행하십시오.
슈퍼천이를 사용하여 상태에서 나가기(진출)
슈퍼천이는 차트에서 서로 다른 수준 간의 천이입니다. 슈퍼천이는 최상위 차트의 상태와 그 하위 상태 중 하나의 상태 사이, 또는 서로 다른 하위 상태에 있는 상태 사이에서 일어날 수 있습니다. 차트에서 여러 수준에 걸치는 슈퍼천이를 만들 수 있습니다.
슈퍼천이를 통해 상태에서 나가면 천이의 소스에 대한 exit 동작이 실행된 후 해당 상위 상태가 비활성으로 표시되고 상위 상태의 exit 동작이 실행됩니다. 이 예제에서 StateA2
는 exit
로 표시되고 StateB1
은 entry
로 표시됩니다. 이 시점에서 x = 5
, y = 5
, z = 0
입니다.
차트가 슬립 상태로 전환될 때까지 Workflow for Entering a Chart or State 항목에 따라 상태 StateA2
를 종료하기 위한 실행 단계는 다음 순서를 따릅니다.
StateA2
는 대상 상태(StateB1
)의 상위 상태가 아닙니다.StateA2
에 대해exit
동작을 수행하고StateA2
를 비활성으로 표시합니다.StateA2
에 부모 상태인StateA
가 있습니다.StateA
는 대상 상태(StateB1
)의 상위 상태가 아닙니다.StateA
에 대해exit
동작을 수행하고StateA
를 비활성으로 표시합니다.StateA
에 부모 상태가 없습니다.
이러한 동작을 통해 StateA2
와 StateA
에 대한 exit
워크플로가 완료됩니다. 하지만 차트는 아직 슬립 상태가 아닙니다.
시간 스텝을 완료하려면 StateB
와 StateB1
에 대해 Workflow for Entering a Chart or State 항목을 수행하십시오.