exponenta event banner

ssSetRunTimeParamInfo

Укажите атрибуты параметра времени выполнения

Синтаксис

void ssSetRunTimeParamInfo(SimStruct *S, int_T param,
  ssParamRec *info)

Аргументы

S

SimStruct представляет S-функциональный блок.

param

Индекс параметра времени выполнения.

info

ssParamRec структура, содержащая атрибуты параметра времени выполнения.

Описание

Используйте эту функцию в mdlSetWorkWidths для указания информации о параметре времени выполнения. Использовать ssParamRec для передачи атрибутов параметра функции. Дополнительные сведения см. в разделе Создание и обновление параметров времени выполнения S-функции.

Структура ssParamRec

simstruc.h макрос определяет эту структуру следующим образом:

typedef struct ssParamRec_tag {
    const char *name;          
    int_T      nDimensions;    
    int_T      *dimensions;    
    DTypeId    dataTypeId;     
    boolean_T  complexSignal;   
    void       *data;
    const void *dataAttributes;
    int_T      nDlgParamIndices;
    int_T      *dlgParamIndices;   
    TransformedFlag transformed; /* Transformed status */
    boolean_T  outputAsMatrix;   /* Write out parameter 
                                  * as a vector (false)
                                  * [default] or a matrix (true)
                                  */
} ssParamRec;

Запись содержит следующие поля.

name

Имя параметра. Это должно указывать на постоянную память. Не устанавливать локальную переменную (static char name[32] или имя вектора символа в порядке).

nDimensions

Количество размеров, которое имеет этот параметр.

dimensions

Массив, задающий размер каждого измерения параметра.

dataTypeId

Тип данных параметра. Список встроенных типов данных см. в разделе ssGetInputPortDataType.

complexSignal

Указывает, имеет ли этот параметр в качестве значений комплексные числа (true) или вещественные числа (false).

data

Указатель на значение этого параметра времени выполнения. Если параметр является вектором или матрицей или комплексным числом, это поле указывает на массив значений, представляющих элементы параметра. Сложные сигналы Simulink ® сохраняются с чередованием. Аналогично, сложные параметры времени выполнения должны храниться с чередованием. Обратите внимание, чтоmxArrays сохраняет действительную и комплексную части комплексных матриц как две отдельные смежные части данных вместо перемежения действительной и комплексной частей.

Примечание

ssSetRunTimeParamInfo в этом поле должно быть установлено фактическое значение параметра. Это необходимо для того, чтобы Simulink Coder™ правильно выполнил оптимизацию пула параметров. Если не удается установить поле данных во время регистрации и затем заполнить его на более позднем этапе, может появиться ошибка, указывающая на то, что некоторые параметры были неправильно объединены друг с другом.

dataAttributes

Указатель атрибутов данных является постоянным местом хранения, где S-функция может хранить дополнительную информацию, описывающую данные, и затем восстанавливать эту информацию позже (потенциально в другой функции).

nDlgParamIndices

Количество диалоговых параметров, используемых для вычисления этого параметра времени выполнения.

dlgParamIndices

Индексы диалоговых параметров, используемых для вычисления этого параметра времени выполнения.

transformed

Указывает связь между этим параметром времени выполнения и диалоговыми параметрами, указанными dlgParamIndices. Это поле может иметь любое из следующих значений, определенных TransformFlag в simstruc.h.

  • RTPARAM_NOT_TRANSFORMED

    Указывает, что этот параметр времени выполнения соответствует одному диалоговому параметру (nDialogParamIndices равен единице) и имеет то же значение, что и параметр диалогового окна.

  • RTPARAM_TRANSFORMED

    Указывает, что значение этого параметра времени выполнения зависит от значений нескольких диалоговых параметров (nDialogParamIndices > 1) или что этот параметр времени выполнения соответствует одному диалоговому параметру, но имеет другое значение или тип данных.

  • RTPARAM_MAKE_TRANSFORMED_TUNABLE

    Указывает, что этот параметр времени выполнения соответствует одному настраиваемому диалоговому параметру (nDialogParamIndices является единицей) и что значение параметра времени выполнения или тип данных отличаются от значений параметра диалогового окна. Во время создания кода продукт Simulink Coder записывает тип данных и значение параметра времени выполнения (а не параметра диалога) в файл Simulink Coder. Например, предположим, что параметр диалогового окна содержит переменную рабочего пространства k типа double и ценность 1. Далее предположим, что S-функция устанавливает тип данных соответствующей переменной времени выполнения в int8 и значение параметра времени выполнения для 2. В этом случае во время генерации кода продукт Simulink Coder записывает k в файл Simulink Coder в качестве int8 переменная с начальным значением 2.

outputAsMatrix

Указывает, следует ли записывать значения этого параметра в model.rtw файл в виде матрицы (true) или вектора (false).

Языки

C, C++

Пример

См. S-функцию sfun_runtime4.c используется в sfcndemo_runtime.

Представлен до R2006a