exponenta event banner

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

Идентификатор: Заголовокhisl_0029: Использование блоков назначения
Описание

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

Примечания

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

Если блок Assignment используется итеративно и все поля массива назначаются в течение одного шага времени моделирования, ввод инициализации в блок не требуется.

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

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

  • МЭК 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.2.g - «Алгоритмы точны»

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

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

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


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


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