Задайте частоту дискретизации входного порта
real_T ssSetInputPortSampleTime(SimStruct *S, int_T inputPortIdx, real_T period)
S
SimStruct, представляющий Блок s-function.
inputPortIdx
Индекс входного порта, частота дискретизации которого устанавливается.
period
Демонстрационный период.
Значение real_T
частоты дискретизации передается в макрос.
Используйте в mdlInitializeSizes
(после ssSetNumInputPorts
), чтобы задать период частоты дискретизации как непрерывный или как дискретное значение для каждого входного порта. Индексы входного порта запускаются в 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
.