Main Content

at

이벤트 브로드캐스트 또는 지정된 시간에 차트 실행

설명

예제

at(n,E)는 관련 상태가 활성화된 후 이벤트 E가 정확히 n번 발생한 경우 true를 반환합니다. 그 외에는 연산자가 false를 반환합니다.

예제

at(n,tick)은 관련 상태가 활성화된 후 차트가 정확히 n번 웨이크업 상태가 된 경우 true를 반환합니다. 그 외에는 연산자가 false를 반환합니다.

Simulink® 모델의 Stateflow® 차트에 입력 이벤트가 있는 경우 묵시적 이벤트 tick은 지원되지 않습니다.

예제

at(n,sec)는 관련 상태가 활성화된 후 정확히 n초가 경과한 경우 true를 반환합니다. 그 외에는 연산자가 false를 반환합니다.

MATLAB®의 독립 실행형 차트에서는 0.001보다 크거나 같은 값을 가진 n을 지정합니다. 연산자는 차트를 웨이크업 상태로 만들기 위한 묵시적 이벤트를 생성하는 MATLAB timer 객체를 만듭니다. MATLAB timer 객체의 정밀도는 1밀리초로 제한됩니다. 자세한 내용은 Events in Standalone Charts 항목을 참조하십시오.

  • timer 객체는 차트가 관련 상태와 그 하위 상태의 entry 동작 실행을 마칠 때 만들어집니다. n을 차트 실행 중에 값이 변경되는 표현식으로 지정하면 차트는 timer 객체의 시간 지연을 조정하지 않습니다.

  • 관련 상태가 활성화되면 차트 스텝의 끝에서 timer 객체가 실행되기 시작합니다. 이 스텝에는 차트에 있는 다른 병렬 상태의 실행이 포함될 수 있습니다.

  • timer 객체로부터 묵시적 이벤트를 수신할 때 다른 작업을 처리 중인 경우 차트는 이벤트를 대기열에 넣습니다. 차트는 현재 스텝이 완료되면 해당 이벤트를 처리합니다.

  • 차트가 묵시적 이벤트를 처리하기 전에 시간 논리 연산자와 연결된 상태가 비활성화되면 이벤트는 차트를 웨이크업 상태로 만들지 않습니다.

참고

이 구문은 MATLAB의 독립 실행형 차트에서만 지원됩니다. Simulink 모델 내부 차트의 경우 대신 after 연산자를 사용합니다. 자세한 내용은 Do Not Use at for Absolute-Time Temporal Logic in Charts in Simulink Models 항목을 참조하십시오.

예제

모두 확장

상태가 활성화된 후 차트가 이벤트 E의 세 번째 브로드캐스트를 처리할 때 상태 메시지를 표시합니다.

on at(3,E): disp("ON");

Stateflow chart that uses the at operator in a state.

상태가 활성화된 후 차트가 이벤트 E의 다섯 번째 브로드캐스트를 처리할 때 관련 상태에서 천이됩니다.

at(5,E)

Stateflow chart that uses the at operator in a transition.

상태가 이벤트 E의 정확히 5회 브로드캐스트 동안 활성화되어 있었던 경우 관련 상태에서 천이됩니다.

Simulink 모델의 차트에 다음을 입력합니다.

[at(5,E)]

Stateflow chart that uses the at operator in a transition.

MATLAB의 독립 실행형 차트에서는 시간 논리 연산자에 대한 조건부 표기법이 지원되지 않습니다.

상태가 활성화된 후 차트가 일곱 번째로 웨이크업 상태가 될 때 관련 상태에서 천이되지만, 변수 temp가 98.6보다 큰 경우에만 천이됩니다.

at(7,tick)[temp > 98.6]

Stateflow chart that uses the at operator in a transition.

상태가 정확히 12.3초 동안 활성화되어 있었던 경우 temp 변수를 HIGH로 설정합니다.

MATLAB의 독립 실행형 차트에 다음을 입력합니다.

on at(12.3,sec): temp = HIGH;

Stateflow chart that uses the at operator in a state.

every를 절대시간 시간 논리 연산자로 사용하는 것은 Simulink 모델의 차트에서 지원되지 않습니다.

  • 따옴표를 사용하여 키워드 'tick', 'sec'를 묶을 수 있습니다. 예를 들어, at(5,'tick')at(5,tick)과 동일합니다.

  • Stateflow 차트는 관련 상태가 다시 활성화될 때마다 at 연산자가 사용하는 카운터를 재설정합니다.

  • MATLAB의 독립 실행형 차트는 절대시간 시간 논리를 1밀리초의 정밀도로 제한되는 wall-clock 시간의 관점에서 정의합니다.

버전 내역

R2014b에 개발됨