Следующая таблица описывает свойства и значения свойств для 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® или | |
Оба |
| Текстовое описание параметра или сигнала. Появляется как комментарий около сигнала или идентификатора параметра в сгенерированном коде. | |
Символьный вектор | |||
Сигнал | Допускающий повторное использование | Позволяет генератору кода снова использовать пару корневых сигналов ввода-вывода, когда вы задаете то же имя и тот же класс памяти для обоих. Классом памяти является любой | |
Сигнал | Осциллограф данных | *Auto | Можно указать, что осциллограф генерации кода символов генерирует для объекта данных этого класса путем выбора значения для DataScope. Когда вы берете значение по умолчанию |
| Генерация кода задает осциллограф каждого символа как файл, который задает его. Осциллограф файла требует, чтобы каждый символ использовался в одном файле. Если на тот же символ ссылаются в нескольких файлах, генерация кода сообщает об ошибке. | ||
| Генерация кода экспортирует символы во внешний код в заголовочном файле, заданном полем HeaderFile. Если HeaderFile не задан, символы экспортируются во внешний код в | ||
| Генерация кода импортирует символы из внешнего кода в заголовочном файле, заданном полем HeaderFile. Если вы не задаете заголовочный файл, генерация кода генерирует | ||
Сигнал | Заголовочный файл | Смотрите выше. | |
Сигнал | Владелец | Смотрите выше. | |
Сигнал | Файл определения | Смотрите выше. | |
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.
Сохраните модель и сгенерируйте код.
Укажите mpt Типы Пользовательского объекта Используя sl_customization.m
Индивидуальная настройка Типа Пользовательского объекта mpt Используя sl_customization.m
Embedded Coder® позволяет вам создавать пользовательский mpt
типы объектов и задают свойства и значения свойств, которые будут сопоставлены с ними. После того, как созданный, тип пользовательского объекта может быть применен к объектам данных, отображенным в Model Explorer. Когда вы применяете тип пользовательского объекта к объекту данных путем выбора имени типа в User object type выпадающий список в Model Explorer, объект данных автоматически заполняется со свойствами и значениями свойств, которые вы задали для типа пользовательского объекта.
Указывать mpt
индивидуальные настройки типа пользовательского объекта, используйте файл настройки Simulink sl_customization.m
. Этот файл является механизмом, который позволяет вам использовать код MATLAB, чтобы выполнить индивидуальные настройки стандартного пользовательского интерфейса Simulink. Программное обеспечение Simulink читает sl_customization.m
файл, если существующий на пути MATLAB, когда это запускается и индивидуальные настройки, заданные в файле, применяются к сеансу Simulink. Для получения дополнительной информации о sl_customization.m
файл настройки, смотрите Индивидуальные настройки Регистрации (Simulink).
Указывать mpt
индивидуальные настройки типа пользовательского объекта, вы создаете экземпляр sl_customization.m
и включайте его на пути MATLAB установки Simulink, которую вы хотите настроить. sl_customization
функция принимает один аргумент: указатель на менеджера по индивидуальной настройке объект. Например,
function sl_customization(cm)
Как начальная точка для ваших индивидуальных настроек, sl_customization
функция должна сначала получить значение по умолчанию (фабрика) индивидуальные настройки, с помощью следующего оператора присваивания:
hObj = cm.slDataObjectCustomizer;
Вы затем вызываете методы, чтобы указать ваши индивидуальные настройки. Менеджер по индивидуальной настройке объект включает следующие методы для регистрации mpt
индивидуальные настройки типа пользовательского объекта:
addMPTObjectType(hObj, objectTypeName, classtype, propName1, propValue1, propName2, propValue2, ...)
addMPTObjectType(hObj, objectTypeName, classtype, {propName1, propName2, ...}, {propValue1, propValue2, ...})
Указывает заданный тип пользовательского объекта, наряду с заданными значениями для свойств объектов, и добавляет тип объекта в верхнюю часть списка типов пользовательского объекта, как отображено в User object type выпадающий список в Model Explorer.
objectTypeName
— Имя типа пользовательского объекта
classType
— Класс, к которому применяется тип пользовательского объекта: 'Signal'
, 'Parameter'
, или 'Both'
propName
— Имя свойства mpt
или mpt
- производные данные возражают, чтобы быть заполненными с соответствующим propValue
когда тип объекта зарегистрированного пользователя выбран
propValue
— Задает значение для соответствующего propName
moveMPTObjectTypeToTop(hObj, objectTypeName)
Перемещает заданный тип пользовательского объекта в верхнюю часть списка типов пользовательского объекта, как отображено в User object type выпадающий список в Model Explorer.
moveMPTObjectTypeToEnd(hObj, objectTypeName)
Перемещает заданный тип пользовательского объекта в конец списка типов пользовательского объекта, как отображено в User object type выпадающий список в Model Explorer.
removeMPTObjectType(hObj, objectTypeName)
Удаляет заданный тип пользовательского объекта из списка типов пользовательского объекта.
Ваш экземпляр sl_customization
функция должна использовать эти методы, чтобы указать mpt
индивидуальные настройки типа объекта для вашей установки Simulink.
Программное обеспечение Simulink читает sl_customization.m
файл, когда это запускается. Если вы впоследствии изменяете файл, чтобы использовать изменения, необходимо перезапустить сеанс работы с MATLAB.
sl_customization.m
файл, показанный в mpt Индивидуальной настройке Типа Пользовательского объекта Используя sl_customization.m, использует addMPTObjectType
метод, чтобы указать пользовательский сигнал вводит EngineType
и FuelType
для mpt
объекты.
function sl_customization(cm) % Register user customizations % Get default (factory) customizations hObj = cm.slDataObjectCustomizer; % Add commonly used signal types hObj.addMPTObjectType(... 'EngineType','Signal',... 'DataType', 'uint8',... 'Min', 0,... 'Max', 255,... 'Unit','m/s'); hObj.addMPTObjectType(... 'FuelType','Signal',... 'DataType', 'int16',... 'Min', -12,... 'Max', 3000,... 'Unit','mg/hr'); end
Если вы будете включать вышеупомянутый файл на пути MATLAB установки Simulink, которую вы хотите настроить, заданные индивидуальные настройки появятся в Model Explorer. Например, вы могли просмотреть индивидуальные настройки можно следующим образом:
Запустите сеанс работы с MATLAB.
Откройте Model Explorer, например, путем ввода команды MATLAB daexplr
.
Выберите Base Workspace.
Добавьте mpt
сигнал, например, путем выбора Add> Add Custom.
В правой панели отображаются для добавленного mpt
предупредите, исследуйте User object type выпадающий список, отметив удар изменений, заданных в mpt Индивидуальной настройке Типа Пользовательского объекта Используя sl_customization.m.
От User object type выпадающий список выберите один из типов сигнала зарегистрированного пользователя, например, FuelType
, и проверьте, что отображенные настройки сопоставимы с аргументами, заданными к addMPTObjectType
метод в sl_customization.m
.