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