hisl_0067: Защитите от вычислений деления на нуль

ID: Заголовокhisl_0067: Защитите от вычислений деления на нуль
ОписаниеЧтобы поддержать робастность сгенерированного кода, при выполнении делят операции, защищают делитель от попытки обнулить.
Примечание

Чтобы доказать, что деление на нуль не возможно, выполните статический анализ модели.

Если деление на нуль возможно, реализуйте одно из следующих. Используя больше чем одну опцию может привести к избыточным операциям защиты:

Используя CRLs или очищающий параметр конфигурации Удаляют код, который защищает от арифметических исключений деления (Embedded Coder), защищает операции деления от операций деления на нуль. Однако это действие действительно вводит дополнительный вычислительный и память наверху, а также потенциал, чтобы ввести недостижимый код.

ОбъяснениеУлучшите податливость кода сгенерированного кода
Проверки Model AdvisorПроверяйте на вычисления деления на нуль (Simulink Check)
Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

    IEC 61508-3, Таблица A.4 (3) 'Безопасное программирование'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (b) 'Использование языковых подмножеств'

    ISO 26262-6, Таблица 1 (d) 'Использование защитных методов реализации'

  • EN 50128, таблица A.4 (11) 'языковое подмножество'

    EN 50128, таблица A.3 (1) 'безопасное программирование'

  • DO-331, Раздел MB.6.3.2.g 'Алгоритмы точен'

  • MISRA C:2012, Dir 4.1

Смотрите также
В последний раз измененныйR2021a
Пример

Неправильный

Операция деления может привести к сценарию деления на нуль.

Divide-by-zero exists in model example.

Правильный

Графическая функция к проверке деления на нуль модели.

Correct example of modeling to prevent divide-by-zero.