exponenta event banner

Вопросы, связанные с диаграммой Stateflow

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

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

Операции правого сдвига, превышающие битовую ширину входного типа, или на отрицательное значение.

B

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

Примечание

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

ОбъяснениеЧтобы избежать операций сдвига в сгенерированном коде, которые могут быть нарушением стандарта кодирования.
Проверки помощника по моделиПроверка использования операций смены для данных 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) Оборонительное программирование

  • МЭК 62304, 5.5.3 - Критерии приемки установки программного обеспечения

  • ISO 26262-6, Таблица 1 (1b) Использование языковых подмножеств
    ISO 26262-6, таблица 1 (1с) Обеспечение строгого типирования
    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 для улучшения соответствия кода

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

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

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

  • IEC 61508-3, Таблица A.3 (2) Сильно типизированный язык программирования
    IEC 61508-3, Таблица A.4 (3) Оборонительное программирование

  • МЭК 62304, 5.5.3 - Критерии приемки установки программного обеспечения

  • ISO 26262-6, Таблица 1 (1b) Использование языковых подмножеств
    ISO 26262-6, таблица 1 (1с) Обеспечение строгого типирования
    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 для улучшения соответствия кода

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

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

Примечание

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

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

  • МЭК 62304, 5.5.3 - Критерии приемки установки программного обеспечения

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

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

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

Последнее изменениеR2017b