При проверке сгенерированного кода на наличие ошибок или ошибок времени выполнения можно выбрать, выполнять ли проверку для всех значений входных данных или для определенного диапазона значений. Диапазон ввода можно извлечь из модели 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.
По умолчанию: этот параметр не выбран. При анализе программы проверки кода выходные значения не проверяются.
После анализа проверьте, используется ли ограниченное значение диапазона, см. один из следующих файлов:
XML-файл спецификации ограничений в папке modelname_drs.xmlresults_. modelname\modelname
Файл проекта Polyspace ® в папке modelname.prpsjresults_. 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 | Да | Да |