Ports & Subsystems

hisl_0006: Использование того, В то время как Итератор блокируется

ID: Заголовокhisl_0006: Использование того, В то время как Итератор блокируется
ОписаниеЧтобы поддержать ограниченное итеративное поведение в сгенерированном коде при использовании В то время как блок Iterator, установите В то время как параметры блоков Итератора Maximum number of iterations к положительному целочисленному значению.
Примечание

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

Чтобы наблюдать значение итерации во время симуляции и определить, достигает ли цикл максимального количества итераций, выберите В то время как параметры блоков Итератора Show iteration number port. Если цикл достигает максимального количества итераций, проверьте выходные значения В то время как блок Iterator.

ОбъяснениеПоддержка, ограниченная итеративный в сгенерированном коде.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check usage of While Iterator blocks

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check usage of While Iterator blocks

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check usage of While Iterator blocks

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check usage of While Iterator blocks

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check usage of While Iterator blocks

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

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

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

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

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

hisl_0007: Использование Для Итератора или В то время как подсистемы Итератора

ID: Заголовокhisl_0007: Использование Для Итератора или В то время как подсистемы Итератора
ОписаниеЧтобы поддержать однозначное поведение, при использовании Для Подсистемы Итератора или В то время как Подсистема Итератора, избегают использования демонстрационных зависящих от времени блоков, таких как интеграторы, фильтры и передаточные функции в подсистемах.
ОбъяснениеИзбегайте неоднозначного поведения от подсистемы.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check sample time-dependent blocks

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check sample time-dependent blocks

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check sample time-dependent blocks

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check sample time-dependent blocks

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check sample time-dependent blocks

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

Ссылки
  • DO-331, Раздел MB.6.3.1.e 'Требования высокого уровня соответствует стандартам
    DO-331, Раздел MB.6.3.2.e 'Низкоуровневые требования соответствует стандартам
    Разделы MB.6.3.1.g и MB.6.3.2.g 'Алгоритмы точны

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

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

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

Следующий пример вызывает предупреждение: блок Discrete FIR Filter является зависящим от времени и находится в Для или В то время как подсистема Итератора.

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

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

Чтобы поддержать ограниченное итеративное поведение в сгенерированном коде при использовании блока For Iterator, выполнить одно из следующих действий:

A

В Для диалогового окна параметров блоков Итератора, набор Iteration limit source к internal.

B

Если Iteration limit source должен быть external, используйте блок, который имеет постоянное значение, такое как Ширина, Зонд или Констант.

C

В Для диалогового окна параметров блоков Итератора, очистите Set next i (iteration variable) externally.

D

В Для диалогового окна параметров блоков Итератора, полагайте, что Show iteration variable выбора наблюдает значение итерации во время симуляции.

Примечания

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

ОбъяснениеA, B, C, DПоддержите ограниченное итеративное поведение в сгенерированном коде.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check usage of For Iterator blocks

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check usage of For Iterator blocks

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check usage of For Iterator blocks

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check usage of For Iterator blocks

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check usage of For Iterator blocks

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

Ссылки
  • DO-331, MB.Section 6.3.1.e 'Требования высокого уровня соответствуют стандартам
    DO-331, Раздел MB.6.3.2.e 'Низкоуровневые требования соответствует стандартам

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

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

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

hisl_0010: Использование Если блоки и Если блоки Subsystem Действия

ID: Заголовокhisl_0010: Использование Если блоки и Если блоки Subsystem Действия
Описание

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

A

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

B

Соедините выходные порты Если блок к Если блоки Subsystem Действия.

Предпосылки

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

Примечания

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

ОбъяснениеA, B Поддержите генерацию верифицируемого кода.
Проверки Model Advisor

  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check usage of If blocks and If Action Subsystem blocks

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check usage of If blocks and If Action Subsystem blocks

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check usage of If blocks and If Action Subsystem blocks

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check usage of If blocks and If Action Subsystem blocks

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check usage of If blocks and If Action Subsystem blocks

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

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

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

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

Смотрите такжеna_0012: Использование Переключателя по сравнению с Подсистемой Действия, "Если Затем Еще" в документации Simulink®
В последний раз измененныйR2016b
Примеры

Рекомендуемый: Elseif с еще

Не рекомендуемый: нет еще путь

Рекомендуемый: Только, Если, нет Еще требуемый

hisl_0011: Использование блоков Случая Переключателя и блоков Subsystem Действия

ID: Заголовокhisl_0011: Использование блоков Случая Переключателя и блоков Subsystem Действия
Описание

Поддерживать сгенерированный код поддающийся проверке, при использовании блока Switch Case:

A

В диалоговом окне параметров блоков Случая Переключателя выберите Show default case.

B

Соедините выходные порты блока Switch Case к блоку Subsystem Действия Случая Переключателя.

C

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

Предпосылки

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

Примечания

Комбинация Случая Переключателя и Если блоки Subsystem Действия включают условное выполнение на основе входных условий. Обеспечьте путь по умолчанию выполнения в форме блока “Default”.

ОбъяснениеA, B, C Поддержите генерацию верифицируемого кода.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check usage of Switch Case blocks and Switch Case Action Subsystem blocks

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check usage of Switch Case blocks and Switch Case Action Subsystem blocks

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check usage of Switch Case blocks and Switch Case Action Subsystem blocks

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check usage of Switch Case blocks and Switch Case Action Subsystem blocks

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check usage of Switch Case blocks and Switch Case Action Subsystem blocks

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

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

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

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

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

db_0115: шаблоны Simulink для случая создают в документации Simulink.

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

Следующие графические дисплеи пример обеспечения пути по умолчанию выполнения с помощью блока “Default”.

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

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

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

A

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

B

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

ОбъяснениеA, B Поддержите однозначное поведение.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check usage of conditionally executed subsystems

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check usage of conditionally executed subsystems

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check usage of conditionally executed subsystems

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check usage of conditionally executed subsystems

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check usage of conditionally executed subsystems

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

Ссылки
  • 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.1.g и MB.6.3.2.g 'Алгоритмы точен'

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

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

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

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

  • Data type

  • Port dimensions

  • Sample time

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

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

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check for root Inports with missing properties

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check for root Inports with missing properties

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check for root Inports with missing properties

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check for root Inports with missing properties

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check for root Inports with missing properties

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

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

  • IEC 61508-3, Таблица B.9 (6) ‘Полностью заданный интерфейс’

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

  • ISO 26262-4, Таблица 2 (2) ‘Точно задала интерфейсы‘

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

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

hisl_0025: Разработайте спецификацию min / макс. спецификацию входных интерфейсов

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

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

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

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

    • Верификация модели проекта с помощью Simulink Design Verifier™.

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

  • Заданные области значений проекта могут использоваться Embedded Coder, чтобы оптимизировать сгенерированный код. Если вы хотите использовать области значений проекта для оптимизации, в диалоговом окне Configuration Parameters, на панели Code Generation, рассмотрите Optimize using the specified minimum and maximum values выбора.

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

Объяснение

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

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check for root Inports with missing range definitions

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check for root Inports with missing range definitions

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check for root Inports with missing range definitions

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check for root Inports with missing range definitions

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check for root Inports with missing range definitions

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

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

  • IEC 61508-3, Таблица B.9 (6) ‘Полностью заданный интерфейс’

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

  • ISO 26262-4, Таблица 2 (2) ‘Точно задала интерфейсы‘

  • EN 50128, таблица A.1 (11) – спецификации программного интерфейса
    Таблица A.3 (19) EN 50128 ‘полностью заданный интерфейс‘

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

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

hisl_0026: Разработайте спецификацию min / макс. спецификацию выходных интерфейсов

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

  • Определение области значений блоков Выходного порта на корневом уровне включает дополнительные возможности. Примеры включают:

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

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

    • Верификация модели проекта с помощью Simulink Design Verifier.

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

  • Заданные области значений проекта могут использоваться Embedded Coder, чтобы оптимизировать сгенерированный код. Если вы хотите использовать области значений проекта для оптимизации, в диалоговом окне Configuration Parameters, на панели Code Generation, рассмотрите Optimize using the specified minimum and maximum values выбора.

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

Объяснение

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

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check for root Outports with missing range definitions

  • By Task> Modeling Standards for IEC 61508 > High-Integrity Systems> Simulink> Check for root Outports with missing range definitions

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check for root Outports with missing range definitions

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check for root Outports with missing range definitions

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check for root Outports with missing range definitions

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

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

  • IEC 61508-3, Таблица B.9 (6) ‘Полностью заданный интерфейс’

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

  • ISO 26262-4, Таблица 2 (2) ‘Точно задала интерфейсы‘

  • EN 50128, таблица A.1 (11) – спецификации программного интерфейса
    Таблица A.3 (19) EN 50128 ‘полностью заданный интерфейс‘

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

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