Задайте шаг расчета порта входа
real_T ssSetInputPortSampleTime(SimStruct *S, int_T inputPortIdx, real_T period)
S
SimStruct, представляющий блок S-Function.
inputPortIdx
Индекс порта входа, шаг расчета которого устанавливается.
period
Период дискретизации.
The real_T
значение шага расчета, прошедшего в макрос.
Использование в mdlInitializeSizes
(после ssSetNumInputPorts
), чтобы задать период шага расчета как непрерывный или как дискретное значение для каждого порта входа. Input port индекса начинаются с 0 и заканчиваются общим количеством портов входа минус 1. Для непрерывного шага расчета задайте period
как CONTINUOUS_SAMPLE_TIME
. Чтобы наследовать шаг расчета, задайте период следующим INHERITED_SAMPLE_TIME
. Использовать этот макрос следует только в том случае, если заданы шаги расчета на основе портов.
Если S-функция задает INHERITED_SAMPLE_TIME
для любого из своих портов S-функция должна включать в себя
метод коллбэка. Метод коллбэка должен задать шаг расчета и смещение портов, которые наследуют их шаг расчета, до состояния, которое имеет Simulink® engine присваивает им с помощью своих шагов расчета правил распространения. Метод коллбэка может также назначить шаги расчета и смещения других портов на блоке, шаги расчета которых наследуются.mdlSetInputPortSampleTime
C, C++
Смотрите S-функцию sfun_multirate.c
используется в sfcndemo_sfun_multirate
.