hisl_0034: Использование блоков Signal Routing

Идентификатор: Заголовокhisl_0034: Использование блоков Signal Routing
Описание

При использовании Switch блоков избегайте сравнений с помощью ~= оператор для типов данных с плавающей точкой.

Примечание

Из-за проблем с точностью с плавающей точностью не проверяйте выражения с плавающей точкой на неравенство (~=).

Когда модель содержит Switch блок, вычисляющий реляционный оператор с ~= оператор, входы для блока не должны быть одинарным, двойным или любым пользовательским классом памяти, являющимся типом с плавающей точкой. Измените тип данных входных сигналов или переделайте модель, чтобы исключить использование ~= оператор в блоках Switch.

Объяснение

Улучшите робастность модели.

Проверки Model AdvisorПроверяйте использование блоков Signal Routing (Simulink Check)
Ссылки
  • DO-331, Разделы MB.6.3.2.g 'Алгоритмы точны'

  • IEC 61508-3, Таблица A.3 (3) - 'Language subset'
    Таблица A.4 (3) - 'Оборонительное программирование'

  • IEC 62304, 5.5.3 - «Критерий приемки Модуля ПО»

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

  • EN 50128, таблица A.4 (11) - 'Language Subset'
    Таблица A.3 (1) - 'Оборонительное программирование'

  • MISRA C:2012, Dir 1.1

Последнее изменениеR2021a
Примеры

Не рекомендуется

Рекомендуется