Описание | При разработке модели: |
A | Используйте уникальные идентификаторы для Simulink® сигналы. |
B | Задайте уникальные идентификаторы для нескольких возможностей графика. |
Примечания | Генератор кода разрешает конфликты между идентификаторами, так что символы в сгенерированном коде являются уникальными. Процесс называется name mangling. |
Объяснение | 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) - Стандарты проекта и кодирования МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО ISO 26262-6, таблица 1 (1b) - «Использование языковых подмножеств» ISO 26262-6, таблица 1 (1с) «Обеспечение соблюдения строгих типоразмеров» ISO 26262-6, Таблица 1 (1d) - «Использование защитных методов реализации» ISO 26262-6, Таблица 1 (1e) - «Использование надежных принципов проекта» ISO 26262-6, Таблица 1 (1f) - 'Использование однозначного графического представления' ISO 26262-6, таблица 1 (1g) - «Использование стилевых руководств» ISO 26262-6, Таблица 1 (1h) - 'Использование именующих конвенций' EN 50128, таблица A.3 (1) - Оборонительное программирование EN 50128, таблица A.4 (8) 'Сильно типизированный язык программирования' EN 50128, таблица A.4 (11) - 'Language Subset' 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 .
|