Применение S-функций в Simulink, страница 11

%==============================================================

% mdlOutputs

% Возвратить блочные выходы.

%==============================================================

%

function sys = mdlOutputs(t,x,u)

sys = x(1);

% конец mdlOutputs

%

%==============================================================

% mdlGetTimeOfNextVarHit

% Возвратить времЯ следующей выборки длЯ этого блока.

%Обратите внимание, что результат  - абсолютное времЯ.

%==============================================================

%

function sys = mdlGetTimeOfNextVarHit(t,x,u)

sys = t + u(2);

% Конец mdlGetTimeOfNextVarHit.

%=============================================================================

% mdlTerminate

% Завершить задачи моделированиЯ

%=============================================================================

%

function sys=mdlTerminate(t,x,u)

sys = [];

% Конец  mdlTerminate

mdlGetTimeOfNextVarHit возвращает "время следующего сэмплирования "  в моделировании, когда vsfunc  вызывают. Это означает, что нет никакого выхода от этой S-функции до времени следующего сэмплирования. В vsfunc, время следующего сэмплирования установлено в t + u (2), что означает, что второй вход, u (2), влияет на время, когда произойдет следующий вызов vsfunc.

Рис. Модель в Simulink.

Рис. Параметры моделирования.

Рис. Характер изменения второго входа S-функции.

Рис. Результаты моделирования.