Консультативный совет MathWorks® Automotive (MAAB) и проверки упрощают разработку и поиск и устранение неисправностей моделей, из которых код сгенерирован для автомобильных приложений.
Model Advisor выполняет контроль лицензии Simulink® Check™, когда вы осуществляете проверки MAAB.
Алгоритм управления MAAB, Моделируя (Simulink) инструкции
Руководства по моделированию Алгоритма управления Используя MATLAB, Simulink и Stateflow инструкции MAAB по веб-сайту MathWorks
ID проверки: mathworks.maab.db_0043
Проверяйте на различие в размерах шрифта и размерах шрифта.
За исключением свободных текстовых аннотаций в модели, текстовых элементах, таких как имена блока, аннотации блока и метки сигнала, должны иметь тот же стиль шрифта и размер шрифта. Выберите стиль шрифта и размер шрифта, который является четким и портативным (конвертируемый между платформами), такими как Arial или Times New Roman 12 точек. Чтобы задать правила шрифта для сеанса Simulink, из редактора Simulink выбирают Diagram> Format> Font Styles for Model.
Доступный с Simulink Check.
Примените заданный шрифт ко всем текстовым элементам. Когда вы задаете Common
(значение по умолчанию), проверка идентифицирует различные шрифты, используемые в вашей модели. Несмотря на то, что можно задать другие шрифты, шрифтами, доступными из выпадающего списка, является Arial
, Courier New
, Georgia
, Times New Roman
, Arial Black
, и Verdana
.
Примените заданный размер шрифта ко всем текстовым элементам. Когда вы задаете Common
(значение по умолчанию), проверка идентифицирует различные размеры шрифта, используемые в вашей модели. Несмотря на то, что можно задать другие размеры шрифта, размерами шрифта, доступными из выпадающего списка, является 6
, 8, 9
, 10
, 12
, 14
, 16
.
Примените заданный стиль шрифта ко всем текстовым элементам. Когда вы задаете Common
(значение по умолчанию), проверка идентифицирует различные стили шрифта, используемые в вашей модели. Стилями шрифта, доступными из выпадающего списка, является normal
, bold
, italic
, и bold italic
.
Условие | Рекомендуемое действие |
---|---|
Шрифты или размеры шрифта для текстовых элементов в модели не являются сопоставимыми или портативными. | Задайте значения для параметров шрифта и на правой панели Model Advisor, нажмите Modify all Fonts, или вручную измените шрифты и размеры шрифта текстовых элементов в модели, таким образом, они являются сопоставимыми и портативными. |
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не отмечает метки состояния Stateflow, и поле называют настройки стиля шрифта и стиль шрифта. (ID Sub: c
Проверка не отмечает метки состояния Stateflow, и поле называют настройки размера шрифта. (ID Sub: d
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
На правой панели Model Advisor, нажатие по Modify all Fonts изменяет размер шрифта и размер шрифта всех текстовых элементов в модели согласно значениям, которые вы задаете во входных параметрах.
Для входных параметров, если вы задаете Common
, нажатие на Modify all Fonts изменяет размеры шрифта и размеры шрифта всех текстовых элементов в модели к обычно используемым шрифтам, размеры шрифта или стили шрифта.
Инструкция MAAB, Версия 3.0: db_0043: размер шрифта Simulink и размер шрифта в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0043: шрифт Модели и размер шрифта
ID проверки: mathworks.maab.db_0132
Проверяйте ориентации перехода в блок-схемы.
Следующие правила применяются к переходам в блок-схемах:
Чертите условия перехода горизонтально.
Чертите переходы с действием условия вертикально.
Соединения в блок-схемах должны иметь выходной переход по умолчанию.
Переходы в блок-схемах не должны комбинировать условие и действие.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow®.
Условие | Рекомендуемое действие |
---|---|
Модель включает переход с условием, которое не чертится горизонтально или действие перехода, которое не чертится вертикально. | Измените модель. |
Соединение не имеет выходного перехода по умолчанию | Добавьте выходной переход по умолчанию к соединению. |
Переход имеет условие и действие | Разделите условие и действие в отдельные переходы |
Инструкция MAAB, ограничение Версии 3.0: Несмотря на то, что db_0132: Переходы в блок-схемах имеют цикл for исключения построения, проверка действительно отмечает блок-схемы, содержащие построения цикла, если переход нарушает правило ориентации.
Инструкция JMAAB, ограничение Версии 5.1: проверка только отмечает блок-схемы, содержащие построения цикла, если переход нарушает правило ориентации.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: db_0132: Переходы в блок-схемах в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0132: Переходы в Блок-схемах
ID проверки: mathworks.maab.db_0140
Идентифицируйте блоки, которые используют значения параметров блоков не по умолчанию, которые не отображены в диаграмме модели.
Диаграммы модели должны отобразить параметры блоков, которые имеют значения кроме значений по умолчанию. Один способ отобразить эту информацию при помощи вкладки Block Annotation в диалоговом окне Block Properties. Чтобы автоматически зафиксировать предупреждения, сопоставленные с этой проверкой, смотрите, Автоматически Фиксируют Отображение Параметров блоков Не по умолчанию.
Чтобы настроить список параметров блоков не по умолчанию, которые отмечаются проверкой, смотрите, Настраивают Проверку Model Advisor на Атрибуты Блока Не по умолчанию.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Параметры блоков, которые имеют значения кроме значений по умолчанию и значения, не находятся в отображении модели. | В диалоговом окне Block Properties используйте вкладку Block Annotation, чтобы добавить аннотации параметров блоков. |
Только настраиваемый для параметров блоков в IntrinsicDialogParameters
. Смотрите общие свойства блока (Simulink)
Инструкция JMAAB, ограничение Версии 5.1: проверка отмечает маскированные блоки, которые отображают информацию о параметре, но не используют аннотации блока. Инструкции JMAAB 5.1 позволяют маскированным блокам отображать информацию о параметре.
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Если вы используете add_block
функция с 'built-in/
как путь исходного блока для Simulink встроенные блоки, некоторые значения параметров по умолчанию некоторых блоков отличаются от значений по умолчанию, которые вы получаете, если вы добавили те блоки в интерактивном режиме при помощи Simulink.blocktype
'
Инструкция MAAB, Версия 3.0: db_0140: Отображение параметров базисного блока.
Инструкция JMAAB, Версия 5.1: db_0140: Отображение параметров блоков
Для списка значений по умолчанию параметров блоков смотрите Специфичные для блока Параметры (Simulink).
ID проверки: mathworks.maab.na_0032
Проверяйте использование блоков Merge.
Идентифицирует экземпляры, где шины не идентичны в блоке Merge, включая число элементов, имена элементов, порядок элемента, тип данных элементов и размер элемента.
Эти ограничения блока Merge не покрыты этой проверкой. Они отмечаются через ошибки времени компиляции.
Сигналы и шины, вводящие блок Merge, не могут отклониться с другими блоками.
Шины должны быть или всеми виртуальными или всеми невиртуальными.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Параметры блоков Allow unequal port widths выбраны. | Очистите параметры блоков Allow unequal port widths / |
Элементы для входа шины с блоком Merge отличаются. | Вход шины с блоком Merge должен быть эквивалентным, включая ту же иерархию с идентичными именами и атрибутами для всех элементов. Рассмотрите обновление элементов так, чтобы все шины были идентичны. |
Типы данных для входных сигналов с блоком Merge отличаются. | Блок Merge принимает действительные или комплексные сигналы любого типа данных, что Simulink поддерживает, включая фиксированную точку и перечисленные типы данных. Входные параметры должны иметь совпадающий тип данных и числовой тип. Рассмотрите обновление сигналов, таким образом, типы данных являются тем же самым. |
Размерности входных сигналов с блоком Merge отличаются. | Блок Merge принимает только входные параметры равных размерностей. Рассмотрите обновление входных параметров сигналов, таким образом, у них есть те же размерности. |
Неравное количество входных параметров на блоке Merge. | Соедините блок Merge по крайней мере с двумя входными сигналами и проверьте, что входные сигналы имеют тот же шаг расчета. Считайте создание количества входного сигнала и входных портов тем же самым. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: na_0032: Использование слияния блокируется в документации Simulink.
ID проверки: mathworks.maab.na_0008
Проверяйте маркировку на сигнальных линиях.
Используйте метку, чтобы идентифицировать:
Сигналы, происходящие из следующих блоков (исключение значка блока, отмеченное ниже, применяется ко всем перечисленным блокам, кроме Inport, Bus Selector, Demux и Selector):
Блок Bus Selector (маркировка сил инструмента)
Блок Chart (Stateflow)
Блок Constant
Блок Data Store Read
Блок Demux
Блок From
Блок Inport
Блок Selector
Блок Subsystem
Если метка сигнала отображается в отображении значка для инициирующего блока, вы не должны отображать метку для связанного сигнала, если метка сигнала не требуется в другом месте из-за правила для мест назначения сигнала.
Сигналы соединились с одним из следующих целевых блоков (прямо или косвенно с базисным блоком, который выполняет операцию, которая не является поддающейся трансформации):
Блок Bus Selector (маркировка сил инструмента)
Блок Chart (Stateflow)
Блок Data Store Write
Блок Goto
Блок Mux
Блок Outport
Блок Subsystem
Любой сигнал интереса.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Сигналы, прибывающие из Bus Selector, Chart, Constant, Data Store Read, Demux, From, Inport или блоков Selector, не помечены. | Пометьте сигнал. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Не позволяет исключения блоков или графиков.
Инструкция MAAB, Версия 3.0: na_0008: Отображение меток на сигналах в документации Simulink.
Сигнал называет и маркирует (Simulink).
ID проверки: mathworks.maab.na_0009
Проверяйте на распространенные метки на сигнальных линиях.
Необходимо распространить метку сигнала из ее источника, а не ввести метку сигнала явным образом (вручную), если сигнал происходит из:
Блок Inport во вложенной подсистеме. Однако, если вложенная подсистема является подсистемой библиотеки, можно явным образом пометить сигнал, прибывающий из блока Inport, чтобы разместить повторное использование библиотечного блока.
Базисный блок, который выполняет неподдающуюся трансформации операцию.
Блок Subsystem или Stateflow Chart. Однако, если связь происходит из выхода экземпляра библиотечного блока, можно явным образом пометить сигнал разместить повторное использование библиотечного блока.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель включает метки сигнала, которые вводились явным образом, но должны быть распространены. | Используйте открытую угловую скобку (<) символ, чтобы отметить метки сигнала, которые должны быть распространены и удалить метки, которые вводились явным образом. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Не позволяет исключения блоков или графиков.
Инструкция MAAB, Версия 3.0: na_0009: Запись по сравнению с распространением меток сигнала в документации Simulink.
Сигнал называет и маркирует (Simulink).
ID проверки: mathworks.maab.jc_0531
Проверяйте размещение перехода по умолчанию в диаграммы Stateflow.
В диаграмме Stateflow необходимо соединить переход по умолчанию наверху состояния и поместить целевое состояние перехода по умолчанию выше других состояний в иерархии. Должен быть только один переход по умолчанию.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Переход по умолчанию для диаграммы Stateflow не соединяется наверху состояния. | Переместите переход по умолчанию к верхней части диаграммы Stateflow. |
Целевое состояние перехода значения по умолчанию диаграммы Stateflow ниже, чем другие состояния в той же иерархии. | Отрегулируйте положение целевого состояния перехода по умолчанию так, чтобы состояние было выше других состояний в той же иерархии. |
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не обнаруживает переходы по умолчанию, которые превышают государственную границу.
Проверка не обнаруживает недостающие безусловные переходы по умолчанию.
Проверка не обнаруживает горизонтальное размещение (оставленная должность) перехода по умолчанию.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0531: Размещение перехода по умолчанию в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0531: переход По умолчанию
Синтаксис для состояний и переходов (Stateflow)
ID проверки: mathworks.maab.jc_0511
Идентифицируйте графические функции с несколькими присвоениями возвращаемых значений в диаграммах Stateflow.
Возвращаемое значение от графической функции Stateflow должно быть установлено только в одном месте.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Возвращаемое значение от графической функции Stateflow присвоено в нескольких местах. | Измените заданную графическую функцию так, чтобы ее возвращаемое значение было установлено в одном месте. |
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0511: Установка возвращаемого значения от графической функции в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0511: Установка возвращаемого значения от графической функции
Допускающие повторное использование функции в графиках (Stateflow).
ID проверки: mathworks.maab.jc_0501
Идентифицируйте недостающие разрывы строки между действием записи (en
), во время действия (du
), и выходное действие (ex
) записи в состояниях. Идентифицируйте недостающие разрывы строки после точек с запятой (;
) в операторах.
Запустите новую строку после entry
, during
, и exit
записи, и после завершения оператора “;
”.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
entry (en ) не находится на новой строке. | Добавьте новую линию после entry . |
during (du ) не находится на новой строке. | Добавьте новую линию после during . |
exit (ex ) не находится на новой строке. | Добавьте новую линию после exit . |
Несколько операторов найдены на одной линии. | Добавьте новую линию после каждого оператора. |
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: jc_0501: Формат записей в блоке State в документации Simulink.
ID проверки: mathworks.maab.jc_0521
Идентифицируйте вызовы графических функций в условных выражениях.
Не используйте возвращаемое значение графической функции в операции сравнения.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Условные выражения содержат вызовы графических функций. | Присвойте возвращаемые значения графических функций к промежуточным переменным. Используйте эти промежуточные переменные в заданных условных выражениях. |
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0521: Использование возвращаемого значения от графических функций в документации Simulink.
Допускающие повторное использование функции в графиках (Stateflow).
Шаблоны логики повторного использования путем определения графических функций (Stateflow).
ID проверки: mathworks.maab.jm_0011
Идентифицируйте операции указателя на переменных пользовательского кода.
Указатели на переменные пользовательского кода не позволены.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Переменные пользовательского кода используют операции указателя. | Измените заданный график, чтобы удалить зависимость от операций указателя. |
Применяется только к диаграммам Stateflow, которые используют C в качестве языка действия.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jm_0011: Указатели в Stateflow в документации Simulink.
Инструкция JMAAB, Версия 5.1: jm_0011: Указатели в Stateflow
ID проверки: mathworks.maab.jm_0012
Идентифицируйте неориентированные широковещательные сообщения события, которые могут вызвать рекурсию в процессе моделирования и сгенерировать неэффективный код.
Широковещательные сообщения события в диаграммах Stateflow должны быть направлены.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Широковещательные сообщения события являются неориентированными. | Повторно спроектируйте схему, чтобы использовать направленную широковещательную передачу события. Используйте отправить синтаксис или квалифицированные имена события, чтобы направить событие к конкретному состоянию. Используйте несколько операторов SEND, чтобы направить событие больше чем к одному состоянию. |
Инструкция JMAAB, ограничение Версии 5.1: проверка не может быть сконфигурирована, чтобы отметить событие, используемое кроме диаграммы Stateflow выход. (ID Sub: a1)
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jm_0012: широковещательные сообщения События в документации Simulink.
Инструкция JMAAB, Версия 5.1: jm_0012: ограничения Использования событий и широковещательных событий
Широковещательно передайте локальные События, чтобы синхронизировать параллельные состояния (Stateflow).
ID проверки: mathworks.maab.db_0151
Идентифицируйте недостающие разрывы строки между действиями перехода.
Для удобочитаемости запустите каждое действие перехода с новой строкой.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Несколько действий перехода находятся на одной строке. | Проверьте, что каждое действие перехода начинается на новой строке. |
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: db_0151: шаблоны Конечного автомата для действий перехода в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0151: шаблоны Конечного автомата для действий перехода.
Синтаксис для состояний и переходов (Stateflow)
ID проверки: mathworks.maab.db_0127
Идентифицируйте, что Stateflow возражает, что используют выражения MATLAB®, которые не подходят для генерации кода.
Не используйте функции MATLAB, инструкции и операторы в объектах Stateflow.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Объекты Stateflow используют выражения MATLAB. | Замените выражения MATLAB в объектах Stateflow. |
Применяется только к диаграммам Stateflow, которые используют C в качестве языка действия.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: db_0127: команды MATLAB в Stateflow в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0127: Ограничение на команды MATLAB в блоках Stateflow
Доступ к функциям MATLAB и данным о рабочей области в графиках C (Stateflow).
ID проверки: mathworks.maab.db_0112
Проверяйте, что блоки используют сопоставимую векторную индексацию.
Проверяйте, что блоки используют сопоставимую векторную индексацию. Когда возможно, используйте основанную на нуле индексацию, чтобы повысить эффективность кода.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Проверка проверяет сопоставимую индексацию для следующих объектов:
Объект | Индексация |
---|---|
|
|
| Основанная на нуле индексация ([0, 1, 2...]) |
| Индексация на основе одна ([1, 2, 3...]) |
Условие | Рекомендуемое действие |
---|---|
Объекты в вашей модели используют индексацию на основе одну, но могут быть сконфигурированы для основанной на нуле индексации. | Сконфигурируйте объекты для основанной на нуле индексации. |
Объекты в вашей модели используют противоречивую индексацию. | Если возможно, сконфигурируйте объекты для основанной на нуле индексации. Если ваша модель содержит объекты, которые не могут быть сконфигурированы для основанной на нуле индексации, сконфигурировать объекты для индексации на основе одной. |
Инструкция JMAAB, ограничение Версии 5.1: Эта проверка не может быть сконфигурирована, чтобы поддержать индексацию на основе одну. (ID Sub: a2)
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: db_0112: Индексация в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0112: Использование индекса
ID проверки: mathworks.maab.ar_0001
Проверяет имена всех файлов, находящихся в той же папке как модель
Имя файла соответствует ограничениям.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Имя файла содержит запрещенные символы. | Переименуйте файл. Допустимые символы являются a–z, A–Z, 0–9. и подчеркните (_). |
Имя файла запускается с номера. | Переименуйте файл. |
Имя файла запускается с подчеркивания (" _ "). | Переименуйте файл. |
Имя файла заканчивается подчеркиванием (" _ "). | Переименуйте файл. |
Расширение файла содержит один (или больше) символы нижнего подчеркивания. | Измените расширение файла. |
Имя файла имеет последовательные символы нижнего подчеркивания. | Переименуйте файл. |
Имя файла содержит больше чем одну точку (". "). | Переименуйте файл. |
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не отмечает конфликты с зарезервированными словами MATLAB. (ID Sub: f
Проверка не отмечает идентичные имена файлов на пути MATLAB. (ID Sub: g
Инструкция MAAB, ограничение Версии 3.0: проверка не отмечает конфликты с ключевыми словами C++.
Работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Инструкция MAAB, Версия 3.0: ar_0001: Имена файлов в документации Simulink.
Инструкция JMAAB, Версия 5.1: ar_0001: Применимые символы для имен файлов
ID проверки: mathworks.maab.ar_0002
Каталог модели проверок и подкаталог называют для недопустимых символов.
Имя каталога соответствует ограничениям.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Имя каталога содержит запрещенные символы. | Переименуйте директорию. Допустимые символы являются a–z, A–Z, 0–9. и подчеркните (_). |
Имя каталога запускается с номера. | Переименуйте директорию. |
Имя каталога запускается с подчеркивания (" _ "). | Переименуйте директорию. |
Имя каталога заканчивается подчеркиванием (" _ "). | Переименуйте директорию. |
Имя каталога имеет последовательные символы нижнего подчеркивания. | Переименуйте директорию. |
Инструкция JMAAB, ограничение Версии 5.1: проверка не отмечает конфликты с зарезервированными словами MATLAB. (ID Sub: f
Работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Анализирует полный путь модели.
Анализирует подкаталоги в той же директории как модель.
Инструкция MAAB, Версия 3.0: ar_0002: Имена каталогов в документации Simulink.
Инструкция JMAAB, Версия 5.1: ar_0002: Применимые символы для имен папок
ID проверки: mathworks.maab.jm_0001
Проверяйте на запрещенные блоки в дискретных контроллерах.
Проверка идентифицирует непрерывные блоки в дискретных моделях контроллеров.
Доступный с Simulink Check.
Чтобы изменить список блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check for prohibited blocks in discrete controllers.
В панели Input Parameters, к:
Запретите блоки, как задано в MAAB 3.0, от Standard, выберите MAAB 3.0
. Таблица Block type list обеспечивает блоки, что MAAB 3.0 запрещает внутренние контроллеры.
Чтобы задать блоки, чтобы или позволить или запретить, от Standard, выбирают Custom
. В Treat blocktype list as выберите Allowed
или Prohibited
. В таблице Block type list можно добавить или удалить блоки.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует заданные входные параметры.
Условие | Рекомендуемое действие |
---|---|
Непрерывные блоки — Derivative, Integrator, State-Space, Transfer Fcn, Transfer Delay, Variable Time Delay, Variable Transport Delay и Zero-Pole — не разрешены в моделях, представляющих дискретные контроллеры. | Замените непрерывные блоки на эквивалентные блоки, дискретизированные в s-области. Пользуйтесь библиотекой Discretizing, как описано в Дискретизируют Блоки из Модели Simulink (Simulink). |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: jm_0001: Запрещенный стандарт Simulink блокирует внутренние контроллеры в документации Simulink.
Инструкция JMAAB, Версия 5.1: jm_0001: Запрещенный стандарт Simulink блокирует внутренние контроллеры.
ID проверки: mathworks.maab.hd_0001
Проверяйте на запрещенные блоки приемника Simulink.
Необходимо спроектировать модели контроллеров от дискретных блоков. Снизьте блоки, такие как блок Scope, не позволены в моделях контроллеров.
Доступный с Simulink Check.
Чтобы изменить список блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check for prohibited sink blocks.
В панели Input Parameters, к:
Запретите блоки, как задано MAAB 3.0, от Standard, выберите MAAB 3.0
. Таблица Block type list обеспечивает блоки приемника, которые запрещает MAAB 3.0.
Чтобы задать блоки, чтобы или позволить или запретить, от Standard, выбирают Custom
. В Treat blocktype list as выберите Allowed
или Prohibited
. В таблице Block type list можно добавить или удалить блоки.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует заданные входные параметры.
Условие | Рекомендуемое действие |
---|---|
Снизьтесь блоки не разрешены в дискретных контроллерах. | Удалите блоки приемника из модели. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: hd_0001: Запрещенный Simulink впитывает документацию Simulink.
Инструкция JMAAB, Версия 5.1: hd_0001: Запрещенные приемники Simulink.
ID проверки: mathworks.maab.db_0042
Проверяйте, содержит ли модель порты с недопустимым положением и настройкой.
В моделях порты должны выполнить следующие правила:
Поместите блоки Inport на левой стороне схемы. Приемлемо переместить блок Inport направо только, чтобы предотвратить пересечения сигнала.
Поместите блоки Outport в правую сторону схемы. Приемлемо переместить блок Outport налево только, чтобы предотвратить пересечения сигнала.
Избегайте использования дублирующихся блоков Inport на уровне подсистемы, если это возможно.
Не используйте дублирующиеся блоки Inport на корневом уровне.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блоки Inport слишком далеки направо и результат в лево-плавных сигналах. | Переместите заданные блоки Inport налево. |
Блоки Outport слишком далеки налево и результат в лево-плавных сигналах. | Переместите заданные блоки Output направо. |
Порты не имеют ориентации по умолчанию. | Измените диаграмму модели, таким образом, что сигнальные линии для выходных портов вводят сторону блока, и сигнальные линии для входных портов выходят из правой стороны блока. |
Порты являются дублирующимися блоками Inport. |
|
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не отмечает, когда Inports не размещаются на левой стороне схемы. (ID Sub: a
Проверка не отмечает, когда Выходные порты не помещаются в правую сторону схемы. (ID Sub: b
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Не анализирует пересечения сигнала
Инструкция MAAB, Версия 3.0: db_0042: Блокировка порта в моделях Simulink в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0042: Использование блоков Inport и Outport
ID проверки: mathworks.maab.jm_0010
Проверяйте на несоответствия между именами портов и соответствующих сигналов.
Используйте соответствие с именами в портах и их соответствующих сигналах.
Доступный с Simulink Check.
Необходимые как условие инструкции MAAB, Версия 3.0, для этой проверки:
Условие | Рекомендуемое действие |
---|---|
Порты имеют имена, которые отличаются от их соответствующих сигналов. | Поменяйте имя порта или имя сигнала, чтобы совпадать с именем для сигнала. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jm_0010: Блокировка порта называет в моделях Simulink в документации Simulink.
ID проверки: mathworks.maab.db_0142
Проверяйте, появляются ли имена блока ниже блоков.
Если показано, имя блока должно появиться ниже блока.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блоки имеют имена, которые не появляются ниже блоков. | Определите имя блока, чтобы появиться ниже блоков. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: db_0142: Положение имен блока в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0142: Положение имен блока.
ID проверки: mathworks.maab.db_0143
Проверяйте на системы, которые смешивают примитивные блоки и подсистемы.
Необходимо спроектировать каждый уровень модели с базовыми блоками того же типа, например, только подсистемы или только примитивные (основные) блоки. Если вы маскируете свою подсистему и устанавливаете MaskType на непустую строку, Model Advisor обрабатывает подсистему как базисный блок.
Доступный с Simulink Check.
Чтобы изменить список блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check for mixing basic blocks and subsystems.
В панели Input Parameters, к:
Позвольте блоки, заданные MAAB 3.0, от Standard, выберите MAAB 3.0
. Таблица Block type list обеспечивает блоки, которые MAAB 3.0 позволяет на любом уровне модели.
Чтобы задать блоки, чтобы или позволить или запретить, от Standard, выбирают Custom
. В Treat blocktype list as выберите Allowed
или Prohibited
. В таблице Block type list можно добавить или удалить блоки.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует заданные входные параметры.
Условие | Рекомендуемое действие |
---|---|
Уровень в модели включает блоки подсистемы и примитивные блоки. | Переместите невиртуальные блоки в подсистему. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: db_0143: Подобные типы блока на уровнях модели в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0143: типы блока Использования в иерархии модели
ID проверки: mathworks.maab.db_0081
Проверяйте, имеет ли модель несвязанные входные порты, выходные порты или сигнальные линии.
Несвязанные входные параметры должны быть соединены, чтобы основать блоки. Несвязанные выходные параметры должны быть соединены с блоками терминатора строки.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блоки имеют несвязанные вводы или выводы. | Соедините несвязанные линии с блоками, заданными проектом или Основываться или блоки Терминатора. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: db_0081: Несвязанные сигналы, входные параметры блока и блок выходные параметры в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0081: Несвязанные сигналы / блок
ID проверки: mathworks.maab.db_0146
Проверяйте положение блоков Enable и Trigger.
Найдите блоки, которые задают подсистемы как условное выражение или итеративный наверху схемы подсистемы.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Trigger, Enable и блоки Action Port не наверху схемы подсистемы. | Переместите Trigger, Enable и блоки Action Port к верхней части схемы подсистемы. |
For Each, For Iterator и блоки While Iterator не находятся в том же месте на схеме подсистемы. | Переместите For Each, For Iterator и блоки While Iterator, таким образом, они в универсальном местоположении на схеме подсистемы. |
Инструкция JMAAB, ограничение Версии 5.1: проверка не проверяет, что For Each или блоки For Iterator однородно расположены.
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Не анализирует содержимое в подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: db_0146: Инициированные, активированные, условные Подсистемы в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0146: Блочное расположение в условных подсистемах
ID проверки: mathworks.maab.db_0110
Проверяйте, задают ли настраиваемые параметры выражения, преобразования типа данных или операции индексации.
Чтобы сделать параметр настраиваемым, необходимо ввести базисный блок без использования вычислений MATLAB или сценариев. Например, не используйте:
Выражения
Преобразования типа данных
Выборы строк или столбцов
Поддерживаемые блоки включают:
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блоки имеют настраиваемый параметр, который задает выражение, преобразование типа данных или операцию индексации. | В каждом случае переместите вычисление за пределами блока, например, путем выполнения вычисления с серией блоков Simulink, или предварительно вычислите значение как новую переменную. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Не оценивает параметры маски.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: db_0110: Настраиваемые параметры в базисных блоках в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0110: Инструкции для параметров блоков
ID проверки: mathworks.maab.db_0125
Проверяйте, заданы ли объекты данных Stateflow с локальным осциллографом на уровне графика или ниже.
Эта проверка отмечает данные Stateflow, локальный осциллограф которых не задан на уровне Графика или ниже, независимо от того, используются ли данные или нет.
Необходимо задать локальные данные блока Stateflow на уровне графика или ниже в иерархии объектов. Вы не можете задать локальные переменные на уровне машины; однако, параметры и константы позволены на уровне машины.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Локальные данные не заданы в иерархии Stateflow на уровне графика или ниже. | Задайте локальные данные на уровне графика или ниже. |
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не делает флага Constant локальные данные, заданные на уровне машины. (ID Sub: b
Проверка не отмечает дублирующееся определение данных и использование в связи между родительскими объектами и их потомками. (ID Sub: c
Проверка не делает флагового параметра локальные данные, заданные на уровне машины. (ID Sub: d
Проверка не обнаруживает, если локальные данные имеют то же имя в рамках графиков или состояний, которые имеют связи между родительскими объектами и их потомками.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Не позволяет исключения блоков или графиков.
Инструкция MAAB, Версия 3.0: db_0125: Осциллограф внутренних сигналов и локальных вспомогательных переменных в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0125: Stateflow локальные данные
ID проверки: mathworks.maab.db_0122
Проверяйте, пометил ли Stateflow, и сигналы ввода и вывода Simulink со строгим контролем типов.
Сильный ввод данных между Stateflow и сигналами ввода и вывода Simulink требуется.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Диаграмма Stateflow не использует сильный ввод данных с Simulink. | Установите флажок Use Strong Data Typing with Simulink I/O для заданного блока. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков и графиков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: db_0122: сигналы интерфейса Stateflow и Simulink и параметры в документации Simulink.
Инструкция JMAAB, Версия 5.1: db_0122: сигналы интерфейса Stateflow и Simulink и параметры
Синтаксис для состояний и переходов (Stateflow)
ID проверки: mathworks.maab.db_0137
Проверяйте состояния в машину состояний.
В машине состояний:
Должно быть по крайней мере два исключительных состояния.
Состояние не может иметь только одного подсостояния.
Начальное состояние иерархического уровня с исключительными состояниями ясно задано переходом по умолчанию.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Необходимая как условие инструкция MAAB, Версия 3.0, для этой проверки являются db_0149: шаблоны Блок-схемы для действий условия.
Условие | Рекомендуемое действие |
---|---|
График имеет только один исключительный (OR) состояние. | Сделайте состояние параллельным состоянием или добавьте другое исключительное (OR) состояние. |
Графику не задали состояние по умолчанию. | Задайте состояние по умолчанию. |
График имеет несколько заданных состояний по умолчанию. | Задайте только одно состояние по умолчанию. Сделайте другие не по умолчанию. |
Состояние имеет только один исключительный (OR) подсостояние. | Сделайте состояние параллельным состоянием, добавьте другое исключительное (OR) состояние или замените состояние на блок-схему. |
Состоянию не задали подсостояние по умолчанию. | Задайте подсостояние по умолчанию. |
Состояние имеет несколько заданных подсостояний по умолчанию. | Задайте только одно подсостояние по умолчанию, сделайте другие не по умолчанию. |
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: db_0137: Состояния в машине состояний в документации Simulink.
ID проверки: mathworks.maab.jc_0011
Проверяйте параметр оптимизации на булевы типы данных.
Оптимизация для булевых типов данных требуется
Доступный с Simulink Check.
Необходимая как условие инструкция MAAB, Версия 3.0, для этой проверки являются na_0002: Соответствующая реализация основных логических и числовых операций.
Условие | Рекомендуемое действие |
---|---|
Параметр конфигурации для Implement logic signals as boolean data (vs. double) не установлен. | Установите флажок Implement logic signals as boolean data (vs. double) в диалоговом окне Configuration Parameters. |
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Инструкция MAAB, Версия 3.0: jc_0011: параметры Оптимизации для булевых типов данных в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0011: параметры Оптимизации для булевых типов данных.
ID проверки: mathworks.maab.jc_0021
Проверяйте настройки параметра конфигурации диагностики модели.
Необходимо включить следующую диагностику:
Algebraic loop |
Minimize algebraic loop |
Inf or NaN block output |
Duplicate data store names |
Unconnected block input ports |
Unconnected block output ports |
Unconnected line |
Unspecified bus object at root Outport block |
Element name mismatch |
Invalid function-call connection |
Диагностика, не перечисленная в разделе Results и Recommended Actions ниже, может быть установлена в любое значение.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Algebraic loop установлен в none . | Установите Algebraic loop на Diagnostics> панель Solver в диалоговом окне Configuration Parameters к error или warning . В противном случае Simulink может попытаться автоматически повредить алгебраические циклы, которые могут повлиять на порядок выполнения блоков. |
Minimize algebraic loop установлен в none . | Установите Minimize algebraic loop на Diagnostics> панель Solver в диалоговом окне Configuration Parameters к error или warning . В противном случае Simulink может попытаться автоматически повредить алгебраические циклы для эталонных моделей и атомарных подсистем, которые могут повлиять на порядок выполнения для тех моделей или подсистем. |
Inf or NaN block output установлен в none , который может привести к числовым исключениям в сгенерированном коде. | Установите Inf or NaN block output на Diagnostics> Data Validity> панель Signals в диалоговом окне Configuration Parameters к error или warning . |
Duplicate data store names установлен в none , который может привести к групповому переменному именованию в сгенерированном коде. | Установите Duplicate data store names на Diagnostics> Data Validity > панель Signals в диалоговом окне Configuration Parameters к error или warning . |
Unconnected block input ports установлен в none , который предотвращает генерацию кода. | Установите Unconnected block input ports на Diagnostics> Data Validity > панель Signals в диалоговом окне Configuration Parameters к error или warning . |
Unconnected block output ports установлен в none , который может привести к мертвому коду. | Установите Unconnected block output ports на Diagnostics> Data Validity > панель Signals в диалоговом окне Configuration Parameters к error или warning . |
Unconnected line установлен в none , который предотвращает генерацию кода. | Установите Unconnected line на Diagnostics> Connectivity> панель Signals в диалоговом окне Configuration Parameters к error или warning . |
Unspecified bus object at root Outport block установлен в none , который может привести к незаданному интерфейсу, если на модель ссылаются из другой модели. | Установите Unspecified bus object at root Outport block на Diagnostics> Connectivity> панель Buses в диалоговом окне Configuration Parameters к error или warning . |
Element name mismatch установлен в none , который может привести к непреднамеренному интерфейсу в сгенерированном коде. | Установите Element name mismatch на Diagnostics> Connectivity> панель Buses в диалоговом окне Configuration Parameters к error или warning . |
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Инструкция MAAB, Версия 3.0: jc_0021: диагностические настройки Модели в документации Simulink.
ID проверки: mathworks.maab.jc_0061
Проверяйте атрибуты дисплея подсистемы и имен блока.
Когда подсистема и имена блока предоставляют описательную информацию, отображают имена. Если функция блока известна от ее внешнего вида, не отображайте имя. Блоки с именами, которые очевидны из внешнего вида блока:
От
Goto
Земля
Логика
MinMax
ModelReference
MultiPortSwitch
Продукт
Оператор отношения
Насыщать
Переключатель
Терминатор
Тригонометрия
Unit Delay
Сумма
Сравните с постоянным
Сравните с нулем
Доступный с Simulink Check.
Введите Параметры. Чтобы задать пользовательские блоки и маски, чтобы включать в эту проверку, используйте Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check the display attributes of block names. В панели Input Parameters выберите Custom
.
Используйте таблицу Block type list, чтобы включать или исключить блоки и маски от проверки.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Имя отображено и очевидно из внешнего вида блока. | Скройте имя блока путем выбора Format > Hide Automatic Block Name. |
Имя не является описательным. А именно, имя блока:
| Измените имя блока, чтобы предоставить описательную информацию или скрыть имя блока путем выбора Format > Hide Automatic Block Name. |
Имя является описательным и не отображенное. Описательные имена:
| Измените блоки, чтобы показать имя блока путем отмены выбора Format > Hide Automatic Block Name. |
Проверка не оценивает мои пользовательские блоки и маски. | Используйте Редактора конфигурации Модели, чтобы задать ваши собственные проверки и блоки. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0061: Отображение имен блока в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0061: Отображение имен блока
ID проверки: mathworks.maab.jc_0081
Проверяйте установку Icon display на блоки Outport и Inport.
Установка Icon display требуется.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Установка Icon display не установлена. | Установите Icon display на Port number для заданного Inport и блоков Outport. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: jc_0081: отображение Значка для Блокировки порта в документации Simulink.
ID проверки: mathworks.maab.jc_0201
Проверяйте, включают ли имена блока подсистемы недопустимые символы.
Имена всех блоков подсистемы, которые генерируют код, проверяются на недопустимые символы.
Проверка не сообщает о недопустимых символах на имена подсистемы для:
Виртуальные подсистемы
Атомарные подсистемы с набором Function Packaging к Inline
Доступный с Simulink Check.
Чтобы управлять соглашением о присвоении имен для блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check port block names. В панели Input Parameter:
Используйте Naming standard, чтобы выбрать MAAB 3.0
или Custom
. Когда вы выбираете MAAB 3.0
, проверка использует регулярное выражение ([^a-zA-Z_0-9])|(^\d)|(^ )|(__)|(^_)|(_$)
проверять что имена:
Используйте эти символы: a-z
, A-Z
, 0-9, и подчеркивание
(_)
.
Не запускайте с номера.
Не используйте символы нижнего подчеркивания вначале или конец строки.
Не используйте больше чем одно последовательное подчеркивание.
Когда вы выбираете Custom
, можно ввести собственный Regular expression for prohibited names. Например, если вы хотите позволить больше чем одно последовательное подчеркивание, введите ([^a-zA-Z_0-9])|(^\d)|(^ )|(^_)|(_$)
.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Имена подсистемы не выполняют стандарт именования, заданный во входных параметрах. | Обновите имена подсистемы, чтобы выполнить ваши собственные инструкции или инструкции MAAB. |
Инструкция JMAAB, ограничение Версии 5.1: проверка не отмечает конфликты с зарезервированными словами MATLAB. (ID Sub: f
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Используйте символы нижнего подчеркивания, чтобы разделить части имени подсистемы вместо пробелов.
Инструкция MAAB, Версия 3.0: jc_0201: Применимые символы для Подсистемы называют в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0201: Применимые символы для имен Подсистемы
ID проверки: mathworks.maab.jc_0211
Проверяйте, включают ли Inport и имена блока Outport недопустимые символы.
Имена всего Inport и блоков Outport проверяются на недопустимые символы.
Доступный с Simulink Check.
Чтобы управлять соглашением о присвоении имен для блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check port block names. В панели Input Parameter:
Используйте Naming standard, чтобы выбрать MAAB 3.0
или Custom
. Когда вы выбираете MAAB 3.0
, проверка использует регулярное выражение ([^a-zA-Z_0-9])|(^\d)|(^ )|(__)|(^_)|(_$)
проверять что имена:
Используйте эти символы: a-z
, A-Z
, 0-9, и подчеркивание
(_)
.
Не запускайте с номера.
Не используйте символы нижнего подчеркивания вначале или конец строки.
Не используйте больше чем одно последовательное подчеркивание.
Когда вы выбираете Custom
, можно ввести собственный Regular expression for prohibited names. Например, если вы хотите позволить больше чем одно последовательное подчеркивание, введите ([^a-zA-Z_0-9])|(^\d)|(^ )|(^_)|(_$)
.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Имена блока не выполняют стандарт именования, заданный во входных параметрах. | Обновите имена блока, чтобы выполнить ваши собственные инструкции или инструкции MAAB. |
Инструкция JMAAB, ограничение Версии 5.1: проверка не отмечает конфликты с зарезервированными словами MATLAB. (ID Sub: f
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Используйте символы нижнего подчеркивания, чтобы разделить части имени блока вместо пробелов.
Инструкция MAAB, Версия 3.0: jc_0211: Применимые символы для блоков Inport и Выходного порта блокируются в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0211: Применимые символы для блока Inport и блока Outport
ID проверки: mathworks.maab.jc_0221
Проверяйте, включают ли имена сигнальной линии недопустимые символы.
Имена всех сигнальных линий проверяются на недопустимые символы.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Имя сигнальной линии содержит запрещенные символы. | Переименуйте сигнальную линию. Допустимые символы включают a–z, A–Z, 0–9, и подчеркивание (_). |
Имя сигнальной линии запускается с номера. | Переименуйте сигнальную линию. |
Имя сигнальной линии запускается с подчеркивания (" _ "). | Переименуйте сигнальную линию. |
Имя сигнальной линии заканчивается подчеркиванием (" _ "). | Переименуйте сигнальную линию. |
Имя сигнальной линии имеет последовательные символы нижнего подчеркивания. | Переименуйте сигнальную линию. |
Имя сигнальной линии имеет пробелы. | Переименуйте сигнальную линию. |
Имя сигнальной линии имеет управляющие символы. | Переименуйте сигнальную линию. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Не позволяет исключения блоков или графиков.
Используйте символы нижнего подчеркивания, чтобы разделить части имени сигнальной линии вместо пробелов.
Инструкция MAAB, Версия 3.0: jc_0221: Применимые символы для сигнальной линии называют в документации Simulink.
Инструкция JMAAB, Версия 4.0: jc_0222: Применимые символы для сигнальной линии и имен шины.
ID проверки: mathworks.maab.na_0030
Проверки шина Simulink сигнализируют об именах.
Эта проверка проверяет, что имена сигнала шины Simulink выполняют ваши собственные руководства по моделированию или руководство по моделированию MAAB na_0030. Рекомендации по именованию MAAB следующие.
Форма
Шина Simulink сигнализирует об именах:
Не должен запускаться с номера
Не должен иметь пробелов
Возвраты каретки не позволены
Допустимые символы
Имена сигнала шины Simulink могут содержать символы:
b c d e f g h i j k l m n o p q r s t u v w x y z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 _
Символы нижнего подчеркивания
Шина Simulink сигнализирует об именах:
Может использовать символы нижнего подчеркивания, чтобы разделить части
Не может иметь больше чем одного последовательного подчеркивания
Не может запуститься с подчеркивания
Не может закончиться подчеркиванием
Доступный с Simulink Check.
Чтобы задать стандарт именования для имен сигнала шины Simulink, используйте Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check Simulink bus signal names. В Input Parameters разделяют на области, введите:
MAAB 3.0
использовать MAAB именование стандарта. Когда вы выбираете MAAB 3.0
, проверка использует регулярное выражение ([^a-zA-Z_0-9])|(^\d)|(^ )|(__)|(^_)|(_$)
проверять что имена:
Используйте эти символы: a-z
, A-Z
, 0-9, и подчеркивание
(_)
.
Не запускайте с номера.
Не используйте символы нижнего подчеркивания вначале или конец строки.
Не используйте больше чем одно последовательное подчеркивание.
Custom
использовать ваш собственный стандарт именования. Когда вы выбираете Custom
, можно ввести собственный Regular expression for prohibited names. Например, если вы хотите позволить больше чем одно последовательное подчеркивание, введите (^a-zA-Z_0-9])|(^\d)|(^ )|(^_)|(_$)
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Имена сигнала шины Simulink не выполняют стандарт именования, заданный во входных параметрах. | Обновите имена сигнала шины Simulink, чтобы выполнить ваше собственное или инструкции MAAB. |
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Позволяет подсветку синтаксиса.
Инструкция MAAB, Версия 3.0: na_0030: Применимые символы для Шины Simulink называют в документации Simulink.
Инструкция JMAAB, Версия 4.0: jc_0222: Применимые символы для сигнальной линии и имен шины.
ID проверки: mathworks.maab.jc_0231
Проверяйте, включают ли имена блока недопустимые символы.
Проверка сообщает о недопустимых символах во всех именах блока, кроме:
Inports и Outports
Размаскированные подсистемы
Инструкция MAAB, Версия 3.0, jc_0231: Применимые символы для имен блока не применяются к блокам подсистемы.
Доступный с Simulink Check.
Необходимая как условие инструкция MAAB, Версия 3.0, для этой проверки являются jc_0201: Применимые символы для имен Подсистемы.
Чтобы управлять соглашением о присвоении имен для блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check character usage in block names. В панели Input Parameter:
Используйте Naming standard, чтобы выбрать MAAB 3.0
или Custom
. Когда вы выбираете MAAB 3.0
, проверка использует регулярное выражение ([^a-zA-Z_0-9\n\r ])|(^\d)|(^ )
проверять что имена:
Используйте эти символы: a-z
, A-Z
, 0-9, подчеркните (_), и пробел.
Не запускайте с номера или пробела.
Не имейте двухбайтовых символов.
Когда вы выбираете Custom
, можно ввести собственный Regular expression for prohibited names. Например, если вы не хотите позволять символы нижнего подчеркивания (_) в имени блока, введите ([^a-zA-Z0-9\r])|(^\d)|(^ )
.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Имена блока не выполняют стандарт именования, заданный во входных параметрах. | Обновите имена блока, чтобы выполнить ваши собственные инструкции или инструкции MAAB. |
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не отмечает имена Базисного блока, кроме [Inport] и [Выходной порт], то использование символы нижнего подчеркивания вначале. (ID Sub: a
Проверка не отмечает имена Базисного блока, кроме [Inport] и [Выходной порт], то использование символы нижнего подчеркивания в конце. (ID Sub: b
Проверка не отмечает имена Базисного блока, кроме [Inport] и [Выходной порт], то использование последовательные символы нижнего подчеркивания. (ID Sub: c
Проверка не отмечает имена Базисного блока кроме [Inport] и [Выходной порт], который только состоит из одного зарезервированного слова MATLAB. (ID Sub: d
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Возвраты каретки позволены в именах блока.
Инструкция MAAB, Версия 3.0: jc_0231: Применимые символы для имен блока в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0231: Применимые символы для имен блока
ID проверки: mathworks.maab.jc_0281
Проверяйте имена порта блока Trigger и Enable.
Блокируйтесь имена порта должны совпадать с именем сигнала, инициировавшего подсистему. Проверка не делает имен блока флага Trigger или Enable, если связанный сигнал не имеет метки.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блок Trigger не совпадает с именем сигнала, с которым это соединяется. | Совпадайте с именами блока Trigger к соединяющемуся сигналу. |
Блок Enable не совпадает с именем сигнала, с которым это соединяется. | Совпадайте с именами блока Enable к соединяющемуся сигналу. |
Инструкция JMAAB, ограничение Версии 5.1: Эта проверка только отмечает Trigger и имена блоков Enable.
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0281: Именование Триггерной Блокировки порта и Включает Блокировку порта в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0281: Инициируйте имена сигнала
ID проверки: mathworks.maab.na_0004
Проверяйте атрибуты установки внешнего вида модели.
Настройки внешнего вида модели требуются, чтобы соответствовать инструкциям, когда модель выпущена.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Панель инструментов не отображается. | Выберите Modeling> Environment> Toolstrip. |
Строка состояния не отображается. | Выберите Modeling> Environment> Status Bar. |
Sample Time> Colors выбран. | Очистите Debug> Information Overlays> Colors. |
Wide Nonscalar Lines очищен. | Выберите Debug > Information Overlays> Nonscalar Signals. |
Viewer Indicators очищен. | Выберите Debug> Information Overlays> Viewers. |
Testpoint Indicators очищен. | Выберите Debug> Information Overlays> Log & Testpoint. |
Port Data Types выбран. | Очистите Debug> Information Overlays> Port Data Type. |
Storage Class выбран. | Очистите Debug> Information Overlays> Storage Class. |
Signal Dimensions выбран. | Очистите Debug> Information Overlays> Signal Dimensions. |
Execution Context Indicator выбран. | Очистите Display> Signals & Ports> Execution Context Indicator. |
Model Browser выбран. | Очистите Modeling> Environment> Model Browser. |
Sorted Execution Order выбран. | Очистите Debug> Information Overlays> Execution Order. |
Model Block Version выбран. | Очистите Debug> Information Overlays> Ref. Model Version. |
Model Block I/O Mismatch выбран. | Очистите Debug> Information Overlays> Ref. Model I/O Mismatch. |
Library Links является набором Disabled , User Defined , или All . | Выберите Debug> Information Overlays> Show All Links. |
Linearization Indicators очищен. | Выберите Debug> Information Overlays> Linearization Indicators. |
Блокируйтесь фоны не являются белыми. | Для каждой перечисленной схемы кликните по холсту и выберите Format> Background. |
Блокируйтесь передние планы не являются черными. | Выберите Format> Foreground Color> Black. |
Схемы не имеют белых фонов. | Выберите Diagram> Format> Canvas Color> White. |
Схемы не имеют набора фактора изменения масштаба к 100%. | Для каждой перечисленной схемы выберите Modeling> Environment > Zoom> Normal View (100%). |
Нажатие на Modify обновляет атрибуты дисплея, чтобы соответствовать инструкции.
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Не позволяет исключения блоков или графиков.
Инструкция MAAB, Версия 3.0: na_0004: внешний вид модели Simulink в документации Simulink.
Инструкция JMAAB, Версия 5.1: na_0004: настройки внешнего вида модели Simulink
ID проверки: mathworks.maab.na_0024
Проверяйте на глобальные переменные в коде MATLAB.
Проверяет, что глобальные переменные не используются ни в одном следующем:
Код MATLAB в блоках MATLAB function
Функции MATLAB заданы в диаграммах Stateflow
Названные функции MATLAB
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Глобальные переменные используются в одном или нескольких из следующего:
| Замените глобальные переменные на сигнальные линии, аргументы функции или персистентные данные. |
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Не позволяет исключения блоков или графиков.
Инструкция MAAB, Версия 3.0: na_0024: Глобальные переменные в документации Simulink.
Инструкция JMAAB, Версия 5.1: na_0024: Разделяемые данные в функциях MATLAB
ID проверки: mathworks.maab.na_0005
Проверяйте видимость имен блокировки порта.
Организация, применяющая инструкцию MAAB, Версию 3.0, должна выбрать одну из следующих альтернатив, чтобы осуществить:
Имена блокировок порта не скрыты.
Имя блокировок порта должно быть скрыто.
Когда проверка сконфигурирована, чтобы отобразить все имена порта, проверка не отмечают имена порта, которые скрыты из-за Того, чтобы скрывать Автоматическую функцию Имен в Simulink.
Доступный с Simulink Check.
Установите этот флажок, если все порты должны показать имя, включая подсистемы.
Условие | Рекомендуемое действие |
---|---|
Блоки не показывают свое имя, и флажок All Port names should be shown (Format/Show Name) устанавливается. | Измените формат заданных блоков, чтобы показать имена согласно входному требованию. |
Блоки показывают свое имя, и флажок All Port names should be shown (Format/Show Name) снимается. | Измените формат заданных блоков, чтобы скрыть имена согласно входному требованию. |
Блоки Subsystem не показывают свои имена порта. | Установите параметр подсистемы Show port labels на значение кроме none . |
Блоки Subsystem показывают свои имена порта. | Установите параметр подсистемы Show port labels на none . |
Работает на моделях библиотеки.
Не анализирует содержимое в подсистемах маскированных.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: na_0005: видимость имени Блокировки порта в моделях Simulink в документации Simulink.
ID проверки: mathworks.maab.jc_0111
Проверяйте ориентацию блоков подсистемы.
Входные параметры подсистемы должны быть расположены на левой стороне блока, и выходные параметры должны быть расположены на правой стороне блока.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блоки Subsystem не используют правильную ориентацию | Вращайте подсистему так, чтобы входные параметры были на левой стороне блока, и выходные параметры находятся на правой стороне блока. |
Инструкция JMAAB, ограничение Версии 5.1: проверка не отмечает вращение подсистем.
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: jc_0111: Направление Подсистемы в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0111: Направление Подсистемы.
ID проверки: mathworks.maab.jc_0131
Проверяйте положение блоков Constant, используемых в блоках Relational Operator.
Когда оператор отношения используется, чтобы сравнить сигнал с постоянным значением, постоянный вход должен быть вторым, более низким входом.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блоки Relational Operator имеют блок Constant на первом, верхнем входе. | Переместите блок Constant во второй, более низкий вход. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0131: Использование блока Relational Operator в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0131: Использование Операторов отношения
ID проверки: mathworks.maab.jc_0141
Проверяйте использование блоков switch.
Проверяет, что вход управления блоком switch (второй вход) является булевым значением и что блок сконфигурирован, чтобы передать первый вход, когда вход управления является ненулевым.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Вход управления блоком switch (второй вход) не является булевым значением. | Измените тип данных входа управления к булевской переменной. |
Блок switch не сконфигурирован, чтобы передать первый вход, когда вход управления является ненулевым. | Установите параметры блоков Criteria for passing first input на u2 ~ =0. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой. Однако разовая редактированием проверка эту проверку не проверяет, что тип данных управления ввел, булево значение.
Инструкция MAAB, Версия 3.0: jc_0141: Использование блока switch в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0141: Использование блока switch
ID проверки: mathworks.maab.na_0010
Проверяйте использование блоков Mux и шин.
Эта проверка проверяет использование блоков Mux и шин.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Отдельные скалярные входные сигналы для блока Mux не имеют общей функциональности, типов данных, размерностей и модулей. | Измените скалярные входные сигналы, таким образом, что спецификации соответствуют. |
Выход блока Mux не является вектором. | Измените выход блока Mux к вектору. |
Вход для блока Bus Selector не является сигналом шины. | Убедитесь, что вход для всех блоков Bus Selector является сигналом шины. |
Инструкция JMAAB, ограничение Версии 5.1: проверка не отмечает, когда блоки кроме Демультиплексора и Мультиплексора используются, чтобы сгенерировать или анализировать вектор. Например, Селекторный блок, используемый вместо Демультиплексора или Векторной конкатенации используемого вместо блока Mux. (ID Sub: a
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Не отмечает нескалярные входные параметры как описано в инструкции na_0010 MAAB: Группировка потоков данных в сигналы.
Инструкция MAAB, Версия 3.0: na_0010: Группировка потоков данных в signalsin документация Simulink.
Составные сигналы (Simulink)
ID проверки: mathworks.maab.na_0001
Идентифицируйте побитовые операторы (&
, |
, и ^
) в диаграммах Stateflow. Если вы выбираете Enable C-bit operations для графика, только о побитовых операторах в выражениях, содержащих булевы типы данных, сообщают. В противном случае обо всех побитовых операторах сообщают для графика.
Не используйте побитовые операторы в диаграммах Stateflow, если вы не включаете битовые операции.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Диаграммы Stateflow с Enable C-bit operations выбранные побитовые операторы использования (& , | , и ^ ) в выражениях, содержащих булевы типы данных. | Не используйте булевы типы данных в заданных выражениях. |
Model Advisor не мог определить типы данных в выражениях с битовыми операциями. | Чтобы позволить Model Advisor определять типы данных, рассмотрите явным образом преобразование типа заданных выражений. |
Диаграммы Stateflow с Enable C-bit operations очистили побитовые операторы использования (& , | , и ^ ). | Чтобы устранить эту проблему, сделайте любое из следующего:
|
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не отмечает когда операторы кроме"!" используются в логическом отрицании. (ID Sub: a
Проверка не может быть сконфигурирована, чтобы выбрать между "~ =", "! = ", и" <>" для операций неравенства. (ID Sub: b1, b2, b3)
Проверка не обнаруживает, когда "^" и "~" побитовые операторы используются в Логических операциях. (ID Sub: c
Применяется только к графикам, которые используют C в качестве языка действия.
Не работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: na_0001: Поразрядные операторы Stateflow в документации Simulink.
Инструкция JMAAB, Версия 5.1: na_0001: Стандартное использование операторов Stateflow
Бинарные операции (Stateflow).
ID проверки: mathworks.maab.na_0002
Типы данных проверок в числовых и логических блоках.
Проверяет типы данных на логические и числовые блоки и идентифицирует, когда тип данных делает не подходит для операции.
Тип данных для логических блоков должен быть булевской переменной. Логические блоки включают:
Тип данных для числовых блоков должен быть небулевской переменной. Числовые блоки включают:
Эти блоки также принимают числовой вход, но не включены как часть этой проверки:
Доступный с Simulink Check.
Чтобы задать пользовательские блоки и маски, чтобы включать в эту проверку, используйте Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check fundamental logical and numerical operations. В панели Input Parameters выберите Custom
.
Используйте таблицы Blocks for Numerical Operations и Blocks for Logical Operations, чтобы включать или исключить блоки и маски от проверки.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Тип данных для числового блока является булевской переменной. | Рассмотрите изменение типа данных к небулевской переменной. |
Тип данных для логического блока не является булевской переменной. | Рассмотрите изменение типа данных к булевской переменной. |
Проверка не оценивает мои пользовательские блоки и маски. | Введите свои пользовательские блоки и маски с помощью входных параметров в Редакторе конфигурации Модели. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: na_0002: Соответствующая реализация основных логических и числовых операций в документации Simulink.
ID проверки: mathworks.maab.na_0003
Проверяйте блоки If на несоответствующее построение первичных выражений в логическом выражении.
Идентифицирует экземпляры в блоке If, где первичные выражения являются комплексными.
Первичные выражения заданы как:
Вход
Константа
Постоянный параметр
Заключенное в скобки выражение, содержащее операторы кроме нуля или <
, >
, >=
, <=
, ==
, ~=
, |
, &
, и ~
Примеры первичных выражений включают:
u1
5
K
(u1
> 0 )
(u1
<= G
)
(u1
> U2
)
(~u1
)
Примеры приемлемых исключений логических выражений включают:
u1 | u2
((u1 > 0) & (u1 < 20)
(u1 > 0) & (u2 < u3)
(u1 > 0) & (~u2)
Эта таблица обеспечивает примеры недопустимых логических выражений.
Первичное выражение | Обоснование |
---|---|
| Слишком много первичных выражений. |
| Недопустимый оператор в первичном выражении. |
| Слишком много первичных выражений, которые не являются входными параметрами. |
| Недопустимый оператор в первичном выражении. |
Исключение
Логическое выражение может содержать больше чем два первичных выражения, когда оба этих условия соблюдают:
Первичные выражения являются всеми входными параметрами.
Только один тип логического оператора присутствует.
Примеры приемлемых исключений включают:
u1 | u2 | u3 | u4 | u5
u1 & u2 & u3 & u4
Простой, "если" выражения
В литеральной интерпретации инструкции na_0003, выражении u1 < u2
нарушение. Однако выражение следует обычно используемый "Если" шаблон выражения (<Первичное выражение> <Оператор> <Первичное выражение>). Так, когда логические операторы не используются, и только один оператор отношения присутствует, выражение удовлетворяет инструкции na_0003 и u1
<u2
не нарушение.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Логическое выражение содержит больше чем два первичных выражения, которые состоят из постоянного, постоянного параметра и вводят. | Рассмотрите одно из следующего:
|
Логическое выражение содержит больше чем два заключенных в скобки выражения, которые используют несколько операторов отношения | Рассмотрите одно из следующего:
|
Заключенное в скобки выражение включает оператор отношения кроме нуля или < , > , >= , <= , == , ~= , | , & , или ~ . | Рассмотрите одно из следующего:
|
Не отмечает логические выражения, которые используют только один из этих относительных операторов <
, >
, >=
, <=
, ==
, ~=
, |
, &
, и ~
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Инструкция MAAB, Версия 3.0: na_0003: Простые логические выражения, в Если блок Condition в документации Simulink.
ID проверки: mathworks.maab.na_0013
Идентифицируйте операции сравнения с различными типами данных в объектах Stateflow.
Сравнения должны быть сделаны между переменными совпадающих типов данных.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Операции сравнения с различными типами данных были найдены. | Пересмотрите заданные операции, чтобы избежать операций сравнения с различными типами данных. |
Model Advisor не мог определить типы данных в выражениях с операциями сравнения. | Чтобы позволить Model Advisor определять типы данных, рассмотрите явным образом преобразование типа заданных выражений. |
Не работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: na_0013: операция Comparison в Stateflow в документации Simulink.
ID проверки: mathworks.maab.na_0019
Проверяйте на использование зарезервированных слов на имена основной переменной MATLAB Function.
Идентифицирует имена переменных в блоках MATLAB Function, которые конфликтуют с зарезервированным C и ключевыми словами C++. Для полного списка зарезервированных слов смотрите Зарезервированные слова (Simulink Coder).
Избегайте использования имен переменных, которые конфликтуют с функциями MATLAB, таким as conv
.
Эта проверка является нечувствительной к регистру. Например, проверка отмечает ключевые слова true
TRUE
TRUE
, и tRue
.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Имя переменной конфликтует с зарезервированным словом. | Рассмотрите использование различного имени переменной, которое не конфликтует с зарезервированными словами. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Инструкция MAAB, Версия 3.0: na_0019: Ограниченные Имена переменных в документации Simulink.
ID проверки: mathworks.maab.na_0020
Подсистемы варианта проверок для неиспользуемых портов.
Подсистемы варианта проверок для неиспользуемых портов и обеспечивают действие, чтобы отключить неиспользованные входные параметры с блоком Terminator.
Условие | Рекомендуемое действие |
---|---|
Различная подсистема имеет неиспользуемые порты | Рассмотрите соединение неиспользуемых портов с блоками Terminator. |
Проверяйте, что действие соединяет неиспользуемые порты с блоками Terminator.
Доступный с Simulink Check.
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не отмечает, когда количество входных параметров к зависимой подсистеме отличается. (ID Sub: a
Проверка не отмечает, когда количество входных параметров к зависимой модели отличается. (ID Sub: b
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Позволяет подсветку синтаксиса.
Инструкция MAAB, Версия 3.0: na_0020: Количество входных параметров к различным подсистемам в документации Simulink.
ID проверки: mathworks.maab.na_0021
Проверяйте на использование векторов символов в блоках MATLAB Function.
Идентифицирует векторы символов, которые используются в блоках MATLAB Function.
Функции MATLAB хранят строки как символьные массивы. Из-за отсутствия динамического выделения памяти, массивы не могут быть изменены, чтобы разместить значение строки различной длины. Строки не являются поддерживаемым типом данных в Simulink, таким образом, блоки MATLAB Function не могут передать данные о строке вне блока.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блок MATLAB Function содержит вектор символов. | Рассмотрите использование перечислений вместо векторов символов. |
Не отмечает строки в MATLAB
Не отмечает векторы символов, которые трудно закодированы в определение класса.
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Инструкция MAAB, Версия 3.0: na_0021: Строки в документации Simulink.
ID проверки: mathworks.maab.na_0022
Проверяйте на использование непостоянных переменных в Переключателе/Операторах выбора.
В сгенерированном коде входные параметры блока MATLAB function передаются в качестве функциональных аргументов. Эта проверка оценивает Переключатель/Операторы выбора в сгенерированном коде, чтобы определить, используются ли непостоянные значения в аргументе Case.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Непостоянные переменные используются в Переключателе/Операторе выбора. | Рассмотрите определение входной переменной как константу. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Инструкция MAAB, Версия 3.0: na_0022: Рекомендуемые шаблоны для Переключателя/Операторов выбора в документации Simulink.
ID проверки: mathworks.maab.na_0036
Проверяйте использование вариантов по умолчанию в различной подсистеме.
Проверки Variant Subsystem, Variant Source, Variant Sink и вариант Model блокируются в различной подсистеме для варианта по умолчанию.
Доступный с Simulink Check.
Чтобы установить активный вариант как вариант по умолчанию, используйте Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check use of default variants. В панели Input Parameters выберите Check use of 'Allow zero active variant controls' option.
При использовании опции Allow zero active variant controls, набор следующий выходные порты различной подсистемы:
Установите Specify output when source is unconnected на true
Введите допустимое значение в Constant value
Установите Output Data type на Inherit: auto
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Подсистема не содержит вариант по умолчанию. | Установите параметры блоков Variant control на |
Параметры блоков Variant Control установлены в Variant . | Установить активный вариант как вариант по умолчанию.
|
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков
Позволяет подсветку синтаксиса
Инструкция MAAB, Версия 3.0: na_0036: вариант По умолчанию в документации Simulink.
ID проверки: mathworks.maab.na_0037
Проверяйте использование одной переменных в условных выражениях
Variant Subsystem проверок, Variant Source, Variant Sink и вариант Model блокируются для условных выражений, которые имеют больше чем одну переменную.
Инструкция na_0037 утверждает, что вариантами по умолчанию является исключение к рекомендации записи различных условных выражений с помощью нескольких переменная с одним условием. Можно задать значение по умолчанию:
Выбор (default)
в параметрах блоков Variant control.
Определение исчерпывающего условия.
Эта проверка не может дифференцироваться между значениями по умолчанию, которые заданы с помощью исчерпывающего условия.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Условное выражение содержит больше чем одну условную переменную. | Рассмотрите обновление вашей модели так, чтобы только один вариант использовался. |
Переменная условного выражения or | Рассмотрите определение варианта в вашей модели. |
Проверка не выполняется на моей различной подсистеме. | Очистите Override variant conditions and use following variant для различной подсистемы. |
Не проверяет варианты по умолчанию.
Не работает на Различной подсистеме, когда вы выбираете Override variant conditions and use following variant
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Инструкция MAAB, Версия 3.0: na_0037: Использование одного переменных различных условных выражений в документации Simulink.
ID проверки: mathworks.maab.na_0038
Проверяет глубину вложенных состояний в диаграммах Stateflow.
Проверяет, что глубина вложенных состояний inStateflow строит диаграмму и идентифицирует состояния, которые превышают заданный порог уровня вложенности.
Инструкция na_0038 MAAB рекомендует три уровня.
Доступный с Simulink Check.
Чтобы задать порог для уровней вложенности состояний Stateflow, используйте Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check nested states in Stateflow charts.
В панели Input Parameters введите порог уровня вложенности. Значением по умолчанию является 3
.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Уровень вложенных состояний Stateflow превышает заданный порог. | Рассмотрите состояния Stateflow инкапсуляции в подграфиках, таким образом, уровень вложенных состояний не превышает порог. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Позволяет подсветку синтаксиса.
Инструкция MAAB, Версия 3.0: na_0038: Уровни в диаграммах Stateflow в документации Simulink.
ID проверки: mathworks.maab.na_0039
Проверки на диаграммы Stateflow, которые вкладываются в функциях Simulink, используемых в корневой диаграмме Stateflow.
Проверки Simulink функционирует в корневой диаграмме Stateflow и идентифицирует диаграммы Stateflow, которые вкладываются в этих функциях.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Функция Simulink имеет вложенную диаграмму Stateflow. | Рассмотрите изменение вашей корневой диаграммы Stateflow, таким образом, функция Simulink не содержит вложенную диаграмму Stateflow. |
Не проверяет состояния Stateflow.
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Позволяет подсветку синтаксиса.
Инструкция MAAB, Версия 3.0: na_0039: Использование Simulink в диаграммах Stateflow в документации Simulink.
ID проверки: mathworks.maab.na_0040
Проверяет количество просматриваемых состояний в контейнере Stateflow.
Проверяет количество просматриваемых состояний в контейнере Stateflow и идентифицирует контейнеры, которые превышают заданный порог. Состояние рассматривается видимым, если это не в рамках атомарного подграфика, функции или подграфика.
Инструкция na_0040 MAAB рекомендует шесть 10 состояниям на контейнер.
Доступный с Simulink Check.
Чтобы задать порог для количества просматриваемых состояний в контейнере Stateflow, используйте Model Advisor Configuration Editor.
Откройте Редактора конфигурации Модели и перейдите к Check number of Stateflow states per container.
В панели Input Parameters введите порог для количества просматриваемых состояний на контейнер. Значением по умолчанию является 10
.
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Количество просматриваемых состояний в контейнере Stateflow превышает заданный порог. | Рассмотрите состояния Stateflow инкапсуляции в подграфиках, таким образом, количество состояний на контейнер не превышает порог. |
Атомарные подграфики рассмотрены как состояния и включены в проверку.
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Позволяет подсветку синтаксиса.
Инструкция MAAB, Версия 3.0: na_0040: Количество состояний на контейнер в документации Simulink.
ID проверки: mathworks.maab.jc_0451
Идентифицируйте унарный минус операции, применился к беззнаковому целому в объектах Stateflow.
Не выполняйте унарный минус операции на беззнаковом целом в объектах Stateflow.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Унарный минус операции применяются к беззнаковому целому в объектах Stateflow. | Измените заданные объекты удалить зависимость от унарного минус операции. |
Model Advisor не мог определить типы данных в выражениях с унарным минус операции. | Чтобы позволить Model Advisor определять типы данных, рассмотрите явным образом преобразование типа заданных выражений. |
Не работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0451: Использование унарных минус на беззнаковом целом в Stateflow в документации Simulink.
Инструкция JMAAB, Версия 5.1: jc_0451: Использование унарных минус на беззнаковом целом
ID проверки: mathworks.maab.jc_0481
Идентифицируйте равный операциям (==
) в выражениях, где по крайней мере одна сторона выражения является переменным с плавающей точкой или постоянным.
Не используйте равный операциям с типами данных с плавающей точкой. Можно использовать равный операциям с целочисленными типами данных.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Выражения используют равный операциям (== ) где по крайней мере одна сторона выражения является переменным с плавающей точкой или постоянным. | Измените заданные выражения, чтобы избежать равный операциям между выражениями с плавающей точкой. Если равное операции требуется, предел погрешности должен задаваться и использоваться в операции. |
Model Advisor не мог определить типы данных в выражениях с операциями равенства. | Чтобы позволить Model Advisor определять типы данных, рассмотрите явным образом преобразование типа заданных выражений. |
Не работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0481: Использование твердых сравнений равенства для чисел с плавающей точкой в Stateflow в документации Simulink.
ID проверки: mathworks.maab.na_0034
Идентифицируйте функции MATLAB, которые имеют входные параметры, выходные параметры или параметры с наследованной сложностью или свойствами типа данных.
Проверка идентифицирует функции MATLAB с наследованной сложностью или свойствами типа данных. Таблица результатов обеспечивает ссылки на функции MATLAB, которые не передают проверку, наряду с условиями, инициировавшими предупреждение.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Функции MATLAB имеют наследуемые интерфейсы. | Явным образом задайте сложность и свойства типа данных для импорта, выходных портов и параметров функции MATLAB, идентифицированной в результатах. Если применимо, с помощью Редактора блока MATLAB function (Simulink), сделайте следующие модификации в Портах и Менеджере данных (Simulink):
|
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: na_0034: настройки ввода/вывода блока MATLAB function в документации Simulink.
Инструкция JMAAB, Версия 5.1: na_0034: настройки ввода/вывода блока MATLAB function
ID проверки: mathworks.maab.himl_0003
Отобразите сложность и метрики кода для функций MATLAB. Сообщите о метрических нарушениях.
Эта проверка обеспечивает сложность и метрики кода для функций MATLAB. Проверка дополнительно сообщает о метрических нарушениях.
Таблица результатов обеспечивает ссылки на функции MATLAB, которые нарушают входные параметры сложности.
Доступный с Simulink Check.
Обеспечьте максимальные эффективные строки кода на функцию. Эффективные линии не включают пустые линии, строки с комментариями или линии с функциональным end
ключевое слово.
Обеспечьте минимальную плотность комментариев. Плотность является отношением строк с комментариями к общим строкам кода.
Обеспечьте максимальную цикломатическую сложность на функцию. Цикломатическая сложность является количеством линейно независимых контуров через исходный код.
Условие | Рекомендуемое действие |
---|---|
Функция MATLAB нарушает входные параметры сложности. | Для функции MATLAB:
|
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: na_0016: Исходные линии функций MATLAB в документации Simulink.
Инструкция MAAB, Версия 3.0: na_0018: Количество вложенных, если/еще и оператор выбора в документации Simulink.
ID проверки: mathworks.maab.db_0123
Проверяйте на несоответствия между портами Stateflow, и сопоставил имена сигнала.
Имя ввода и вывода Stateflow должно совпасть с соответствующим сигналом. Проверка не отмечает:
Назовите несоответствия для допускающих повторное использование диаграмм Stateflow в библиотеках.
Порты Stateflow, если соответствующий сигнал не имеет метки.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Сигналы имеют имена, которые отличаются от соответствующих портов Stateflow. | Поменяйте имена или сигналов или портов Stateflow. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков. Исключения не будут работать на соединенные графики библиотеки.
Инструкция MAAB, Версия 3.0: db_0123: порт Stateflow называет в документации Simulink.
ID проверки: mathworks.maab.na_0011
Проверяйте осциллограф блоков Goto и From.
Можно использовать глобальную область видимости в управлении потоком. Однако From и блоки Goto должны использовать локальный осциллограф в потоках сигналов.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
From и блоки Goto не сконфигурированы с локальным осциллографом. |
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: na_0011: Осциллограф Goto и От блоков в документации Simulink.
ID проверки: mathworks.maab.na_0017
Проверки, меньше ли количество вызовов функции в блоках MATLAB function порога набора. По умолчанию предел устанавливается к три.
Условие | Рекомендуемое действие |
---|---|
Количество вызовов функции в блоках MATLAB function больше порога набора. по умолчанию порог набора равняется трем. Порог набора может быть изменен при помощи входного параметра Function Call Level в редакторе конфигурации. | Сократите количество вызовов функции от блоков MATLAB function, чтобы быть меньше порога набора. |
Вызовы рекурсивной функции только считаются однажды.
Встроенные методы класса не анализируются.
Работает на моделях библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Анализирует содержимое соединенных блоков библиотеки.
Инструкция MAAB, Версия 3.0: na_0017: Количество названных функциональных уровней в документации Simulink.
ID проверки: mathworks.maab.jc_0171
Проверяет поток сигналов при использовании Goto и От блоков.
Эта проверка идентифицирует подсистемы, соединенные друг с другом, который использует Goto и блоки From в feedforward и обратной связи, которая не имеет по крайней мере одной сигнальной линии для каждого направления.
Условие | Рекомендуемое действие |
---|---|
Подсистемы, соединенные друг с другом использующим Goto и блоки From в feedforward и обратной связи, не имеют по крайней мере одной сигнальной линии для каждого направления. | Убедитесь, что добавили по крайней мере одну прямую сигнальную линию, промежуточную связанные подсистемы. |
Проверка позволяет связи, установленные от подсистем, на которые ссылаются, с в другой подсистеме.
Работает на моделях библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Анализирует содержимое соединенных блоков библиотеки.
Инструкция MAAB, Версия 3.0: jc_0171: Поддержание потока сигналов при использовании Goto и От блоков
ID проверки: mathworks.maab.jc_0491
Проверки, если заданные переменные имеют многозначности. Та же переменная не должна иметь нескольких использований в одном состоянии Stateflow.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Переменные с тем же именем используются в одной подсистеме. | Убедитесь, что все заданные переменные уникальны включая временные контрольные переменные цикла. |
Работает на моделях библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Анализирует содержимое соединенных блоков библиотеки.
Эта проверка не работает:
Блок MATLAB function
Таблицы истинности
Графические функции
Если/переключатель на языке действия в состояниях Stateflow.
Инструкция MAAB, Версия 3.0: jc_0491: Повторное использование переменных в одном осциллографе Stateflow
ID проверки: mathworks.maab.db_0129
Проверки и отчеты переходы Stateflow, которые визуально перекрывают другие объекты Stateflow.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Переходы Stateflow накладываются с другими переходами Stateflow. | Постарайтесь не иметь перекрытие переходов Stateflow с другими переходами Stateflow. |
Переходы Stateflow накладываются с метками других переходов Stateflow. | Постарайтесь не иметь перекрытие переходов Stateflow с метками других переходов Stateflow. |
Переходы Stateflow накладываются с соединениями. | Постарайтесь не иметь перекрытие переходов Stateflow с соединениями. |
Переходы Stateflow накладываются с состояниями. | Постарайтесь не иметь перекрытие переходов Stateflow с состояниями. |
Переходы Stateflow накладываются с полями. | Постарайтесь не иметь перекрытие переходов Stateflow с полями. |
Переходы Stateflow накладываются с функциями Simulink. | Постарайтесь не иметь перекрытие переходов Stateflow с функциями Simulink. |
Переходы Stateflow накладываются с функциями MATLAB. | Постарайтесь не иметь перекрытие переходов Stateflow с функциями MATLAB. |
Переходы Stateflow накладываются с аннотациями. | Постарайтесь не иметь перекрытие переходов Stateflow с аннотациями. |
Переходы Stateflow накладываются с таблицами истинности. | Постарайтесь не иметь перекрытие переходов Stateflow с таблицами истинности. |
Метки переходов Stateflow визуально не сопоставлены к соответствующему переходу. | Метки перехода должны быть визуально сопоставлены к соответствующему переходу. |
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не отмечает линии перехода, которые не проведены вертикально или горизонтально. (ID Sub: d
Проверка не отмечает ненужные соединительные соединения. (ID Sub: e
Эта проверка не сообщает о переходах Stateflow, которые накладываются с текстом в состоянии, которое переполняет метки состояния.
Работает на моделях библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Анализирует содержимое соединенных блоков библиотеки.
Инструкция MAAB, Версия 3.0: db_0129: внешний вид перехода Stateflow
ID проверки: mathworks.maab.na_0031
Идентифицирует классы перечисления, используемые в модели без спецификации значения по умолчанию.
Условие | Рекомендуемое действие |
---|---|
Классы перечисления в модели не имеют спецификации значения по умолчанию. | Убедитесь, что классы перечисления, используемые в модели, имеют getDefaultValue реализацию метода как статический метод класса. |
Работает на моделях библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Анализирует содержимое соединенных блоков библиотеки.
Инструкция MAAB, Версия 3.0: na_0031: Определение перечисляемого значения по умолчанию
ID проверки: mathworks.maab.db_0032
Проверки, если Сигналы Simulink, которые пересекаются и накладываются, придерживаются рекомендуемых инструкций.
Условие | Рекомендуемое действие |
---|---|
Сигналы Simulink пересекают друг друга. | Убедитесь, что сигналы не пересекаются друг с другом. |
Сигналы Simulink не чертятся с прямыми углами. | Убедитесь, что сигналы чертятся с прямыми углами в модели. |
Сигналы Simulink перекрывают друг друга. | Убедитесь, что сигналы не накладываются друг с другом. |
Сигналы Simulink чертятся по блоку Simulink. | Убедитесь, что сигналы не чертятся ни по каким блокам Simulink. |
Инструкция JMAAB, ограничения Версии 5.1:
Проверка не проверяет Линию, пересекающую установку свойства стиля. (ID Sub: a2)
Проверка не отмечает линии, которые разделяют больше чем в две линии в одной точке условного перехода. (ID Sub: d
Настройка транзитного участка сигнала не рассматривается.
Блокируйтесь перекрытия метки не анализируются.
Сигналы Simulink, которые разделяют больше чем в два сигнала при одной ветви, не рассматриваются.
Работает на моделях библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения подсистем.
Анализирует содержимое соединенных блоков библиотеки.
Инструкция MAAB, Версия 3.0: db_0032: внешний вид Сигнала Simulink
ID проверки: mathworks.maab.na_0027
Идентифицирует блоки, которые не перечислены в совместимом черном списке для модели.
Условие | Рекомендуемое действие |
---|---|
Один или несколько блоков Simulink, которые не перечислены в совместимом черном списке, используются в модели. | Выберите блоки Simulink из совместимого черного списка в диалоговом окне параметров конфигурации. |
Работает на моделях библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Анализирует содержимое соединенных блоков библиотеки.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.
Инструкция MAAB, Версия 3.0: na_0027: Использование только стандартных библиотечных блоков в документации Simulink.
Блоки и продукты, поддержанные для генерации кода (Simulink Coder)