Выберите настройки оптимизации генерации кода.
Преобразуйте параметры числовых блоков в постоянные inlined значения в сгенерированном коде. Эта опция доступна на панели PLC Code Generation > Optimization в диалоговом окне Параметры конфигурации (Configuration Parameters).
Преобразуйте параметры числовых блоков в постоянные inlined значения в сгенерированном коде.
Category: Оптимизация
По умолчанию:
Tunable для целей GRT |
Inlined
для целей ERT
Inlined
Установите Default parameter behavior значение Inlined
уменьшить глобальное использование оперативной памяти и повысить эффективность сгенерированного кода. Код не выделяет память, чтобы представлять числовые параметры блоков, такие как параметр Gain блока Gain. Вместо этого код вводит буквальные числовые значения этих параметров блоков.
Tunable
Установите Default parameter behavior значение Tunable
для обеспечения настраиваемости параметров числовых блоков в сгенерированном коде. Код представляет числовые параметры блоков и переменные, которые используют класс памяти Auto
, включая числовой MATLAB® переменные, как настраиваемые поля структуры глобальных параметров.
Задаете ли вы Default parameter behavior Inlined
или к Tunable
, создайте объекты данных параметра, чтобы сохранить настраиваемость для параметров блоков. Для получения дополнительной информации смотрите Создать Настраиваемый Параметр Калибровки в Сгенерированном Коде (Simulink Coder).
Когда вы переключаетесь из системного целевого файла, который не основан на ERT, в файл, который основан на ERT, Default parameter behavior устанавливает на Inlined
по умолчанию. Однако изменить настройку Default parameter behavior можно позже.
Когда модель верхней части использует ссылочные модели или если на модель ссылается другая модель:
Всем ссылочным модели необходимо задать Default parameter behavior значение Inlined
если для верхней модели Default parameter behavior задано значение Inlined
.
Верхняя часть может задавать Default parameter behavior следующим Tunable
или Inlined
.
Если ваша модель содержит блок Environment Controller, можно подавить генерацию кода для ветви, соединенной с портом Sim, если задать Default parameter behavior Inlined
и ветвь не содержит внешних сигналов.
Параметр: PLC_PLCEnableVarReuse |
Тип: строка |
Значение:
'on' | 'off' |
По умолчанию:
'on'
|
Повторно используйте память сигнала. Эта опция доступна на панели PLC Code Generation > Optimization в диалоговом окне Параметры конфигурации (Configuration Parameters).
По умолчанию: on
Повторно использует буферы памяти, выделенные для хранения входных и выходных сигналов блоков, уменьшая требования к памяти вашей программы в реальном времени.
Выделяет отдельный буфер памяти для выходов каждого блока. Это выделение делает выходы блоков глобальными и уникальными, что во многих случаях значительно увеличивает использование ОЗУ и ПЗУ.
Эта опция применяется только к сигналам с классом памяти Auto
.
Повторное использование памяти сигналов может происходить только среди сигналов, которые имеют совпадающий тип данных.
Очистка этой опции может существенно увеличить объем памяти, необходимой для симуляции больших моделей.
Очистить эту опцию, если вы хотите:
Отлаживайте S-функцию C-MEX.
Используйте Floating Scope или Display блок с плавающего параметра отображения, выбранной для просмотра сигналов в модели, которую вы отлаживаете.
Если вы выбираете Signal storage reuse и пытаетесь использовать блок Floating Scope или floating Display для отображения сигнала, буфер которого был повторно использован, открывается диалоговое окно с ошибкой.
Параметр: PLC_PLCEnableVarReuse |
Тип: строка |
Значение: 'on' | 'off' |
По умолчанию: 'on' |
Включите удаление кода для эффективных отливок. Эта опция доступна на панели PLC Code Generation > Optimization в диалоговом окне Параметры конфигурации (Configuration Parameters).
По умолчанию: on
Удаляет код из преобразования с плавающей точкой в целое число.
Не удаляет код из преобразования с плавающей точкой в целое число.
Используйте этот параметр для оптимизации генерации кода.
Параметр: PLC_PLCEnableEfficientCast |
Тип: строка |
Значение: 'on' | 'off' |
По умолчанию: 'on' |
Используя эту опцию, можно сгенерировать лучший переиспользуемый код для переиспользуемых подсистем. Например, если ваша модель содержит несколько образцы одной и той же подсистемы, а некоторые образцы имеют постоянные входы, по умолчанию сгенерированный код содержит отдельные функциональные блоки для каждого образца. Если вы выбираете эту опцию, программное обеспечение не рассматривает, являются ли входы в подсистему постоянными, и генерирует один функциональный блок для нескольких образцов.
Эта опция доступна на панели PLC Code Generation > Optimization в диалоговом окне Параметры конфигурации (Configuration Parameters).
По умолчанию: off
Генерирует лучший переиспользуемый код для переиспользуемых подсистем.
Возвращается к поведению по умолчанию. Вместо одного переиспользуемого функционального блока программное обеспечение генерирует отдельные функциональные блоки для отдельных образцов переиспользуемой подсистемы из-за определенных различий в их входах.
Если вы находите несколько функциональных блоков в сгенерированном коде для нескольких образцов одной и той же подсистемы, выберите эту опцию. Программное обеспечение выполняет лучшую идентификацию того, являются ли два образцов подсистемы фактически одинаковыми и может ли оно объединить несколько блоков в один переиспользуемый функциональный блок.
Если различные образцы подсистемы имеют различные значения параметров блоков, вы не можете сгенерировать повторно используемый код. Очистить эту опцию или использовать те же параметры блоков для всех образцов.
Несмотря на выбор этой опции, если вы не видите повторно используемый код для разных образцов подсистемы, можно определить причину. Чтобы определить, идентичны ли две переиспользуемые подсистемы, генератор кода внутри использует значение контрольной суммы. Можно сравнить значения контрольной суммы для двух образцов подсистемы и выяснить, почему они не идентичны.
Чтобы получить значения контрольной суммы для двух образцов, которые вы ожидаете быть идентичными, используйте функцию Simulink.SubSystem.getChecksum
. Если значения контрольной суммы отличаются, исследуйте детали контрольной суммы, чтобы увидеть, почему значения не идентичны.
Параметр: PLC_GenerateReusableCode |
Тип: строка |
Значение:
'on' | 'off' |
По умолчанию:
'off'
|
Используя эту опцию, можно управлять встраиванием глобальных именованных констант. По умолчанию сгенерированный код содержит именованные ssMethodType
константы для внутренних состояний или других Simulink® семантика. Если вы выбираете эту опцию, программа заменяет именованные константы на целочисленное значение.
Эта опция доступна на панели PLC Code Generation > Optimization в диалоговом окне Параметры конфигурации (Configuration Parameters).
По умолчанию: off
Inlines с именем constants.
Возвращается к поведению по умолчанию и использует именованные константы в сгенерированном коде.
Параметр: PLC_InlineNamedConstant |
Тип: строка |
Значение:
'on' | 'off' |
По умолчанию:
'off'
|
Можно использовать эту опцию, чтобы включить повторное использование переменных блока MATLAB function в сгенерированном коде.
Эта опция доступна на панели PLC Code Generation > Optimization в диалоговом окне Параметры конфигурации (Configuration Parameters).
По умолчанию: off
Генерирует код, который при необходимости повторно использует Блок MATLAB function переменные.
Возвращается к поведению по умолчанию и не использует переменные в сгенерированном коде повторно.
Параметр: PLC_ReuseMLFcnVariable |
Тип: строка |
Значение:
'on' | 'off' |
По умолчанию:
'off'
|
Задайте минимальную ширину сигнала или параметра, для которого генерируется цикл for. Эта опция доступна на панели PLC Code Generation > Optimization в диалоговом окне Параметры конфигурации (Configuration Parameters).
По умолчанию: 5
Задайте размер массива, при котором генератор кода начинает использовать for
цикл вместо отдельных операторов назначения для назначения значений элементам массива сигналов или параметров.
Когда циклы являются идеально вложенными циклами, генератор кода использует for
цикл, если продукт цикла отсчитывает для всех циклов в идеальном цикле, больше или равно этому порогу.
Параметр: PLC_RollThreshold |
Тип: строка |
Значение: любое допустимое значение |
По умолчанию: '5' |