exponenta event banner

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

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

Идентификатор: Заголовокhisl_0013: Использование блоков хранения данных
ОписаниеДля поддержки детерминированного поведения в различных типах или моделях при использовании блоков хранения данных, включая память хранилища данных, чтение хранилища данных и запись хранилища данных:

В диалоговом окне «Параметры конфигурации» на панели «Диагностика» > «Валидность данных» задайте для этих параметров памяти хранилища данных значение error:

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

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

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

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

  • Повторяющиеся имена хранилищ данных

Примечания

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

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

Помимо диагностики, с помощью Simulink ® Design Verifier™ можно более точно обнаружить нарушения доступа к памяти хранилища данных в модели. Для этого на вкладке «Проверка проекта» выберите «Параметры». В диалоговом окне «Параметры конфигурации» на панели «Design Verifier > Design Error Detection» выберите «Нарушения доступа к хранилищу данных». Дополнительные сведения см. в разделе Обнаружение нарушений доступа к хранилищу данных в модели (Simulink Design Verifier). Требуется лицензия Simulink Design Verifier.

Объяснение

Поддержка непротиворечивых значений данных для различных образцов времени или моделей.

Предотвращение непреднамеренного повреждения данных.

Проверки помощника по моделиПроверка параметров диагностики, связанных с безопасностью, для памяти хранилища данных (Simulink Check)
Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Поднабор языка "
    IEC 61508-3, таблица A.4 (3) «Оборонительное программирование»

  • МЭК 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 «Архитектура программного обеспечения согласована»

Последнее изменениеR2020b
Примеры

Следующие примеры используют блоки Rate Transition для обеспечения детерминированной передачи данных между различными скоростями и задачами.

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

Установите скорость медленного времени выборки в блоке «Rate Transition» или в блоке «Data Store Write».

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

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

Если блок «Rate Transition» следует за блоком «Data Store Read», укажите медленную скорость в блоке «Data Store Read».

Если блок Rate Transition находится перед блоком записи хранилища данных, используйте наследуемое время выборки для блоков.

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

Идентификатор: Заголовокhisl_0015: Использование блоков объединения
Описание

Для поддержки однозначного поведения блоков слияния

A

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

B

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

C

Параметр clear block Разрешить неравную ширину порта.

DУстановите для параметра Outport block Output when disabled значение held для каждой объединяемой условно выполняемой подсистемы.
Примечания

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

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

Параметр блока объединения Разрешить неравную ширину порта доступен только в том случае, если параметр конфигурации Недостаточно указанное обнаружение инициализации имеет значение Classic.

Предпосылки

hisl_0303: Параметры конфигурации > Диагностика > Объединить блок

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

ОбъяснениеA, B, C, DИзбегайте однозначного поведения.
Проверки помощника по моделиПроверка использования блоков объединения (Simulink Check)
Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Поднабор языка "
    IEC 61508-3, таблица A.4 (3) «Оборонительное программирование »

  • МЭК 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: Согласованный метод векторной индексации

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

Согласованный метод векторной индексации.

Поддерживает настраиваемое индексирование:

Поддержка индексирования только на одной основе:

Поддерживает только индексирование на основе нуля:

  • Диаграмма статофлоу с языком действий C

  • Функция таблицы истинности с языком действий C

ОбъяснениеAУменьшите риск появления ошибок из-за несогласованности индексирования.
Проверки помощника по моделиПроверка несогласованности методов векторной индексации (Simulink Check)
Ссылки
  • МЭК 61508-3, Таблица A.3 (3) «Поднабор языка»
    МЭК 61508-3, Таблица A.4 (5) «Стандарты проектирования и кодирования»

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

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

  • EN 50128, Таблица A.4 (11) «Поднабор языка»
    EN 50128, Таблица A.12 (1) «Стандарт кодирования»

  • DO-331, раздел MB.6.3.2.b «Требования низкого уровня являются точными и последовательными»

См. такжеcgsl_0101: Индексация на основе нуля
Последнее изменениеR2019a

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

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

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

  • Назначение

  • Таблица прямого поиска (n-D)

  • Вектор индекса

  • Интерполяция с использованием Prelookup

  • Функция MATLAB ®

  • Мультипортовый коммутатор

  • Отборщик

  • Диаграмма Stateflow ®

ОбъяснениеAПредотвращение непредвиденных результатов, которые могут возникнуть при выполнении операций округления для типов данных с плавающей запятой.
BРазрешить доступ к данным в векторе.
Проверки помощника по моделиПроверка типов данных для блоков с индексными сигналами (Simulink Check)
Ссылки
  • 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) «Оборонительное программирование»

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

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

hisl_0023: Проверка блоков вариантов

Идентификатор: Заголовокhisl_0023: Проверка блоков вариантов
ОписаниеПри проверке соответствия модели сгенерированному коду выполните следующие действия.
AДля каждого блока «Модель исполнения» снимите флажок «Создать условия препроцессора».
BДля каждого блока Variant Subsystem установите для параметра Variant activation значение update diagram.
CПроверьте комбинации вариантов модели, которые могут быть активными в сгенерированном коде.
ОбъяснениеA, BУпрощение проверки непротиворечивости между моделью и сгенерированным кодом путем ограничения базы кода одним вариантом.
CУбедитесь, что проверка непротиворечивости между моделью и сгенерированным кодом завершена для вариантов.
Проверки помощника по моделиПроверка использования блоков вариантов (Simulink Check)
Ссылки
  • DO-331, Раздел MB.6.3.3.b - Архитектура программного обеспечения согласована

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

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

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

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

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

Примечание

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

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

Объяснение

Повышение надежности модели.

Проверки помощника по моделиПроверка использования блоков маршрутизации сигналов (Simulink Check)
Ссылки
  • DO-331, Разделы MB.6.3.2.g «Алгоритмы точны»

  • МЭК 61508-3, Таблица A.3 (3) - «Поднабор языка»
    Таблица A.4 (3) - «Оборонительное программирование»

  • МЭК 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

Последнее изменениеR2021a
Примеры

Не рекомендуется

Рекомендуется