Выберите диагностическое действие, которое будет выполнено, если Simulink® программа обнаруживает арифметические операции (+, -, *, идивид, рем) в вариантных условиях, заданных в вариантных блоках.
Category: диагностика
По умолчанию:
error
Примечание
Для моделей, созданных до R2019a, значение по умолчанию warning
.
none
Когда программа Simulink обнаруживает арифметические операции в вариантных условиях блока Variant с установленной на Variant activation time опцией code compile
программное обеспечение не предпринимает никаких действий.
warning
Когда программа Simulink обнаруживает арифметические операции в вариантных условиях блока Variant с установленной на Variant activation time опцией code compile
программа отобразит предупреждение.
error
Когда программа Simulink обнаруживает арифметические операции в вариантных условиях блока Variant с установленной на Variant activation time опцией code compile
программа отобразит предупреждение и завершит симуляцию.
Примечание
Рекомендуется использовать значение по умолчанию error
, так как может быть различие в поведении между симуляцией и генерацией кода. Для примера, если вы используете условие V * W == 10
в блоке Variant Source и запросе, чтобы блок произвел условия препроцессора в сгенерированном коде Simulink Coder. Это приводит к сгенерированному коду C, содержащему "#if V*W == 10"
. Simulink использует int32 типа для V
и W
, в то время как целые типы, используемые компилятором, зависят от реализации. Итак, для больших значений V
и W
, может быть различие в поведении между симуляцией и генерацией кода. Если модель использует арифметические операции, необходимо рассмотреть возможность удаления их использования, а не ослабления диагностики.
Параметр: ArithmeticOperatorsInVariantConditions |
Значение:
'none' | 'warning' | 'error' |
По умолчанию:
'error'
|
Приложение | Настройка |
---|---|
Отладка | Никакого влияния |
Трассируемость | Никакого влияния |
Эффективность | Никакого влияния |
Меры безопасности | Никакого влияния |