Оптимизируйте сгенерированный код, используя указанные минимальное и максимальное значения для сигналов и параметров в модели.
Категория: Оптимизация
По умолчанию: Откл.
Оптимизирует сгенерированный код, используя информацию о диапазоне, полученную из минимального и максимального заданных значений для сигналов и параметров в модели.
Игнорирует указанные минимальные и максимальные значения при создании кода.
Для обнаружения несоответствий между моделями и моделируемыми кодами, возникающими в результате использования этого параметра, перед запуском нормального, ускорителя, программного обеспечения в цикле (SIL) или моделирования процессора в цикле (PIL) установите диагностику > валидность данных > проверка диапазона моделирования в значение Warning или Error.
Укажите минимальное и максимальное значения для сигналов и параметров в модели для:
Блоки ввода и вывода.
Блочные выходы.
Входы блоков, например, для блоков MATLAB Function и Stateflow Chart.
Simulink.Signal объекты.
Эта оптимизация не учитывает минимальные и максимальные значения, указанные для:
Объединение входных данных блоков. Чтобы обойти это, используйте Simulink.Signal объект на выходе блока «Слияние» и укажите диапазон для этого объекта
Элементы шины.
Условно выполняемая подсистема (например, запускаемая подсистема) выводит блоки, которые непосредственно соединены с блоком Outport.
Блоки аутпорта в условно выполненных подсистемах могут иметь начальное значение, заданное для использования, только если система не запущена. В этом случае оптимизация не может использовать диапазон вывода блока, поскольку диапазон может не охватывать начальное значение блока.
При использовании Prover™software Polyspace ® Code для проверки кода, созданного с помощью этой оптимизации, ранее зеленый код может быть отмечен как оранжевый. Например, если модель содержит деление, в котором диапазон знаменателя не включает ноль, созданный код не включает защиту от деления на ноль. Средство проверки кода Polyspace может пометить этот код оранжевым, поскольку оно не имеет информации о минимальном и максимальном значениях, указанных для входных данных для деления.
Программа Polyspace Code Prover автоматически фиксирует некоторые минимальные и максимальные значения, указанные в рабочей области MATLAB ®, например, дляSimulink.Signal и Simulink.Parameter объекты. В этом примере для предоставления информации о диапазоне для программного обеспечения Polyspace Code Prover используйте Simulink.Signal объект на входе деления и укажите диапазон, который не включает ноль.
Программа Polyspace Code Prover сохраняет эти значения в файле спецификации диапазона данных (DRS). Однако они не фиксируют минимальные и максимальные значения, указанные в модели Simulink ®. Для предоставления дополнительной информации min/max в средство проверки кода Polyspace можно вручную определить файл DRS. Дополнительные сведения см. в документации по программе проверки кода Polyspace.
Если используются типы данных с двойной точностью и выбран параметр конфигурации Code Generation > Interface > Support non-finite numbers, эта оптимизация не выполняется.
Если модель содержит несколько экземпляров многоразовой подсистемы и каждый экземпляр использует входные сигналы с различными заданными минимальными и максимальными значениями, эта оптимизация может привести к различному сгенерированному коду для каждой подсистемы, поэтому повторное использование кода не происходит. Без этой оптимизации программное обеспечение Simulink Coder™ генерирует код для подсистемы один раз и совместно использует этот код для нескольких экземпляров подсистемы.
При выборе этой опции в окне «Проверка параметров оптимизации, связанных с безопасностью» (Simulink Check) появится предупреждение. Для многих критически важных для безопасности приложений автоматическое удаление мертвого кода неприемлемо, поскольку это может сделать код не отслеживаемым.
Включение этой оптимизации повышает способность программного обеспечения Fixed-Point Designer™ устранять ненужные служебные функции и код насыщения из сгенерированного кода.
Этот параметр отображается только для целевых объектов на основе ERT.
Для создания кода этому параметру требуется лицензия Embedded Coder ®.
Параметр:
UseSpecifiedMinMax |
Значение:
'on' | 'off' |
По умолчанию:
'off' |
| Приложение | Настройка |
|---|---|
| Отладка | Прочь |
| Отслеживаемость | Прочь |
| Эффективность | На |
| Меры безопасности | Никакого воздействия |