S-Function 콜백 메서드
콜백 메서드 개요
모든 S-Function은 콜백 메서드라고 하는 일련의 메서드를 구현해야 합니다. 이러한 메서드는 S-Function을 포함하는 모델을 시뮬레이션할 때 Simulink® 엔진이 호출합니다.
S-Function 콜백 메서드는 각 시뮬레이션 단계에서 필요한 작업을 수행합니다. 모델을 시뮬레이션하는 동안 각 시뮬레이션 단계에서 Simulink 엔진은 모델의 각 S-Function 블록에 대해 적절한 메서드를 호출합니다.
S-Function 콜백 메서드가 수행하는 작업은 다음과 같습니다.
초기화 — 첫 번째 시뮬레이션 루프 전에 엔진이 다음을 포함하여 S-Function을 초기화합니다.
S-Function에 대한 정보가 포함된 시뮬레이션 구조체인
SimStruct
초기화입력 포트와 출력 포트의 개수 및 차원 설정
블록 샘플 시간 설정
저장 영역 할당
다음 샘플 적중 계산 — 가변 샘플 시간 블록을 만든 경우 이 단계에서 다음 샘플 적중 시간을 계산합니다. 즉, 다음 스텝 크기를 계산합니다.
주 시간 스텝에서 출력 계산 — 이 호출이 완료된 후에는 모든 블록 출력 포트가 현재 시간 스텝에 대해 유효합니다.
주 시간 스텝에서 이산 상태 업데이트 — 이 호출에서 블록은 이산 상태 업데이트처럼 시간 스텝당 한 번 수행하는 작업들을 수행합니다.
적분 — 연속 상태 및/또는 샘플링되지 않은 영점교차가 있는 모델에 적용됩니다. S-Function에 연속 상태가 있는 경우 엔진은 보조 시간 스텝에서 S-Function의 출력 및 도함수 부분을 호출합니다. 이는 솔버가 S-Function의 상태를 계산할 수 있도록 하기 위한 것입니다. S-Function에 샘플링되지 않은 영점교차가 있는 경우 엔진은 영점교차를 찾을 수 있도록 보조 시간 스텝에서 S-Function의 출력 및 영점교차 부분도 호출합니다.
참고
주 시간 스텝 및 보조 시간 스텝에 대한 설명은 Simulation Phases in Dynamic Systems 항목을 참조하십시오.
일부 콜백 메서드는 선택 사항입니다. 엔진은 S-Function이 콜백을 정의한 경우에만 선택적 콜백을 호출합니다.
C MEX S-Function에 대한 콜백 메서드
필수 콜백 메서드
C MEX S-Function은 다음 콜백 메서드를 구현해야 합니다.
–mdlInitializeSizes
SimStruct
에 있는 다양한 파라미터의 크기를 지정합니다(예: 블록의 출력 포트 개수).
– 블록의 샘플 시간을 지정합니다.mdlInitializeSampleTimes
– 블록의 출력을 계산합니다.mdlOutputs
– 시뮬레이션 종료 시 필요한 동작을 수행합니다. 필요한 동작이 없으면 이 함수를 스텁으로 구현할 수 있습니다.mdlTerminate
선택적 콜백 메서드
다음 콜백 메서드는 선택 사항입니다. 엔진은 S-Function이 콜백을 정의한 경우에만 선택적 콜백을 호출합니다.
Level-2 MATLAB S-Function에 대한 콜백 메서드
필수 콜백 메서드
Level-2 MATLAB® S-Function은 다음 콜백 메서드를 구현해야 합니다.
콜백 메서드 작성에 대한 자세한 내용은 Write Level-2 MATLAB S-Functions 항목을 참조하십시오.
선택적 콜백 메서드
다음 콜백 메서드는 선택 사항입니다. 엔진은 S-Function이 콜백을 정의한 경우에만 선택적 콜백을 호출합니다.
참고 항목
Level-2 MATLAB S-Function | S-Function Builder | S-Function | MATLAB Function