exponenta event banner

hisl_0002: Использование остатка и взаимные операции

ID: Заголовокhisl_0002: Использование остатка и взаимные операции
Описание

Поддерживать робастность сгенерированного кода, при использовании блока Math Function с остатком после деления (rem) или обратная величина (reciprocal) операции:

A

Защитите вход reciprocal функция от попытки обнулить.

B

Защитите второй вход rem функция от попытки обнулить.

Примечание

Можно получить операцию деления на нуль, приводящую к большому количеству (Inf) выходное значение для reciprocal функция или Не число (NaN) выходное значение для rem функция. Чтобы избежать переполнения или неопределенных значений, защитите соответствующий вход от попытки обнулить.

ОбъяснениеЗащитите от переполнения и неопределенных числовых результатов.
Проверки 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

  • INT33-C. Убедитесь, что деление и операции остатка не приводят к ошибкам деления на нуль

В последний раз измененныйR2021b
Примеры

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