Факторы диаграммы Stateflow

hisf_0064: Операции сдвига для данных Stateflow, чтобы улучшить податливость кода

ID: Заголовокhisf_0064: Операции сдвига для данных Stateflow®, чтобы улучшить податливость кода
ОписаниеЧтобы улучшить податливость кода сгенерированного кода с операциями сдвига бита Stateflow, не выполняйте:
A

Операции сдвига вправо, больше, чем битная ширина входного типа, или отрицательной величиной.

B

Операции сдвига влево, больше, чем битная ширина выходного типа, или отрицательной величиной.

Примечание

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

ОбъяснениеИзбегать операций сдвига в сгенерированном коде, который может быть кодирующим стандартным нарушением.
Проверки Model AdvisorПроверяйте использование операций сдвига для данных Stateflow (Simulink Check)
Ссылки
  • Раздел DO-331 MB.6.3.1.b 'Требования высокого уровня точен и сопоставим'
    Раздел DO-331 MB.6.3.2.b 'Низкоуровневые требования точен и сопоставим'

  • IEC 61508–3, Таблица A.3 (2) язык программирования Со строгим контролем типов
    IEC 61508–3, Табличное A.4 (3) Безопасное программирование

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

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

  • EN 50128, таблица A.4 (8) язык программирования со строгим контролем типов
    EN 50128, табличное A.3 (1) безопасное программирование

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

Необходимые условияhisl_0060: Параметры конфигурации, которые улучшают податливость MISRA C:2012
В последний раз измененныйR2021a
Примеры

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

Правильный

Выполните операции сдвига в заданной области значений сигналов ввода и вывода.

Правильный

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

hisf_0065: Введите операции броска в Stateflow, чтобы улучшить податливость кода

ID: Заголовокhisf_0065: Введите операции броска в Stateflow, чтобы улучшить податливость кода
ОписаниеВ диаграммах Stateflow, которые используют язык действия C, используйте := обозначение, чтобы защитить от Stateflow, бросая вычисления целочисленной и фиксированной точки к более широким типам данных, чем типы входных данных.
Примечание

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

ОбъяснениеИзбегать неявных бросков в сгенерированном коде, который может нарушить стандарты кодирования.
Проверки Model AdvisorПроверяйте операции присвоения в диаграммы Stateflow (Simulink Check)
Ссылки
  • Раздел DO-331 MB.6.3.2.b 'Низкоуровневые требования точен и сопоставим'

  • IEC 61508–3, Таблица A.3 (2) язык программирования Со строгим контролем типов
    IEC 61508–3, Табличное A.4 (3) Безопасное программирование

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

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

  • EN 50128, таблица A.4 (8) язык программирования со строгим контролем типов
    EN 50128, табличное A.3 (1) безопасное программирование

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

Необходимые условияhisl_0060: Параметры конфигурации, которые улучшают податливость MISRA C:2012
В последний раз измененныйR2021a

hisf_0211: Защитите от использования унарных операторов в диаграммах Stateflow, чтобы улучшить податливость кода

ID: Заголовокhisf_0211: Защитите от использования унарных операторов в диаграммах Stateflow, чтобы улучшить податливость кода
ОписаниеУлучшить податливость кода сгенерированного кода:
A

Не используйте операторы унарный минус на типах данных без знака.

Примечание

MATLAB® и языки действия C не ограничивают использование операторов унарный минус по выражениям без знака.

ОбъяснениеУлучшите податливость кода сгенерированного кода.
Проверки Model AdvisorПроверяйте диаграммы Stateflow на унарные операторы (Simulink Check)
Ссылки
  • Раздел DO-331 MB.6.3.1.b 'Требования высокого уровня точен и сопоставим'
    Раздел DO-331 MB.6.3.2.b 'Низкоуровневые требования точен и сопоставим'

  • IEC 61508–3, Таблица A.3 (2) язык программирования Со строгим контролем типов
    IEC 61508–3, Табличное A.4 (3) Безопасное программирование

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

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

  • EN 50128, таблица A.4 (8) язык программирования со строгим контролем типов
    EN 50128, табличное A.3 (1) безопасное программирование

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

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