exponenta event banner

Порты и подсистемы

hisl_0006: Использование блоков итератора

Идентификатор: Заголовокhisl_0006: Использование блоков итератора
ОписаниеДля поддержки ограниченного итеративного поведения в создаваемом коде при использовании блока «Итератор» установите для параметра блока Максимальное число итераций положительное целое значение.
Примечание

При использовании подсистем Итератора (While Iterator) задайте максимальное количество итераций. При использовании неограниченного числа итераций созданный код может включать бесконечные циклы, что приводит к перерасходу времени выполнения.

Чтобы просмотреть значение итерации во время моделирования и определить, достигает ли цикл максимального количества итераций, выберите параметр блока While Iterator Показать порт номера итерации. Если цикл достигает максимального числа итераций, проверьте выходные значения блока While Iterator.

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

  • 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) «Оборонительное программирование»

  • MISRA C:2012, правило 14.2
    MISRA C:2012, правило 16.4
    MISRA C:2012, Dir 4.1

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

hisl_0007: Использование подсистем итератора или итератора

Идентификатор: Заголовокhisl_0007: Использование подсистем итератора или итератора
ОписаниеДля поддержки однозначного поведения при использовании параметров «Для итераторной подсистемы» или «Во время итераторной подсистемы» избегайте использования блоков, зависящих от времени выборки, таких как интеграторы, фильтры и передаточные функции в подсистемах.
ОбъяснениеИзбегайте неоднозначного поведения подсистемы.
Проверки помощника по моделиПроверка использования подсистем итератора For и While (Simulink Check)
Ссылки
  • DO-331, Раздел MB.6.3.2.g 'Алгоритмы точны

  • 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) «Оборонительное программирование»

  • MISRA C:2012, правило 14.2
    MISRA C:2012, правило 16.4
    MISRA C:2012, Dir 4.1

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

В следующем примере выводится предупреждение: блок дискретного фильтра FIR зависит от времени и находится в подсистеме For или While Iterator.

hisl_0008: Использование блоков итератора

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

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

A

Задать для параметра блока Итерационный предельный источник значение internal.

B

Когда источник ограничения итерации должен быть externalиспользуйте блок, имеющий постоянное значение. Параметры: Ширина (Width), Зонд (Probe) или Константа (Constant).

C

Очистить параметры блока Задать следующий i (переменная итерации) внешне.

D

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

Примечания

При использовании блока «Для итератора» подайте переменную управления контуром с фиксированными (неизменяемыми) значениями, чтобы получить предсказуемое число итераций контуров. В противном случае цикл может привести к непредсказуемому времени выполнения и, в случае переменных внешней итерации, к бесконечным циклам, которые могут привести к перерасходу времени выполнения.

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

  • 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) «Оборонительное программирование»

  • MISRA C:2012, правило 14.2
    MISRA C:2012, правило 16.4
    MISRA C:2012, Dir 4.1

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

hisl_0010: Использование блоков If и блоков подсистемы действия If

Идентификатор: Заголовокhisl_0010: Использование блоков If и блоков подсистемы действия If
Описание

Поддержка проверяемого сгенерированного кода при использовании блока If с непустыми Elseif выражения,

A

Выберите параметр блока Show else condition.

B

Соедините выходы блока If с блоками подсистемы действий If.

Предпосылки

hisl_0016: Использование блоков, вычисляющих реляционные операторы

Примечания

Комбинация блоков If и If Action Subsystem обеспечивает условное выполнение на основе входных условий. Когда есть только if ветвь, вам не нужно включать else филиал.

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

  • 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) «Оборонительное программирование»

  • MISRA C:2012, правило 14.2
    MISRA C:2012, правило 16.4
    MISRA C:2012, Dir 4.1

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

Рекомендуется: Elseif с Else

Не рекомендуется: Нет другого пути

Рекомендуется: Только если, больше не требуется

hisl_0011: Использование блоков вариантов переключения и блоков подсистемы действий

Идентификатор: Заголовокhisl_0011: Использование блоков вариантов переключения и блоков подсистемы действий
Описание

Для поддержки проверяемого сгенерированного кода при использовании блока Switch Case:

A

Выберите параметр блока Показать регистр по умолчанию.

B

Подключите выходы блока Switch Case к блоку Switch Case Action Subsystem.

C

Используйте целочисленный тип данных или значение перечисления для входных данных блоков Switch Case.

Предпосылки

hisl_0016: Использование блоков, вычисляющих реляционные операторы

Примечания

Комбинация блоков Switch Case и If Action Subsystem обеспечивает условное выполнение на основе входных условий. Укажите путь выполнения по умолчанию в виде блока «Default».

ОбъяснениеA, B, CПоддержка создания проверяемого кода.
Проверки помощника по моделиПроверка использования блоков «Switch Case» и блоков «Switch Case Action Subsystem» (Simulink Check)
Ссылки
  • DO-331, Раздел MB.6.3.2.d - "Требования низкого уровня поддаются проверке
    DO-331 Раздел MB.6.3.2.b - Требования низкого уровня являются точными и согласованными

  • 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) «Оборонительное программирование»

  • MISRA C:2012, правило 14.2
    MISRA C:2012, правило 16.4
    MISRA C:2012, Dir 4.1

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

На следующем рисунке показан пример предоставления пути выполнения по умолчанию с использованием блока «Default».

hisl_0012: Использование условно выполненных подсистем

Идентификатор: Заголовокhisl_0012: Использование условно выполненных подсистем
Описание

Для поддержки однозначного поведения при использовании условно выполненных подсистем:

A

Указать наследуемый (-1) время выборки для всех блоков в подсистеме, за исключением константы. Постоянные блоки могут использовать бесконечные (inf) время выборки.

B

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

ОбъяснениеA, BПоддержка однозначного поведения.
Проверки помощника по моделиПроверка использования условно выполненных подсистем (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.2.g «Алгоритмы точны»

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

Последнее изменениеR2018b
ПримерыПри использовании дискретных блоков поведение зависит от операции на нескольких смежных временных шагах. Когда блоки вызываются с перерывами, результаты могут не соответствовать вашим ожиданиям.

hisl_0024: Определение интерфейса ввода

Идентификатор: Заголовокhisl_0024: Определение интерфейса ввода
Описание

Для поддержки строгой типизации данных и однозначного поведения модели и сгенерированного кода для каждого блока ввода корневого уровня или сигнального объекта Simulink ®, который явно разрешается в соединенную сигнальную линию, задайте следующие параметры:

  • Тип данных

  • Размеры порта

  • Время выборки

ПримечаниеИспользование блоков ввода корневого уровня без полностью определенных размеров, времени выборки или типа данных может привести к неоднозначным результатам моделирования. Если эти параметры явно не определены, Simulink выполняет обратное распространение размеров, времени выборки и типов данных из нижестоящих блоков.
Объяснение
  • Избегайте однозначного поведения.

  • Поддержка полной спецификации программного интерфейса.

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

  • МЭК 61508-3, таблица B.9 (6) «Полностью определенный интерфейс»

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

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

  • EN 50128, таблица A.3 (19) «Полностью определенный интерфейс»

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

hisl_0025: Расчетная минимальная/максимальная спецификация входных интерфейсов

Идентификатор: Заголовокhisl_0025: Расчетная минимальная/максимальная спецификация входных интерфейсов
ОписаниеПредоставьте проектную информацию min/max для блоков ввода корневого уровня, чтобы указать диапазоны входного интерфейса.
Примечания

  • Определение диапазона блоков Inport на корневом уровне обеспечивает дополнительные возможности [a] Примеры:

    • Обнаружение переполнений посредством проверки диапазона моделирования.

    • Оптимизация кода с помощью Embedded Coder ®.

    • Проверка конструкторской модели с помощью Simulink Design Verifier™.

    • Автоматическое масштабирование с фиксированной точкой с помощью Designer™ с фиксированной точкой.

  • Указанные проектные диапазоны используются Embedded Coder для оптимизации создаваемого кода. Чтобы использовать эти проектные диапазоны для оптимизации, выберите параметр конфигурации Оптимизировать (Optimize), используя указанные минимальное и максимальное значения. Этот параметр конфигурации применим только в том случае, если целевой файл системы является целевым файлом на основе ERT.

  • Диапазоны для блоков Inport типа шины задаются с элементами шины определяющего объекта шины. Simulink игнорирует спецификации диапазона, предоставляемые непосредственно в блоках Inport, которые имеют тип шины.

Объяснение

Поддержка точной спецификации входного интерфейса.

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

  • МЭК 61508-3, таблица B.9 (6) «Полностью определенный интерфейс»

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

  • ISO 26262-6, таблица 1 (1с) - Обеспечение строгого набора текста
    ISO 26262-6, таблица 7 (1e) - Формальная проверка
    ISO 26262-6, таблица 7 (1k) - Испытание интерфейса
    ISO 26262-6, таблица 8 (1с) - Анализ граничных значений

  • EN 50128, таблица A.1 (11) - Спецификации интерфейса программного обеспечения
    EN 50128 Таблица A.3 (19) «Полностью определенный интерфейс»

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

[a] Эти возможности позволяют использовать информацию о диапазоне проектирования для различных целей. Дополнительные сведения см. в документации по используемым инструментам.

hisl_0026: Расчетная минимальная/максимальная спецификация выходных интерфейсов

Идентификатор: Заголовокhisl_0026: Расчетная минимальная/максимальная спецификация выходных интерфейсов
ОписаниеДля определения диапазонов выходных интерфейсов предоставьте информацию о минимальном/максимальном уровне проекта для блоков Outport на корневом уровне.
Примечания

  • Определение диапазона блоков Outport на корневом уровне обеспечивает дополнительные возможности [a] Примеры:

    • Обнаружение переполнений посредством проверки диапазона моделирования.

    • Оптимизация кода с помощью встроенного кодера.

    • Проверка конструкторской модели с помощью Simulink Design Verifier.

    • Автоматическое масштабирование с фиксированной точкой с помощью конструктора с фиксированной точкой.

  • Указанные проектные диапазоны используются Embedded Coder для оптимизации создаваемого кода. Чтобы задать эти диапазоны проектирования, выберите параметр конфигурации Оптимизировать (Optimize), используя указанные минимальное и максимальное значения. Эти параметры конфигурации применимы только в том случае, если целевой файл системы является целевым файлом на основе ERT.

  • Диапазоны для блоков Outport типа шины задаются с элементами шины определяющего объекта шины. Simulink игнорирует спецификации диапазона, предоставляемые непосредственно в блоках Outport, которые имеют тип шины.

Объяснение

Поддержка точной спецификации выходного интерфейса.

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

  • МЭК 61508-3, таблица B.9 (6) «Полностью определенный интерфейс»

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

  • ISO 26262-6, таблица 1 (1с) - Обеспечение строгого набора текста
    ISO 26262-6, таблица 7 (1e) - Формальная проверка
    ISO 26262-6, таблица 7 (1k) - Испытание интерфейса
    ISO 26262-6, таблица 8 (1с) - Анализ граничных значений

  • EN 50128, таблица A.1 (11) - Спецификации интерфейса программного обеспечения
    EN 50128 Таблица A.3 (19) «Полностью определенный интерфейс»

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

[a] Эти возможности позволяют использовать информацию о диапазоне проектирования для различных целей. Дополнительные сведения см. в документации по используемым инструментам.