В следующей таблице описываются свойства и значения свойств для mpt.Parameter
и mpt.Signal
объекты данных, которые появляются в Model Explorer.
Примечание
Можно создавать mpt.Signal
и mpt.Parameter
объекты в базовом MATLAB® или моделировать рабочую область. Однако, если вы создаете объект сигнала в рабочем пространстве модели, класс памяти объекта должен быть установлен на Auto
.
Рисунок ниже показывает пример Model Explorer. Когда вы выбираете mpt.Parameter
или mpt.Signal
объект данных на средней панели, его свойства и значения свойств отображаются на самой правой панели.
В столбце Свойства (Properties) в таблице перечислены свойства в том порядке, в котором они отображаются в Обозревателе моделей (Model Explorer).
Значения свойств параметра и сигнала
Класс: Параметр, Сигнал или Оба | Свойство | Доступные значения свойств (* Указывает на значение по умолчанию) | Описание |
---|---|---|---|
Параметр |
| Тип данных и числовое значение объекта данных. Для примера, | |
Оба | Используется для определения типа данных для | ||
Оба | * | Единицы измерения сигнала или параметра. (Введите текст в это поле.) | |
Оба |
| Размерность сигнала или параметра. Для параметра размерность определяется из его значения. | |
Оба |
| Комплексность определяет, является ли сигнал или параметр вещественным или комплексным числом. Выберите | |
Сигнал |
| Моделируйте или блокируйте скорость выполнения. | |
Сигнал |
| Определяет, как сигнал распространяется через модель. Выберите | |
Сигнал распространяется через модель по одной выборке за раз. | |||
Сигнал распространяется через модель в пакетах выборок. | |||
Оба | * | Минимальное значение, к которому ожидается привязка параметра или сигнала. | |
Число в минимальной области значений параметра или сигнала. (На основе типа данных и разрешения параметра или сигнала.) | |||
Оба | * | Максимальное значение, к которому ожидается привязка параметра или сигнала. (Введите информацию с помощью диалогового окна.) | |
Обратите внимание, что | |||
Оба |
| Указывает, что генератор кода не помещает квалификатор в объявление объекта данных. | |
Оба |
| Memory section позволяет вам задать директивы хранения для объекта данных. | |
Параметр | Помещает | ||
Оба | Помещает | ||
Параметр | Помещает | ||
Оба | Имя файла, используемого для импорта или экспорта объекта данных. Этот файл содержит объявление ( Кроме того, вы можете задать это имя файла заголовка между разделителем двойных кавычек или угловых скобок. Вы можете задать разделитель с | ||
Оба | * Пусто | Имя модуля, которому принадлежит этот сигнал или параметр. Это используется для определения принадлежности определения. Для получения дополнительной информации смотрите Управление размещением определений глобальных данных и объявлений в сгенерированных файлах. | |
Оба | * Пусто | Имя файла, который определяет объект данных. | |
Допустимый вектор символов | |||
Оба | Заданное число соответствует Signal display level или Parameter tune level на панели Code Placement диалогового окна Параметры конфигурации. Для сигнала позволяет вам задать, объявляет ли генератор кода объект данных глобальными данными. Для параметра позволяет вам задать, объявляет ли генератор кода объект данных настраиваемыми глобальными данными. Смотрите Signal display level и Parameter tune level в Параметры конфигурации модели: Размещение кода генерации кода. | ||
Оба | Встраивает логические данные в именованное битовое поле. | ||
Имя | |||
Параметр | Помещает | ||
Параметр | Заголовочный файл | См. выше. | |
Параметр | Владелец | См. выше. | |
Параметр | Файл определения | См. выше. | |
Параметр | Уровень стойкости | См. выше. | |
Оба | Помещает | ||
Оба | Заголовочный файл | См. выше. | |
Оба | Владелец | См. выше. | |
Оба | Файл определения | См. выше. | |
Оба | Уровень стойкости | См. выше. | |
Параметр | Помещает | ||
Параметр | Заголовочный файл | См. выше. | |
Параметр | Владелец | См. выше. | |
Параметр | Файл определения | См. выше. | |
Параметр | Уровень стойкости | См. выше. | |
Параметр | Представляет параметры с | ||
Параметр | Заголовочный файл | См. выше. | |
Оба | Генерирует определение глобальной переменной и пользовательский заголовок ( | ||
Оба | Раздел памяти | См. выше. | |
Оба | Заголовочный файл | См. выше. | |
Оба | Файл определения | См. выше. | |
Оба | Включает предопределенные файлы заголовков, содержащие глобальные объявления переменных, и помещает | ||
Оба | Позволяет вам задать, хранит ли идентификатор, соответствующий выбранному объекту данных, данные типа данных ( | ||
Оба | Если вы выбираете | ||
Заголовочный файл | См. выше. | ||
Оба | Встраивает данные в именованный | ||
Оба | Имя struct | См. выше. | |
Сигнал | Считывает (получает) и записывает (устанавливает) данные с помощью функций. | ||
Сигнал | Заголовочный файл | См. выше. | |
Сигнал | Задайте функцию Get. | ||
Сигнал | Задайте функцию Set. | ||
Оба | * | Как подробно объяснено в Переопределении Правил Именования Объектов Данных, для Simulink® или | |
Действительный ANSI®[a] Имя переменной C/C + + | |||
Оба | * | Текстовое описание параметра или сигнала. Появляется как комментарий к идентификатору сигнала или параметра в сгенерированном коде. | |
Вектор символов | |||
Сигнал | Повторно используемый | Позволяет генератору кода повторно использовать пару корневых сигналов ввода-вывода, когда вы задаете одно и то же имя и один и тот же класс памяти для обоих. Либо класс памяти | |
Сигнал | Возможности данных | *Auto | Можно задать возможности генерации кода символов для объекта данных этого класса, выбрав значение для DataScope. Когда вы принимаете значение по умолчанию |
| Генерация кода определяет возможности каждого символа как файл, который определяет его. Возможности файла требуют, чтобы каждый символ использовался в одном файле. Если на один и тот же символ ссылается в нескольких файлах, генерация кода сообщает об ошибке. | ||
| Генерация кода экспортирует символы во внешний код в заголовочном файле, заданном полем HeaderFile. Если HeaderFile не задана, символы экспортируются во внешний код в | ||
| Генерация кода импортирует символы из внешнего кода в заголовочный файл, заданный полем HeaderFile. Если вы не задаете заголовочный файл, генерация кода генерирует | ||
Сигнал | Заголовочный файл | См. выше. | |
Сигнал | Владелец | См. выше. | |
Сигнал | Файл определения | См. выше. | |
[a] ANSI является зарегистрированным товарным знаком Американского национального института стандартов, Inc. |
mpt
Упаковать классы памяти
Имя CSC | Цель | Сигналы? | Параметры? |
---|---|---|---|
| Сгенерируйте | Y | Y |
CompilerFlag | Поддерживает предварительные условия, заданные через флаг компилятора. См. «Генерация предварительных условий процессора для вариантных систем». | N | Y |
| Сгенерируйте постоянное объявление с | N | Y |
| Сгенерируйте объявление летучей константы с | N | Y |
| Сгенерируйте | Y | Y |
| Сгенерируйте заголовок ( | Y | Y |
FileScope | Сгенерируйте статический суффикс квалификатора для объявления переменной, чтобы возможности переменной была ограничиваемы текущим файлом. | Y | Y |
GetSet | Поддерживает специализированные вызовы функций для чтения и записи памяти, связанной с блоком Data Store Memory. См. раздел «Доступ к данным через функции с класс памяти». | Y | Y |
| Класс памяти по умолчанию для | Y | Y |
ImportedDefine | Поддерживает предварительные условия, определенные через устаревший заголовочный файл. См. «Генерация предварительных условий процессора для вариантных систем». | N | Y |
| Сгенерируйте директивы, чтобы включать предопределенные файлы заголовков, содержащие глобальные объявления переменных. | Y | Y |
| Позволяет генератору кода повторно использовать пару корневых сигналов ввода-вывода, когда вы задаете одно и то же имя и один и тот же класс памяти для обоих. Либо класс памяти | Y | N |
| Сгенерируйте | Y | Y |
| Сгенерируйте | N | Y |
| Сгенерируйте | Y | Y |
| Использование | Y | Y |
Примеры изменений значения свойств на сгенерированном коде
Что я заметил при проверке файла .c/.cpp | Измените настройки значения свойства | Что я заметил после регенерации и переустановки файла |
---|---|---|
Пример 1: | В Model Explorer я кликнул объект данных | Я замечаю два различия. Один из них теперь |
Пример 2: | Я изменил выбор Storage class на |
|
Пример 3: | В Model Explorer я замечаю, что значение свойства Header file пусто. Я изменил это на |
|
Пример 4: | В Model Explorer я выбрал объект данных | Идентификатор |
С помощью этой процедуры можно управлять уровнем стойкости объектов сигнала и параметра, сопоставленных с моделью. Уровень стойкости позволяет вам сделать промежуточные переменные или параметры глобальными во время начальной разработки. На более поздних стадиях разработки можно использовать эту процедуру для удаления этих сигналов и параметров для эффективности. Используйте свойство Persistence Level mpt.Signal
и mpt.Parameter
объекты данных. Описания свойств в Model Explorer см. в разделе Свойства объекта данных MPT.
Заметьте также поля Signal display level и Parameter tune level на панели Code Placement диалогового окна Параметры конфигурации (Configuration Parameters), как показано на следующем рисунке.
Поле Signal display level позволяет вам определить, определяет ли генератор кода объект данных сигнала как глобальные данные в сгенерированном коде. Номер, указанный в этом поле, соответствует номеру, указанному в поле Persistence level. Номер Signal display level предназначен для mpt
(инструмент упаковки модулей) сигнализирует об объектах данных в модели. Номер Persistence level предназначен для определенного mpt
объект сигнальных данных. Если Persistence level объекта данных равна или меньше, чем Signal display level, сигнал появляется в сгенерированном коде как глобальные данные с заданными пользовательскими атрибутами. Для примера это произойдет, если Persistence level 2
а Signal display level есть 5
.
В противном случае генератор кода автоматически определяет, как конкретный объект данных сигнала появляется в сгенерированном коде. В зависимости от настроек на панели Optimization диалогового окна Параметров конфигурации, объект данных сигнала может появиться в коде как локальные данные без пользовательских атрибутов, заданных для этого объекта данных. Или, основываясь на сворачивании выражения, генератор кода мог удалить объект данных так, чтобы он не появился в коде.
Поле Parameter tune level позволяет вам указать, объявляет или нет генератор кода объект данных параметра как настраиваемые глобальные данные в сгенерированном коде.
Номер, указанный в этом поле, соответствует номеру, указанному в поле Persistence level. Номер Parameter tune level предназначен для mpt
объекты данных параметра в модели. Номер Persistence level предназначен для определенного mpt
объект данных параметра. Если Persistence level объекта данных равна или меньше Parameter tune level, параметр появляется настраиваемым в сгенерированном коде с заданными пользовательскими атрибутами. Для примера это произойдет, если Persistence level 2
а Parameter tune level есть 5
.
В противном случае параметр вставляется в сгенерированный код, и настройки генерации кода определяют его точную форму.
Обратите внимание, что на начальных стадиях разработки вы можете быть больше обеспокоены отладкой, чем размером кода. Или вы можете захотеть, чтобы один или несколько конкретных объектов данных появились в коде, чтобы вы могли анализировать промежуточные вычисления уравнения. В этом случае можно хотеть задать, чтобы Parameter tune level (Signal display level для сигналов) была выше, чем Persistence level для некоторых mpt
параметрические (или сигнальные) объекты данных. Это приводит к большему размеру кода, потому что генератор кода определяет объекты данных параметра (или сигнала) как глобальные данные, которые имеют заданные вами пользовательские свойства. Однако, когда вы приближаетесь к генерации производственного кода, у вас может быть больше опасений по поводу уменьшения размера кода и меньше необходимости в отладке или промежуточном анализе. На этом этапе компромисса можно сделать Parameter tune level (Signal display level для сигналов) больше Persistence level для одного или нескольких объектов данных, сгенерировать код и наблюдать результаты. Повторяйте до удовлетворения.
Когда модель открыта, в диалоговом окне Параметров конфигурации выберите Code Generation > Code Placement.
Введите нужный номер в поле Signal display level или Parameter tune level и нажмите Apply.
В Model Explorer введите нужное число в поле Persistence для выбранного сигнала или параметра и нажмите Apply.
Сохраните модель и сгенерируйте код.