Следующая таблица описывает свойства и значения свойств для 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 | Поддержки специализировали вызовы функции считать и записать память, сопоставленную с Блоком памяти Хранилища данных. См. Доступ к данным Через Функции с Пользовательским Классом памяти 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.Parameter
и mpt.Signal
. Для описаний свойств на 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
.