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