Создайте структуру в сгенерированном коде. Структура хранит данные о параметре.
typedef struct { double G1; double G2; } myStructType; myStructType myStruct = { 2.0, -2.0 } ;
1. Откройте модель rtwdemo_paraminline
в качестве примера.
2. Выберите View> 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, Класс памяти набора к 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