Запишите информацию о настраиваемом параметре в файлmodel.rtw
int_T ssWriteRTWParameters(SimStruct *S, int_T nParams, int_T paramType, const char_T *paramName, const char_T *stringInfo, ...)
SSimStruct, представляющий Блок 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++