Идентификатор: Заголовок | hisl_0006: Использование блоков Итератор | ||
---|---|---|---|
Описание | Чтобы поддержать ограниченное итерационное поведение в сгенерированном коде при использовании блока While Iterator, задайте Maximum number of iterations параметров блоков положительное целое значение. | ||
Примечание | Когда вы используете While Iterator подсистемы, задайте максимальное количество итераций. Если вы используете неограниченное количество итераций, сгенерированный код может включать бесконечные циклы, что приводит к переполнению во время выполнения. Чтобы наблюдать значение итерации во время симуляции и определить, достигает ли цикл максимального количества итераций, выберите While Iterator параметров блоков Show iteration number port. Если цикл достигает максимального количества итераций, проверьте выходные значения While Iterator блока. | ||
Объяснение | Поддержка ограниченной итерации в сгенерированном коде. | ||
Проверки Model Advisor | Проверяйте использование блоков Итератор (Simulink Check) | ||
Ссылки |
| ||
Последнее изменение | R2018b |
Идентификатор: Заголовок | hisl_0007: Использование для итераторов или Итератор | ||
---|---|---|---|
Описание | Чтобы поддержать однозначное поведение, при использовании For Iterator Subsystem или While Iterator Subsystem избегайте использования сэмплирования зависящих от времени блоков, таких как интеграторы, фильтры и передаточные функции в подсистемах. | ||
Объяснение | Избегайте неоднозначного поведения подсистемы. | ||
Проверки Model Advisor | Проверяйте использование подсистем For и While Iterator (Simulink Check) | ||
Ссылки |
| ||
Последнее изменение | R2018b | ||
Примеры | Следующий пример вызывает предупреждение: блок Discrete FIR Filter зависит от времени и находится в подсистеме For или While Iterator. |
Идентификатор: Заголовок | hisl_0008: Использование для блоков Iterator | ||
---|---|---|---|
Описание | Чтобы поддержать ограниченное итерационное поведение в сгенерированном коде при использовании блока 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 | Проверяйте использование блоков For Iterator (Simulink Check) | ||
Ссылки |
| ||
Последнее изменение | R2016a |
Идентификатор: Заголовок | hisl_0010: Использование блоков If и блоков Подсистемы Действий If | ||
---|---|---|---|
Описание | Чтобы поддержать проверяемый сгенерированный код, при использовании блока If с непустыми | ||
A | Выберите параметры блоков Show else condition. | ||
B | Соедините выходные порты блока If с If Action Subsystem блоками. | ||
Необходимые условия | hisl_0016: Использование блоков, которые вычисляют реляционные операторы | ||
Примечания | Комбинация If и If Action Subsystem блоков позволяет условное выполнение на основе входных условий. Когда есть только | ||
Объяснение | A, B | Поддержка генерации проверяемого кода. | |
Проверки Model Advisor | Проверяйте использование блоков If и блоков Подсистемы Действий (Simulink Check) | ||
Ссылки |
| ||
Последнее изменение | R2016b | ||
Примеры |
Рекомендуемый: Elseif с Else | ||
Не рекомендуемый: Нет другого пути | |||
Рекомендуемый: Только если, больше не требуется |
Идентификатор: Заголовок | hisl_0011: Использование блоков Switch Case и блоков Action 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 | Проверяйте использование блоков Switch Case и блоков Switch Case Action Subsystem (Simulink Check) | ||
Ссылки |
| ||
Последнее изменение | R2016b | ||
Примеры | Следующий рисунок отображает пример предоставления пути выполнения по умолчанию с помощью блока «Default».
|
Идентификатор: Заголовок | hisl_0012: Использование условно исполненных подсистем | ||
---|---|---|---|
Описание | Для поддержки однозначного поведения, при использовании условно выполненных подсистем: | ||
A | Задайте унаследованный ( | ||
B | Если подсистема вызывается асинхронно, избегайте использования сэмплирования зависящих от времени блоков, таких как интеграторы, фильтры и передаточные функции, в подсистеме. | ||
Объяснение | A, B | Поддержка однозначного поведения. | |
Проверки Model Advisor | Проверяйте использование условно выполненных подсистем (Simulink Check) | ||
Ссылки |
| ||
Последнее изменение | R2018b | ||
Примеры | При использовании дискретных блоков поведение зависит от операции на нескольких непрерывных временных шагах. Когда блоки вызываются периодически, результаты могут не соответствовать вашим ожиданиям. |
Идентификатор: Заголовок | hisl_0024: Определение интерфейса Inport |
---|---|
Описание | Чтобы поддержать сильный набор данных и однозначное поведение модели и сгенерированного кода, для каждого блока Inport уровня корня или Simulink® объект сигнала, который явно разрешается к подключенной сигнальной линии, установите следующие параметры:
|
Примечание | Использование блоков Inport корневого уровня без полностью определенных размерностей, шагов расчета или типа данных может привести к неоднозначным результатам симуляции. Если вы явно не задаете эти параметры, Simulink обратно распространяет размерности, шаги расчета и типы данных из нисходящих блоков. |
Объяснение |
|
Проверки Model Advisor | Проверьте корневые входные порты с отсутствующими свойствами (Simulink Check) |
Ссылки |
|
Последнее изменение | R2017b |
Идентификатор: Заголовок | hisl_0025: Проект min/max спецификация входа интерфейсов |
---|---|
Описание | Предоставьте проект мин./макс. информацию для блоков Inport корневого уровня, чтобы задать вход областей значений интерфейса. |
Примечания |
|
Объяснение | Поддержка точной спецификации входного интерфейса. |
Проверки Model Advisor | Проверьте корневые входные порты с отсутствующими определениями области значений (Simulink Check) |
Ссылки |
|
Последнее изменение | R2017b |
[a] Эти возможности используют проект области значений информацию для различных целей. Для получения дополнительной информации см. документацию по инструментам, которые вы собираетесь использовать. |
Идентификатор: Заголовок | hisl_0026: Проект min/max спецификация выхода интерфейсов |
---|---|
Описание | Предоставьте информацию о проекте min/max для блоков Outport корневого уровня, чтобы задать области значений выходных интерфейсов. |
Примечания |
|
Объяснение | Поддержка точной спецификации выходного интерфейса. |
Проверки Model Advisor | Проверьте корневые выходные порты с отсутствующими определениями области значений (Simulink Check) |
Ссылки |
|
Последнее изменение | R2017b |
[a] Эти возможности используют проект области значений информацию для различных целей. Для получения дополнительной информации см. документацию по инструментам, которые вы собираетесь использовать. |