ПЛК-кодер: оптимизация

Обзор оптимизации

Выберите настройки оптимизации генерации кода.

См. также

Сгенерируйте структурированный текст из окна модели

Поведение параметра по умолчанию

Преобразуйте параметры числовых блоков в постоянные 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

Можно использовать эту опцию, чтобы включить повторное использование переменных блока 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'

См. также

Сгенерируйте структурированный текст из окна модели