hasChangedFrom
Stateflow 차트에서 데이터가 지정된 값에서 변경되었는지 감지
설명
data 값이 이전 시간 스텝 시작 시의 value와 같고 현재 시간 스텝 시작 시의 값과 다른 경우 는 tf = hasChangedFrom(data,value)1(true)을 반환합니다. 그렇지 않으면 연산자는 0(false)을 반환합니다.
예제
입력 인수
제한 사항
Stateflow 진리표 내에서는 사용할 수 없습니다.
팁
동일한 시간 스텝에서 여러 입력 이벤트가 발생하는 경우
hasChangedFrom연산자는 입력 이벤트 사이의 데이터 값 변경을 감지할 수 있습니다.차트가 데이터 객체에 쓰지만 데이터 값을 변경하지 않는 경우,
hasChangedFrom연산자는false를 반환합니다.Stateflow 차트의 유형에 따라 변경 감지 연산자에서 지원하는 데이터 범위가 결정됩니다.
MATLAB의 독립 실행형 Stateflow 차트:
로컬만Simulink® 모델에서 MATLAB을 동작 언어로 사용하는 차트:
입력만Simulink 모델에서 C를 동작 언어로 사용하는 차트:
입력,출력,로컬또는데이터 저장소 메모리
MATLAB의 독립 실행형 차트에서 변경 감지 연산자는
step함수 호출에 지정된 데이터의 변경을 감지할 수 있는데, 그 이유는 이러한 변경이 현재 시간 스텝의 시작 전에 발생하기 때문입니다. 예를 들어,x가 0인 경우 다음 명령으로 차트ch를 실행하면 표현식hasChangedFrom(x,0)은true를 반환합니다.이와 반대로 변경 감지 연산자는 동일한 시간 스텝에서 상태 동작 또는 천이 동작에서 대입으로 인해 발생하는 데이터의 변경을 감지할 수 없습니다. 대신 연산자는 다음 시간 스텝 시작 시 값의 변경을 감지합니다.step(ch,x=1);
Simulink 모델의 차트에서 차트 옵션 차트가 웨이크업 상태가 될 때마다 출력 초기화를 활성화한 경우
hasChanged연산자의 인수로 출력을 사용하면 항상false가 반환됩니다. 자세한 내용은 차트가 웨이크업 상태가 될 때마다 출력 초기화 항목을 참조하십시오.hasChangedFrom을 사용하는 차트에서 행 우선 배열 레이아웃이 활성화되어 있으면 코드 생성 시 오류가 발생합니다.hasChangedFrom을 사용하는 차트에서 코드를 생성하기 전에 열 우선 배열 레이아웃을 활성화하십시오. Select Array Layout for Matrices in Generated Code 항목을 참조하십시오.
버전 내역
R2007a에 개발됨




