Моделирование стиля

hisl_0032: имена Объекта модели

ID: Заголовокhisl_0032: имена Объекта модели
Описание

Для следующих имен объекта модели:

  • Сигналы

  • Параметры

  • Блоки

  • Названный Stateflow® объекты (состояния, Поля, Simulink® Функции, графические функции, таблицы истинности)

Использование:

  • Эти символы: a-z, A-Z, 0-9, и подчеркивание (_).

  • Строки, которые являются меньше чем 32 символами.

Не делайте:

  • Начните имя с номера.

  • Используйте символы нижнего подчеркивания вначале или конец строки.

  • Используйте больше чем одно последовательное подчеркивание.

  • Используйте зарезервированные идентификаторы.

Примечания

Зарезервированные имена:

  • MATLAB® ключевые слова

  • Зарезервированные слова для C, C++ и генерации кода. Для полного списка смотрите Зарезервированные слова (Simulink Coder).

  • int8 uint8

  • int16uint16

  • int32uint32

  • infInf

  • NaNNaN

  • eps

  • intminintmax

  • realminrealmax

  • pi

  • infinity

  • Nil

Объяснение
  • Удобочитаемость

  • Ограничения компилятора

  • Трассируемость модели к сгенерированному коду

Проверки Model AdvisorПроверяйте, что объект модели называет (Simulink Check)
Смотрите также

Инструкции MAB:

Ссылки

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

  • ISO 26262-6, Таблица 1 (1 ч) 'Использование соглашений о присвоении имен'

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

    DO-331, MB.6.3.3.e 'Программная архитектура соответствует стандартам’

  • DCL37-C. Не объявляйте или задавайте зарезервированный идентификатор

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

Рекомендуемый

  • Имя блока: My_Controller

  • Имя сигнала: a_b

Не рекомендуемый

  • Имя блока: My Controller

  • Имя сигнала: 12a__b

hisl_0061: Уникальные идентификаторы для ясности

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

  • IEC 61508-3, Таблица A.3 (2) ‘Язык программирования со строгим контролем типов’
    IEC 61508-3, Таблица A.3 (3) - Языковое подмножество
    IEC 61508-3, Таблица A.4 (5) - Проект и стандарты кодирования

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

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

  • EN 50128, таблица A.3 (1) - безопасное программирование
    EN 50128, таблица A.4 (8) 'язык программирования со строгим контролем типов'
    EN 50128, таблица A.4 (11) - 'языковое подмножество'
    EN 50128, таблица A.12 (1) 'кодирование стандарта'
    EN 50128, таблица A.12 (2) 'руководство стиля кодирования'

Смотрите также Внешний вид кода (Simulink Coder)
В последний раз измененныйR2017b
Примеры

Не рекомендуемый

В следующем примере, два состояния Scope_1 и Scope_2 используйте локальный идентификатор IntCounter.

Идентификатор IntCounter задан для двух состояний, Scope_1 и Scope_2.

Рекомендуемый

Чтобы разъяснить модель, создайте уникальные идентификаторы. В следующем примере утвердите Scope_1 локальный идентификатор использования IntCounter_Scope_1. Scope_2 состояния локальный идентификатор использования IntCounter_Scope_2.

Идентификатор IntCounter_Scope_1 задан для Scope_1 состояния. Идентификатор IntCounter_Scope_2 задан для Scope_2.

hisl_0062: Глобальные переменные в графических функциях

ID: Заголовокhisl_0062: Глобальные переменные в графических функциях
Описание

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

ОбъяснениеУлучшите удобочитаемость модели путем удаления неоднозначности в значениях глобальных переменных.
Проверки Model AdvisorПроверяйте глобальные переменные в графические функции (Simulink Check)
Ссылки
  • IEC 61508–3, Таблица A.3 (3) 'Языковое подмножество'
    IEC 61508–3, Таблица A.4 (4) 'Модульный подход'
    IEC 61508–3, 4 (5) 'Проект и стандарты кодирования'

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

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

  • EN 50128, таблица A.4 (11) 'языковое подмножество'
    EN 50128, таблица A.12 (1) 'кодирование стандарта'
    EN 50128, таблица A.12 (2) 'руководство стиля кодирования'

  • DO-331, Раздел MB.6.3.2.g 'Алгоритмы точен'

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

  • EXP30-C. Не зависьте от порядка оценки для побочных эффектов

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

Считайте графическую функцию graphicalFunction это изменяет глобальные данные G.

Рекомендуемый

Не рекомендуемый