재사용을 위해 Stateflow 함수 내보내기
함수를 내보내 Stateflow® 차트에 있는 차트 수준 함수의 범위를 Simulink® 모델의 다른 블록으로 확장할 수 있습니다. 다음을 내보낼 수 있습니다.
그래픽 함수
MATLAB® 함수
Simulink 함수
진리표
차트 수준 함수를 내보내면 다른 Stateflow 차트와 Simulink Caller® 블록에서 호출할 수 있습니다.
과 같은 정규화된 표기법을 사용하여 호출할 수 있는 차트 수준 함수를 내보내려면 Chart에 설명된 대로 차트 수준 함수 내보내기를 선택합니다.chartName.functionName정규화된 표기법을 사용하지 않고 호출할 수 있는 차트 수준 함수를 내보내려면 차트 수준 함수 내보내기를 선택한 다음 내보낸 함수를 전역적으로 볼 수 있는 함수로 취급을 선택합니다. 이름이 동일한 함수는 내보낼 수 없습니다.
자세한 내용은 Call a Simulink Function from a Model (Simulink) 항목을 참조하십시오.
Stateflow 차트 전반에서 함수 공유하기
이 예제에서는 다른 Stateflow 차트에서 내보낸 함수를 Simulink 모델에서 호출하는 방법을 보여줍니다. 이 모델에는 메인 Stateflow 차트 mainChart와 2개의 보조 라이브러리 차트 lib1Chart와 lib2Chart가 포함되어 있습니다. 각 차트에는 차트 수준 그래픽 함수가 포함되어 있으며, 차트 수준 함수 내보내기 차트 속성과 내보낸 함수를 전역적으로 볼 수 있는 함수로 취급 차트 속성이 모두 활성화되어 있습니다.

메인 차트는 2개의 데이터 객체 x와 y를 포함하며, 각 객체의 초기값은 0과 1입니다. 모델을 시뮬레이션하면 이 차트의 디폴트 천이는 이 값을 인수로 사용하여 함수 lib1_func을 호출합니다.

함수 lib1_func는 라이브러리 차트 lib1Chart에 정의되어 있습니다. 이 함수는 해당 입력 인수를 읽어와 함수 lib2_func로 전달합니다.

함수 lib2_func는 라이브러리 차트 lib2Chart에 정의되어 있습니다. 이 함수는 해당 입력 인수를 읽어와 함수 main_func로 전달합니다.

함수 main_func는 메인 차트에 정의되어 있습니다. 이 함수는 입력 인수를 추가하고, 결과를 반환합니다. 메인 차트는 이 결과를 출력 데이터 x로 저장합니다. 함수 호출의 시퀀스는 시뮬레이션의 각 시간 스텝에서 반복됩니다. Scope 블록은 시뮬레이션 중에 증가하는 x의 값을 보여줍니다.

차트 수준 함수 내보내기에 대한 지침
지원되지 않는 입력값 또는 출력값이 포함된 차트 수준 함수 내보내지 않기
입력값 또는 출력값이 다음 속성 중 하나를 가질 경우 차트 수준 함수를 내보낼 수 없습니다.
워드 길이가 32비트보다 큰 고정소수점 데이터형
가변 크기
모델 참조 경계를 넘어 함수 내보내지 않기
참조된 모델로부터 함수를 내보낼 수 없고, 부모 모델로부터 함수를 호출할 수도 없습니다.
코드 생성 시 출력 함수와 업데이트 함수를 함께 사용하기
내보낸 차트 수준 함수를 사용하는 모델에 대해 코드를 생성하는 경우, 모델 구성 파라미터 단일 출력/업데이트 함수 (Simulink Coder)를 활성화하여 시뮬레이션과 코드 생성 간의 동작 일관성을 유지하십시오.