hisl_0029: Использование блоков Присвоения

ID: Заголовокhisl_0029: Использование блоков Присвоения
Описание

Чтобы поддержать робастность сгенерированного кода, при использовании блока Assignment, инициализируют поля массивов перед их первым использованием.

Примечания

Если выходной вектор блока Assignment не инициализируется входом с блоком, элементы векторной силы не инициализируются в сгенерированном коде.

Когда блок Assignment используется итеративно, и все поле массивов присвоены во время одного шага времени симуляции, вам не нужен вход инициализации с блоком.

Доступ к неинициализированным элементам блока выход может привести к неожиданному поведению.

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

  • 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) 'безопасное программирование'
    EN 50128, таблица A.4 (8) 'язык программирования со строгим контролем типов'

  • DO-331, Раздел MB.6.3.1.e 'Требования высокого уровня соответствует стандартам
    DO-331, Раздел MB.6.3.2.e 'Низкоуровневые требования соответствует стандартам

  • MISRA C:2012, правило 9.1

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

Не Рекомендуемый: Никакой вход Y0 инициализации, когда блок не используется итеративно


Рекомендуемый: Y0 входа Initialization, когда блок не используется итеративно


Рекомендуемый: Инициализируйте поля массивов, когда блок будет использоваться итеративно