Если для параметров блока в модели не используются константы, они отображаются в создаваемом коде как переменные. Можно выбрать способ отображения этих переменных в созданном коде. Дополнительные сведения см. в разделе Параметры блока в сгенерированном коде.
Для управления отображением параметров блока в сгенерированном коде:
Используйте переменные вместо констант для параметров блока.
Определите эти параметры в рабочей области MATLAB ® одним из следующих способов.
Использование сценария MATLAB для создания Simulink.Parameter объект. Запускайте сценарий каждый раз при загрузке модели.
Магазины Simulink ®Simulink.Parameter объекты вне модели. Затем вы можете поделиться Simulink.Parameter между несколькими моделями.
Используйте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters), чтобы сделать параметры настраиваемыми.
Simulink сохраняет глобальные настраиваемые параметры, заданные в диалоговом окне Параметры конфигурации (Configuration Parameters) вместе с моделью. Эти параметры нельзя совместно использовать в нескольких моделях.
Примечание
Значение параметра рабочей области MATLAB должно иметь тот же тип данных, что и в модели. В противном случае значение переменной в сгенерированном коде устанавливается равным нулю. См. раздел Ограничения типов данных параметров рабочей области.
Simulink.Parameter ОбъектыВ этом примере показано, как создать и изменить Simulink.Parameter объект.
Модель plcdemo_tunable_params_slparamobj иллюстрирует эти шаги. Модель содержит блок подсистемы SimpleSubsystem имеет три блока усиления с настраиваемыми параметрами, K1, K2, и K3.
Напишите сценарий MATLAB, определяющий настраиваемые параметры.
Следующий сценарий setup_tunable_params.m создает константы K1, K2, и K3 как Simulink.Parameter , присваивает значения и задает классы хранения для этих констант. Дополнительные сведения о классах хранения см. в разделе Параметры блоков в сгенерированном коде.
% tunable parameter mapped to local variable K1 = Simulink.Parameter; K1.Value = 0.1; K1.CoderInfo.StorageClass = 'Model default'; % tunable parameter mapped to global variable K2 = Simulink.Parameter; K2.Value = 0.2; K2.CoderInfo.StorageClass = 'ExportedGlobal'; % tunable parameter mapped to global const K3 = Simulink.Parameter; K3.Value = 0.3; K3.CoderInfo.StorageClass = 'Custom'; K3.CoderInfo.CustomStorageClass = 'Const';
Укажите, что сценарий setup_tunable_params.m необходимо выполнить перед загрузкой модели и очистить рабочую область MATLAB до закрытия модели.
В окне модели перейдите на вкладку Моделирование (Modeling) и выберите Свойства модели (Model Properties) в раскрывающемся списке Настройки модели (Model Settings).
В диалоговом окне Свойства модели (Model Properties) на вкладке Обратные вызовы (Callbacks) выберите PreLoadFcn. Войти setup_tunable_params для функции предварительной загрузки модели.

На вкладке «Обратные вызовы» выберите CloseFcn. Войти clear K1 K2 K3; для функции закрытия модели.
При каждом открытии модели переменные K1, K2, и K3 загружаются в базовое рабочее пространство. Переменные и их классы хранения можно просмотреть в обозревателе моделей.
Создайте код и проверьте его.
| Переменная | Класс хранения | Сгенерированный код (3S CoDeSys 2.3) |
|---|---|---|
K1 | Model default |
FUNCTION_BLOCK SimpleSubsystem
.
.
VAR
K1: LREAL := 0.1;
.
.
END_VAR
.
.
END_FUNCTION_BLOCK |
K2 | ExportedGlobal |
VAR_GLOBAL
K2: LREAL := 0.2;
END_VAR |
K3 | CoderInfo.CustomStorageClass установить в значение Const. |
VAR_GLOBAL CONSTANT
SS_INITIALIZE: SINT := 0;
K3: LREAL := 0.3;
SS_STEP: SINT := 1;
END_VAR |
В этом примере показано, как сделать параметры настраиваемыми с помощью диалогового окна Параметры конфигурации модели (Model Configuration Parameters).
Модель plcdemo_tunable_params иллюстрирует эти шаги. Модель содержит блок подсистемы SimpleSubsystem имеет три блока усиления с настраиваемыми параметрами, K1, K2, и K3.
Укажите, что переменные K1, K2, и K3 необходимо инициализировать перед загрузкой модели и очистить рабочую область MATLAB до закрытия модели.
На вкладке Моделирование (Modeling) выберите Свойства модели (Model Properties) в раскрывающемся списке Параметры модели (Model Settings).
В диалоговом окне Свойства модели (Model Properties) на вкладке Обратные вызовы (Callbacks) выберите PreLoadFcn. Войти K1=0.1; K2=0.2; K3=0.3; для функции предварительной загрузки модели.
На вкладке «Обратные вызовы» выберите CloseFcn. Войти clear K1 K2 K3; для функции закрытия модели.
На вкладке Моделирование (Modeling) выберите Параметры модели (Model Settings), чтобы открыть диалоговое окно Параметры конфигурации (Configuration Parameters).
Перейдите на панель Оптимизация. Укажите, что все параметры должны быть встроены в созданный код. Выбрать Inlined для параметра «Поведение по умолчанию».
Чтобы переопределить вложение и настроить отдельные параметры, нажмите кнопку «» Настроить «». В диалоговом окне «Конфигурация параметров модели» в списке «Источник» выберите Referenced workspace variables.
Ctrl + выберите параметры и щелкните Добавить в таблицу > >.
По умолчанию в этом диалоговом окне для всех параметров устанавливается значение SimulinkGlobal класс хранения. Установите квалификатор Класс склада и Тип склада, как показано на этом рисунке. Дополнительные сведения о классах хранения см. в разделе Параметры блоков в сгенерированном коде.

Создайте код и проверьте его.
| Переменная | Класс хранения | Сгенерированный код (3S CoDeSys 2.3) |
|---|---|---|
K1 | Model default |
FUNCTION_BLOCK SimpleSubsystem
.
.
VAR
K1: LREAL := 0.1;
.
.
END_VAR
.
.
END_FUNCTION_BLOCK |
K2 | ExportedGlobal |
VAR_GLOBAL
K2: LREAL := 0.2;
END_VAR |
K3 | CoderInfo.CustomStorageClass и квалификатор типа склада имеет значение Const. |
VAR_GLOBAL CONSTANT
SS_INITIALIZE: SINT := 0;
K3: LREAL := 0.3;
SS_STEP: SINT := 1;
END_VAR |