Запишите информацию о настраиваемом параметре в
файлmodel
.rtw
int_T ssWriteRTWParameters(SimStruct *S, int_T nParams, int_T paramType, const char_T *paramName, const char_T *stringInfo, ...)
S
SimStruct, представляющий Блок s-function.
nParams
Количество настраиваемых параметров.
paramType
Тип параметра (см. Параметр Специфичные для типа Аргументы).
paramName
Имя параметра.
stringInfo
Общая информация о параметре, такой как, как это было выведено.
...
Остающиеся аргументы зависят от типа параметра (см. Параметр Специфичные для типа Аргументы).
int_T
(1 или
0
) или boolean_T
TRUE
или false
) указание на успешность или неуспешность функции.
Используйте эту функцию в mdlRTW
записать информацию о настраиваемом параметре в
этой S-функцииmodel
файл. Ваша S-функция должна выписать параметры в том же порядке, как они объявляются в начале S-функции..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
, массив значений принят, чтобы иметь действительные и мнимые части, расположенные чередованным способом (i.e., формат Simulink®). Если вы предпочитаете передавать действительные и мнимые части как два отдельных массива, необходимо использовать макрос ssWriteRTWMxVectParam
или ssWriteRTWMx2dMatParam
.
C, C++