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