Генерация кода объектов параметра со значениями выражения

Как описано в Установленном Значении переменных при помощи Математического выражения (Simulink), можно установить значение объекта Simulink.Parameter к выражению, включающему другие объекты переменных MATLAB® или объекты параметра. Когда вы генерируете код из модели, которая использует такой объект параметра, чтобы достигнуть вашей цели, использовать информацию в таблице.

ЦельМетод и больше информации

Сгенерируйте код без Embedded Coder®.

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

Для объектов параметра, используемых в выражении, примените только класс памяти Auto.

Сгенерируйте код, который задает глобальную переменную и инициализирует ее при помощи выражения включающие системные константы, и другие макросы (требует Embedded Coder).

Смотрите инициализируют значение параметров от системы постоянный или другой макрос (Embedded Coder) (Embedded Coder).

Сгенерируйте код, который задает макрос, значение которого является выражением, включающим другие макросы (требует Embedded Coder).

Для объекта параметра, который использует выражение, примените класс памяти, который приводит к макросу в сгенерированном коде, таком как Define (см. Макроопределения (#define) (Embedded Coder)).

Для объектов параметра, используемых в выражении, примените классы памяти, тот урожай импортировал макросы. Например, используйте класс памяти ImportedDefine. Ваш внешний код должен задать их макросы.

Факторы и ограничения

  • Чтобы избежать ошибок, которые предотвращают генерацию кода, если вы применяете класс памяти кроме Auto к зависимому объекту параметра (который использует выражение в качестве его значения), объекты параметра, используемые в выражении, должны использовать или Auto или класс памяти, который приводит к макросу в сгенерированном коде.

  • Вы не можете установить значение объекта параметра, который представляет символьную размерность (см. Варианты Размерности Реализации для Размеров Массивов в Сгенерированном коде (Embedded Coder)) к выражению.

  • С Embedded Coder можно сгенерировать код, который сохраняет выражение, но только в целях статичной инициализации значения глобальной переменной или макрос, который соответствует зависимому объекту параметра. Следуйте инструкциям в Сохранении Выражения.

Сохранение выражения

Если вы хотите, чтобы Embedded Coder сохранил выражения в сгенерированном коде, придерживался этих ограничений и инструкций.

  • Зависимый объект параметра должен использовать класс памяти кроме Auto. Например, чтобы сгенерировать глобальную переменную и инициализировать ее при помощи выражения, используйте ExportedGlobal или ExportToFile.

  • Объекты параметра, используемые в выражении, должны:

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

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

  • Выражение может использовать только эти операторы (в синтаксисе MATLAB):

    • Математический: +, -, *

    • Реляционный: ==, ~=, <, >, <=, >=

  • Эти инструкции по вводу данных применяются:

    • Если возможно, для объекта параметра, используемого в выражении, оставляют свойство DataType в значении по умолчанию, auto.

      Чтобы использовать значение кроме auto, необходимо установить свойство DataType объекта, который использует выражение для того же значения. В противном случае генератор кода не сохраняет выражение.

    • Если вы хотите использовать объект параметра в нескольких различных выражениях, и зависимые объекты параметра имеют различные типы данных, оставляют свойство DataType независимого объекта в значении по умолчанию, auto. В сгенерированном коде значение макроса выражается как число с плавающей запятой (с эффективным типом данных double), и код инициализирует зависимые параметры путем преобразования типа результата каждого выражения.

Смотрите также

Похожие темы