| ID: Заголовок | hisf_0003: Использование битовых операций | |
|---|---|---|
| Описание | При использовании битовых операций в блоках Stateflow®, | |
| A | Избегайте типов данных целого числа со знаком как операндов к битовым операциям. | |
| Примечания | Обычно, битовые операции не значимы на целых числах со знаком. Нежелательное поведение может произойти. Например, операция сдвига может переместить знаковый бит в номер или числовой бит в знаковый бит. | |
| Объяснение | A | Продвиньте однозначный стиль моделирования. |
| Проверки Model Advisor | Проверяйте использование битовых операций в диаграммах Stateflow (Simulink Check) | |
| Ссылки |
| |
| Смотрите также | hisl_0019: Использование битовых операций | |
| В последний раз измененный | R2016a | |
| ID: Заголовок | hisf_0004: Защитите от вызовов рекурсивной функции, чтобы улучшить податливость кода | |
|---|---|---|
| Описание | Чтобы улучшить податливость сгенерированного кода, не вызывайте функции рекурсивно. Это включает любую комбинацию графических функций, функций таблицы истинности, функций MATLAB® или функций Simulink®. | |
| Необходимые условия | ||
| Примечания | Рекурсия существует когда вызовы функции сама прямо или косвенно посредством другого вызова функции. | |
| Объяснение | Способствуйте поведению вызова ограниченной функции. | |
| Проверки Model Advisor | Проверяйте использование рекурсий (Simulink Check) | |
| Ссылки |
| |
| В последний раз измененный | R2021a | |
| Примеры | Существует несколько шаблонов в Stateflow, который может привести к рекурсии.
Вызовы рекурсивной функции
| |
Когда состояние по умолчанию A вводится, событие
Вызовы рекурсивной функции
| ||
| ID: Заголовок | hisf_0007: Использование условий соединения (обеспечивающий взаимное исключение) | |
|---|---|---|
| Описание | Улучшить ясность и предотвратить генерацию недостижимого кода: | |
| A | Сделайте условия соединения взаимоисключающими. | |
| Примечания | Можно использовать эту инструкцию, чтобы обеспечить подмножество языка моделирования в проектах высокой целостности. | |
| Объяснение | A | Улучшите ясность и предотвратите генерацию недостижимого кода. |
| Ссылки |
| |
| Проверки Model Advisor | Соблюдение этого руководства по моделированию не может быть проверено при помощи проверки Model Advisor. | |
| В последний раз измененный | R2012b | |
| Пример |
| |
| ID: Заголовок | hisf_0013: Использование путей к переходу (пересекающий параллельные государственные границы) | |
|---|---|---|
| Описание | Постараться не создавать схемы, которые трудно изучить, | |
| A | Постарайтесь не создавать переходы, которые пересекаются от одного параллельного состояния до другого. | |
| Примечания | Можно использовать эту инструкцию, чтобы обеспечить подмножество языка моделирования в проектах высокой целостности. | |
| Объяснение | A | Улучшите удобочитаемость модели. |
| Проверки Model Advisor | Проверяйте диаграммы Stateflow на пути к переходу, которые пересекают параллельные государственные границы (Simulink Check) | |
| Ссылки |
| |
| В последний раз измененный | R2017b | |
| Пример | В следующем примере, когда
| |
| ID: Заголовок | hisf_0014: Использование путей к переходу (проходящий через состояния) | |
|---|---|---|
| Описание | Постараться не создавать схемы, которые сбивают с толку и включают пути к переходу без преимущества, | |
| A | Избегайте путей к переходу, которые входят и из состояния, не заканчиваясь на подсостоянии. | |
| Примечания | Можно использовать эту инструкцию, чтобы обеспечить подмножество языка моделирования в проектах высокой целостности. | |
| Объяснение | A | Улучшите удобочитаемость модели. |
| Проверки Model Advisor | Проверяйте на несоответствующее использование путей к переходу (Simulink Check) | |
| Ссылки |
| |
| В последний раз измененный | R2018b | |
| Примеры |
| |
| ID: Заголовок | hisf_0015: Сильный ввод данных (бросающий переменные и параметры в выражениях) | |
|---|---|---|
| Описание | Упростить сильный ввод данных, | |
| A | Явным образом введите переменные броска и параметры различных типов данных в:
| |
| Примечания | Программное обеспечение Stateflow автоматически бросает переменные другого типа в совпадающий тип данных. Эта инструкция помогает разъяснить типы данных промежуточных переменных. | |
| Объяснение | A | Примените сильный ввод данных. |
| Проверки Model Advisor | Проверяйте диаграммы Stateflow на сильный ввод данных (Simulink Check) | |
| Ссылки |
| |
| В последний раз измененный | R2021a | |
| Примеры |
Рекомендуемый
Не рекомендуемый
| |
| ID: Заголовок | hisf_0016: имена порта Stateflow |
|---|---|
| Описание | Имя ввода или вывода Stateflow должно совпасть с соответствующим сигналом. Исключение к инструкции - то, что допускающие повторное использование блоки Stateflow могут иметь различные имена порта. |
| Объяснение | Поддержите генерацию прослеживаемого кода. |
| Проверки Model Advisor | Проверяйте именование портов в диаграммах Stateflow (Simulink Check) |
| Ссылки |
|
| В последний раз измененный | 2018a |
| ID: Заголовок | hisf_0017: определение объема объекта данных Stateflow |
|---|---|
| Описание | Объекты данных Stateflow с локальным осциллографом должны быть заданы на уровне графика или ниже. |
| Объяснение | Поддержите генерацию прослеживаемого кода. |
| Проверки Model Advisor | Проверяйте определение объема объектов данных Stateflow (Simulink Check) |
| Ссылки |
|
| В последний раз измененный | 2018a |
| Примеры |
Рекомендуемый
Не рекомендуемый
|