Как описано в Установленном Значении переменных при помощи Математического выражения можно установить значение Simulink.Parameter
возразите против выражения, включающего другие объекты переменных MATLAB® или объекты параметра. Когда вы генерируете код из модели, которая использует такой объект параметра, чтобы достигнуть вашей цели, использовать информацию в таблице.
Цель | Метод и больше информации |
---|---|
Сгенерируйте код без Embedded Coder®. | Для объекта параметра, который использует выражение, примените доступный класс памяти (см. Настройку генерации кода C для Элементов Интерфейса модели). Для объектов параметра, используемых в выражении, примените только класс памяти |
Сгенерируйте код, который задает глобальную переменную и инициализирует ее при помощи выражения включающие системные константы, и другие макросы (требует Embedded Coder). | Смотрите инициализируют значение параметров от системы постоянный или другой макрос (Embedded Coder) (Embedded Coder). |
Сгенерируйте код, который задает макрос, значение которого является выражением, включающим другие макросы (требует Embedded Coder). | Для объекта параметра, который использует выражение, примените класс памяти, который дает к макросу в сгенерированном коде, таком как Для объектов параметра, используемых в выражении, примените классы памяти, то выражение импортировало макросы. Например, используйте класс памяти |
Избегать ошибок, которые предотвращают генерацию кода, если вы применяете класс памяти кроме Auto
к зависимому объекту параметра (который использует выражение в качестве его значения), объекты параметра, используемые в выражении, должны использовать любой Auto
или класс памяти, который дает к макросу в сгенерированном коде.
Вы не можете установить значение объекта параметра, который представляет символьную размерность (см. Варианты Размерности Реализации для Размеров Массивов в Сгенерированном коде (Embedded Coder)) к выражению.
С Embedded Coder можно сгенерировать код, который сохраняет выражение, но только в целях статичной инициализации значения глобальной переменной или макрос, который соответствует зависимому объекту параметра. Следуйте инструкциям в Сохранении Выражения.
Если вы хотите, чтобы Embedded Coder сохранил выражения в сгенерированном коде, придерживался этих ограничений и инструкций.
Зависимый объект параметра должен использовать класс памяти кроме Auto
. Например, чтобы сгенерировать глобальную переменную и инициализировать ее при помощи выражения, используйте ExportedGlobal
или ExportToFile
.
Объекты параметра, используемые в выражении, должны:
Используйте класс памяти, который дает к макросу в сгенерированном коде, таком как Define
.
Имейте скаляр, действительные значения, если выражение использует операторы.
Выражение может использовать только эти операторы (в синтаксисе MATLAB):
Математический: +
, -
, *
Реляционный: ==
, ~=
, <
, >
, <=
, >=
Эти инструкции по вводу данных применяются:
Если возможно, для объекта параметра, используемого в выражении, оставляют DataType
свойство в значении по умолчанию, auto
.
Использовать значение кроме auto
, необходимо установить DataType
свойство объекта, который использует выражение для того же значения. В противном случае генератор кода не сохраняет выражение.
Если вы хотите использовать объект параметра в нескольких различных выражениях, и зависимые объекты параметра имеют различные типы данных, оставляют DataType
свойство независимого объекта в значении по умолчанию, auto
. В сгенерированном коде значение макроса описывается как число с плавающей запятой (с эффективным типом данных double
), и код инициализирует зависимые параметры путем преобразования типа результата каждого выражения.