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