Структуры параметров

Создайте структуру в сгенерированном коде. Структура хранит данные о параметре.

C построение

typedef struct {
  double G1;
  double G2;
} myStructType;

myStructType myStruct = {
  2.0,
  -2.0
} ; 

Процедура

1. Откройте модель rtwdemo_paraminline в качестве примера.

2. На вкладке Modeling нажмите Model Data Editor. В Model Data Editor выберите вкладку Parameters.

3. В модели щелкните, блок Gain пометил G1. В Model Data Editor используйте Столбец значений, чтобы установить значение параметра Усиления к myStruct.G1.

4. Установите значение параметра Усиления в G2 блокируйтесь к myStruct.G2.

5. Рядом с myStruct.G2, кликните по кнопке действий (с тремя вертикальными точками) и выберите Create.

6. В диалоговом окне Create New Data, установленном Значении к Simulink.Parameter(struct) и нажмите Create. Simulink.Parameter возразите названному myStruct появляется в базовом рабочем пространстве.

7. В диалоговом окне свойства Simulink.Parameter, рядом со свойством Value, кликают по кнопке действий и выбирают Open Variable Editor.

8. Щелкните правой кнопкой по пробелу в соответствии с Полевым столбцом и выберите New. Назовите новое поле G1 структуры. Используйте Столбец значений, чтобы установить значение поля к 2.

9. Добавьте поле G2 чьим значением является -2, и затем закройте Редактора переменных.

10. В Simulink. Диалоговое окно свойства Parameter, на вкладке Code Generation, установило Класс памяти на ExportedGlobal. Структура myStruct появляется в сгенерированном коде как глобальная переменная.

11. Сгенерируйте код из модели.

Результаты

Сгенерированный заголовочный файл rtwdemo_paraminline_types.h задает тип структуры, который имеет случайное имя.

typedef struct {
  real_T G1;
  real_T G2;
} struct_6h72eH5WFuEIyQr5YrdGuB;

Исходный файл rtwdemo_paraminline.c задает и инициализирует переменную myStruct структуры.

/* Exported block parameters */
struct_6h72eH5WFuEIyQr5YrdGuB myStruct = {
  2.0,
  -2.0
} ;                                    /* Variable: myStruct
                                        * Referenced by:
                                        *   '<Root>/G1'
                                        *   '<Root>/G2'
                                        */

Задайте имя типа структуры

1. Опционально, задайте имя, чтобы использовать для определения типа структуры (struct). В командной строке используйте функциональный Simulink.Bus.createObject создать Simulink.Bus объект, который представляет тип структуры.

2. Именем по умолчанию объекта является slBus1. Поменяйте имя путем копирования объекта в новую переменную MATLAB.

3. В Model Data Editor нажмите кнопку дополнительной информации Show/refresh.

4. В таблице данных найдите строку, которая соответствует myStruct. Используйте столбец Типа данных, чтобы установить тип данных myStruct к Bus: myStructType.

5. Сгенерируйте код из модели.

Код генерирует определение типа структуры myStructType и использование этот тип, чтобы задать глобальную переменную myStruct.

myStructType myStruct = {
  2.0,
  -2.0
} ;                                    /* Variable: myStruct

Похожие темы