ID: Заголовок | hisl_0006: Использование того, В то время как Итератор блокируется | ||
---|---|---|---|
Описание | Чтобы поддержать ограниченное итеративное поведение в сгенерированном коде при использовании блока While Iterator, установите параметры блоков Maximum number of iterations на положительное целочисленное значение. | ||
Примечание | Когда вы используете подсистемы While Iterator, определяете максимальный номер итераций. Если вы используете неограниченное количество итераций, сгенерированный код может включать бесконечные циклы, которые приводят к переполнениям времени выполнения. Чтобы наблюдать значение итерации в процессе моделирования и определить, достигает ли цикл максимального количества итераций, выберите параметры блоков While Iterator Show iteration number port. Если цикл достигает максимального количества итераций, проверьте выходные значения блока While Iterator. | ||
Объяснение | Поддержка, ограниченная итеративный в сгенерированном коде. | ||
Проверки Model Advisor | Проверяйте использование того, В то время как Итератор блокируется (Simulink Check) | ||
Ссылки |
| ||
В последний раз измененный | R2021b |
ID: Заголовок | hisl_0007: Использование Для Итератора или В то время как подсистемы Итератора | ||
---|---|---|---|
Описание | Чтобы поддержать однозначное поведение, при использовании For Iterator Subsystem или While Iterator Subsystem, избегают использования демонстрационных зависящих от времени блоков, таких как интеграторы, фильтры и передаточные функции в подсистемах. | ||
Объяснение | Избегайте неоднозначного поведения от подсистемы. | ||
Проверки Model Advisor | Проверяйте использование На и В то время как подсистемы Итератора (Simulink Check) | ||
Ссылки |
| ||
В последний раз измененный | R2018b | ||
Примеры | Следующий пример вызывает предупреждение: блок Discrete FIR Filter является зависящим от времени и находится в Для или В то время как подсистема Итератора. |
ID: Заголовок | hisl_0008: Использование Для блоков Итератора | ||
---|---|---|---|
Описание | Чтобы поддержать ограниченное итеративное поведение в сгенерированном коде при использовании блока For Iterator, выполнить одно из следующих действий: | ||
A | Установите параметры блоков Iteration limit source на | ||
B | Когда Iteration limit source должен быть | ||
C | Очистите параметры блоков Set next i (iteration variable) externally. | ||
D | Чтобы наблюдать значение итерации в процессе моделирования, выберите параметры блоков Show iteration variable. | ||
Примечания | Когда вы используете блок For Iterator, питаете контрольную переменную цикла фиксированными (непеременными) значениями, чтобы получить предсказуемое количество итераций цикла. В противном случае цикл может закончиться в непредсказуемые времена выполнения и, в случае внешних переменных итерации, бесконечные циклы, которые могут привести к переполнениям времени выполнения. | ||
Объяснение | A, B, C, D | Поддержите ограниченное итеративное поведение в сгенерированном коде. | |
Проверки Model Advisor | Проверяйте использование На блоки Итератора (Simulink Check) | ||
Ссылки |
| ||
В последний раз измененный | R2016a |
ID: Заголовок | hisl_0010: Использование Если блоки и Если блоки Subsystem Действия | ||
---|---|---|---|
Описание | Поддерживать сгенерированный код поддающийся проверке, при использовании блока If с непустым | ||
A | Выберите параметры блоков Show else condition. | ||
B | Соедините выходные порты блока If с блоками If Action Subsystem. | ||
Необходимые условия | hisl_0016: Использование блоков, которые вычисляют операторы отношения | ||
Примечания | Комбинация If и блоков If Action Subsystem включает условное выполнение на основе входных условий. Когда существует только | ||
Объяснение | A, B | Поддержите генерацию верифицируемого кода. | |
Проверки Model Advisor | Проверяйте использование Если блоки и Если блоки Subsystem Действия (Simulink Check) | ||
Ссылки |
| ||
В последний раз измененный | R2016b | ||
Примеры |
Рекомендуемый: Elseif с еще | ||
Не рекомендуемый: нет еще путь | |||
Рекомендуемый: Только, Если, нет Еще требуемый |
ID: Заголовок | hisl_0011: Использование блоков Случая Переключателя и блоков Subsystem Действия | ||
---|---|---|---|
Описание | Поддерживать сгенерированный код поддающийся проверке, при использовании блока Switch Case: | ||
A | Выберите параметры блоков Show default case. | ||
B | Соедините выходные порты блока Switch Case с блоком Switch Case Action Subsystem. | ||
C | Используйте целочисленный тип данных или перечислимую величину для входных параметров с блоками Switch Case. | ||
Необходимые условия | hisl_0016: Использование блоков, которые вычисляют операторы отношения | ||
Примечания | Комбинация Switch Case и блоков If Action Subsystem включает условное выполнение на основе входных условий. Обеспечьте путь по умолчанию выполнения в форме блока “Default”. | ||
Объяснение | A, B, C | Поддержите генерацию верифицируемого кода. | |
Проверки Model Advisor | Проверяйте использование блоков Случая Переключателя и блоков Subsystem Действия Случая Переключателя (Simulink Check) | ||
Ссылки |
| ||
В последний раз измененный | R2016b | ||
Примеры | Следующие графические дисплеи пример обеспечения пути по умолчанию выполнения с помощью блока “Default”.
|
ID: Заголовок | hisl_0012: Использование условно выполняемых подсистем | ||
---|---|---|---|
Описание | Поддерживать однозначное поведение, при использовании условно выполняемых подсистем: | ||
A | Задайте наследованный ( | ||
B | Если подсистема называется асинхронно, избегайте использования демонстрационных зависящих от времени блоков, таких как интеграторы, фильтры и передаточные функции, в подсистеме. | ||
Объяснение | A, B | Поддержите однозначное поведение. | |
Проверки Model Advisor | Проверяйте использование условно выполняемых подсистем (Simulink Check) | ||
Ссылки |
| ||
В последний раз измененный | R2018b | ||
Примеры | При использовании дискретных блоков поведение зависит от операции через несколько непрерывных временных шагов. Когда блоки называются периодически, результаты не могут соответствовать вашим ожиданиям. |
ID: Заголовок | hisl_0024: определение интерфейса Inport |
---|---|
Описание | Поддерживать сильный ввод данных и однозначное поведение модели и сгенерированного кода, для каждого блока Inport корневого уровня или Simulink® предупредите возражают, что явным образом решает к связанной сигнальной линии, установите следующие параметры:
|
Примечание | Используя Inport блоки корневого уровня без полностью заданных размерностей, шаги расчета или тип данных могут привести к неоднозначным результатам симуляции. Если вы явным образом не задаете эти параметры, Simulink назад - распространяет размерности, шаги расчета и типы данных от нисходящих блоков. |
Объяснение |
|
Проверки Model Advisor | Проверяйте на корневой Inports с недостающими свойствами (Simulink Check) |
Ссылки |
|
В последний раз измененный | R2017b |
ID: Заголовок | hisl_0025: Спроектируйте спецификацию min / макс. спецификацию входных интерфейсов |
---|---|
Описание | Предоставьте информацию min проекта / макс. информацию для Inport блоков корневого уровня, чтобы указать входные диапазоны интерфейса. |
Примечания |
|
Объяснение | Поддержите точную спецификацию входного интерфейса. |
Проверки Model Advisor | Проверяйте на корневой Inports с недостающими определениями области значений (Simulink Check) |
Ссылки |
|
В последний раз измененный | R2017b |
[a] Эти возможности усиливают информацию об области значений проекта в различных целях. Для получения дополнительной информации обратитесь к документации для инструментов, которые вы намереваетесь использовать. |
ID: Заголовок | hisl_0026: Спроектируйте спецификацию min / макс. спецификацию выходных интерфейсов |
---|---|
Описание | Предоставьте информацию min проекта / макс. информацию для блоков Выходного порта корневого уровня, чтобы указать выходные диапазоны интерфейса. |
Примечания |
|
Объяснение | Поддержите точную спецификацию выходного интерфейса. |
Проверки Model Advisor | Проверяйте на корневые Выходные порты с недостающими определениями области значений (Simulink Check) |
Ссылки |
|
В последний раз измененный | R2017b |
[a] Эти возможности усиливают информацию об области значений проекта в различных целях. Для получения дополнительной информации обратитесь к документации для инструментов, которые вы намереваетесь использовать. |