Примечание
В то время как mpt.Signal
и mpt.Parameter
объекты продолжают поддерживаться для унаследованных приложений, большинство усовершенствованных возможностей генерации кода, которые обеспечивают объекты, теперь также предусмотрено Simulink.Signal
и Simulink.Parameter
объекты.
Следующая таблица описывает свойства и значения свойств для mpt.Parameter
и mpt.Signal
объекты данных, которые появляются в Model Explorer.
Примечание
Можно создать mpt.Signal
и mpt.Parameter
объекты в основном MATLAB® или рабочее пространство модели. Однако, если вы создаете объект сигнала в рабочем пространстве модели, класс памяти объекта должен быть установлен в Auto
.
Рисунок ниже показывает пример Model Explorer. Когда вы выбираете mpt.Parameter
или mpt.Signal
объект данных в средней панели, ее свойствах и значениях свойств отображается в самой правой панели.
В столбце Свойств таблица приводит свойства в порядке, в котором они появляются на Model Explorer.
Параметр и значения свойств сигнала
Класс: параметр, сигнал или оба | Свойство | Доступные значения свойств (* указывает на значение по умолчанию), | Описание |
---|---|---|---|
Параметр | *0 | Тип данных и числовое значение объекта данных. Например, | |
Оба | Используемый, чтобы задать тип данных для | ||
Оба |
| Единицы измерения сигнала или параметра. (Введите текст в этом поле.) | |
Оба | *-1 | Размерность сигнала или параметра. Для параметра размерность выведена из своего значения. | |
Оба |
| Сложность задает, являются ли сигнал или параметр вещественным или комплексным числом. Выберите | |
Сигнал | *-1 | Модель или уровень выполнения блока. | |
Сигнал |
| Определяет, как сигнал распространяет через модель. Выберите | |
Сигнал распространяет через модель одну выборку за один раз. | |||
Сигнал распространяет через модель в пакетах выборок. | |||
Оба | *0.0 | Минимальное значение, с которым параметр или сигнал, как ожидают, будут связаны. | |
Номер в минимальной области значений параметра или сигнала. (На основе типа данных и разрешения параметра или сигнала.) | |||
Оба | *0.0 | Максимальное значение, с которым параметр или сигнал, как ожидают, будут связаны. (Введите информацию с помощью диалогового окна.) | |
Обратите внимание на то, что | |||
Оба |
| Указывает, что генератор кода не помещает спецификатор в объявление объекта данных. | |
Оба |
| Memory section позволяет вам задавать директивы устройства хранения данных для объекта данных. | |
Параметр | Помещает | ||
Оба | Помещает | ||
Параметр | Помещает | ||
Оба | Имя файла раньше импортировало или экспортировало объект данных. Этот файл содержит объявление ( Кроме того, можно задать это имя файла заголовка между разделителем угловой скобки или двойной цитатой. Можно задать разделитель с или без | ||
Оба | *Пробел | Имя модуля, который владеет этим сигналом или параметром. Это используется, чтобы помочь определить владение определения. Для получения дополнительной информации смотрите Размещение Управления Определений Глобальных данных и Объявлений в Сгенерированных Файлах. | |
Оба | *Пробел | Имя файла, который задает объект данных. | |
Вектор допустимого символа | |||
Оба | Номер, который вы задаете, относительно Signal display level или Parameter tune level на панели Code Placement диалогового окна Configuration Parameters. Для сигнала, позволяет вам задавать, объявляет ли генератор кода объект данных как глобальные данные. Для параметра, позволяет вам задавать, объявляет ли генератор кода объект данных как настраиваемые глобальные данные. Смотрите Signal display level и Parameter tune level в Параметрах конфигурации Модели: Размещение Генерации кода Кода. | ||
Оба | Встраивает булевы данные в именованное битовое поле. | ||
Имя | |||
Параметр | Помещает | ||
Параметр | Заголовочный файл | Смотрите выше. | |
Параметр | Владелец | Смотрите выше. | |
Параметр | Файл определения | Смотрите выше. | |
Параметр | Уровень персистентности | Смотрите выше. | |
Оба | Помещает | ||
Оба | Заголовочный файл | Смотрите выше. | |
Оба | Владелец | Смотрите выше. | |
Оба | Файл определения | Смотрите выше. | |
Оба | Уровень персистентности | Смотрите выше. | |
Параметр | Помещает | ||
Параметр | Заголовочный файл | Смотрите выше. | |
Параметр | Владелец | Смотрите выше. | |
Параметр | Файл определения | Смотрите выше. | |
Параметр | Уровень персистентности | Смотрите выше. | |
Параметр | Представляет параметры | ||
Параметр | Заголовочный файл | Смотрите выше. | |
Оба | Генерирует определение глобальной переменной и генерирует заданный пользователями заголовок ( | ||
Оба | Раздел Memory | Смотрите выше. | |
Оба | Заголовочный файл | Смотрите выше. | |
Оба | Файл определения | Смотрите выше. | |
Оба | Включает предопределенные заголовочные файлы, содержащие объявления глобальной переменной, и помещает | ||
Оба | Позволяет вам задавать, хранит ли идентификатор, который соответствует выбранному объекту данных, данные типа данных ( | ||
Оба | Если вы выбираете | ||
Заголовочный файл | Смотрите выше. | ||
Оба | Встраивает данные в именованный | ||
Оба | Имя struct | Смотрите выше. | |
Сигнал | Чтения (добираются) и записи (наборы) данные с помощью функций. | ||
Сигнал | Заголовочный файл | Смотрите выше. | |
Сигнал | Задайте Получить функцию. | ||
Сигнал | Задайте Функцию множества. | ||
Оба |
| Как объяснено подробно в Применяют Настраиваемые правила именования к Идентификаторам, для Simulink® или | |
Допустимый ANSI®[a] Имя переменной C/C++ | |||
Оба |
| Текстовое описание параметра или сигнала. Появляется как комментарий около сигнала или идентификатора параметра в сгенерированном коде. | |
Символьный вектор | |||
Сигнал | Допускающий повторное использование | Позволяет генератору кода снова использовать пару корневых сигналов ввода-вывода, когда вы задаете то же имя и тот же класс памяти для обоих. Классом памяти является любой | |
Сигнал | Осциллограф данных | *Auto | Можно указать, что осциллограф генерации кода символов генерирует для объекта данных этого класса путем выбора значения для DataScope. Когда вы берете значение по умолчанию |
| Генерация кода задает осциллограф каждого символа как файл, который задает его. Осциллограф файла требует, чтобы каждый символ использовался в одном файле. Если на тот же символ ссылаются в нескольких файлах, генерация кода сообщает об ошибке. | ||
| Генерация кода экспортирует символы во внешний код в заголовочном файле, заданном полем HeaderFile. Если HeaderFile не задан, символы экспортируются во внешний код в | ||
| Генерация кода импортирует символы из внешнего кода в заголовочном файле, заданном полем HeaderFile. Если вы не задаете заголовочный файл, генерация кода генерирует | ||
Сигнал | Заголовочный файл | Смотрите выше. | |
Сигнал | Владелец | Смотрите выше. | |
Сигнал | Файл определения | Смотрите выше. | |
[a] ANSI является зарегистрированной торговой маркой American National Standards Institute, Inc. |
mpt
Классы памяти пакета
Имя CSC | Цель | Сигналы? | Параметры? |
---|---|---|---|
| Сгенерируйте | Y | Y |
CompilerFlag | Условные выражения препроцессора поддержек заданы через флаг компилятора. Смотрите Генерируют Условные выражения Препроцессора для Вариантных систем. | N | Y |
| Сгенерируйте объявление константы с | N | Y |
| Сгенерируйте объявление энергозависимой константы с | N | Y |
| Сгенерируйте | Y | Y |
| Сгенерируйте заголовок ( | Y | Y |
FileScope | Сгенерируйте статический суффикс спецификатора для объявления переменной так, чтобы осциллограф переменной был ограничен текущим файлом. | Y | Y |
GetSet | Поддержки специализировали вызовы функции считать и записать память, сопоставленную с блоком Data Store Memory. См. Доступ к данным Через Функции с Классом памяти GetSet. | 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 Data Object Properties.
Заметьте также поля 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 диалогового окна Configuration Parameters объект данных сигнала мог появиться в коде как локальные данные без пользовательских атрибутов, которые вы задали для того объекта данных. Или на основе сворачивания выражения генератор кода мог удалить объект данных так, чтобы это не появлялось в коде.
Поле 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 для одного или нескольких объектов данных, сгенерировать код и наблюдать результаты. Повторитесь, пока не удовлетворено.
С открытой моделью, в диалоговом окне Configuration Parameters, выбирают Code Generation> Code Placement.
Введите желаемый номер в поле Signal display level или Parameter tune level и нажмите Apply.
В Model Explorer введите желаемый номер в поле Persistence для выбранного сигнала или параметра, и нажмите Apply.
Сохраните модель и сгенерируйте код.