Установите частоту дискретизации входного порта, который наследовал его частоту дискретизации от порта, до которого она соединяется
Нет
C, C++
#define MDL_SET_INPUT_PORT_SAMPLE_TIME
void mdlSetInputPortSampleTime(SimStruct *S, int_T port,
real_T sampleTime, real_T offsetTime)
S
SimStruct, представляющий Блок s-function.
порт
Индекс порта.
'SampleTime'
Наследованная частота дискретизации для port
.
'OffsetTime'
Наследованное время смещения для port
.
Механизм Simulink® вызывает этот метод с частотой дискретизации, которую port
наследовал от порта, до которого это соединяется.
Для S-функций MEX C, если наследованная частота дискретизации приемлема, этот метод устанавливает частоту дискретизации port
к наследованному времени, с помощью ssSetInputPortSampleTime
и ssSetInputPortOffsetTime
. Если частота дискретизации недопустима, этот метод генерирует ошибку через ssSetErrorStatus
. Обратите внимание на то, что любым другим портам ввода или вывода, частоты дискретизации которых неявно заданы на основании знания частоты дискретизации данного порта, можно было также установить их частоты дискретизации через вызовы
или ssSetInputPortSampleTime
. Этот метод только допустим для моделирования и должен быть заключен в оператор ssSetOutputPortSampleTime
#if defined(MATLAB_MEX_FILE)
.
Механизм вызывает этот метод, пока все входные порты с наследованными частотами дискретизации не заданы.
Когда наследовано основанные на порте частоты дискретизации заданы, частота дискретизации, как гарантируют, будет одним из следующих где 0.0 < period < inf
и 0.0 <= offset < period
.
'SampleTime' | 'OffsetTime' | |
---|---|---|
Непрерывный | 0.0 | 0.0 |
Дискретный | period | offset |
Постоянный, инициированный, и частоты дискретизации переменного шага не распространены к S-функциям с основанными на порте частотами дискретизации.
Обычно mdlSetInputPortSampleTime
называется однажды на порт с частотой дискретизации входного порта. Однако могут быть случаи, где эта функция вызвана несколько раз. Это происходит, когда механизм моделирования преобразовывает времена непрерывной выборки в непрерывный, но фиксированное в частотах дискретизации незначительных шагов. Когда это происходит, исходные значения частот дискретизации, заданных в mdlInitializeSizes
, восстанавливаются, прежде чем этот метод называется снова.
Итоговая частота дискретизации, заданная в порте, может отличаться от (но может быть эквивалентна), частота дискретизации, заданная этим методом. Это происходит когда
Модель использует решатель фиксированного шага, и порт имеет непрерывное, но фиксированное в частоте дискретизации незначительного шага. В этом случае механизм Simulink преобразовывает частоту дискретизации в основную частоту дискретизации для модели.
Механизм настраивает частоту дискретизации, чтобы быть максимально численно звуковым. Например, механизм преобразовывает [0.2499999999999, 0]
в [0.25, 0]
.
S-функция может исследовать итоговые частоты дискретизации в mdlInitializeSampleTimes
.
ssSetInputPortSampleTime
, ssSetOutputPortSampleTime
, mdlInitializeSampleTimes
, SetInputPortSampleTime