mdlSetInputPortSampleTime

Установите шаг расчета входного порта, который наследовал его шаг расчета от порта, до которого он соединяется

Необходимый

Нет

Языки

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.

port

Индекс порта.

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.00.0
Дискретныйperiodoffset

Постоянный, инициированный, и шаги расчета переменного шага не распространены к S-функциям с основанными на порте шагами расчета.

Обычно mdlSetInputPortSampleTime называется однажды на порт с шагом расчета входного порта. Однако могут быть случаи, где эта функция вызвана несколько раз. Это происходит, когда механизм симуляции преобразует времена непрерывной выборки в непрерывный, но фиксированное в шагах расчета незначительных шагов. Когда это происходит, исходные значения шагов расчета, заданных в mdlInitializeSizes восстанавливаются, прежде чем этот метод называется снова.

Итоговый шаг расчета, заданный в порте, может отличаться от (но может быть эквивалентен), шаг расчета, заданный этим методом. Это происходит когда

  • Модель использует решатель фиксированного шага, и порт имеет непрерывное, но фиксированное в шаге расчета незначительного шага. В этом случае механизм Simulink преобразует шаг расчета в основной шаг расчета для модели.

  • Механизм настраивает шаг расчета, чтобы быть максимально численно звуковым. Например, механизм преобразует [0.2499999999999, 0] к [0.25, 0].

S-функция может исследовать итоговые шаги расчета в mdlInitializeSampleTimes.

Представлено до R2006a