MathWorks Automotive Advisory Board Checks

MathWorks Automotive Advisory Board Checks

Консультативный совет MathWorks® Automotive (MAAB) и проверки упрощают разработку и поиск и устранение неисправностей моделей, из которых код сгенерирован для автомобильных приложений.

Model Advisor выполняет контроль лицензии Simulink® Check™, когда вы осуществляете проверки MAAB.

Смотрите также

Проверяйте форматирование шрифта

ID проверки: mathworks.maab.db_0043

Проверяйте на различие в размерах шрифта и размерах шрифта.

Описание

За исключением свободных текстовых аннотаций в модели, текстовых элементах, таких как имена блока, аннотации блока и метки сигнала, должны иметь тот же стиль шрифта и размер шрифта. Выберите стиль шрифта и размер шрифта, который является четким и портативным (конвертируемый между платформами), такими как Arial или Times New Roman 12 точек. Чтобы задать правила шрифта для сеанса Simulink, из редактора Simulink выбирают Diagram> Format> Font Styles for Model.

Доступный с Simulink Check.

Введите параметры

Font Name

Примените заданный шрифт ко всем текстовым элементам. Когда вы задаете Common (значение по умолчанию), проверка идентифицирует различные шрифты, используемые в вашей модели. Несмотря на то, что можно задать другие шрифты, шрифтами, доступными из выпадающего списка, является Arial, Courier New, Georgia, Times New Roman, Arial Black, и Verdana.

Font Size

Примените заданный размер шрифта ко всем текстовым элементам. Когда вы задаете Common (значение по умолчанию), проверка идентифицирует различные размеры шрифта, используемые в вашей модели. Несмотря на то, что можно задать другие размеры шрифта, размерами шрифта, доступными из выпадающего списка, является 6, 8, 9, 10, 12, 14, 16.

Font Style

Примените заданный стиль шрифта ко всем текстовым элементам. Когда вы задаете 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 изменяет размеры шрифта и размеры шрифта всех текстовых элементов в модели к обычно используемым шрифтам, размеры шрифта или стили шрифта.

Смотрите также

Проверяйте ориентации перехода в блок-схемы

ID проверки: mathworks.maab.db_0132

Проверяйте ориентации перехода в блок-схемы.

Описание

Следующие правила применяются к переходам в блок-схемах:

  • Чертите условия перехода горизонтально.

  • Чертите переходы с действием условия вертикально.

  • Соединения в блок-схемах должны иметь выходной переход по умолчанию.

  • Переходы в блок-схемах не должны комбинировать условие и действие.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow®.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель включает переход с условием, которое не чертится горизонтально или действие перехода, которое не чертится вертикально.Измените модель.
Соединение не имеет выходного перехода по умолчаниюДобавьте выходной переход по умолчанию к соединению.
Переход имеет условие и действиеРазделите условие и действие в отдельные переходы

Возможности и ограничения

  • Инструкция MAAB, ограничение Версии 3.0: Несмотря на то, что db_0132: Переходы в блок-схемах имеют цикл for исключения построения, проверка действительно отмечает блок-схемы, содержащие построения цикла, если переход нарушает правило ориентации.

  • Инструкция JMAAB, ограничение Версии 5.1: проверка только отмечает блок-схемы, содержащие построения цикла, если переход нарушает правило ориентации.

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также

Проверяйте на атрибуты блока не по умолчанию

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/blocktype' как путь исходного блока для Simulink встроенные блоки, некоторые значения параметров по умолчанию некоторых блоков отличаются от значений по умолчанию, которые вы получаете, если вы добавили те блоки в интерактивном режиме при помощи 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 по крайней мере с двумя входными сигналами и проверьте, что входные сигналы имеют тот же шаг расчета. Считайте создание количества входного сигнала и входных портов тем же самым.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте метки сигнальной линии

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, не помечены.Пометьте сигнал.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте на распространенные метки сигнала

ID проверки: mathworks.maab.na_0009

Проверяйте на распространенные метки на сигнальных линиях.

Описание

Необходимо распространить метку сигнала из ее источника, а не ввести метку сигнала явным образом (вручную), если сигнал происходит из:

  • Блок Inport во вложенной подсистеме. Однако, если вложенная подсистема является подсистемой библиотеки, можно явным образом пометить сигнал, прибывающий из блока Inport, чтобы разместить повторное использование библиотечного блока.

  • Базисный блок, который выполняет неподдающуюся трансформации операцию.

  • Блок Subsystem или Stateflow Chart. Однако, если связь происходит из выхода экземпляра библиотечного блока, можно явным образом пометить сигнал разместить повторное использование библиотечного блока.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель включает метки сигнала, которые вводились явным образом, но должны быть распространены. Используйте открытую угловую скобку (<) символ, чтобы отметить метки сигнала, которые должны быть распространены и удалить метки, которые вводились явным образом.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте размещение перехода по умолчанию в диаграммы Stateflow

ID проверки: mathworks.maab.jc_0531

Проверяйте размещение перехода по умолчанию в диаграммы Stateflow.

Описание

В диаграмме Stateflow необходимо соединить переход по умолчанию наверху состояния и поместить целевое состояние перехода по умолчанию выше других состояний в иерархии. Должен быть только один переход по умолчанию.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Переход по умолчанию для диаграммы Stateflow не соединяется наверху состояния.Переместите переход по умолчанию к верхней части диаграммы Stateflow.
Целевое состояние перехода значения по умолчанию диаграммы Stateflow ниже, чем другие состояния в той же иерархии.Отрегулируйте положение целевого состояния перехода по умолчанию так, чтобы состояние было выше других состояний в той же иерархии.

Возможности и ограничения

  • Инструкция JMAAB, ограничения Версии 5.1:

    • Проверка не обнаруживает переходы по умолчанию, которые превышают государственную границу.

    • Проверка не обнаруживает недостающие безусловные переходы по умолчанию.

    • Проверка не обнаруживает горизонтальное размещение (оставленная должность) перехода по умолчанию.

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте присвоения возвращаемого значения в графические функции Stateflow

ID проверки: mathworks.maab.jc_0511

Идентифицируйте графические функции с несколькими присвоениями возвращаемых значений в диаграммах Stateflow.

Описание

Возвращаемое значение от графической функции Stateflow должно быть установлено только в одном месте.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Возвращаемое значение от графической функции Stateflow присвоено в нескольких местах.Измените заданную графическую функцию так, чтобы ее возвращаемое значение было установлено в одном месте.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте форматирование записи в блоки состояния в диаграммах 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.

Проверяйте использование возвращаемых значений от графических функций Stateflow

ID проверки: mathworks.maab.jc_0521

Идентифицируйте вызовы графических функций в условных выражениях.

Описание

Не используйте возвращаемое значение графической функции в операции сравнения.

Доступный с Simulink Check.

Эта проверка требует лицензии 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

Проверяйте на широковещательные сообщения события в диаграммах Stateflow

ID проверки: mathworks.maab.jm_0012

Идентифицируйте неориентированные широковещательные сообщения события, которые могут вызвать рекурсию в процессе моделирования и сгенерировать неэффективный код.

Описание

Широковещательные сообщения события в диаграммах Stateflow должны быть направлены.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Широковещательные сообщения события являются неориентированными.Повторно спроектируйте схему, чтобы использовать направленную широковещательную передачу события. Используйте отправить синтаксис или квалифицированные имена события, чтобы направить событие к конкретному состоянию. Используйте несколько операторов SEND, чтобы направить событие больше чем к одному состоянию.

Возможности и ограничения

  • Инструкция JMAAB, ограничение Версии 5.1: проверка не может быть сконфигурирована, чтобы отметить событие, используемое кроме диаграммы Stateflow выход. (ID Sub: a1)

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте действия перехода в диаграммы Stateflow

ID проверки: mathworks.maab.db_0151

Идентифицируйте недостающие разрывы строки между действиями перехода.

Описание

Для удобочитаемости запустите каждое действие перехода с новой строкой.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Несколько действий перехода находятся на одной строке.Проверьте, что каждое действие перехода начинается на новой строке.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также

Проверяйте на выражения MATLAB в диаграммах Stateflow

ID проверки: mathworks.maab.db_0127

Идентифицируйте, что Stateflow возражает, что используют выражения MATLAB®, которые не подходят для генерации кода.

Описание

Не используйте функции MATLAB, инструкции и операторы в объектах Stateflow.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Объекты Stateflow используют выражения MATLAB.Замените выражения MATLAB в объектах Stateflow.

Возможности и ограничения

  • Применяется только к диаграммам Stateflow, которые используют C в качестве языка действия.

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также

Проверяйте на индексацию в блоках

ID проверки: mathworks.maab.db_0112

Проверяйте, что блоки используют сопоставимую векторную индексацию.

Описание

Проверяйте, что блоки используют сопоставимую векторную индексацию. Когда возможно, используйте основанную на нуле индексацию, чтобы повысить эффективность кода.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Проверка проверяет сопоставимую индексацию для следующих объектов:

ОбъектИндексация
  • Блок Assignment

  • Для блока Iterator

  • Блок Find

  • Многопортовый блок switch

  • Селекторный блок

  • Основанная на нуле индексация ([0, 1, 2...])

  • Индексация на основе одна ([1, 2, 3...])

  • Диаграммы Stateflow с языком действия C

Основанная на нуле индексация ([0, 1, 2...])
  • Блок MATLAB function

  • Блок Fcn

  • Системные блоки MATLAB

  • Таблицы истинности

  • Таблицы переходов состояний

  • Диаграммы Stateflow с языком действия MATLAB

  • Функции MATLAB в диаграммах Stateflow

Индексация на основе одна ([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.

  1. Откройте Редактора конфигурации Модели и перейдите к Check for prohibited blocks in discrete controllers.

  2. В панели 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 можно добавить или удалить блоки.

  3. Нажмите Apply.

  4. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует заданные входные параметры.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Непрерывные блоки — Derivative, Integrator, State-Space, Transfer Fcn, Transfer Delay, Variable Time Delay, Variable Transport Delay и Zero-Pole — не разрешены в моделях, представляющих дискретные контроллеры.Замените непрерывные блоки на эквивалентные блоки, дискретизированные в s-области. Пользуйтесь библиотекой Discretizing, как описано в Дискретизируют Блоки из Модели Simulink (Simulink).

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также

Проверяйте на запрещенные блоки приемника

ID проверки: mathworks.maab.hd_0001

Проверяйте на запрещенные блоки приемника Simulink.

Описание

Необходимо спроектировать модели контроллеров от дискретных блоков. Снизьте блоки, такие как блок Scope, не позволены в моделях контроллеров.

Доступный с Simulink Check.

Введите параметры

Чтобы изменить список блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к Check for prohibited sink blocks.

  2. В панели 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 можно добавить или удалить блоки.

  3. Нажмите Apply.

  4. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует заданные входные параметры.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Снизьтесь блоки не разрешены в дискретных контроллерах. Удалите блоки приемника из модели.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также

Проверяйте расположение и настройку портов

ID проверки: mathworks.maab.db_0042

Проверяйте, содержит ли модель порты с недопустимым положением и настройкой.

Описание

В моделях порты должны выполнить следующие правила:

  • Поместите блоки Inport на левой стороне схемы. Приемлемо переместить блок Inport направо только, чтобы предотвратить пересечения сигнала.

  • Поместите блоки Outport в правую сторону схемы. Приемлемо переместить блок Outport налево только, чтобы предотвратить пересечения сигнала.

  • Избегайте использования дублирующихся блоков Inport на уровне подсистемы, если это возможно.

  • Не используйте дублирующиеся блоки Inport на корневом уровне.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блоки Inport слишком далеки направо и результат в лево-плавных сигналах. Переместите заданные блоки Inport налево.
Блоки Outport слишком далеки налево и результат в лево-плавных сигналах. Переместите заданные блоки Output направо.
Порты не имеют ориентации по умолчанию. Измените диаграмму модели, таким образом, что сигнальные линии для выходных портов вводят сторону блока, и сигнальные линии для входных портов выходят из правой стороны блока.
Порты являются дублирующимися блоками Inport.
  • Если дублирующиеся блоки Inport находятся в подсистеме, удаляют их, если это возможно.

  • Если дублирующиеся блоки Inport на корневом уровне, удаляют их.

Возможности и ограничения

  • Инструкция JMAAB, ограничения Версии 5.1:

    • Проверка не отмечает, когда Inports не размещаются на левой стороне схемы. (ID Sub: a

    • Проверка не отмечает, когда Выходные порты не помещаются в правую сторону схемы. (ID Sub: b

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Не анализирует пересечения сигнала

Смотрите также

Проверяйте на соответствующий порт и имена сигнала

ID проверки: mathworks.maab.jm_0010

Проверяйте на несоответствия между именами портов и соответствующих сигналов.

Описание

Используйте соответствие с именами в портах и их соответствующих сигналах.

Доступный с Simulink Check.

Предпосылка

Необходимые как условие инструкции MAAB, Версия 3.0, для этой проверки:

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Порты имеют имена, которые отличаются от их соответствующих сигналов. Поменяйте имя порта или имя сигнала, чтобы совпадать с именем для сигнала.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте, появляются ли имена блока ниже блоков

ID проверки: mathworks.maab.db_0142

Проверяйте, появляются ли имена блока ниже блоков.

Описание

Если показано, имя блока должно появиться ниже блока.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блоки имеют имена, которые не появляются ниже блоков. Определите имя блока, чтобы появиться ниже блоков.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также

Проверяйте на смешивание базисных блоков и подсистем

ID проверки: mathworks.maab.db_0143

Проверяйте на системы, которые смешивают примитивные блоки и подсистемы.

Описание

Необходимо спроектировать каждый уровень модели с базовыми блоками того же типа, например, только подсистемы или только примитивные (основные) блоки. Если вы маскируете свою подсистему и устанавливаете MaskType на непустую строку, Model Advisor обрабатывает подсистему как базисный блок.

Доступный с Simulink Check.

Введите параметры

Чтобы изменить список блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к Check for mixing basic blocks and subsystems.

  2. В панели 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 можно добавить или удалить блоки.

  3. Нажмите Apply.

  4. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует заданные входные параметры.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Уровень в модели включает блоки подсистемы и примитивные блоки.

Переместите невиртуальные блоки в подсистему.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на неподключенные порты и сигнальные линии

ID проверки: mathworks.maab.db_0081

Проверяйте, имеет ли модель несвязанные входные порты, выходные порты или сигнальные линии.

Описание

Несвязанные входные параметры должны быть соединены, чтобы основать блоки. Несвязанные выходные параметры должны быть соединены с блоками терминатора строки.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блоки имеют несвязанные вводы или выводы. Соедините несвязанные линии с блоками, заданными проектом или Основываться или блоки Терминатора.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Контрольный разряд Триггера и Включает блоки

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 однородно расположены.

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Не анализирует содержимое в подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование настраиваемых параметров в блоках

ID проверки: mathworks.maab.db_0110

Проверяйте, задают ли настраиваемые параметры выражения, преобразования типа данных или операции индексации.

Описание

Чтобы сделать параметр настраиваемым, необходимо ввести базисный блок без использования вычислений MATLAB или сценариев. Например, не используйте:

  • Выражения

  • Преобразования типа данных

  • Выборы строк или столбцов

Поддерживаемые блоки включают:

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блоки имеют настраиваемый параметр, который задает выражение, преобразование типа данных или операцию индексации. В каждом случае переместите вычисление за пределами блока, например, путем выполнения вычисления с серией блоков Simulink, или предварительно вычислите значение как новую переменную.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Не оценивает параметры маски.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте объекты данных Stateflow с локальным осциллографом

ID проверки: mathworks.maab.db_0125

Проверяйте, заданы ли объекты данных Stateflow с локальным осциллографом на уровне графика или ниже.

Описание

Эта проверка отмечает данные Stateflow, локальный осциллограф которых не задан на уровне Графика или ниже, независимо от того, используются ли данные или нет.

Необходимо задать локальные данные блока Stateflow на уровне графика или ниже в иерархии объектов. Вы не можете задать локальные переменные на уровне машины; однако, параметры и константы позволены на уровне машины.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Локальные данные не заданы в иерархии Stateflow на уровне графика или ниже. Задайте локальные данные на уровне графика или ниже.

Возможности и ограничения

  • Инструкция JMAAB, ограничения Версии 5.1:

    • Проверка не делает флага Constant локальные данные, заданные на уровне машины. (ID Sub: b

    • Проверка не отмечает дублирующееся определение данных и использование в связи между родительскими объектами и их потомками. (ID Sub: c

    • Проверка не делает флагового параметра локальные данные, заданные на уровне машины. (ID Sub: d

    • Проверка не обнаруживает, если локальные данные имеют то же имя в рамках графиков или состояний, которые имеют связи между родительскими объектами и их потомками.

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте на сильный ввод данных с вводом-выводом Simulink

ID проверки: mathworks.maab.db_0122

Проверяйте, пометил ли Stateflow, и сигналы ввода и вывода Simulink со строгим контролем типов.

Описание

Сильный ввод данных между Stateflow и сигналами ввода и вывода Simulink требуется.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диаграмма Stateflow не использует сильный ввод данных с Simulink. Установите флажок Use Strong Data Typing with Simulink I/O для заданного блока.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков и графиков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование исключительных и состояний по умолчанию в машине состояний

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.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте диагностические параметры модели

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.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте атрибуты дисплея имен блока

ID проверки: mathworks.maab.jc_0061

Проверяйте атрибуты дисплея подсистемы и имен блока.

Описание

Когда подсистема и имена блока предоставляют описательную информацию, отображают имена. Если функция блока известна от ее внешнего вида, не отображайте имя. Блоки с именами, которые очевидны из внешнего вида блока:

  • От

  • Goto

  • Земля

  • Логика

  • MinMax

  • ModelReference

  • MultiPortSwitch

  • Продукт

  • Оператор отношения

  • Насыщать

  • Переключатель

  • Терминатор

  • Тригонометрия

  • Unit Delay

  • Сумма

  • Сравните с постоянным

  • Сравните с нулем

Доступный с Simulink Check.

Введите Параметры.  Чтобы задать пользовательские блоки и маски, чтобы включать в эту проверку, используйте Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к Check the display attributes of block names. В панели Input Parameters выберите Custom.

  2. Используйте таблицу Block type list, чтобы включать или исключить блоки и маски от проверки.

  3. Нажмите Apply.

  4. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Имя отображено и очевидно из внешнего вида блока.

Скройте имя блока путем выбора Format > Hide Automatic Block Name.

Имя не является описательным. А именно, имя блока:

  • Не очевидный из внешнего вида блока.

  • Имя по умолчанию добавлено с целым числом.

Измените имя блока, чтобы предоставить описательную информацию или скрыть имя блока путем выбора Format > Hide Automatic Block Name.

Имя является описательным и не отображенное. Описательные имена:

  • Предусмотренный блоки, которые не очевидны из внешнего вида блока.

  • Не имя по умолчанию добавлено с целым числом.

Измените блоки, чтобы показать имя блока путем отмены выбора Format > Hide Automatic Block Name.
Проверка не оценивает мои пользовательские блоки и маски.Используйте Редактора конфигурации Модели, чтобы задать ваши собственные проверки и блоки.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте отображение на блокировки порта

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.

  1. Откройте Редактора конфигурации Модели и перейдите к 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)|(^ )|(^_)|(_$).

  2. Нажмите Apply.

  3. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Имена подсистемы не выполняют стандарт именования, заданный во входных параметрах.

Обновите имена подсистемы, чтобы выполнить ваши собственные инструкции или инструкции MAAB.

Возможности и ограничения

  • Инструкция JMAAB, ограничение Версии 5.1: проверка не отмечает конфликты с зарезервированными словами MATLAB. (ID Sub: f

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Советы

Используйте символы нижнего подчеркивания, чтобы разделить части имени подсистемы вместо пробелов.

Смотрите также

Проверяйте имена блокировки порта

ID проверки: mathworks.maab.jc_0211

Проверяйте, включают ли Inport и имена блока Outport недопустимые символы.

Описание

Имена всего Inport и блоков Outport проверяются на недопустимые символы.

Доступный с Simulink Check.

Введите параметры

Чтобы управлять соглашением о присвоении имен для блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к 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)|(^ )|(^_)|(_$).

  2. Нажмите Apply.

  3. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Имена блока не выполняют стандарт именования, заданный во входных параметрах.

Обновите имена блока, чтобы выполнить ваши собственные инструкции или инструкции MAAB.

Возможности и ограничения

  • Инструкция JMAAB, ограничение Версии 5.1: проверка не отмечает конфликты с зарезервированными словами MATLAB. (ID Sub: f

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Советы

Используйте символы нижнего подчеркивания, чтобы разделить части имени блока вместо пробелов.

Смотрите также

Использование контрольного символа в метках сигнала

ID проверки: mathworks.maab.jc_0221

Проверяйте, включают ли имена сигнальной линии недопустимые символы.

Описание

Имена всех сигнальных линий проверяются на недопустимые символы.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Имя сигнальной линии содержит запрещенные символы. Переименуйте сигнальную линию. Допустимые символы включают a–z, A–Z, 0–9, и подчеркивание (_).
Имя сигнальной линии запускается с номера. Переименуйте сигнальную линию.
Имя сигнальной линии запускается с подчеркивания (" _ "). Переименуйте сигнальную линию.
Имя сигнальной линии заканчивается подчеркиванием (" _ "). Переименуйте сигнальную линию.
Имя сигнальной линии имеет последовательные символы нижнего подчеркивания. Переименуйте сигнальную линию.
Имя сигнальной линии имеет пробелы. Переименуйте сигнальную линию.
Имя сигнальной линии имеет управляющие символы. Переименуйте сигнальную линию.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Не позволяет исключения блоков или графиков.

Советы

Используйте символы нижнего подчеркивания, чтобы разделить части имени сигнальной линии вместо пробелов.

Смотрите также

Проверяйте имена сигнала шины Simulink

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.

  1. Откройте Редактора конфигурации Модели и перейдите к 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)|(^ )|(^_)|(_$)

  2. Нажмите Apply.

  3. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Имена сигнала шины Simulink не выполняют стандарт именования, заданный во входных параметрах.Обновите имена сигнала шины Simulink, чтобы выполнить ваше собственное или инструкции MAAB.

Возможности и ограничения

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Позволяет подсветку синтаксиса.

Смотрите также

Использование контрольного символа в именах блока

ID проверки: mathworks.maab.jc_0231

Проверяйте, включают ли имена блока недопустимые символы.

Описание

Проверка сообщает о недопустимых символах во всех именах блока, кроме:

  • Inports и Outports

  • Размаскированные подсистемы

Инструкция MAAB, Версия 3.0, jc_0231: Применимые символы для имен блока не применяются к блокам подсистемы.

Доступный с Simulink Check.

Предпосылка

Необходимая как условие инструкция MAAB, Версия 3.0, для этой проверки являются jc_0201: Применимые символы для имен Подсистемы.

Введите параметры

Чтобы управлять соглашением о присвоении имен для блоков, которые отмечает проверка, можно использовать Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к 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)|(^ ).

  2. Нажмите Apply.

  3. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Имена блока не выполняют стандарт именования, заданный во входных параметрах.

Обновите имена блока, чтобы выполнить ваши собственные инструкции или инструкции MAAB.

Возможности и ограничения

  • Инструкция JMAAB, ограничения Версии 5.1:

    • Проверка не отмечает имена Базисного блока, кроме [Inport] и [Выходной порт], то использование символы нижнего подчеркивания вначале. (ID Sub: a

    • Проверка не отмечает имена Базисного блока, кроме [Inport] и [Выходной порт], то использование символы нижнего подчеркивания в конце. (ID Sub: b

    • Проверка не отмечает имена Базисного блока, кроме [Inport] и [Выходной порт], то использование последовательные символы нижнего подчеркивания. (ID Sub: c

    • Проверка не отмечает имена Базисного блока кроме [Inport] и [Выходной порт], который только состоит из одного зарезервированного слова MATLAB. (ID Sub: d

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Советы

Возвраты каретки позволены в именах блока.

Смотрите также

Проверяйте Триггер и Включите имена блока

ID проверки: mathworks.maab.jc_0281

Проверяйте имена порта блока Trigger и Enable.

Описание

Блокируйтесь имена порта должны совпадать с именем сигнала, инициировавшего подсистему. Проверка не делает имен блока флага Trigger или Enable, если связанный сигнал не имеет метки.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блок Trigger не совпадает с именем сигнала, с которым это соединяется. Совпадайте с именами блока Trigger к соединяющемуся сигналу.
Блок Enable не совпадает с именем сигнала, с которым это соединяется. Совпадайте с именами блока Enable к соединяющемуся сигналу.

Возможности и ограничения

  • Инструкция JMAAB, ограничение Версии 5.1: Эта проверка только отмечает Trigger и имена блоков Enable.

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на схемы Simulink с помощью нестандартных атрибутов дисплея

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 обновляет атрибуты дисплея, чтобы соответствовать инструкции.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте код MATLAB на глобальные переменные

ID проверки: mathworks.maab.na_0024

Проверяйте на глобальные переменные в коде MATLAB.

Описание

Проверяет, что глобальные переменные не используются ни в одном следующем:

  • Код MATLAB в блоках MATLAB function

  • Функции MATLAB заданы в диаграммах Stateflow

  • Названные функции MATLAB

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Глобальные переменные используются в одном или нескольких из следующего:

  • Код MATLAB в блоках MATLAB function

  • Функции MATLAB заданы в диаграммах Stateflow

  • Названные функции MATLAB

Замените глобальные переменные на сигнальные линии, аргументы функции или персистентные данные.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Не позволяет исключения блоков или графиков.

Смотрите также

  • Инструкция 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) устанавливается. Измените формат заданных блоков, чтобы показать имена согласно входному требованию.
Блоки показывают свое имя, и флажок 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.

Проверяйте ориентацию блоков Subsystem

ID проверки: mathworks.maab.jc_0111

Проверяйте ориентацию блоков подсистемы.

Описание

Входные параметры подсистемы должны быть расположены на левой стороне блока, и выходные параметры должны быть расположены на правой стороне блока.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блоки Subsystem не используют правильную ориентациюВращайте подсистему так, чтобы входные параметры были на левой стороне блока, и выходные параметры находятся на правой стороне блока.

Возможности и ограничения

  • Инструкция JMAAB, ограничение Версии 5.1: проверка не отмечает вращение подсистем.

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также

Проверяйте использование блоков Оператора отношения

ID проверки: mathworks.maab.jc_0131

Проверяйте положение блоков Constant, используемых в блоках Relational Operator.

Описание

Когда оператор отношения используется, чтобы сравнить сигнал с постоянным значением, постоянный вход должен быть вторым, более низким входом.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блоки Relational Operator имеют блок Constant на первом, верхнем входе. Переместите блок Constant во второй, более низкий вход.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование блоков switch

ID проверки: mathworks.maab.jc_0141

Проверяйте использование блоков switch.

Описание

Проверяет, что вход управления блоком switch (второй вход) является булевым значением и что блок сконфигурирован, чтобы передать первый вход, когда вход управления является ненулевым.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Вход управления блоком switch (второй вход) не является булевым значением.Измените тип данных входа управления к булевской переменной.
Блок switch не сконфигурирован, чтобы передать первый вход, когда вход управления является ненулевым. Установите параметры блоков Criteria for passing first input на u2 ~ =0.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой. Однако разовая редактированием проверка эту проверку не проверяет, что тип данных управления ввел, булево значение.

Смотрите также

Проверяйте использование блоков Мультиплексора и шин

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: Группировка потоков данных в сигналы.

Смотрите также

Проверяйте на битовые операции в диаграммах Stateflow

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 очистили побитовые операторы использования (&, |, и ^).

Чтобы устранить эту проблему, сделайте любое из следующего:

  • Измените выражения, чтобы заменить побитовые операторы.

  • Не используя булевы типы данных, рассмотрите битовые операции включения. В диалоговом окне Свойств диаграммы выберите Enable C-bit operations.

Возможности и ограничения

  • Инструкция JMAAB, ограничения Версии 5.1:

    • Проверка не отмечает когда операторы кроме"!" используются в логическом отрицании. (ID Sub: a

    • Проверка не может быть сконфигурирована, чтобы выбрать между "~ =", "! = ", и" <>" для операций неравенства. (ID Sub: b1, b2, b3)

    • Проверка не обнаруживает, когда "^" и "~" побитовые операторы используются в Логических операциях. (ID Sub: c

  • Применяется только к графикам, которые используют C в качестве языка действия.

  • Не работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте основные логические и числовые операции

ID проверки: mathworks.maab.na_0002

Типы данных проверок в числовых и логических блоках.

Описание

Проверяет типы данных на логические и числовые блоки и идентифицирует, когда тип данных делает не подходит для операции.

Тип данных для логических блоков должен быть булевской переменной. Логические блоки включают:

Тип данных для числовых блоков должен быть небулевской переменной. Числовые блоки включают:

Примечание

Эти блоки также принимают числовой вход, но не включены как часть этой проверки:

Доступный с Simulink Check.

Введите параметры

Чтобы задать пользовательские блоки и маски, чтобы включать в эту проверку, используйте Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к Check fundamental logical and numerical operations. В панели Input Parameters выберите Custom.

  2. Используйте таблицы Blocks for Numerical Operations и Blocks for Logical Operations, чтобы включать или исключить блоки и маски от проверки.

  3. Нажмите Apply.

  4. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Тип данных для числового блока является булевской переменной.Рассмотрите изменение типа данных к небулевской переменной.
Тип данных для логического блока не является булевской переменной.Рассмотрите изменение типа данных к булевской переменной.
Проверка не оценивает мои пользовательские блоки и маски.Введите свои пользовательские блоки и маски с помощью входных параметров в Редакторе конфигурации Модели.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Регистрируйте логические выражения Если блоки

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

Слишком много первичных выражений.

u1 & (u2 | u3)

Недопустимый оператор в первичном выражении.

(u1 > 0) & (u1 < 20) & (u2 > 5)

Слишком много первичных выражений, которые не являются входными параметрами.

(u1 > 0) & ((2* u2) > 6)

Недопустимый оператор в первичном выражении.

Исключение

Логическое выражение может содержать больше чем два первичных выражения, когда оба этих условия соблюдают:

  • Первичные выражения являются всеми входными параметрами.

  • Только один тип логического оператора присутствует.

Примеры приемлемых исключений включают:

  • u1 | u2 | u3 | u4 | u5

  • u1 & u2 & u3 & u4

Простой, "если" выражения

В литеральной интерпретации инструкции na_0003, выражении u1 < u2 нарушение. Однако выражение следует обычно используемый "Если" шаблон выражения (<Первичное выражение> <Оператор> <Первичное выражение>). Так, когда логические операторы не используются, и только один оператор отношения присутствует, выражение удовлетворяет инструкции na_0003 и u1 <u2 не нарушение.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Логическое выражение содержит больше чем два первичных выражения, которые состоят из постоянного, постоянного параметра и вводят.

Рассмотрите одно из следующего:

  • Сделайте первичные выражения входом и также:

    • Используйте заключенные в скобки выражения с одним типом оператора отношения

    • Создайте простое "Если" специальный шаблон использования
      <Первичное выражение> <логический оператор> <первичное выражение>

  • Сократите количество первичных выражений к два или меньше.

  • Создайте логическое выражение с помощью логических блоков кроме блока If.

Логическое выражение содержит больше чем два заключенных в скобки выражения, которые используют несколько операторов отношения

Рассмотрите одно из следующего:

  • Используйте только один тип оператора отношения. Приемлемые логические операторы включают <, >, >=, <=, ==, ~=, |, &, и ~. Первичное выражение должно состоять из входных параметров только.

  • Сократите количество заключенных в скобки выражений к два или меньше.

  • Создайте логическое выражение с помощью логических блоков кроме блока If.

Заключенное в скобки выражение включает оператор отношения кроме нуля или <, >, >=, <=, ==, ~=, |, &, или ~.

Рассмотрите одно из следующего:

  • Используйте оператор отношения <, >, >=, <=, ==, ~=, |, &, или ~ в рамках заключенного в скобки выражения.

  • Создайте логическое выражение с помощью логических блоков кроме блока If.

Возможности и ограничения

  • Не отмечает логические выражения, которые используют только один из этих относительных операторов <, >, >=, <=, ==, ~=, |, &, и ~

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

Смотрите также

Проверяйте на операции сравнения в диаграммах Stateflow

ID проверки: mathworks.maab.na_0013

Идентифицируйте операции сравнения с различными типами данных в объектах Stateflow.

Описание

Сравнения должны быть сделаны между переменными совпадающих типов данных.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Операции сравнения с различными типами данных были найдены.Пересмотрите заданные операции, чтобы избежать операций сравнения с различными типами данных.
Model Advisor не мог определить типы данных в выражениях с операциями сравнения.Чтобы позволить Model Advisor определять типы данных, рассмотрите явным образом преобразование типа заданных выражений.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование ограниченных имен переменных

ID проверки: mathworks.maab.na_0019

Проверяйте на использование зарезервированных слов на имена основной переменной MATLAB Function.

Описание

Идентифицирует имена переменных в блоках MATLAB Function, которые конфликтуют с зарезервированным C и ключевыми словами C++. Для полного списка зарезервированных слов смотрите Зарезервированные слова (Simulink Coder).

Избегайте использования имен переменных, которые конфликтуют с функциями MATLAB, таким as conv.

Эта проверка является нечувствительной к регистру. Например, проверка отмечает ключевые слова trueTRUETRUE, и tRue.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Имя переменной конфликтует с зарезервированным словом.Рассмотрите использование различного имени переменной, которое не конфликтует с зарезервированными словами.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

Смотрите также

Проверяйте неиспользуемые порты в Различные Подсистемы

ID проверки: mathworks.maab.na_0020

Подсистемы варианта проверок для неиспользуемых портов.

Описание

Подсистемы варианта проверок для неиспользуемых портов и обеспечивают действие, чтобы отключить неиспользованные входные параметры с блоком Terminator.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Различная подсистема имеет неиспользуемые порты Рассмотрите соединение неиспользуемых портов с блоками Terminator.

Проверяйте, что действие соединяет неиспользуемые порты с блоками Terminator.

Доступный с Simulink Check.

Возможности и ограничения

  • Инструкция JMAAB, ограничения Версии 5.1:

    • Проверка не отмечает, когда количество входных параметров к зависимой подсистеме отличается. (ID Sub: a

    • Проверка не отмечает, когда количество входных параметров к зависимой модели отличается. (ID Sub: b

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Позволяет подсветку синтаксиса.

Смотрите также

Проверяйте использование вектора символов в блоке MATLAB function

ID проверки: mathworks.maab.na_0021

Проверяйте на использование векторов символов в блоках MATLAB Function.

Описание

Идентифицирует векторы символов, которые используются в блоках MATLAB Function.

Функции MATLAB хранят строки как символьные массивы. Из-за отсутствия динамического выделения памяти, массивы не могут быть изменены, чтобы разместить значение строки различной длины. Строки не являются поддерживаемым типом данных в Simulink, таким образом, блоки MATLAB Function не могут передать данные о строке вне блока.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блок MATLAB Function содержит вектор символов.Рассмотрите использование перечислений вместо векторов символов.

Возможности и ограничения

  • Не отмечает строки в MATLAB

  • Не отмечает векторы символов, которые трудно закодированы в определение класса.

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

Смотрите также

Проверяйте использование рекомендуемых шаблонов для Переключателя/Операторов выбора

ID проверки: mathworks.maab.na_0022

Проверяйте на использование непостоянных переменных в Переключателе/Операторах выбора.

Описание

В сгенерированном коде входные параметры блока MATLAB function передаются в качестве функциональных аргументов. Эта проверка оценивает Переключатель/Операторы выбора в сгенерированном коде, чтобы определить, используются ли непостоянные значения в аргументе Case.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Непостоянные переменные используются в Переключателе/Операторе выбора.Рассмотрите определение входной переменной как константу.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

Смотрите также

Проверяйте использование вариантов по умолчанию

ID проверки: mathworks.maab.na_0036

Проверяйте использование вариантов по умолчанию в различной подсистеме.

Описание

Проверки Variant Subsystem, Variant Source, Variant Sink и вариант Model блокируются в различной подсистеме для варианта по умолчанию.

Доступный с Simulink Check.

Введите параметры

Чтобы установить активный вариант как вариант по умолчанию, используйте Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к 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

  2. Нажмите Apply.

  3. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Подсистема не содержит вариант по умолчанию.

Установите параметры блоков Variant control на (default)

Параметры блоков Variant Control установлены в Variant.

Установить активный вариант как вариант по умолчанию.

  1. Variant Control установлен в Variant

  2. Откройте различный блок и выберите параметры блоков Allow zero active variant controls.

  3. Для выходных портов различной подсистемы:

    • Установите Specify output when source is unconnected на true

    • Введите допустимое значение в Constant value

    • Установите Output Data type на Inherit: auto

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков

  • Позволяет подсветку синтаксиса

Смотрите также

Проверяйте использование одного переменных различных условных выражений

ID проверки: mathworks.maab.na_0037

Проверяйте использование одной переменных в условных выражениях

Описание

Variant Subsystem проверок, Variant Source, Variant Sink и вариант Model блокируются для условных выражений, которые имеют больше чем одну переменную.

Примечание

Инструкция na_0037 утверждает, что вариантами по умолчанию является исключение к рекомендации записи различных условных выражений с помощью нескольких переменная с одним условием. Можно задать значение по умолчанию:

  • Выбор (default) в параметрах блоков Variant control.

  • Определение исчерпывающего условия.

Эта проверка не может дифференцироваться между значениями по умолчанию, которые заданы с помощью исчерпывающего условия.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Условное выражение содержит больше чем одну условную переменную.Рассмотрите обновление вашей модели так, чтобы только один вариант использовался.

Переменная условного выражения or Simulink.Variant объект не найден в рабочей области.

Рассмотрите определение варианта в вашей модели.
Проверка не выполняется на моей различной подсистеме. Очистите Override variant conditions and use following variant для различной подсистемы.

Возможности и ограничения

  • Не проверяет варианты по умолчанию.

  • Не работает на Различной подсистеме, когда вы выбираете Override variant conditions and use following variant

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

Смотрите также

Проверяйте вложенные состояния в диаграммы Stateflow

ID проверки: mathworks.maab.na_0038

Проверяет глубину вложенных состояний в диаграммах Stateflow.

Описание

Проверяет, что глубина вложенных состояний inStateflow строит диаграмму и идентифицирует состояния, которые превышают заданный порог уровня вложенности.

Инструкция na_0038 MAAB рекомендует три уровня.

Доступный с Simulink Check.

Введите параметры

Чтобы задать порог для уровней вложенности состояний Stateflow, используйте Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к Check nested states in Stateflow charts.

  2. В панели Input Parameters введите порог уровня вложенности. Значением по умолчанию является 3.

  3. Нажмите Apply.

  4. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Уровень вложенных состояний Stateflow превышает заданный порог.Рассмотрите состояния Stateflow инкапсуляции в подграфиках, таким образом, уровень вложенных состояний не превышает порог.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Позволяет подсветку синтаксиса.

Смотрите также

Проверяйте использование Simulink в диаграммах Stateflow

ID проверки: mathworks.maab.na_0039

Проверки на диаграммы Stateflow, которые вкладываются в функциях Simulink, используемых в корневой диаграмме Stateflow.

Описание

Проверки Simulink функционирует в корневой диаграмме Stateflow и идентифицирует диаграммы Stateflow, которые вкладываются в этих функциях.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Функция Simulink имеет вложенную диаграмму Stateflow.Рассмотрите изменение вашей корневой диаграммы Stateflow, таким образом, функция Simulink не содержит вложенную диаграмму Stateflow.

Возможности и ограничения

  • Не проверяет состояния Stateflow.

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Позволяет подсветку синтаксиса.

Смотрите также

Контрольное число состояний Stateflow на контейнер

ID проверки: mathworks.maab.na_0040

Проверяет количество просматриваемых состояний в контейнере Stateflow.

Описание

Проверяет количество просматриваемых состояний в контейнере Stateflow и идентифицирует контейнеры, которые превышают заданный порог. Состояние рассматривается видимым, если это не в рамках атомарного подграфика, функции или подграфика.

Инструкция na_0040 MAAB рекомендует шесть 10 состояниям на контейнер.

Доступный с Simulink Check.

Введите параметры

Чтобы задать порог для количества просматриваемых состояний в контейнере Stateflow, используйте Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к Check number of Stateflow states per container.

  2. В панели Input Parameters введите порог для количества просматриваемых состояний на контейнер. Значением по умолчанию является 10.

  3. Нажмите Apply.

  4. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Количество просматриваемых состояний в контейнере Stateflow превышает заданный порог.Рассмотрите состояния Stateflow инкапсуляции в подграфиках, таким образом, количество состояний на контейнер не превышает порог.

Возможности и ограничения

  • Атомарные подграфики рассмотрены как состояния и включены в проверку.

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Позволяет подсветку синтаксиса.

Смотрите также

Проверяйте использование унарных минус операции в диаграммах Stateflow

ID проверки: mathworks.maab.jc_0451

Идентифицируйте унарный минус операции, применился к беззнаковому целому в объектах Stateflow.

Описание

Не выполняйте унарный минус операции на беззнаковом целом в объектах Stateflow.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Унарный минус операции применяются к беззнаковому целому в объектах Stateflow.Измените заданные объекты удалить зависимость от унарного минус операции.
Model Advisor не мог определить типы данных в выражениях с унарным минус операции.Чтобы позволить Model Advisor определять типы данных, рассмотрите явным образом преобразование типа заданных выражений.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование выражений с плавающей точкой в диаграммах Stateflow

ID проверки: mathworks.maab.jc_0481

Идентифицируйте равный операциям (==) в выражениях, где по крайней мере одна сторона выражения является переменным с плавающей точкой или постоянным.

Описание

Не используйте равный операциям с типами данных с плавающей точкой. Можно использовать равный операциям с целочисленными типами данных.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Выражения используют равный операциям (==) где по крайней мере одна сторона выражения является переменным с плавающей точкой или постоянным.Измените заданные выражения, чтобы избежать равный операциям между выражениями с плавающей точкой. Если равное операции требуется, предел погрешности должен задаваться и использоваться в операции.
Model Advisor не мог определить типы данных в выражениях с операциями равенства.Чтобы позволить Model Advisor определять типы данных, рассмотрите явным образом преобразование типа заданных выражений.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Инструкция MAAB, Версия 3.0: jc_0481: Использование твердых сравнений равенства для чисел с плавающей точкой в Stateflow в документации Simulink.

Проверяйте настройки ввода и вывода функций MATLAB

ID проверки: mathworks.maab.na_0034

Идентифицируйте функции MATLAB, которые имеют входные параметры, выходные параметры или параметры с наследованной сложностью или свойствами типа данных.

Описание

Проверка идентифицирует функции MATLAB с наследованной сложностью или свойствами типа данных. Таблица результатов обеспечивает ссылки на функции MATLAB, которые не передают проверку, наряду с условиями, инициировавшими предупреждение.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Функции MATLAB имеют наследуемые интерфейсы.

Явным образом задайте сложность и свойства типа данных для импорта, выходных портов и параметров функции MATLAB, идентифицированной в результатах.

Если применимо, с помощью Редактора блока MATLAB function (Simulink), сделайте следующие модификации в Портах и Менеджере данных (Simulink):

  • Измените Complexity от Inherited к On или Off.

  • Измените Type от Inherit: Same as Simulink к явному типу.

  • Измените Size от —1 (Inherited) к явному размеру.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте метрики функции MATLAB

ID проверки: mathworks.maab.himl_0003

Отобразите сложность и метрики кода для функций MATLAB. Сообщите о метрических нарушениях.

Описание

Эта проверка обеспечивает сложность и метрики кода для функций MATLAB. Проверка дополнительно сообщает о метрических нарушениях.

Таблица результатов обеспечивает ссылки на функции MATLAB, которые нарушают входные параметры сложности.

Доступный с Simulink Check.

Введите параметры

Maximum effective lines of code per function

Обеспечьте максимальные эффективные строки кода на функцию. Эффективные линии не включают пустые линии, строки с комментариями или линии с функциональным end ключевое слово.

Minimum density of comments

Обеспечьте минимальную плотность комментариев. Плотность является отношением строк с комментариями к общим строкам кода.

Maximum cyclomatic complexity per function

Обеспечьте максимальную цикломатическую сложность на функцию. Цикломатическая сложность является количеством линейно независимых контуров через исходный код.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Функция MATLAB нарушает входные параметры сложности.

Для функции MATLAB:

  • Если эффективные строки кода слишком высоки, далее разделите функцию MATLAB.

  • Если плотность комментария является слишком низкой, добавьте строки с комментариями.

  • Если цикломатическая сложность на функцию слишком высока, далее разделите функцию MATLAB.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на имена портов Stateflow и сопоставленных сигналов

ID проверки: mathworks.maab.db_0123

Проверяйте на несоответствия между портами Stateflow, и сопоставил имена сигнала.

Описание

Имя ввода и вывода Stateflow должно совпасть с соответствующим сигналом. Проверка не отмечает:

  • Назовите несоответствия для допускающих повторное использование диаграмм Stateflow в библиотеках.

  • Порты Stateflow, если соответствующий сигнал не имеет метки.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Сигналы имеют имена, которые отличаются от соответствующих портов Stateflow. Поменяйте имена или сигналов или портов Stateflow.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков. Исключения не будут работать на соединенные графики библиотеки.

Смотрите также

Проверяйте осциллограф От и блоки Goto

ID проверки: mathworks.maab.na_0011

Проверяйте осциллограф блоков Goto и From.

Описание

Можно использовать глобальную область видимости в управлении потоком. Однако From и блоки Goto должны использовать локальный осциллограф в потоках сигналов.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
From и блоки Goto не сконфигурированы с локальным осциллографом.
  • Убедитесь, что порты соединяются.

  • Измените осциллограф заданных блоков к локальной переменной.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте количество вызовов функции в блоках MATLAB function

ID проверки: mathworks.maab.na_0017

Описание

Проверки, меньше ли количество вызовов функции в блоках MATLAB function порога набора. По умолчанию предел устанавливается к три.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Количество вызовов функции в блоках MATLAB function больше порога набора. по умолчанию порог набора равняется трем. Порог набора может быть изменен при помощи входного параметра Function Call Level в редакторе конфигурации.Сократите количество вызовов функции от блоков MATLAB function, чтобы быть меньше порога набора.

Возможности и ограничения

  • Вызовы рекурсивной функции только считаются однажды.

  • Встроенные методы класса не анализируются.

  • Работает на моделях библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое соединенных блоков библиотеки.

Смотрите также

Проверяйте использование Goto и От блоков между Подсистемами

ID проверки: mathworks.maab.jc_0171

Описание

Проверяет поток сигналов при использовании Goto и От блоков.

Эта проверка идентифицирует подсистемы, соединенные друг с другом, который использует Goto и блоки From в feedforward и обратной связи, которая не имеет по крайней мере одной сигнальной линии для каждого направления.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Подсистемы, соединенные друг с другом использующим Goto и блоки From в feedforward и обратной связи, не имеют по крайней мере одной сигнальной линии для каждого направления.Убедитесь, что добавили по крайней мере одну прямую сигнальную линию, промежуточную связанные подсистемы.

Возможности и ограничения

  • Проверка позволяет связи, установленные от подсистем, на которые ссылаются, с в другой подсистеме.

  • Работает на моделях библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое соединенных блоков библиотеки.

Смотрите также

Проверяйте повторное использование переменных в осциллографе Stateflow

ID проверки: mathworks.maab.jc_0491

Описание

Проверки, если заданные переменные имеют многозначности. Та же переменная не должна иметь нескольких использований в одном состоянии Stateflow.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Переменные с тем же именем используются в одной подсистеме. Убедитесь, что все заданные переменные уникальны включая временные контрольные переменные цикла.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое соединенных блоков библиотеки.

Эта проверка не работает:

  • Блок MATLAB function

  • Таблицы истинности

  • Графические функции

  • Если/переключатель на языке действия в состояниях Stateflow.

Смотрите также

Проверяйте на внешний вид перехода 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, которые накладываются с текстом в состоянии, которое переполняет метки состояния.

  • Работает на моделях библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое соединенных блоков библиотеки.

Смотрите также

Проверяйте использование перечисляемых значений

ID проверки: mathworks.maab.na_0031

Описание

Идентифицирует классы перечисления, используемые в модели без спецификации значения по умолчанию.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Классы перечисления в модели не имеют спецификации значения по умолчанию.Убедитесь, что классы перечисления, используемые в модели, имеют getDefaultValue реализацию метода как статический метод класса.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое соединенных блоков библиотеки.

Смотрите также

Проверяйте внешний вид Сигнала Simulink

ID проверки: mathworks.maab.db_0032

Описание

Проверки, если Сигналы Simulink, которые пересекаются и накладываются, придерживаются рекомендуемых инструкций.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Сигналы Simulink пересекают друг друга.Убедитесь, что сигналы не пересекаются друг с другом.
Сигналы Simulink не чертятся с прямыми углами.Убедитесь, что сигналы чертятся с прямыми углами в модели.
Сигналы Simulink перекрывают друг друга.Убедитесь, что сигналы не накладываются друг с другом.
Сигналы Simulink чертятся по блоку Simulink.Убедитесь, что сигналы не чертятся ни по каким блокам Simulink.

Возможности и ограничения

  • Инструкция JMAAB, ограничения Версии 5.1:

    • Проверка не проверяет Линию, пересекающую установку свойства стиля. (ID Sub: a2)

    • Проверка не отмечает линии, которые разделяют больше чем в две линии в одной точке условного перехода. (ID Sub: d

  • Настройка транзитного участка сигнала не рассматривается.

  • Блокируйтесь перекрытия метки не анализируются.

  • Сигналы Simulink, которые разделяют больше чем в два сигнала при одной ветви, не рассматриваются.

  • Работает на моделях библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения подсистем.

  • Анализирует содержимое соединенных блоков библиотеки.

Смотрите также

Проверяйте использование несовместимых блоков

ID проверки: mathworks.maab.na_0027

Описание

Идентифицирует блоки, которые не перечислены в совместимом черном списке для модели.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Один или несколько блоков Simulink, которые не перечислены в совместимом черном списке, используются в модели.

Выберите блоки Simulink из совместимого черного списка в диалоговом окне параметров конфигурации.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое соединенных блоков библиотеки.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также