coder.dictionary.Entry class

Пакет: coder.dictionary

Сконфигурируйте Словарное определение Embedded Coder

Описание

Объект coder.dictionary.Entry класс представляет одно определение Словаря Embedded Coder. В этом API объект называется записью. Информацией, которую представляет объект, является определение. В этой документации определение обращается к определению объекта записи.

coder.Dictionary объект содержит три coder.dictionary.Section объекты, которые представляют разделы Словаря Embedded Coder: Классы памяти, Разделы Памяти и Функциональные Шаблоны настройки. coder.dictionary.Section объект содержит coder.dictionary.Entry объекты, которые представляют определения, сохраненные в том разделе Словаря Embedded Coder. Имя раздела идентифицирует тип определений кода, которые содержит раздел. Чтобы получить доступ к разделам Словаря Embedded Coder, используйте coder.Dictionary объект. Чтобы получить доступ к словарным статьям в разделе, используйте coder.dictionary.Section объект.

Создание

Функции addEntry, getEntry, copyEntry, и find создайте coder.dictionary.Entry объекты.

Свойства

развернуть все

coder.dictionary.Entry объект имеет эти свойства.

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

Местоположение определения кода. Это свойство доступно только для чтения.

  • Built-in — Если Simulink®.

  • Имя модели — Заданный в модели Simulink.

  • Имя словаря — Заданный в словаре данных Simulink.

  • Имя пакета — Заданный в пакете Simulink или в пользовательском пакете.

Чтобы получить доступ к свойствам определения кода, которое представляет запись, используйте getAvailablePropertiesполучение, и set методы. Каждому типу определения кода перечислили доступные свойства.

Классы памяти

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

Для списков встроенных и классов памяти в качестве примера, которые обеспечивает Simulink, смотрите, Выбирают Storage Class for Controlling Data Representation in Generated Code.

Пользовательский текст, который можно использовать, чтобы описать цель и функциональность класса памяти.

Местоположение определения кода. Это свойство доступно только для чтения.

  • Built-in — Если Simulink.

  • Имя модели — Заданный в модели Simulink.

  • Имя словаря — Заданный в словаре данных Simulink.

  • Имя пакета — Заданный в пакете Simulink или в пользовательском пакете.

Спецификация, чтобы получить доступ к данным, сопоставленным с моделью. Доступ к данным непосредственно (Direct) или через настраиваемый get и set функции (Function). Для получения дополнительной информации см. Доступ к данным Через Функции при помощи Классов памяти в Словаре Embedded Coder.

Зависимости

  • Установка этого свойства к Function:

    • Наборы DataScope к Imported.

    • Средние значения, что вы не можете задать свойства мультиэкземпляра.

    • Включает эти свойства:

      • AccessMode

      • AllowedAccess

      • GetFunctionName

      • SetFunctionName

    • Устанавливает PreserveDimensions свойство к false. Чтобы сохранить размерности многомерных массивов в сгенерированном коде, установите DataAccess к Direct.

Спецификация, что сгенерированный код задает данные (Exported) или импорт (Imported) определение данных из внешнего кода. Встроенные классы памяти и классы памяти в пакетах, таких как Simulink могут использовать другие опции осциллографа, такие как File.

Зависимости

  • Установка этого свойства к Imported:

    • Отключает DefinitionFile. Чтобы включать ваш внешний файл исходного кода в процесс сборки, используйте параметры конфигурации модели. Для примера смотрите, Конфигурируют Интерфейс Данных.

    • Средние значения, что вы не можете установить HeaderFile к $N.h, хотя можно использовать $N лексема.

  • Установить это свойство на Exported, необходимо использовать одну из лексем $N или $R в значении HeaderFile.

Имя заголовочного файла, который объявляет данные в виде имени или называющий правило. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NИмя связанного элемента данных
$GИмя класса памяти
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора

Зависимости

  • Если вы устанавливаете DataScope к Exported, необходимо использовать одну из лексем $R или $N в значении этого свойства.

  • Если вы устанавливаете DataScope к Imported, вы не можете установить значение этого свойства к $N.h, но можно использовать $N лексема.

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

ЛексемаОписание
$RИмя корневой модели
$NИмя связанного элемента данных
$GИмя класса памяти
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора

Зависимости

Установка DataScope к Imported отключает DefinitionFile. Чтобы включать ваш внешний файл исходного кода в процесс сборки, используйте параметры конфигурации модели. Для примера смотрите, Конфигурируют Интерфейс Данных.

Спецификация для класса памяти, чтобы получить доступ к данным, сопоставленным с моделью через функции при помощи Value или Pointer. Для получения дополнительной информации см. Доступ к данным Через Функции при помощи Классов памяти в Словаре Embedded Coder.

Зависимости

Это свойство включено только, когда вы устанавливаете DataAccess к Function.

Спецификация для класса памяти, чтобы позволить чтение и запись (ReadWrite), только для чтения (ReadOnly), или только для записи (WriteOnly) доступ к данным.

Зависимости

Это свойство включено только, когда вы устанавливаете DataAccess к Function.

Имя get функция, которая выбирает связанные данные в виде имени или называющий правило. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$NИмя связанного элемента данных (требуется)
$RИмя корневой модели
$MИсказите текст, который гарантирует уникальность
$UПользовательский текст лексемы. Смотрите Управление форматом Идентификатора.

Зависимости

Это свойство включено только, когда вы устанавливаете DataAccess к Function и AllowedAccess к ReadWrite или ReadOnly.

Имя set функция, которая выбирает модифицированные данные в виде имени или называющий правило. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$NИмя связанного элемента данных (требуется)
$RИмя корневой модели
$MИсказите текст, который гарантирует уникальность
$UПользовательский текст лексемы. Смотрите Управление форматом Идентификатора.

Зависимости

Это свойство включено только, когда вы устанавливаете DataAccess к Function и AllowedAccess к ReadWrite или WriteOnly.

Спецификация для класса памяти, чтобы использовать или настройки устройства хранения данных, что вы указываете для данных одно экземпляра или настроек, что задаете для данных мультиэкземпляра. Когда вы применяете класс памяти к элементу данных, Словарь Embedded Coder определяет, является ли это класс хранения единственного экземпляра или класс памяти мультиэкземпляра типом данных и контекстом модели в иерархии модели - ссылки.

Зависимости

Выбор этого свойства включает свойства SingleInstanceStorageType, MultiInstanceStorageType, и MultiInstanceStructureTypeName, MultiInstanceStructureInstanceName.

Спецификация, чтобы агрегировать данные, которые используют класс памяти в структуру в сгенерированном коде. Каждый элемент данных появляется в коде как поле структуры. Чтобы создать структуру, используйте Structured.

Зависимости

Установка этого свойства к Structured включает StructureTypeName и StructureInstanceName.

Имя структуры вводит в сгенерированном коде в виде имени или правила именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя присоединенной функции, такой как step
$GИмя класса памяти
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора
$MИскажающий имя вставленный текст, при необходимости, чтобы избежать столкновений имени

Зависимости

Установка StorageType к Structured включает это свойство.

Имя переменной структуры в сгенерированном коде в виде имени или правила именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя присоединенной функции, такой как step
$GИмя класса памяти
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора
$MИскажающий имя вставленный текст, при необходимости, чтобы избежать столкновений имени

Зависимости

Установка StorageType к Structured включает это свойство.

Спецификация, чтобы агрегировать данные одно экземпляра, которые используют класс памяти в структуру в сгенерированном коде. Каждый элемент данных появляется в коде как поле структуры. Чтобы создать структуру, используйте Structured.

Зависимости

  • Установка свойства UseDifferentPropSettingsForInstanceData к true включает это свойство.

  • Установка этого свойства к Structured включает свойства SingleInstanceStructureTypeName и SingleInstanceStructureInstanceName.

Имя структуры вводит в сгенерированном коде в виде имени или правила именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя присоединенной функции, такой как step
$GИмя класса памяти
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора
$MИскажающий имя вставленный текст, при необходимости, чтобы избежать столкновений имени

Зависимости

Установка SingleInstanceStorageType к Structured включает это свойство.

Имя переменной структуры в сгенерированном коде в виде имени или правила именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя присоединенной функции, такой как step
$GИмя класса памяти
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора
$MИскажающий имя вставленный текст, при необходимости, чтобы избежать столкновений имени

Зависимости

Установка SingleInstanceStorageType к Structured включает это свойство.

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

Зависимости

Установка свойства UseDifferentPropSettingsForInstanceData к true включает это свойство.

Имя структуры вводит в сгенерированном коде в виде имени или правила именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя присоединенной функции, такой как step
$GИмя класса памяти
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора
$MИскажающий имя вставленный текст, при необходимости, чтобы избежать столкновений имени

Зависимости

  • Установка свойства UseDifferentPropSettingsForInstanceData к true включает это свойство.

  • Если вы устанавливаете свойство DataAccess к FunctionВы не можете задать это свойство.

Имя переменной структуры в сгенерированном коде в виде имени или правила именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя присоединенной функции, такой как step
$GИмя класса памяти
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора
$MИскажающий имя вставленный текст, при необходимости, чтобы избежать столкновений имени

Зависимости

  • Установка свойства UseDifferentPropSettingsForInstanceData к true включает это свойство.

  • Если вы устанавливаете свойство DataAccess к FunctionВы не можете задать это свойство.

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

  • Dynamic — Сгенерированный код инициализирует данные как часть функции точки входа инициализации модели.

  • Static — Сгенерированный код инициализирует данные в том же операторе, который задает и выделяет память для данных. Оператор присваивания появляется наверху .c или .cpp исходный файл, за пределами функции.

  • None — Сгенерированный код не инициализирует данные.

Зависимости

  • Если вы устанавливаете Const к true, вы не можете установить это свойство на Dynamic.

  • Установка этого свойства к Dynamic устанавливает свойство Const к false.

Местоположение в памяти, чтобы выделить данные в виде coder.dictionary.Entry объект, который представляет раздел memory, который существует в Словаре Embedded Coder. Для получения информации о разделах памяти смотрите Данные об Управлении и Функциональное Размещение в Памяти Вставкой Прагм.

Спецификация для класса памяти, чтобы сохранить размерности многомерных массивов в сгенерированном коде. Для получения дополнительной информации смотрите Размерности Заповедника Многомерных массивов в Сгенерированном коде.

Спецификация, чтобы применить const спецификатор к данным.

Зависимости

  • Если вы выбираете это свойство, вы не можете установить DataInit к Dynamic.

  • Установка DataInit к Dynamic \sets это свойство к false.

Спецификация, чтобы применить volatile спецификатор к данным.

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

Не используйте это свойство применить ключевое слово static. Вместо этого используйте встроенный класс памяти FileScope, который вы не можете применить с редактором Отображений Кода. Смотрите Выбирают Класс памяти для Управления Представлением данных в Сгенерированном коде.

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

Зависимости

  • Установка DataInit к Static наборы это свойство к true.

  • Установка DataInit к Dynamic наборы это свойство к false.

  • Чтобы установить значение этого свойства, устанавливает DataInit к None.

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

Зависимости

  • Установка DataInit к Dynamic наборы это свойство к true.

  • Установка DataInit к Static наборы это свойство к false.

  • Чтобы установить значение этого свойства, устанавливает DataInit к None.

Функциональные шаблоны настройки

Имя шаблона. Имя должно быть уникальным среди шаблонов функций в словаре. Embedded Coder® обеспечивает встроенные шаблоны, перечисленные в этой таблице.

ШаблонОписание
ModelFunctionВ редакторе Отображений Кода используйте в функциях точки входа для инициализации, выполнения, завершения, и сбросьте (см., Конфигурируют Генерацию кода По умолчанию для Функций),
UtilityFunctionВ редакторе Отображений Кода используйте в разделяемых служебных функциях (см., Конфигурируют Генерацию кода По умолчанию для Функций),

Пользовательский текст, который можно использовать, чтобы описать цель и функциональность шаблона функции.

Имена функций в сгенерированном коде в виде правила именования. Правило именования включает комбинацию текста и лексем. Допустимые лексемы перечислены в этой таблице.

ЛексемаОписание
$RИмя корневой модели
$NБазовое имя присоединенной функции, такой как step
$UПользовательский текст лексемы, который вы задаете для модели как описано в Управлении форматом Идентификатора
$CДля разделяемых служебных функций, контрольная сумма, вставленная, чтобы избежать столкновений имени
$MИскажающий имя вставленный текст, при необходимости, чтобы избежать столкновений имени

Местоположение в памяти, чтобы выделить функцию в виде coder.dictionary.Entry объект, который представляет раздел memory, который существует в Словаре Embedded Coder. Для получения информации о разделах памяти смотрите Данные об Управлении и Функциональное Размещение в Памяти Вставкой Прагм.

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

Имя раздела memory. Имя должно быть уникальным среди разделов memory в словаре. Embedded Coder обеспечивает встроенные разделы памяти, перечисленные в этой таблице.

Раздел MemoryОписание
MemConstПримените спецификатор типа хранения const к данным.
MemVolatileПримените спецификатор типа хранения volatile к данным.
MemConstVolatileПримените спецификаторы типа хранения const и volatile к данным.

Пользовательский текст, который можно использовать, чтобы описать цель и функциональность раздела memory.

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

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

Можно использовать маркерный $R представлять имя модели, которая использует раздел memory.

Когда вы устанавливаете StatementsSurround к EachVariable, можно использовать маркерный $N представлять имя каждой переменной или функции, которая использует раздел memory.

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

Можно использовать маркерный $R представлять имя модели, которая использует раздел memory.

Когда вы устанавливаете StatementsSurround к EachVariable, можно использовать маркерный $N представлять имя каждой переменной или функции, которая использует раздел memory.

Спецификация, чтобы вставить операторы кода (PreStatement и PostStatement):

  • Вокруг каждой переменной и функции, которая использует раздел memory. Выберите EachVariable.

  • Однажды, вокруг целого раздела memory. Сгенерированный код агрегировал переменные и функциональные определения в непрерывный блок кода и окружает блок операторами. Выберите AllVariables.

Методы

развернуть все

Примеры

свернуть все

Откройте модель rtwdemo_roll и представляйте Словарь Embedded Coder при помощи coder.Dictionary объект coderDictionary. Используйте этот объект получить доступ к разделу Storage Classes словаря, который содержит определения класса памяти.

rtwdemo_roll
coderDictionary = coder.dictionary.open('rtwdemo_roll');

Создайте coder.dictionary.Section объект, который представляет раздел Storage Classes Словаря Embedded Coder.

storageClassesSect = getSection(coderDictionary, 'StorageClasses');

Добавьте определение под названием MyStorageClass к разделу Storage Classes. Определение класса памяти использует настройки свойства по умолчанию. Можно изменить эти настройки при помощи set функция.

newEntry = addEntry(storageClassesSect,'MyStorageClass')
newEntry = 

  Entry with properties:

          Name: 'MyStorageClass'
    DataSource: 'rtwdemo_roll'

Введенный в R2019b