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