Создайте структуру в сгенерированном коде. Структура хранит данные о параметре.
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