이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
모델 콜백
모델 콜백은 모델을 불러온 후나 저장한 후와 같은 특정 작업 지점에서 실행됩니다.
모델 콜백을 사용하여 Automatically Initialize Variables and Load Data 등의 일반적인 작업을 수행할 수 있습니다.
라이브러리에 대부분의 동일한 콜백을 설정할 수 있습니다. 라이브러리에 대해 실행할 수 있는 콜백만 라이브러리에 설정할 수 있습니다. 예를 들어, 라이브러리는 시뮬레이션할 수 없으므로 시뮬레이션의 일부로 호출되는 InitFcn
콜백은 라이브러리에 설정할 수 없습니다.
모델 콜백 만들기
Simulink® 툴스트립의 모델링 탭에서 설계 갤러리의 속성 인스펙터를 클릭합니다.
모델 또는 참조된 모델의 최상위 수준에서 선택 항목이 없는 경우 속성 탭의 콜백 섹션에서 설정할 콜백을 선택합니다.
참고
블록 콜백은 모델 콜백과 다릅니다. 참조된 모델에 대한 모델 콜백을 설정하기 위해 Model 블록을 선택하면 안 됩니다.
상자에 콜백이 수행하려는 함수를 입력합니다.
프로그래밍 방식으로 모델 콜백을 만들려면 set_param
함수를 사용하여 MATLAB® 코드를 모델 콜백 파라미터에 할당하십시오.
모델 콜백 파라미터
모델 콜백 파라미터 | 실행 시점 |
---|---|
| 모델을 불러오기 전에 실행됩니다. 모델을 불러온 후에 파라미터를 불러오므로 이 파라미터에 콜백 코드를 정의하면 모델이 사용하는 변수를 불러오는 데 유용합니다. MATLAB 파일에서 모델을 열지 않고 호출하려면 예제는 Automatically Initialize Variables and Load Data 항목을 참조하십시오. 다음과 같은 제한 사항이 있습니다. |
| 모델을 불러온 후에 실행됩니다. 이 파라미터에 콜백 코드를 정의하면 불러온 모델이 필요한 인터페이스를 생성하는 데 유용할 수 있습니다. 다음과 같은 제한 사항이 있습니다.
Simulink 편집기는 이 콜백이 실행된 후에 열리므로 |
| 블록 파라미터를 평가하기 전 업데이트 단계 중에 실행됩니다. 이 콜백은 모델을 업데이트하고 시뮬레이션 중에 호출됩니다. 모델의 구조체를 수정하는 참조된 모델의 내용을 수정하는
예제는 Call MATLAB Function Files in MATLAB Function Blocks 항목을 참조하십시오. |
| 시뮬레이션 단계 전에 실행됩니다. 이 콜백은 모델을 업데이트하는 중에 호출되지 않습니다. 이 콜백은 빠른 재시작에서 시뮬레이션을 실행할 때마다 호출됩니다. |
| 시뮬레이션이 일시 중지된 후에 실행됩니다. |
| 시뮬레이션이 계속되기 전에 실행됩니다. |
| 시뮬레이션이 중지된 후에 실행됩니다. 출력은 시뮬레이션 출력은 명령줄 시뮬레이션을 목적으로 이 콜백은 빠른 재시작에서 시뮬레이션을 실행할 때마다 호출됩니다. |
| 모델이 저장되기 전에 실행됩니다. |
| 모델이 저장된 후에 실행됩니다.
|
| 블록 다이어그램을 닫기 전에 실행됩니다. 모델의 블록에 설정된 모든 |
참조된 모델 콜백
모델 계층 구조에서 콜백의 실행은 최상위 모델과 최상위 모델이 참조하는 모델이 콜백을 실행하는 순서를 반영합니다. 예를 들어, 다음을 가정하겠습니다.
모델 A:
액셀러레이터 모드에서 모델 B를 참조합니다.
MATLAB 작업 공간에서 변수를 만드는
PostLoadFcn
콜백을 포함합니다.항상
,변경 사항이 감지된 경우
또는알려진 종속성의 변경 사항이 감지된 경우
로 설정된 재빌드 구성 파라미터를 포함합니다.
모델 B:
MATLAB 작업 공간을 지우는
CloseFcn
콜백을 포함합니다.빌드되지 않았거나 최신 상태가 아닙니다.
A를 시뮬레이션하면 참조된 모델 B의 재빌드가 트리거됩니다. Simulink가 모델 B를 재빌드하면 모델 B를 연 후 모델 B를 닫으면서 모델 B의 CloseFcn
콜백을 호출합니다. CloseFcn
은 모델 A의 OpenFcn
콜백으로 생성된 변수를 비롯하여 MATLAB 작업 공간을 지웁니다.
모델 B의 CloseFcn
콜백을 사용하는 대신 모델 A에서 StopFcn
콜백을 사용하여 모델에서 사용한 변수를 MATLAB 작업 공간에서 지울 수 있습니다. 또는 데이터 사전을 사용하여 데이터가 기본 작업 공간에 변수를 포함하는 것을 방지할 수도 있습니다.
Model 블록의 시뮬레이션 모드는 참조된 모델의 모델 콜백이 실행되는 시점에 영향을 줍니다.
Model 블록의 시뮬레이션 모드 | 동작 |
---|---|
표준 | 모델을 컴파일하는 동안 Simulink는 표준 모드로 시뮬레이션하도록 구성되어 있고 아직 불러오지 않은 각 참조된 모델을 불러옵니다. 대부분의 경우 Simulink는 모델을 참조하는 Model 블록의 개수와 상관없이 표준 모드의 참조된 모델을 각각 한 번씩 컴파일합니다.
참조된 모델은 모델 컴파일 후에도 불러온 상태로 유지됩니다. |
액셀러레이터 | 모델 컴파일 도중 Simulink는 재빌드 설정과 시뮬레이션 대상에 따라 액셀러레이터 모드로 시뮬레이션하도록 구성된 참조 모델을 열고 닫을 수 있습니다. 모델 컴파일 전에 열린 모델은 열려 있는 상태로 유지됩니다. Simulink는 일부 콜백을 실행하지 않습니다.
|
모델 참조 시뮬레이션 모드에 대한 자세한 내용은 Choose Simulation Modes for Model Hierarchies 항목을 참조하십시오.