Установите размерности сигналов, принятых входным портом
Нет
C, C++
#define MDL_SET_INPUT_PORT_DIMENSION_INFO
void mdlSetInputPortDimensionInfo(SimStruct *S, int_T port,
const DimsInfo_T *dimsInfo)
S
SimStruct, представляющий Блок s-function.
порт
Индекс порта.
dimsInfo
Структура, которая задает размерности сигнала, поддержанные портом.
Смотрите ssSetInputPortDimensionInfo
для описания этой структуры.
Механизм Simulink® вызывает этот метод во время распространения размерности с размерностями кандидата dimsInfo
для port
. В S-функциях MEX C, если предложенные размерности приемлемы, метод устанавливает размерности фактического порта, с помощью
. Если они недопустимы, метод генерирует ошибку через ssSetInputPortDimensionInfo
. ssSetErrorStatus
Этот метод только допустим для моделирования. S-функция MEX C должна заключить метод в оператор #if defined(MATLAB_MEX_FILE)
.
Этот метод может установить размерности любого другого порта ввода или вывода, размерности которого выводят от размерностей port
.
По умолчанию механизм вызывает этот метод, только если это может полностью определить размерность port
от порта, до которого это соединяется. Для S-функций MEX C, если механизм не может полностью определить размерность от подключения порта, это вызывает mdlSetDefaultPortDimensionInfo
. Если S-функция может полностью определить размерность порта от частичной информации, установите опцию SS_OPTION_ALLOW_PARTIAL_DIMENSIONS_CALL
в mdlInitializeSizes
, с помощью ssSetOptions
. Если эта опция установлена, механизм вызывает mdlSetInputPortDimensionInfo
, даже если это может только частично определить размерность входного порта от возможности соединения.
Механизм вызывает этот метод, пока всем входным портам с наследованными размерностями не задали их размерности.
Смотрите sfun_matadd.c
для примера того, как использовать эту функцию.
ssSetErrorStatus
, mdlSetOutputPortDimensionInfo
, SetInputPortDimensions