Маршрутизация сигнала

hisl_0013: Использование блоков хранилища данных

ID: Заголовокhisl_0013: Использование блоков хранилища данных
Описание

Поддерживать детерминированное поведение через различные частоты дискретизации или модели при использовании блоков хранилища данных, включая Память Хранилища данных, Чтение Хранилища данных и Запись Хранилища данных:

A

В диалоговом окне Configuration Parameters на Диагностике> панель Законности Данных, под Блоком памяти Хранилища данных, установила следующие параметры на error:

  • Обнаружьте чтение перед записью

  • Обнаружьте запись, после того, как считано

  • Обнаружьте запись после записи

  • Многозадачное хранилище данных

  • Дублирующиеся имена хранилищ данных

B

Избегайте чтений хранилища данных и записей, которые происходят через контуры атомарной подсистемы и подсистему модели.

C

Избегайте использования хранилищ данных, чтобы записать и считать данные на различных уровнях, потому что различные уровни могут привести к противоречивым обменам данными. Чтобы обеспечить детерминированные данные, связывающиеся в системах мультиуровня, используйте блоки Перехода Уровня перед блоками Записи Хранилища данных, или после блоков Чтения Хранилища данных.

Примечания

Алгоритм сортировки в Simulink® не учитывает данные, связывающиеся между моделями и атомарными подсистемами.

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

ОбъяснениеA, B, C Поддержите сопоставимые значения данных через различные частоты дискретизации или модели.
Образцовые проверки советника
  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Настройка> Проверка связанные с безопасностью диагностические настройки для памяти хранилища данных

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Настройка> Проверка связанные с безопасностью диагностические настройки для памяти хранилища данных

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Настройка> Настройка> Проверка связанные с безопасностью диагностические настройки для памяти хранилища данных

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Настройка> Настройка> Проверка связанные с безопасностью диагностические настройки для памяти хранилища данных

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Настройка> Настройка> Проверка связанные с безопасностью диагностические настройки для памяти хранилища данных

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

Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'
    IEC 61508-3, Таблица A.4 (3) 'Безопасное программирование'

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

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

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

  • DO 331, Раздел MB.6.3.3.b 'Программная архитектура сопоставим’

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

Следующие примеры используют блоки Перехода Уровня, чтобы обеспечить детерминированные данные, связывающиеся в системах мультиуровня

  • Для быстрых-к-медленному переходов:

    Установите уровень медленной частоты дискретизации или на блоке Rate Transition или на блоке Data Store Write.

    Не помещайте блок Rate Transition после блока Data Store Read.

  • Для переходов быстрого не спешения:

    Если блок Rate Transition после блока Data Store Read, задайте низкую скорость на блоке Data Store Read.

    Если блок Rate Transition перед блоком Data Store Write, используйте наследованную частоту дискретизации для блоков.

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

ID: Заголовокhisl_0015: Использование блоков Слияния
Описание

Поддерживать однозначное поведение от блоков Слияния,

A

Используйте блоки Слияния только с условно выполняемыми подсистемами.

B

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

C

Очиститесь параметр блока Merge Позволяют неравные ширины порта.

DУстановите параметр блока Outport Вывод, когда отключено к held для каждой условно выполняемой объединяемой подсистемы.
Примечания

Simulink комбинирует входные параметры блока Merge в единственный вывод. Выходное значение в любое время равно последний раз вычисленному выводу блоков, которые управляют блоком Merge. Поэтому блок Merge вывод зависит от порядка выполнения входных вычислений.

Чтобы обеспечить предсказуемое поведение блока Merge вывод, у вас должно быть взаимное исключение между условно выполняемыми подсистемами, подающими блок Merge.

Блочный параметр слияния Позволяет неравные ширины порта, только доступно, когда параметр конфигурации обнаружение инициализации Underspecified установлен в Classic.

Предпосылки

hisl_0303: блок Configuration Parameters> Diagnostics> Merge

hisl_0304: Параметры конфигурации> Диагностика> Образцовая инициализация

ОбъяснениеA, B, C, DИзбегайте однозначного поведения.
Образцовые проверки советника
  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Simulink> использование Проверки блоков Слияния

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Simulink> использование Проверки блоков Слияния

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Simulink> использование Проверки блоков Слияния

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Simulink> использование Проверки блоков Слияния

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Simulink> использование Проверки блоков Слияния

Для получения дополнительной информации проверки смотрите использование Проверки блоков Слияния.

Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'
    IEC 61508-3, Таблица A.4 (3) 'Безопасное программирование'

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

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

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

  • DO 331, Раздел MB.6.3.3.b 'Программная архитектура сопоставим’

Смотрите также

Объедините блок в документации Simulink

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

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

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

hisl_0021: Сопоставимый векторный метод индексирования

ID: Заголовокhisl_0021: Сопоставимый векторный метод индексирования
ОписаниеВ модели используйте:
A

Сопоставимый векторный метод индексирования для всех блоков. Блоки, для которых необходимо установить метод индексирования, включают:

  • Индексный вектор

  • Многопортовый переключатель

  • “()” Присвоение

  • Селектор

  • Для итератора

ОбъяснениеAСнизьте риск представления ошибок из-за противоречивой индексации.
Образцовые проверки советника
  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Simulink> Проверка на противоречивые векторные методы индексирования

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Simulink> Проверка на противоречивые векторные методы индексирования

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Simulink> Проверка на противоречивые векторные методы индексирования

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Simulink> Проверка на противоречивые векторные методы индексирования

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Simulink> Проверка на противоречивые векторные методы индексирования

Для получения дополнительной информации проверки смотрите Проверку на противоречивые векторные методы индексирования.

Ссылки
  • 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 (1e) 'Использование установленных принципов разработки'
    ISO 26262-6, Таблица 1 (1f) 'Использование однозначного графического представления'
    ISO 26262-6, Таблица 1 (1g) 'Использование руководства по стилю'
    ISO 26262-6, Таблица 1 (1 ч) 'Использование соглашений о присвоении имен'

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

  • DO 331, Раздел MB.6.3.2.b 'Низкоуровневые требования точен и сопоставим'

Смотрите такжеcgsl_0101: основанная на нуле индексация
В последний раз измененныйR2016a

hisl_0022: выбор Типа данных для индексных сигналов

ID: Заголовокhisl_0022: выбор Типа данных для индексных сигналов
ОписаниеДля индексных сигналов используйте:
AЦелое число или перечисленный тип данных
BТип данных, который покрывает область значений индексируемых значений.

Блоки, которые используют индекс сигнала, включают:

  • “()” Присвоение

  • Прямая интерполяционная таблица (n-D)

  • Индексный вектор

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

  • MATLAB® Function

  • Многопортовый переключатель

  • Селектор

  • График Stateflow®

ОбъяснениеAПредотвратите неожиданные результаты, которые могут произойти при округлении операций для типов данных с плавающей точкой.
BВключите доступ к данным в векторе.
Образцовые проверки советника
  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Simulink> типы данных Проверки для блоков с индексными сигналами

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Simulink> типы данных Проверки для блоков с индексными сигналами

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Simulink> типы данных Проверки для блоков с индексными сигналами

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Simulink> типы данных Проверки для блоков с индексными сигналами

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Simulink> типы данных Проверки для блоков с индексными сигналами

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

Ссылки
  • 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) 'безопасное программирование'

  • DO 331, раздел MB.6.3.4.f 'Точность и непротиворечивость исходного кода'

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

hisl_0023: Верификация модели и вариантов подсистемы

ID: Заголовокhisl_0023: Верификация модели и вариантов подсистемы
ОписаниеПри проверке, что модель сопоставима со сгенерированным кодом, сделайте следующее:
AДля каждого блока Model Variant проверьте, что блочный параметр Генерирует условные выражения препроцессора, очищен.
BДля каждого блока Variant Subsystem проверьте, что блочный параметр Анализирует весь выбор во время схемы обновления и генерирует условные выражения препроцессора, очищен.
CПроверьте все комбинации образцовых вариантов, которые могут быть активными в сгенерированном коде.
ОбъяснениеA, B Упростите тестирование непротиворечивости между образцовым и сгенерированным кодом путем ограничения кодовой базы единственным вариантом.
CУбедитесь, что тестирование непротиворечивости между образцовым и сгенерированным кодом завершено для всех вариантов.
Образцовые проверки советника
  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Simulink> Проверка на различные блоки с 'Генерируют условные выражения препроцессора', активные

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Simulink> Проверка на различные блоки с 'Генерируют условные выражения препроцессора', активные

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Simulink> Проверка на различные блоки с 'Генерируют условные выражения препроцессора', активные

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Simulink> Проверка на различные блоки с 'Генерируют условные выражения препроцессора', активные

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Simulink> Проверка на различные блоки с 'Генерируют условные выражения препроцессора', активные

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

Ссылки
  • DO 331, Раздел MB.6.3.2.b 'Низкоуровневые требования точен и сопоставим'

  • IEC 61508–3, Таблица A.4 (7) 'Использование доверяемых / проверенные программные модули и компоненты

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

hisl_0034: Использование блоков Маршрутизации Сигнала

ID: Заголовокhisl_0034: Использование блоков Маршрутизации Сигнала
Описание

Поддерживать робастность операций при использовании блоков switch:

A

Избегайте сравнений с помощью оператора ~= на типах данных с плавающей точкой.

Примечание

Из-за проблем точности с плавающей точкой, не тестируйте выражения с плавающей точкой на неравенство (~=).

Когда модель содержит блок switch, вычисляя оператор отношения с оператором ~=, входные параметры к блоку не должны быть единственными, дважды, или никакой пользовательский класс памяти, который является типом с плавающей точкой. Измените тип данных входных сигналов или переделайте модель, чтобы устранить использование оператора ~= в блоках switch.

ОбъяснениеA

Улучшите образцовую робастность.

Образцовые проверки советника
  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Simulink> использование Проверки блоков Маршрутизации Сигнала

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Simulink> использование Проверки блоков Маршрутизации Сигнала

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Simulink> использование Проверки блоков Маршрутизации Сигнала

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Simulink> использование Проверки блоков Маршрутизации Сигнала

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Simulink> использование Проверки блоков Маршрутизации Сигнала

Для получения дополнительной информации проверки смотрите использование Проверки блоков Маршрутизации Сигнала.

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

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

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

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

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

  • MISRA C:2012, Dir 1.1

В последний раз измененныйR2017b
Была ли эта тема полезной?