Когда вы проверяете сгенерированный код на ошибки или ошибки времени выполнения, можно выбрать, выполнить ли проверку для всех значений входа или определенной области значений значений. Можно извлечь входной диапазон из модели Simulink®.
Аналогично, можно использовать фиксированное значение в настраиваемых параметрах или области значений значений. Можно также проверять, находятся ли выходные значения в пределах определенной области значений.
Рассмотрите эту простую модель с блоком Inport, блоком Gain и блоком Outport. Предположим, что сигнал в блоках Inport и Outport и параметре усиления блока Gain имеет минимальное и максимальное значение.
Можно анализировать код, сгенерированный из этой модели с этими минимальными и максимальными значениями. На вкладке Apps выберите Polyspace Code Verifier. Затем на вкладке Polyspace выберите Settings. Задайте эти параметры конфигурации:
Входной параметр: выберите Use specified minimum and maximum values
. Анализ Программы автоматического доказательства Кода проверяет сгенерированный код в заданной области значений от блока Inport. Анализ Средства поиска Ошибки использует эту информацию, чтобы исключить ложные положительные стороны.
Значение по умолчанию: Эта опция выбрана.
Настраиваемые параметры: Выберите Use specified minimum and maximum values
.
Значение по умолчанию: Эта опция не выбрана. Анализ использует фиксированное значение усиления блока Gain (значение 2 в примере).
Для анализа, чтобы рассмотреть область значений вместо фиксированного значения, параметры должны быть настраиваемыми и не встроенные. Смотрите поведение параметра По умолчанию.
Вывод : выберите 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, сигналы и параметры должны иметь типы данных в определенных классах памяти. Для получения дополнительной информации на классах памяти, смотрите, Выбирают Storage Class for Controlling Data Representation in Generated Code (Embedded Coder).
Класс памяти | Поддерживаемое ограничение сигнала | Поддерживаемое ограничение параметра |
---|---|---|
Auto | Да | Да |
ExportedGlobal | Да | Да |
ImportedExtern | Да | Да |
ImportedExternPointer | Да | Да |
Model default | Да | Да |
Класс памяти | Поддерживаемое ограничение сигнала | Поддерживаемое ограничение параметра |
---|---|---|
BitField | Да | Да |
CompilerFlag | Нет | Нет |
Const | Нет | Да |
ConstVolatile | Нет | Да |
Define | Нет | Нет |
ExportToFile | Да | Да |
FileScope | Да | Нет |
GetSet | Нет | Нет |
ImportedDefine | Нет | Нет |
ImportFromFile | Нет | Нет |
Struct | Нет | Нет |
Volatile | Да | Да |