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