exponenta event banner

Внешние ограничения при анализе полиспейса сгенерированного кода

При проверке сгенерированного кода на наличие ошибок или ошибок времени выполнения можно выбрать, выполнять ли проверку для всех значений входных данных или для определенного диапазона значений. Диапазон ввода можно извлечь из модели Simulink ®.

Аналогично, можно использовать фиксированное значение для настраиваемых параметров или диапазон значений. Можно также проверить, находятся ли выходные значения в определенном диапазоне.

Извлечение внешних ограничений из модели

Рассмотрим эту простую модель с блоком Inport (Simulink), блоком Gain (Simulink) и блоком Outport (Simulink). Предположим, что сигнал в блоках Inport и Outport и параметр усиления блока Gain имеют минимальное и максимальное значения.

Код, созданный на основе этой модели, можно проанализировать с использованием этих минимальных и максимальных значений. На вкладке «Приложения» выберите «Верификатор кода Polyspace». Затем на вкладке «Полиспейс» выберите «Параметры». Укажите следующие параметры конфигурации:

  • Ввод: Выбрать Use specified minimum and maximum values. Анализ программы проверки кода проверяет сгенерированный код в указанном диапазоне значений из блока Inport. Анализ Bug Finder использует эту информацию для исключения ложных срабатываний.

    По умолчанию: Выбран этот параметр.

  • Настраиваемые параметры: Выбрать Use specified minimum and maximum values.

    По умолчанию: этот параметр не выбран. В анализе используется фиксированное значение усиления блока усиления (значение 2 в примере).

    Чтобы анализ учитывал диапазон вместо фиксированного значения, параметры должны быть настраиваемыми, а не встроенными. См. раздел Поведение параметров по умолчанию (Simulink Coder).

  • Вывод: Выбрать Verify outputs are within minimum and maximum values. Анализ программы проверки кода создает красную проверку, если выходные данные превышают диапазон, указанный в блоке Outport. См. также Correctness condition(Доказательство кода Polyspace).

    По умолчанию: этот параметр не выбран. При анализе программы проверки кода выходные значения не проверяются.

После анализа проверьте, используется ли ограниченное значение диапазона, см. один из следующих файлов:

  • XML-файл спецификации ограничений modelname_drs.xml в папке results_modelname\modelname.

  • Файл проекта Polyspace ®modelname.prpsj в папке results_modelname.

    Откройте этот файл в интерфейсе пользователя Polyspace. В конфигурации проекта см. извлеченные ограничения, указанные для опции Constraint setup (-data-range-specifications).

Классы хранения, поддерживаемые для извлечения ограничений

Чтобы разрешить извлечение ограничений из модели Simulink, сигналы и параметры должны иметь типы данных в определенных классах хранения. Дополнительные сведения о классах хранения см. в разделе Выбор класса хранения для управления представлением данных в сгенерированном коде (Embedded Coder).

Общие классы хранения

Класс храненияПоддерживаемое ограничение сигналаПоддерживаемое ограничение параметра
AutoДа

Да

ExportedGlobalДаДа
ImportedExternДаДа
ImportedExternPointerДаДа
Model defaultДаДа

Другие классы хранения

Класс храненияПоддерживаемое ограничение сигналаПоддерживаемое ограничение параметра
BitFieldДаДа
CompilerFlagНетНет
ConstНетДа
ConstVolatileНетДа
DefineНетНет
ExportToFileДаДа
FileScopeДаНет
GetSetНетНет
ImportedDefineНетНет
ImportFromFileНетНет
StructНетНет
VolatileДаДа

Связанные темы