exponenta event banner

Свойства объекта данных MPT

В следующей таблице описаны свойства и значения свойств для mpt.Parameter и mpt.Signal объекты данных, отображаемые в обозревателе моделей.

Примечание

Можно создавать mpt.Signal и mpt.Parameter в базовой рабочей области MATLAB ® или модели. Однако при создании сигнального объекта в рабочей области модели класс хранения объекта должен иметь значение Auto.

На рисунке ниже показан пример обозревателя моделей. При выборе mpt.Parameter или mpt.Signal объект данных на средней панели, его свойства и значения свойств отображаются на самой правой панели.

В столбце Свойства (Properties) в таблице перечислены свойства в том порядке, в котором они отображаются в Обозревателе моделей (Model Explorer).

Значения свойств параметра и сигнала

Класс: параметр, сигнал или обаСобственностьДоступные значения свойств
(* Указывает значение по умолчанию)
Описание

Параметр

Value

*0

Тип данных и числовое значение объекта данных. Например, int8(5). Числовое значение используется в качестве начального значения параметра в сгенерированном коде.

Оба

Тип данных

 

Используется для указания типа данных для mpt.Signal объект данных, но не для mpt.Parameter объект данных. Тип данных для mpt.Parameter объект данных указан в поле Значение выше. См. раздел О типах данных в Simulink.

Оба

Единица

*null

Единицы измерения сигнала или параметра. (Введите текст в это поле.)

Оба

Размеры

*-1

Размер сигнала или параметра. Для параметра размер определяется на основе его значения.

Оба

Сложность

*auto

real

complex

Сложность определяет, является ли сигнал или параметр вещественным или комплексным числом. Выбрать auto чтобы генератор кода принял решение. Для параметра сложность определяется на основе его значения.

Сигнал

Время выборки

*-1

Скорость выполнения модели или блока.

Сигнал

Примерный режим

*auto

Определяет способ распространения сигнала через модель. Выбрать auto чтобы генератор кода принял решение.

  

Sample based

Сигнал распространяется через модель по одной выборке за раз.

  

Frame based

Сигнал распространяется по модели партиями выборок.

Оба

Минимум

*0.0

Минимальное значение, к которому должен быть привязан параметр или сигнал.

  

Число в пределах минимального диапазона параметра или сигнала. (На основе типа данных и разрешения параметра или сигнала.)

 

Оба

Максимум

*0.0

Максимальное значение, к которому должен быть привязан параметр или сигнал. (Введите информацию в диалоговом окне.)

 

Параметры генерации кода

  
 

Класс хранения

 

Обратите внимание, что auto выбор класса хранения сообщает процессу построения, как объявить и сохранить выбранный параметр или сигнал.

Оба

Глобальный (пользовательский)

Global является классом хранения по умолчанию для mpt объекты данных.

Указывает, что генератор кода не помещает квалификатор в объявление объекта данных.

Оба

Раздел памяти

*Default

Раздел памяти позволяет указать директивы хранения для объекта данных. Default указывает, что генератор кода не помещает квалификатор типа и pragma с объявлением объекта данных.

Параметр

 

MemConst

Размещает const квалификатор типа в объявлении.

Оба

 

MemVolatile

Размещает volatile квалификатор типа в объявлении.

Параметр

 

MemConstVolatile

Размещает const volatile квалификатор типа в объявлении.

Оба

Файл заголовка

 

Имя файла, используемого для импорта или экспорта объекта данных. Этот файл содержит объявление (extern) к объекту данных.

Кроме того, можно указать это имя файла заголовка между двойным предложением или ограничителем угловой скобки. Можно указать разделитель с помощью или без .h расширение. Например, укажите "object.h" или "object". Для выбранного объекта данных это переопределяет общий выбор разделителя в поле # include file delimiter в диалоговом окне Configuration Parameters.

Оба

Владелец

* Пусто

Имя модуля, которому принадлежит этот сигнал или параметр. Используется для определения принадлежности определения. Дополнительные сведения см. в разделе Управление размещением глобальных определений и деклараций данных в созданных файлах.

Оба

Файл определения

* Пусто

Имя файла, определяющего объект данных.

  

Допустимый символьный вектор

 

Оба

Уровень стойкости

 

Указанное число соответствует уровню отображения сигнала или уровню настройки параметра на панели «Размещение кода» диалогового окна «Параметры конфигурации». Для сигнала позволяет указать, объявляет ли генератор кода объект данных глобальными данными. Для параметра позволяет указать, объявляет ли генератор кода объект данных настраиваемыми глобальными данными. См. раздел Уровень отображения сигнала и Уровень настройки параметров в разделе Параметры конфигурации модели: размещение кода генерации кода.

Оба

Битфилд (пользовательский)

 

Встраивает логические данные в именованное битовое поле.

 

Имя структуры

Название struct в который будут упакованы данные объекта.

Параметр

Конст (пользовательский)

 

Размещает const квалификатор типа в объявлении.

Параметр

Файл заголовка

 

См. выше.

Параметр

Владелец

 

См. выше.

Параметр

 Файл определения

 

См. выше.

Параметр

 Уровень стойкости

 

См. выше.

Оба

Волатильный (пользовательский)

 

Размещает volatile квалификатор типа в объявлении.

Оба

Файл заголовка

 

См. выше.

Оба

Владелец

 

См. выше.

Оба

 Файл определения

 

См. выше.

Оба

 Уровень стойкости

 

См. выше.

Параметр

ConstVolatile (пользовательский)

 

Размещает const volatile квалификатор типа в объявлении.

Параметр

Файл заголовка

 

См. выше.

Параметр

Владелец

 

См. выше.

Параметр

 Файл определения

 

См. выше.

Параметр

 Уровень стойкости

 

См. выше.

Параметр

Определить (пользовательский)

 

Представляет параметры с #define макро.

Параметр

Файл заголовка

 

См. выше.

Оба

ExportToFile (пользовательский)

 

Создает определение глобальной переменной и определяемый пользователем заголовок (.h) файл, содержащий объявление (extern) к этой переменной.

Оба

 Раздел памяти

 

См. выше.

Оба

Файл заголовка

 

См. выше.

Оба

 Файл определения

 

См. выше.

Оба

Файл ImportStartFile (пользовательский)

 

Включает предопределенные файлы заголовков, содержащие объявления глобальных переменных, и размещает #include в соответствующем файле. Предполагает, что внешний код определяет (выделяет память) для глобальной переменной.

Оба

Доступ к данным

*Direct

Позволяет указать, хранится ли в идентификаторе, соответствующем выбранному объекту данных, данные определенного типа (Direct) или сохраняет адрес данных (указатель).

Оба

 

Pointer

При выборе Pointer, место генератора кода * перед идентификатором в сгенерированном коде.

 

Файл заголовка

 

См. выше.

Оба

Структура (пользовательская)

 

Встраивает данные в именованный struct инкапсулировать наборы данных.

Оба

Имя структуры

 

См. выше.

Сигнал

GetSet (пользовательский)

 

Считывает (получает) и записывает (устанавливает) данные с помощью функций.

Сигнал

Файл заголовка

 

См. выше.

Сигнал

Получить функцию

 

Укажите функцию Get.

Сигнал

Установка функции

 

Укажите функцию Set.

Оба

Псевдоним

*null

Как подробно описано в разделе Переопределение правил именования объектов данных, для Simulink ® илиmpt объект данных (идентификатор), указывающий имя в поле Идентификатор (Identifier), переопределяет выбор глобального правила именования, сделанный в диалоговом окне Параметры конфигурации (Configuration Parameters).

  

Допустимое имя переменной ANSI ® [a] C/C + +

 

Оба

Description

*null

Текстовое описание параметра или сигнала. Отображается как комментарий рядом с идентификатором сигнала или параметра в сгенерированном коде.

  

Символьный вектор

 

Сигнал

Повторно используемый

 

Позволяет генератору кода повторно использовать пару корневых сигналов ввода-вывода при указании одинакового имени и одного класса хранения для обоих. Класс хранения: Reusable или полученные из Reusable.

Сигнал

Объем данных

*Auto

Можно указать область генерации кода символов для объекта данных этого класса, выбрав значение для DataScope. При выборе значения по умолчанию Auto, создание кода определяет объем символа внутри системы. Если возможно, символы имеют File сфера применения. В противном случае они имеют Exported сфера применения.

  

File

Создание кода определяет область каждого символа как определяющий его файл. Область файла требует, чтобы каждый символ использовался в одном файле. Если на один и тот же символ ссылаются в нескольких файлах, то при создании кода появляется сообщение об ошибке.

  

Exported

При создании кода символы экспортируются во внешний код в файле заголовка, указанном в поле HeaseFile. Если файл HeireFile не указан, символы экспортируются во внешний код в model.h.

  

Imported

Генерация кода импортирует символы из внешнего кода в файл заголовка, указанный в поле HeaseFile. Если файл заголовка не указан, генерация кода создает extern директива в model_private.h.

Сигнал

Файл заголовка

 

См. выше.

Сигнал

Владелец

 

См. выше.

Сигнал

 Файл определения

 

См. выше.

ANSI  является зарегистрированным товарным знаком Американского национального института стандартов, Inc.

mpt Классы хранения пакетов

Имя CSCЦельСигналы?Параметры?

BitField

Создать struct объявление, которое встраивает логические данные в именованные битовые поля.

Y

Y

CompilerFlagПоддерживает условия препроцессора, определенные с помощью флага компилятора. См. раздел Создание условий препроцессора для исполнительных систем.

N

Y

Const

Создание объявления константы с помощью const квалификатор типа.

N

Y

ConstVolatile

Создать объявление энергозависимой константы с помощью const volatile квалификатор типа.

N

Y

Define

Произвести #define директива.

Y

Y

ExportToFile

Создать заголовок (.h) файл с указанным пользователем именем, содержащий объявления глобальных переменных.

Y

Y

FileScope

Создайте статический суффикс квалификатора для объявления переменной, чтобы область действия переменной была ограничена текущим файлом.

Y

Y

GetSetПоддерживает вызовы специализированных функций для чтения и записи памяти, связанной с блоком памяти хранилища данных. См. раздел Доступ к данным через функции с помощью класса хранения GetSet.

Y

Y

Global

Класс хранения по умолчанию для mpt пакет. Создайте объявление и определение объекта данных в указанных файлах и используйте указанный раздел памяти.

Y

Y

ImportedDefineПоддерживает условия препроцессора, определенные в файле заголовка предыдущей версии. См. раздел Создание условий препроцессора для исполнительных систем.

N

Y

ImportFromFile

Создание директив для включения предопределенных файлов заголовков, содержащих объявления глобальных переменных.

Y

Y

Reusable

Позволяет генератору кода повторно использовать пару корневых сигналов ввода-вывода при указании одинакового имени и одного класса хранения для обоих. Класс хранения: Reusable или полученные из Reusable.

Y

N

Struct

Создать struct объявление, инкапсулирующее данные параметра или сигнального объекта.

Y

Y

StructConst

Создать struct объявление, с const квалификатор типа, инкапсулирующий данные объекта параметра.

N

Y

StructVolatile

Создать struct объявление, с volatile квалификатор типа, инкапсулирующий параметр или данные объекта сигнала.

Y

Y

Volatile

Использовать volatile квалификатор типа в объявлении.

Y

Y

Примеры изменений значения свойства в сгенерированном коде

Что я заметил при проверке файла .c/.cppИзменение настроек значения свойстваЧто я заметил после регенерации и повторной установки файла

Пример 1:
Объекты данных параметров могут быть объявлены или определены как константы. Я знаю, что объект данных GAIN является параметром. Я хочу, чтобы это было объявлено или определено в .c файл как переменная. Но я замечаю, что GAIN объявляется оператором как константа const real_T GAIN = 5.0;. Кроме того, этот оператор находится в постоянном разделе файла.

В обозревателе моделей я щелкнул объект данных GAIN. Я заметил, что значение свойства для его свойства Memory section установлено в MemConst. Я изменил это на Default.

Я замечаю два отличия. Один из них сейчас GAIN объявляется как переменная с помощью оператора real_T GAIN = 5.0;. Второе отличие заключается в том, что декларация теперь находится в MemConst в разделе памяти .c или .cpp файл.

Пример 2:
Я снова замечаю заявление GAIN в .c файл, упомянутый в примере 1. Он отображается как real_T GAIN = 5.0;. Но я передумал. Мне нужен объект данных GAIN быть #define.

Я изменил выбор класса Storage на Define.

GAIN не объявлен в .c файл как MemConst параметр. Скорее, он определяется как #define макрос по коду #define GAIN 5.0, и это находится рядом с верхней частью .c файл с другими директивами препроцессора.

Пример 3:
Я снова передумал после Примера 2. Я хочу GAIN определяется с помощью #define директива препроцессора. Но я не хочу включать #define в этом файле. Я знаю, что он существует в другом файле, и я хочу сослаться на этот файл.

В обозревателе моделей я замечаю, что значение свойства Header file является пустым. Я изменил это на filename.h. (Я выбрал механизм двойных кавычек ANSI C/C + + для #include, но мог выбрать механизм угловой скобы.) Кроме того, я должен сделать пользовательский filename.h доступен компилятору, помещая его либо в системный путь, либо в локальный каталог.

#define GAIN 5.0 отсутствует в этом .c файл. Вместо этого, #include filename.h код отображается в виде директивы препроцессора в верхней части файла.

Пример 4:
У меня есть еще одно изменение, которое я хочу сделать. Скажем, что мы объявили объект данных data_in, и что заявление о его объявлении в .c чтение файла
real_T data_in = 0.0;. Я хочу заменить это утверждение псевдонимом в .c файл.

В обозревателе моделей я выбрал объект данных data_in. Я заметил, что поле Идентификатор пусто. Я изменил это на data_in_alias, которое я знаю является допустимым именем переменной ANSI C/C + +.

Идентификатор
data_in_alias теперь появляется в .c файл везде data_in появился.

Определение уровня стойкости для сигналов и параметров

С помощью этой процедуры можно управлять уровнем устойчивости объектов сигнала и параметров, связанных с моделью. Уровень устойчивости позволяет сделать промежуточные переменные или параметры глобальными во время начальной разработки. На более поздних этапах разработки эту процедуру можно использовать для удаления этих сигналов и параметров для эффективности. Используйте свойство Persistence Level для mpt.Signal и mpt.Parameter объекты данных. Описание свойств в обозревателе моделей см. в разделе Свойства объекта данных MPT.

Обратите внимание также на поля Уровень отображения сигнала (Signal display level) и Уровень настройки параметра (Parameter tune level) на панели Размещение кода (Code Placement) диалогового окна Параметры конфигурации (Configuration Parameters), как показано на следующем рисунке.

Поле Уровень отображения сигнала позволяет указать, определяет ли генератор кода объект данных сигнала как глобальные данные в сгенерированном коде. Номер, указанный в этом поле, относится к номеру, указанному в поле Уровень персистентности. Номер уровня отображения сигнала для mpt(инструмент упаковки модулей) сигнальные объекты данных в модели. Номер уровня персистентности предназначен для определенного mpt объект данных сигнала. Если уровень устойчивости объекта данных равен или меньше уровня отображения «Сигнал», сигнал отображается в сгенерированном коде в виде глобальных данных с указанными пользовательскими атрибутами. Например, это произойдет, если уровень персистентности равен 2 и уровень отображения сигнала 5.

В противном случае генератор кода автоматически определяет, как конкретный объект данных сигнала появляется в сгенерированном коде. В зависимости от настроек на панели Оптимизация (Optimization) диалогового окна Параметры конфигурации (Configuration Parameters), объект сигнальных данных может отображаться в коде как локальные данные без пользовательских атрибутов, заданных для этого объекта данных. Или, основываясь на сворачивании выражения, генератор кода может удалить объект данных, чтобы он не появился в коде.

Поле Уровень настройки параметров позволяет указать, объявляет ли генератор кода объект данных параметров настраиваемыми глобальными данными в сгенерированном коде.

Номер, указанный в этом поле, относится к номеру, указанному в поле Уровень персистентности. Номер уровня настройки параметра для mpt объекты данных параметров в модели. Номер уровня персистентности предназначен для определенного mpt объект данных параметра. Если уровень устойчивости объекта данных равен или меньше уровня настройки «Параметр», параметр появляется в создаваемом коде с указанными пользовательскими атрибутами. Например, это произойдет, если уровень персистентности равен 2 и уровень настройки параметра равен 5.

В противном случае параметр встраивается в сгенерированный код, и настройки создания кода определяют его точную форму.

Следует отметить, что на начальных этапах разработки отладку может волновать больше, чем размер кода. Кроме того, может потребоваться, чтобы в коде появился один или несколько определенных объектов данных, чтобы можно было проанализировать промежуточные вычисления уравнения. В этом случае может потребоваться указать уровень настройки параметра (уровень отображения сигнала для сигналов), который должен быть выше уровня устойчивости для некоторых mpt объекты данных параметра (или сигнала). Это приводит к увеличению размера кода, поскольку генератор кода определяет объекты данных параметра (или сигнала) как глобальные данные, которые имеют заданные пользовательские свойства. Однако при приближении к созданию производственного кода может возникнуть больше опасений по поводу уменьшения размера кода и уменьшения потребности в отладке или промежуточных анализах. На этом этапе компромисса можно сделать уровень настройки параметра (уровень отображения сигнала для сигналов) выше уровня персистентности для одного или нескольких объектов данных, создать код и наблюдать за результатами. Повторяйте до удовлетворения.

  1. Открыв модель, в диалоговом окне Параметры конфигурации (Configuration Parameters) выберите Создание кода (Code Generation) > Размещение кода (Code Placement).

  2. Введите требуемый номер в поле Уровень отображения сигнала или Уровень настройки параметра и нажмите кнопку Применить.

  3. В обозревателе моделей введите требуемое число в поле Персистентность (Persistence) для выбранного сигнала или параметра и нажмите кнопку Применить (Apply).

  4. Сохраните модель и создайте код.