after
이벤트 브로드캐스트 또는 지정된 시간 후에 차트 실행
설명
after(
는 관련 상태가 활성화된 후 이벤트 n
,E
)E
가 최소 n
번 이상 발생한 경우 true
를 반환합니다. 그 외에는 연산자가 false
를 반환합니다.
after(
은 관련 상태가 활성화된 후 차트가 최소 n
,tick
)n
번 이상 웨이크업 상태가 된 경우 true
를 반환합니다. 그 외에는 연산자가 false
를 반환합니다.
Simulink® 모델의 Stateflow® 차트에 입력 이벤트가 있는 경우 암시적 이벤트 tick
은 지원되지 않습니다.
after(
은 관련 상태가 활성화된 후 최소 n
,time_unit
)n
단위의 시간이 경과한 경우 true
를 반환합니다. 그 외에는 연산자가 false
를 반환합니다.
Simulink 모델의 차트에서는 time_unit
을 초(sec
), 밀리초(msec
) 또는 마이크로초(usec
)로 지정합니다. n
을 표현식으로 지정하면 시뮬레이션 중에 표현식의 값이 변경됨에 따라 차트가 시간 지연을 조정합니다.
MATLAB®의 독립 실행형 차트에서는 0.001
및 time_unit
보다 크거나 같은 값을 가진 n
을 초(sec
)로 지정합니다. 연산자는 차트를 웨이크업 상태로 만들기 위한 암시적 이벤트를 생성하는 MATLAB timer
객체를 만듭니다. MATLAB timer
객체의 정밀도는 1밀리초로 제한됩니다. 자세한 내용은 Events in Standalone Charts 항목을 참조하십시오.
timer
객체는 차트가 관련 상태와 그 하위 상태의entry
동작 실행을 마칠 때 만들어집니다.n
을 차트 실행 중에 값이 변경되는 표현식으로 지정하면 차트는timer
객체의 시간 지연을 조정하지 않습니다.관련 상태가 활성화되면 차트 스텝의 끝에서
timer
객체가 실행되기 시작합니다. 이 스텝에는 차트에 있는 다른 병렬 상태의 실행이 포함될 수 있습니다.timer
객체로부터 암시적 이벤트를 수신할 때 다른 작업을 처리 중인 경우 차트는 이벤트를 대기열에 넣습니다. 차트는 현재 스텝이 완료되면 해당 이벤트를 처리합니다.차트가 암시적 이벤트를 처리하기 전에 시간 논리 연산자와 연결된 상태가 비활성화되면 이벤트는 차트를 웨이크업 상태로 만들지 않습니다.
예제
팁
따옴표를 사용하여 키워드
'tick'
,'sec'
,'msec'
,'usec'
를 묶을 수 있습니다. 예를 들어,after(5,'tick')
은after(5,tick)
과 같습니다.Stateflow 차트는 관련 상태가 다시 활성화될 때마다
after
연산자가 사용하는 카운터를 재설정합니다.절대시간 시간 논리 연산자의 시간 설정은 Stateflow 차트의 유형에 따라 달라집니다.
Simulink 모델의 차트는 시뮬레이션 시간의 관점에서 절대시간 시간 논리를 정의합니다.
MATLAB의 독립 실행형 차트는 절대시간 시간 논리를 1밀리초의 정밀도로 제한되는 벽 시계 시간의 관점에서 정의합니다.
시간 설정의 차이가 차트의 작동 방식에 영향을 미칠 수 있습니다. 예를 들어 이 차트가 상태
A
의during
동작을 실행한다고 가정하겠습니다.Simulink 모델에서
f
에 대한 함수 호출은 단일 시간 스텝에서 실행되며 시뮬레이션 시간에 기여하지 않습니다. 상태A
에서 상태B
로의 천이는 차트가 처음 웨이크업 상태가 되고 상태A
가 최소 2초 동안 활성화되었을 때 발생합니다. 상태B
에서entry
동작에 의해 표시되는 값은 Simulink 솔버에서 사용하는 스텝 크기에 의해서만 달라집니다.독립 실행형 차트에서
f
에 대한 함수 호출은 완료되는 데 몇 초의 벽 시계 시간이 걸릴 수 있습니다. 호출이 2초 이상 지속될 경우 차트는after
연산자와 관련된 암시적 이벤트를 대기열에 넣습니다. 상태A
에서 상태B
로의 천이는 함수f
의 실행이 끝날 때 일어납니다. 상태B
에서entry
동작에 의해 표시되는 값은f
에 대한 함수 호출이 완료되는 데 걸리는 시간에 따라 달라집니다.
버전 내역
R2014b에 개발됨