Запись настраиваемой информации о параметрах в файлmodel.rtw
int_T ssWriteRTWParameters(SimStruct *S, int_T nParams, int_T paramType, const char_T *paramName, const char_T *stringInfo, ...)
SSimStruct представляет S-функциональный блок.
nParamsКоличество настраиваемых параметров.
paramTypeТип параметра (см. раздел Аргументы, специфичные для типа параметра).
paramNameИмя параметра.
stringInfoОбщая информация о параметре, например, способ его получения.
...Остальные аргументы зависят от типа параметра (см. раздел Аргументы, зависящие от типа параметра).
Один int_T (1 или 0) или boolean_T (true или false), указывающее на успех или неудачу функции.
Используйте эту функцию в mdlRTW для записи настраиваемой информации о параметрах в эту S-функцию файл. S-функция должна записывать параметры в том же порядке, в каком они объявлены в начале S-функции.model.rtw
Примечание
Эта функция обеспечивает совместимость с S-функциями, которые не используют параметры времени выполнения и будут устаревшими в будущих версиях. Рекомендуется использовать параметры времени выполнения (см. Создание и обновление параметров времени выполнения S-функции). Если используются параметры времени выполнения, использовать эту функцию не требуется.
В этом разделе перечислены аргументы параметров, требуемые для каждого типа параметров.
SSWRITE_VALUE_VECT (параметр вектора)
| Аргумент | Описание |
|---|---|
const real_T *valueVect | Указатель на массив векторных значений |
int_T vectLen | Длина вектора |
SSWRITE_VALUE_2DMAT (параметр матрицы)
| Аргумент | Описание |
|---|---|
const real_T *valueMat | Указатель на массив элементов матрицы |
int_T nRows | Количество строк в матрице |
int_T nCols | Количество столбцов в матрице |
SSWRITE_VALUE_DTYPE_2DMAT
| Аргумент | Описание |
|---|---|
const real_T *valueMat | Указатель на массив элементов матрицы |
int_T nRows | Количество строк в матрице |
int_T nCols | Количество столбцов в матрице |
int_T dtInfo | Тип данных элементов матрицы (см. раздел Указание информации о типе данных) |
SSWRITE_VALUE_DTYPE_ML_VECT
| Аргумент | Описание |
|---|---|
const void *rValueVect | Действительная составляющая комплексного вектора |
const void *iValueVect | Мнимая составляющая комплексного вектора |
int_T vectLen | Длина вектора |
int_T dtInfo | Тип данных вектора (см. раздел Указание информации о типе данных) |
SSWRITE_VALUE_DTYPE_ML_2DMAT
| Аргумент | Описание |
|---|---|
const void *rValueMat | X |
const void *iValueMat | Мнимая составляющая комплексной матрицы |
int_T nRows | Количество строк в матрице |
int_T nCols | Количество столбцов в матрице |
int_T dtInfo | Тип данных матрицы |
Вы получаете тип данных аргумента значения, переданного ssWriteRTW макросы с использованием
DTINFO(dTypeId, isComplex)
где dTypeId может быть любым из enum значения в DTypeID (SS_DOUBLE, SS_SINGLE, SS_INT8, SS_UINT8, SS_INT16, SS_UINT16, SS_INT32, SS_UINT32, SS_BOOLEAN) определено в sl_types_def.h. isComplex аргумент: 0 или 1.
Например, DTINFO(SS_INT32,0) - не сложное 32-разрядное целое число со знаком.
Если isComplex==1предполагается, что массив значений имеет действительную и мнимую части, расположенные перемежающимся образом (т.е. формат Simulink ®). Если вы предпочитаете передавать действительную и мнимую части как два отдельных массива, следует использовать макросssWriteRTWMxVectParam или ssWriteRTWMx2dMatParam.
C, C++