Simulink Check

Обзор Simulink Check

Используйте проверки Simulink® Model Advisor, чтобы сконфигурировать вашу модель для моделирования.

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

Миграция на упрощенный обзор режима инициализации

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

Используйте Образцовые регистрации Советника Миграции на Упрощенный Режим Инициализации, чтобы помочь переместить вашу модель на упрощенный режим инициализации.

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

Идентифицируйте несвязанные строки, входные порты и выходные порты

ID проверки: mathworks.design.UnconnectedLinesPorts

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

Описание

Это контрольные списки несвязанные строки или порты. Они могут испытать затруднения при распространении атрибутов сигнала, таких как тип данных, частота дискретизации и размерности.

Примечание

Порты, соединенные с блоками земли/терминатора строки, пройдут этот тест.

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

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

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check™.

Советы

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

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

Common Block Properties для получения информации о команде PortConnectivity.

Что такое образцовое исключение советника? (Simulink Check)

Проверьте корневые образцовые спецификации блока Inport

ID проверки: mathworks.design.RootInportSpec

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

Описание

Используя корневые образцовые блоки Inport, которые не полностью задают размерности, частота дискретизации или тип данных может привести к нежелательным результатам симуляции. Программное обеспечение Simulink назад - распространяет размерности, частоты дискретизации и типы данных от нисходящих блоков, если вы явным образом не присваиваете их значения.

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

УсловиеРекомендуемое действие
Корневой уровень блоки Inport имеет неопределенные атрибуты.Полностью задайте атрибуты корневого уровня блоки Inport.

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

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

Советы

Следующие настройки передают эту проверку:

  • Параметры конфигурации> Решатель> Периодическое ограничение частоты дискретизации установлены в Ensure sample time independent

  • Для моделей экспорта функций не отмечается наследованная частота дискретизации.

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

Проверьте настройки оптимизации

ID проверки: mathworks.design.OptimizationSettings

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

Описание

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

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

УсловиеРекомендуемое действие
Заданная оптимизация выключена.

Установите следующие флажки оптимизации на панели Оптимизации в диалоговом окне Configuration Parameters:

Установите следующие флажки оптимизации на панели Оптимизации в диалоговом окне Configuration Parameters:

Установите следующие флажки оптимизации в диалоговом окне Configuration Parameters:

Установите следующие флажки оптимизации на панели Оптимизации в диалоговом окне Configuration Parameters:

Примечание

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

Продолжительность жизни приложения (дни) установлена как бесконечная. Это могло привести к дорогому 64-битному встречному использованию. Выберите время остановки, если это не предназначается.
Заданная диагностика, которая может увеличить время, которое требуется, чтобы моделировать вашу модель, установлена в warning или error.

Выберите none для:

  • Противоречивость данных решателя

  • Границы массивов превышены

  • Диагностика> Законность Данных> проверка диапазона Моделирования

Заданные Встроенные параметры Coder® выключены.

Если у вас есть лицензия Embedded Coder, и вы используете основанный на ERT системный конечный файл:

Советы

Если система содержит Блоки модели, и модель, на которую ссылаются, находится в Режиме Accelerator, моделирование модели требует генерации и компиляции кода.

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

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

ID проверки: mathworks.design.ModelRefSIMConfigCompliance

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

Описание

Для моделей, на которые ссылаются в режиме Accelerator, Simulink игнорирует настройки следующих параметров конфигурации, которые вы устанавливаете на значение кроме None.

  • Границы массивов превышены

  • Блок Diagnostics> Data Validity> Inf или NaN выводится

  • Диагностика> Законность Данных> Деление сингулярной матрицей

  • Диагностика> Законность Данных> Переносится на переполнении

Кроме того, для моделей, на которые ссылаются в режиме Accelerator, Simulink игнорирует следующие Параметры конфигурации> Диагностика> Законность Данных> параметры Блока памяти Хранилища данных, если вы устанавливаете их на значение кроме Disable all. Для получения дополнительной информации смотрите Диагностику Хранилища данных.

  • Обнаружьте чтение перед записью

  • Обнаружьте запись, после того, как считано

  • Обнаружьте запись после записи

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

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

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

Моделируйте модель в Режиме normal mode и разрешите диагностические предупреждения или ошибки.

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

ID проверки: mathworks.design.ParamTunabilityIgnored

Проверки, если информация о приспособляемости параметра включена в диалоговое окно Model Parameter Configuration.

Описание

Программное обеспечение Simulink игнорирует информацию о приспособляемости, заданную в диалоговом окне Model Parameter Configuration. Эта проверка идентифицирует те модели, содержащие информацию о приспособляемости параметра, которую проигнорирует программное обеспечение Simulink, если на модель сошлются другие модели.

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

УсловиеРекомендуемое действие
Модель содержит проигнорированную информацию о приспособляемости параметра.Щелкните по ссылкам, чтобы преобразовать в эквивалентные объекты параметра Simulink в рабочей области MATLAB®.

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

Создайте настраиваемый калибровочный параметр в сгенерированном коде (Simulink Coder).

Проверьте на неявное разрешение сигнала

ID проверки: mathworks.design.ImplicitSignalResolution

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

Описание

Программное обеспечение Requiring Simulink, чтобы разрешить все именованные сигналы и состояния неэффективно и замедляет инкрементную генерацию кода и модель - ссылку. Эта проверка идентифицирует те сигналы и состояния, для которых можно выключить неявное разрешение сигнала и осуществить разрешение.

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

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

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

Разрешите объекты сигнала для выходных данных.

Проверьте на оптимальную виртуальность шины

ID проверки: mathworks.design.OptBusVirtuality

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

Описание

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

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

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

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

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

Проверьте на блоки Интегратора Дискретного времени с начальной неуверенностью условия

ID проверки: mathworks.design.DiscreteTimeIntegratorInitCondition

Идентифицируйте блоки Интегратора Дискретного времени с портами состояния и начальными портами условия, которые не питаются ни Начальным Условием, ни блоком Constant.

Описание

Блоки Интегратора дискретного времени с портом состояния и начальными портами условия не могут быть соответственно инициализированы, если они не питаются от блока Initial Condition или Constant. Это, более вероятно, произойдет, когда блоки Интегратора Дискретного времени будут использоваться, чтобы смоделировать динамические системы высшего порядка или второго порядка.

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

УсловиеРекомендуемое действие
Блоки Интегратора дискретного времени не инициализируются во время образцовой фазы инициализации.Добавьте блок Constant или Initial Condition, чтобы подать внешний порт Initial Condition.

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

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

Идентифицируйте отключенные ссылки библиотеки

ID проверки: mathworks.design.DisabledLibLinks

Поисковая модель для отключенных ссылок библиотеки.

Описание

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

Примечание

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

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

УсловиеРекомендуемое действие
Ссылки библиотеки отключены.Щелкните по Ссылке Библиотеки> опция ссылки Твердости в контекстном меню.

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

Советы

  • Используйте Model Browser, чтобы найти ссылки библиотеки.

  • Чтобы включить неработающую ссылку, щелкните правой кнопкой по блоку по своей модели, чтобы отобразить контекстное меню. Выберите Library Link> ссылка Resolve.

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

Восстановите отключенные или параметризованные ссылки

Что такое образцовое исключение советника? (Simulink Check)

Проверьте на большое количество аргументов функции от виртуальной шины через контур модели - ссылки

ID проверки: mathworks.design.CheckVirtualBusAcrossModelReferenceArgs

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

Описание

Чтобы улучшить скорость процесса генерации кода, можно использовать эту проверку, чтобы сократить количество сгенерированных аргументов функции. Если проверка находит модель, что, где много аргументов будут сгенерированы для функции, можно нажать Update Model, чтобы изменить модель так, чтобы это сгенерировало меньше аргументов.

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

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

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

Нажатие на Update Model сбрасывает параметры блока Inport и Outport и вставляет блоки Преобразования Сигнала, по мере необходимости, чтобы сократить количество сгенерированных аргументов функции для модели.

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

Соедините шиной данные, пересекающие контуры модели - ссылки

Идентифицируйте параметризованные ссылки библиотеки

ID проверки: mathworks.design.ParameterizedLibLinks

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

Описание

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

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

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

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

Советы

  • Щелкните правой кнопкой по блоку по своей модели, чтобы отобразить контекстное меню. Выберите Link Options и нажмите Go To Library Block, чтобы видеть исходный блок от библиотеки.

  • Чтобы параметризовать ссылку библиотеки, выберите Look Under Mask, из контекстного меню и выберите параметр.

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

Восстановите отключенные или параметризованные ссылки

Что такое образцовое исключение советника? (Simulink Check)

Идентифицируйте неразрешенные ссылки библиотеки

ID проверки: mathworks.design.UnresolvedLibLinks

Ищите модель неразрешенные ссылки библиотеки, где заданный блок библиотеки не может быть найден.

Описание

Проверьте на неразрешенные ссылки библиотеки. Модели не моделируют, в то время как существуют неразрешенные ссылки библиотеки.

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

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

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

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

Зафиксируйте неразрешенные ссылки библиотеки

Что такое образцовое исключение советника? (Simulink Check)

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

ID проверки: mathworks.design.CSStoVSSConvert

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

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

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

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

Можно осуществить эту проверку моделей библиотеки.

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

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

Идентифицируйте Различные Блоки модели и преобразуйте тех в Различную Подсистему, содержащую выбор Блока модели

ID проверки: mathworks.design.ConvertMdlrefVarToVSS

Ищите модель, чтобы идентифицировать Различные Блоки модели.

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

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

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

Преобразуйте эти блоки в Различные блоки Подсистемы.

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

Преобразуйте в варианты

Проверьте использование связей вызова функции

ID проверки: mathworks.design.CheckForProperFcnCallUsage

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

Описание

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

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

УсловиеРекомендуемое действие
Диагностика> Возможность соединения> Недопустимая связь вызова функции установлена в warning. Этот вывод силы к недетерминированному образцовому выполнению.Установите Диагностику> Возможность соединения> Недопустимая связь вызова функции с error.
Диагностика> Возможность соединения> Контекстно-зависимые входные параметры установлена в Disable All или Use local settings. Этот вывод силы к недетерминированному образцовому выполнению.Установите Диагностику> Возможность соединения> Контекстно-зависимые входные параметры к Enable all as errors.

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

Подсистема вызова функций

Проверьте Блоки памяти Хранилища данных на многозадачность, строгий контроль типов и проблемы затенения

ID проверки: mathworks.design.DataStoreMemoryBlkIssue

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

Описание

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

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

УсловиеРекомендуемое действие
Дублирующаяся проверка имен хранилищ данных установлена в none или warning. Рассмотрите установку Дублирующейся проверки имен хранилищ данных к error в диалоговом окне Configuration Parameters на Диагностике> панель Законности Данных.

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

  • Панель Атрибутов сигнала Блочного диалогового окна Параметров для Блока памяти Хранилища Даты

  • Название магазина глобальных данных

Задайте тип данных кроме автоматического путем принятия одних из следующих мер:

  • Выберите тип данных кроме Inherit: auto на панели Атрибутов Сигнала Блочного диалогового окна Параметров для Блока памяти Хранилища Даты.

  • При использовании название магазина глобальных данных, то задаете его тип данных в объекте Simulink.Signal.

Многозадачная проверка хранилища данных установлена в none или warning. Рассмотрите установку Многозадачной проверки хранилища данных к error в диалоговом окне Configuration Parameters на Диагностике> панель Законности Данных.

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

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

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

Проверьте, включена ли диагностика чтения-записи для блоков хранилища данных

ID проверки: mathworks.design.DiagnosticDataStoreBlk

Для блоков хранилища данных в модели позвольте проверке порядка диагностики чтения-и-записи обнаружить проблемы во время выполнения.

Описание

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

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

УсловиеРекомендуемое действие
Обнаружить чтение прежде выписывает чек, отключен.Полагайте, что включение Обнаруживает чтение перед записью в Диагностике диалогового окна Configuration Parameter> панель Законности Данных.
Обнаружить запись после проверки чтения отключена.Полагайте, что включение Обнаруживает запись, после того, как считано в Диагностике диалогового окна Configuration Parameter> панель Законности Данных.
Обнаружить запись после выписывает чек, отключен.Полагайте, что включение Обнаруживает запись после записи в Диагностике диалогового окна Configuration Parameter> панель Законности Данных.

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

Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

Советы

.

  • Диагностика во время выполнения может значительно замедлить моделирования. Если вы проверили, что Simulink не генерирует предупреждения или ошибки во время моделирования, установите их на Disable all.

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

Проверьте, что хранилище данных блокирует частоты дискретизации для моделирования ошибок

ID проверки: mathworks.design.DataStoreBlkSampleTime

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

Описание

Проверьте блоки хранилища данных на непрерывный или фиксированное в частотах дискретизации незначительного шага.

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

УсловиеРекомендуемое действие
Блоки хранилища данных в вашей модели имеют непрерывный или фиксированный в частотах дискретизации незначительного шага.Считайте создание перечисленных блоков дискретным или заменяющий их или на Memory или на Goto и От блоков.

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

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

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

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

ID проверки: mathworks.design.OrderingDataStoreAccess

Ищите проблемы чтения-записи, которые могут вызвать погрешности в результатах.

Описание

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

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

УсловиеРекомендуемое действие
Чтение и запись (чтение перед записью или условие записи после чтения) происходят не в порядке.Рассмотрите реструктуризацию вашей модели так, чтобы блок Data Store Read выполнился перед блоком Data Store Write.
Несколько записей происходят в единственном временном шаге.Измените модель, чтобы записать данные только однажды на временной шаг или относиться к следующему разделу Tips.

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

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

Советы

Эта проверка выполняет статический анализ, который не может идентифицировать каждый экземпляр неподходящего использования. В частности Подсистемы вызова функций, диаграммы Stateflow, MATLAB для генерации кода, Для Подсистем Итератора, и Для Каждого Подсистемы могут вызвать и пропущенные обнаружения и ложные положительные стороны. Для более всесторонней проверки рассмотрите включение следующей диагностики на Диагностике> панель Законности Данных в диалоговом окне Configuration Parameters: Обнаружьте чтение перед записью, Обнаружьте запись, после того, как считано и Обнаружьте запись после записи.

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

Проверьте использование параметра структуры с сигналами шины

ID проверки: mathworks.design.MismatchedBusParams

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

Описание

В модели можно использовать структуру MATLAB, чтобы инициализировать сигнал шины. Например, если вы передаете сигнал шины через блок Unit Delay, можно установить Начальный параметр условия на структуру. Для основной информации об инициализации шин при помощи структур смотрите, Задают Начальные условия для Сигналов Шины.

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

Частичные структуры

Это блоки контрольных списков и объекты Simulink.Signal, которые инициализируют сигналы шины при помощи частичных структур. Во время итеративного процесса создания модели можно использовать частичные структуры, чтобы фокусироваться на подмножестве элементов сигнала в шине. Для зрелой модели используйте полные структуры для:

  • Сгенерируйте читаемый и эффективный код.

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

Для получения дополнительной информации о полных и частичных структурах, смотрите, Создают Полные Структуры для Инициализации и Создают Частичные Структуры для Инициализации.

Неверные типы данных

Это, которому возражают блоки контрольных списков и Simulink.Signal, чьи начальные структуры условия представляют неверные типы данных. Поля этих структур имеют типы числовых данных, которые не совпадают с типами данных соответствующих элементов сигнала шины.

Когда вы сконфигурируете начальную структуру условия, чтобы появиться как настраиваемая глобальная структура в сгенерированном коде, избегайте ненужных явных преобразований типа путем соответствия с типами данных. Смотрите Генерируют Настраиваемую Начальную Структуру Условия для Сигнала Шины (Simulink Coder).

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

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

Блокируйте или сигнализируйте, что объект использует частичную структуру

Рассмотрите использование функционального Simulink.Bus.createMATLABStructure, чтобы создать полную начальную структуру условия.

Типы данных полей структуры не совпадают с типами данных соответствующих элементов сигнала

Рассмотрите определение структуры как объект Simulink.Parameter и создание объекта Simulink.Bus использовать в качестве типа данных сигнала шины и объекта параметра. Чтобы управлять типами числовых данных, используйте объекты Simulink.BusElement в объекте шины.

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

Проверьте, что Задержка, Единичная задержка и Нулевой Порядок Содержит блоки для перехода уровня

ID проверки: mathworks.design.ReplaceZOHDelayByRTB

Идентифицируйте Задержку, Единичная задержка, или Нулевой Порядок Содержит блоки, которые используются для перехода уровня. Замените эти блоки на фактические блоки Перехода Уровня.

Описание

Если модель использует Задержку, Единичная задержка, или Нулевой Порядок Содержит блоки, чтобы обеспечить переход уровня между сигналами ввода и вывода, Simulink делает скрытую замену этих блоков со встроенными блоками Перехода Уровня. В скомпилированной блок-схеме желтый символ и буквы “RT” появляются в верхнем левом углу заменяющего блока. Эта замена может влиять на поведение модели, можно следующим образом:

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

  • Этот метод моделирования работает только в определенных настройках перехода (быстрое не спешение для блоков Задержки и Единичной задержки, и быстрый-к-медленному для блока Zero-Order Hold). Установите блочную частоту дискретизации быть равной более медленному уровню (источник для блоков Задержки и Единичной задержки и место назначения для блока Zero-Order Hold).

  • То, когда блочная частота дискретизации нисходящего или восходящего блока изменяется, они, Задержка, Единичная задержка и Нулевой Порядок Содержит блоки, не может выполнить переход уровня. Например, установка источника и целевых частот дискретизации равняется переходу уровня остановок. Блоки затем принимают свои исходные алгоритмические свойства проекта.

  • Блочная частота дискретизации показывает неполную информацию об уровнях частоты дискретизации. Блочный код достигает двух различных уровней, чтобы обработать передачу данных. Однако блочная частота дискретизации и частота дискретизации цветной показ это как блок единственного уровня. Инструменты и скрипты MATLAB, которые используют информацию о частоте дискретизации, основывают свое поведение на этой информации.

Альтернатива должна заменить Задержку, Единичная задержка, или Нулевой Порядок Содержит блоки с фактическими блоками Перехода Уровня.

  • Метод гарантирует однозначные результаты в блочном поведении. Задержка, Единичная задержка или Нулевой Порядок Содержит блочное действие согласно их алгоритмическому дизайну, чтобы задержать и содержать сигналы соответственно. Только блоки Перехода Уровня выполняют фактический переход уровня.

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

Используйте эту проверку, чтобы идентифицировать экземпляры в вашей модели, где Задержка, Единичная задержка или Нулевой Порядок Содержит блоки, подвергаются скрытой замене, чтобы обеспечить переход уровня между сигналами. Нажмите Upgrade Model, чтобы заменить эти блоки на фактические блоки Перехода Уровня.

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

УсловиеРекомендуемое действие
Модель не имеет никаких экземпляров Задержки, Единичная задержка, или Нулевой Порядок Содержит блоки, используемые для перехода уровня.Никакое действие не требуется.
Модель имеет экземпляры Задержки, Единичная задержка, или Нулевой Порядок Содержит блоки, используемые для перехода уровня.

Проверка идентифицирует эти экземпляры и позволяет вам обновлять модель.

  1. Нажмите Upgrade Model, чтобы заменить на фактические блоки Перехода Уровня.

  2. Сохраните изменения в своей модели.

Если вы не принимаете решение заменить Задержку, Единичная задержка, и/или Нулевой Порядок Содержит блоки с фактическими блоками Перехода Уровня, Simulink продолжает выполнять скрытую замену этих блоков со встроенными блоками перехода уровня.

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

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

Проверьте на вызовы slDataTypeAndScale

ID проверки: mathworks.design.CallslDataTypeAndScale

Идентифицируйте вызовы внутреннего функционального slDataTypeAndScale.

Описание

В некоторых предыдущих версиях Simulink, открывая модель, которая была сохранена в более ранней версии, инициировал автоматическое обновление кода для обработки типа данных. Автоматическое обновление вставляет вызовы внутреннего функционального slDataTypeAndScale. Несмотря на то, что Simulink продолжает поддерживать некоторое использование функции, если вы устраняете вызовы его, вы получаете более чистый и более быстрый код.

Simulink не делает обращений за поддержкой к slDataTypeAndScale когда:

  • Первый аргумент является объектом Simulink.AliasType.

  • Первый аргумент является объектом Simulink.NumericType с набором свойства IsAlias к истине.

Осуществление Проверки для вызовов slDataTypeAndScale идентифицирует вызовы slDataTypeAndScale, которые требуются или рекомендуются для замены. В большинстве случаев осуществление проверки и после рекомендуемого действия удаляет вызовы. Можно проигнорировать вызовы, которые остаются. Осуществите проверку, если вы не уверены, что нет вызовов slDataTypeAndScale.

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

УсловиеРекомендуемое действие
Необходимые заменяющие случаиВручную или автоматически замените вызовы slDataTypeAndScale. Перечисленные случаи требуют, чтобы вы заменили вызовы slDataTypeAndScale.
Рекомендуемые заменяющие случаиДля перечисленных случаев рекомендуется, чтобы вы вручную или автоматически заменили вызовы slDataTypeAndScale.
Ручные инспекционные случаиОсмотрите каждый перечисленный случай, чтобы определить, должен ли он быть вручную обновлен.

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

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

Советы

  • Вручную не вставляйте вызов slDataTypeAndScale в модель. Функция была для внутреннего пользования только.

  • Осуществление Проверки для вызовов slDataTypeAndScale вызывает функцию Simulink slRemoveDataTypeAndScale. Вызывание этой функции непосредственно обеспечивает более широкую область значений опций преобразования. Однако вам очень редко нужно больше опций преобразования.

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

Сигналы контрольной шины, обработанные как векторы

ID проверки: mathworks.design.BusTreatedAsVector

Идентифицируйте, что шина сигнализирует, что Simulink обрабатывает как векторы.

Описание

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

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

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

Сигналы шины неявно преобразованы в векторы.

Используйте Simulink.BlockDiagram.addBusToVector или вставьте блок Bus to Vector.

Модель не сконфигурирована, чтобы идентифицировать, что шина сигнализирует, что Simulink обрабатывает как векторы.

В диалоговом окне Configuration Parameters, на Диагностике> панель Возможности соединения, сигнал Шины набора, обработанный как вектор к error.

Результаты действия

Нажатие на Modify вставляет блок Bus to Vector во входных портах блоков, которые неявно преобразовывают сигналы шины в векторы.

Советы

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

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

ID проверки: mathworks.design.DelayedFcnCallSubsys

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

Описание

Таким образом, это сигнализирует, находятся в непрерывной памяти, программное обеспечение Simulink может автоматически вставить неявный блок Signal Conversion перед блочными входными портами инициатора вызова функции. Это может привести к задержке с одним шагом возвращающихся значений сигналов от вызова подсистем вызова функций. Задержки можно избежать путем обеспечения, что сигнал происходит из блока сигнала в системе вызова функции. Или, если задержка приемлема, вставьте блок Unit Delay перед затронутыми входными портами.

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

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

  • Если задержка приемлема, вставьте блок Unit Delay перед каждым перечисленным входным портом.

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

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

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

Блок Conversion сигнала

Блок Unit Delay

Что такое образцовое исключение советника? (Simulink Check)

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

ID проверки: mathworks.design.OutputSignalSampleTime

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

Описание

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

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

УсловиеРекомендуемое действие
Сигналы с временами непрерывной выборки имеют тип данных нес плавающей точкой.На идентифицированных сигналах или измените частоту дискретизации, чтобы быть дискретными или фиксированными на незначительном шаге ([0 1]).

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

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

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

Что такое частота дискретизации?.

Что такое образцовое исключение советника? (Simulink Check)

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

ID проверки: mathworks.design.MergeBlkUsage

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

Примечание

Осуществите эту проверку наряду с другими регистрациями Миграции на Упрощенный Обзор Режима Инициализации.

Описание

Упрощенный режим инициализации был представлен в R2008b, чтобы улучшить непротиворечивость результатов симуляции. Для получения дополнительной информации смотрите Упрощенный Режим Инициализации и Классический Режим Инициализации.

Эта Образцовая проверка Советника идентифицирует настройки в блоках Слияния в вашей модели, которая может вызвать проблемы, если вы используете классический режим инициализации. Это также рекомендует настройки для сопоставимого поведения блоков Слияния. Результаты подпроверок содержат два типа операторов: Отказавший и Предупреждение. Не пройдено операторы идентифицируют проблемы, которые необходимо решить вручную, прежде чем можно будет переместить модель на упрощенный режим инициализации. Операторы предупреждения идентифицируют проблемы или изменения в поведении, которое может произойти после миграции.

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

УсловиеРекомендуемое действие
Проверьте диагностическую установку во время выполнения блока Merge.
  1. В диалоговом окне Configuration Parameters набор Обнаруживает несколько ведущих блоков, выполняющихся, в то же время продвигаются в error.

  2. Проверьте, что модель моделирует без ошибок прежде, чем осуществить эту проверку снова.

Проверьте на Блоки модели, которые используют режим моделирования PIL.Упрощенный режим инициализации не поддерживает Процессор в цикле (PIL) моделирование для моделей - ссылок.
Проверьте на блоки библиотеки с экземплярами, которые не могут быть перемещены.Исследуйте не пройдено результаты подпроверки на каждый блок, чтобы определить корректирующие действия.
Проверьте на блоки Слияния единственного входного параметра.Замените и блок Mux, используемый, чтобы произвести входной сигнал и блок Merge с одним мультивходным блоком Merge.

Блоки Слияния единственного входного параметра не поддержаны в упрощенном режиме инициализации.

Проверьте на корневые блоки Слияния, которые имеют незаданное Начальное выходное значение.

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

Корневой блок Merge является блоком Merge с выходным портом, который не соединяется с другим блоком Merge. Для получения информации о начальном значении по умолчанию смотрите Значения сигналов Инициализации.

Проверьте на блоки Слияния с ненулевыми смещениями входного порта.Очистите Позволение неравного параметра ширин порта блока Merge.

Примечание

Рассмотрите использование блоков Слияния только для элементов сигнала, которые требуют истинного слияния. Можно объединить другие элементы с объединенными элементами с помощью блока Concatenate.

Проверьте на блоки Слияния, которые имеют несвязанные входные параметры или которые имеют входные параметры от неусловно выполняемых подсистем.Определите Номер входного параметра блока Merge к количеству входных параметров блока Merge. Необходимо соединить каждый входной параметр с сигналом.

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

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

Проверьте, что комбинации или переупорядочение входных сигналов блока Merge происходят в условно выполняемой подсистеме. Такие проекты могут использовать Мультиплексор, Создателя Шины или Селекторные блоки.

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

Проверьте, что входные сигналы к каждому блоку Merge имеют ту же Частоту дискретизации.

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

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

Проверьте, что следующее поведение приемлемо.

В упрощенном режиме инициализации объекты сигнала не могут задать Начальный выходной параметр блока Merge. В то время как можно все еще инициализировать выходной сигнал для блока Merge с помощью объекта сигнала, результат инициализации может быть перезаписан тем из блока Merge.

Примечание

Simulink генерирует предупреждение, что начальное значение объекта сигнала было проигнорировано.

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

Проверьте использование блоков Выходного порта

ID проверки: mathworks.design.InitParamOutportMergeBlk

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

Примечание

Осуществите эту проверку наряду с другими регистрациями Миграции на Упрощенный Обзор Режима Инициализации.

Описание

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

Эта Образцовая проверка Советника идентифицирует блоки Выходного порта и условные подсистемы в вашей модели, которая может вызвать проблемы, если вы используете упрощенный режим инициализации. Это также рекомендует настройки для сопоставимого поведения блоков Выходного порта. Результаты подпроверок содержат два типа операторов: Отказавший и Предупреждение. Не пройдено операторы идентифицируют проблемы, которые необходимо решить вручную, прежде чем можно будет переместить модель на упрощенный режим инициализации. Операторы предупреждения идентифицируют проблемы, или изменения в поведении могут произойти после миграции.

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

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

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

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

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

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

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

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

  • Блок Outport управляется блоком с выводом, который не может быть перезаписан. Блок Ground и блок Constant являются примерами таких блоков.

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

  • Блок Outport соединяется с входным параметром блока Merge

  • Один из входных сигналов блока Outport задает объект Simulink.Signal с явным начальным значением.

Проверьте на блоки Выходного порта, которые управляются сигналом шины и чье Начальное выходное значение не является скаляром.Для блоков Выходного порта, управляемых сигналами шины, классический режим инициализации не поддерживает структуры Начального условия (IC), в то время как упрощенный режим инициализации делает. Следовательно, при миграции модели от классики до упрощенного режима, задайте скаляр для Начального Выходного параметра. После того, как миграция завершается, чтобы задать различные начальные значения для различных элементов сигнала шины, использовать структуры IC. Для получения дополнительной информации смотрите, Создают Начальные Структуры Условия.
Проверьте на блоки Выходного порта, которые требуют явной копии сигнала.Явная копия сигнала шины управление блоком Outport требуется для инициализации выходного сигнала соответствующей подсистемы.

Вставьте блок Signal Conversion перед блоком Outport, затем установите Выходной параметр блока Signal Conversion к Bus copy.

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

  • Блок с выводом, который не может быть перезаписан, управляет блоком Outport. Блок Ground и блок Constant являются примерами таких блоков.

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

  • Блок Outport соединяется с входным параметром блока Merge

  • Один из входных сигналов блока Outport задает объект Simulink.Signal с явным начальным значением.

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

Определите, приемлемо ли новое поведение блоков Выходного порта. Если это не приемлемо, измените модель, чтобы составлять новое поведение прежде, чем мигрировать на упрощенный режим инициализации.

Проверьте на объединенные блоки Выходного порта, которые сбрасывают, когда блоки отключены.

Установите Вывод когда отключенный параметр блока Outport к held. Эта установка требуется, потому что блок Outport соединяется с блоком Merge.

Для получения дополнительной информации смотрите Выходной порт.

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

Проверьте, что следующее поведение приемлемо.

Когда Начальный выходной параметр не задан ([]), он наследовал начальный вывод от исходных блоков. Если по крайней мере один из источников блока Outport не является допустимым источником, чтобы наследовать начальное значение, блок использует начальное значение по умолчанию для того типа данных.

Для упрощенного режима инициализации допустимые источники Выходной порт могут наследоваться блоки, Начальное выходное значение от: Постоянное, Начальное Условие, Слияние (с начальным выводом), диаграмма Stateflow, модель - ссылка вызова функции или условно выполняемые блоки подсистемы.

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

Simulink вставил блок Rate Transition во входном параметре блока Outport. Задайте Начальный выходной параметр для каждого блока Outport.

В противном случае выполните следующую процедуру:

  1. В диалоговом окне Configuration Parameters, на панели Решателя, очищаются, опция Автоматически обрабатывают переход уровня для передачи данных.

  2. Осуществите эту Образцовую проверку Советника снова.

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

Проверьте, что следующее поведение приемлемо.

Задайте Начальный выходной параметр для блока Outport. Установите это значение к [] (пустая матрица), чтобы использовать начальное значение по умолчанию типа выходных данных.

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

Задайте Начальный выходной параметр блока Outport.

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

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

Вы не можете задать Начальное выходное значение для блока Outport, потому что сигналы зависимости по данным вызова функции проходят через него. Установить Начальное выходное значение:

  1. Установите Начальный выходной параметр блока Outport к [].

  2. Обеспечьте начальное значение в источнике сигнала зависимости по данным, а не в блоке Outport.

Проверьте на блоки Выходного порта, что использование сигнализирует об объектах задать Начальное выходное значение.

Проверьте, что следующее поведение приемлемо.

В упрощенном режиме инициализации объекты сигнала не могут задать Начальный выходной параметр блока Outport. Можно все еще инициализировать сигналы ввода или вывода для блока Outport с помощью объектов сигнала, но результаты инициализации могут быть перезаписаны теми из блока Outport.

Примечание

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

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

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

Проверьте на объединенные блоки Выходного порта, которые или не связаны или связаны с блоком Ground.

Проверьте, что следующее поведение приемлемо.

Блок Outport управляет блоком Merge, но его входные параметры или не связаны или связаны, чтобы Основать блоки. В классическом режиме инициализации несвязанные или основанные выходные порты не обновляют сигнал слияния, даже когда их родительский элемент условно выполнился, подсистемы выполняются. В упрощенном режиме инициализации, однако, эти выходные порты обновят сигнал слияния со значением нуля, когда их родительский элемент условно выполнился, подсистемы выполняются.

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

Проверьте, что следующее поведение приемлемо.

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

Если это поведение не приемлемо, измените свою модель, прежде чем вы мигрируете на упрощенный режим инициализации.

Проверьте на внешние блоки Выходного порта, которые имеют явный Initial вывод.

Проверьте, что следующее поведение приемлемо.

В классическом режиме инициализации, Initial вывод и Вывод, когда отключенные параметры блока Outport должны совпадать с теми из их исходных блоков Выходного порта.

В упрощенном режиме инициализации Simulink устанавливает Начальный выходной параметр внешних блоков Выходного порта к [] (пустая матрица) и Вывод когда отключенный параметр к held.

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

Проверьте, что следующее поведение приемлемо.

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

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

Проверьте, что следующее поведение приемлемо.

Некоторые блоки, такие как блок Discrete-Time Integrator, читают свои входные параметры из условно выполняемых подсистем во время инициализации в классическом режиме инициализации. Simulink выполняет этот шаг как метод оптимизации.

Эта оптимизация не позволена в упрощенном режиме инициализации, потому что вывод условно выполняемой подсистемы на первом временном шаге после инициализации может отличаться, чем начальное значение, объявленное в соответствующем блоке Outport. В частности, это несоответствие происходит, если подсистема активна на первом временном шаге.

Проверьте на конфликт миграции для блоков Выходного порта, которые используют Dialog в качестве Источника начального выходного значения.

Другие экземпляры блоков Выходного порта с той же библиотекой соединяются или не могут быть перемещены или перемещаются другим способом. Рассмотрите результаты Проверки на блоки библиотеки с экземплярами, которые не могут быть перемещены, чтобы узнать о различных миграционных путях для других экземпляров каждого блока Outport.

Блок Outport будет поддерживать свои текущие настройки и использовать его заданное Начальное выходное значение.

Проверьте на конфликт миграции для блоков Выходного порта, которые используют Input signal в качестве Источника начального выходного значения.

Другие экземпляры блоков Выходного порта с той же библиотекой соединяются или не могут быть перемещены или перемещаются другим способом. Рассмотрите результаты Проверки на блоки библиотеки с экземплярами, которые не могут быть перемещены, чтобы узнать о различных миграционных путях для других экземпляров каждого блока Outport.

Блок Outport в настоящее время задает Initial вывод [] (пустая матрица) и Вывод, когда отключено как held. Это означает, что каждый выходной порт не выполняет инициализацию, но неявно полагается на исходные блоки, чтобы инициализировать ее входной сигнал.

После миграции Источник параметра начального выходного значения будет собираться в Input signal отразить это поведение.

Проверьте на конфликт миграции для блоков Выходного порта, которые имеют семантику SimEvents®.

Другие экземпляры блоков Выходного порта с той же библиотекой соединяются или не могут быть перемещены или перемещаются другим способом. Рассмотрите результаты Проверки на блоки библиотеки с экземплярами, которые не могут быть перемещены, чтобы узнать о различных миграционных путях для других экземпляров каждого блока Outport.

Блоки Выходного порта продолжат использовать Начальное выходное значение [] (пустая матрица) и Вывод, когда отключено устанавливая held. Simulink поддержит эти настройки, потому что их родительский элемент условно выполнился, подсистемы соединяются с блоками SimEvents.

Проверьте на конфликт миграции для самых внутренних блоков Выходного порта с входным параметром переменного размера и незаданным Initial вывод.

Для этих блоков Выходного порта размер сигнала отличается только, когда родительская подсистема блока повторно включена. Поэтому Simulink неявно принимает, что Начальный выходной параметр равен 0, даже при том, что параметр не задан, []. Следовательно, если вы не задаете параметр, Образцовый Советник явным образом установит параметр на 0, когда модель будет перемещена на упрощенный режим инициализации.

Другие экземпляры блоков Выходного порта с той же библиотекой соединяются или не могут быть перемещены или перемещаются другим способом. Рассмотрите результаты Проверки на блоки библиотеки с экземплярами, которые не могут быть перемещены, чтобы узнать о различных миграционных путях для других экземпляров каждого блока Outport.

Проверьте на конфликт миграции для блоков Выходного порта, которые используют наземное значение по умолчанию в качестве Initial вывод.Initial параметра вывод установлен в [] (пустая матрица) и источник Выходного порта, является недопустимым начальным источником условия. Таким образом блок использует начальное значение по умолчанию в качестве начального вывода в упрощенном режиме инициализации. Другие экземпляры блоков Выходного порта с той же библиотекой соединяют или имеют ошибки или перемещаются по-другому.
Проверьте на конфликт миграции для объединенных блоков Выходного порта без явной спецификации Initial вывод.Рассмотрите результаты Проверки подпроверки на блоки библиотеки с экземплярами, которые не могут быть перемещены, чтобы узнать о различных миграционных путях для других экземпляров каждого блока Outport. Для остающихся блоков Выходного порта Initial вывод установлен в [] (пустая матрица), и Вывод, когда отключено установлен в held соответственно в упрощенном режиме инициализации.

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

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

ID проверки: mathworks.design.DiscreteBlock

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

Примечание

Осуществите эту проверку наряду с другими регистрациями Миграции на Упрощенный Обзор Режима Инициализации.

Описание

Упрощенный режим инициализации был представлен в R2008b, чтобы улучшить непротиворечивость результатов симуляции. Для получения дополнительной информации смотрите Упрощенный Режим Инициализации и Классический Режим Инициализации.

Эта Образцовая проверка Советника идентифицирует настройки в блоках Интегратора Дискретного времени в вашей модели, которая может вызвать проблемы, если вы используете упрощенный режим инициализации. Это также рекомендует настройки для сопоставимого поведения блоков Интегратора Дискретного времени. Результаты подпроверок содержат два типа операторов: Отказавший и Предупреждение. Не пройдено операторы идентифицируют проблемы, которые необходимо решить вручную, прежде чем можно будет переместить модель на упрощенный режим инициализации. Операторы предупреждения идентифицируют проблемы или изменения в поведении, которое может произойти после миграции.

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

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

Проверьте на блоки Интегратора Дискретного времени, установка условия Начальной буквы параметра которых установлена в Output.

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

Проверьте на блоки Интегратора Дискретного времени, Начальный параметр установки условия которых установлен в State (most efficient) и находится в подсистеме, которая использует инициированную частоту дискретизации.

Используйте периодическую частоту дискретизации для блока или установите установку Initial Condition на Output.

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

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

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

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

Проверьте образцовые настройки на миграцию к упрощенному режиму инициализации

Примечание

Не запускайте эту регистрацию изоляции. Осуществите эту проверку наряду с другими регистрациями Миграции на Упрощенный Обзор Режима Инициализации.

ID проверки: mathworks.design.ModelLevelMessages

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

Описание

Упрощенный режим инициализации был представлен в R2008b, чтобы улучшить непротиворечивость результатов симуляции. Для получения дополнительной информации смотрите Упрощенный Режим Инициализации и Классический Режим Инициализации.

Эта Образцовая проверка Советника идентифицирует проблемы в образцовых параметрах конфигурации и Блоки модели в вашей модели, которая может вызвать проблемы, когда вы мигрируете на упрощенный режим инициализации. Результаты подпроверок содержат два типа операторов: Отказавший и Предупреждение. Не пройдено операторы идентифицируют проблемы, которые необходимо решить вручную, прежде чем можно будет переместить модель на упрощенный режим инициализации. Операторы предупреждения идентифицируют проблемы или изменения в поведении, которое может произойти после миграции.

После выполнения этой Образцовой проверки на непротиворечивость Советника, если вы нажимаете кнопку Explore Result, сообщения принадлежат только блокам, которые не являются ссылками библиотеки.

Примечание

Поскольку трудно отменить эти изменения, выберите File> Save Restore Point As, чтобы поддержать вашу модель прежде, чем мигрировать на упрощенный режим инициализации.

Для получения дополнительной информации смотрите Образцовые Параметры конфигурации: Диагностика Возможности соединения.

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

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

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

Переместите модель, на которую ссылается Блок модели к упрощенному режиму инициализации, затем переместите топ-модель.

Проверьте упрощенную установку режима инициализации

Установите Параметры конфигурации> обнаружение инициализации Underspecified к Simplified.

Результаты действия

Нажатие на Modify Settings вызывает следующее:

  • Параметр модели устанавливается на simplified

  • Если блоку Outport установили Начальный выходной параметр на пустой символьный вектор, [], то параметр SourceOfInitialOutputValue устанавливается на Входной сигнал.

  • Если Выходной порт имеет пустой Initial вывод и сигнал переменного размера, то Initial вывод обнуляется.

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

Проверьте S-функции в модель

ID проверки: mathworks.design.SFuncAnalyzer

Выполните проверки качества на S-функциях в моделях Simulink или подсистемах.

Описание

S-функция анализатор выполняет проверки качества на S-функциях, чтобы идентифицировать улучшения и потенциальные проблемы в заданной модели.

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

УсловиеРекомендуемое действие
Непрерывные состояния изменяются в методе mdlOutputs.Измените Непрерывные состояния на главном временном шаге и используйте функцию ssSetSolverNeedsReset в коде S-функции.
Непрерывные состояния изменяются в методе mdlUpdate.Измените Непрерывные состояния только на главном временном шаге и используйте функцию ssSetSolverNeedsReset в коде S-функции.
Дискретные состояния S-функции изменяются в mdlOutputs на незначительном шаге.Измените дискретные состояния только на существенном шаге, который охраняет функция ssIsMajorTimeStep.
Вектор режима S-функции изменяется в методе mdlOutputs на незначительном шаге.Измените вектор режима только на существенном шаге, который охраняет функция sslsMajorTimeStep.
S-функция использует статические или глобальные переменные, чтобы объявить внутренние состояния.Объявите состояния явным образом с помощью функции ssSetNumDiscStates или Образцовых Глобальных данных путем Создания Хранилищ данных.
S-функция имеет непрерывные состояния, но частота дискретизации не объявляется непрерывная.Задайте время непрерывной выборки с помощью функции ssSetSampleTime.
S-функция имеет дискретные состояния, но mdlOutputs и методы mdlUpdate объединены.Задайте mdlOutputs и методы mdlUpdate отдельно и измените дискретные состояния только в методе mdlUpdate.
S-функция устанавливает опцию SS_OPTION_CAN_BE_CALLED_CONDITIONALLY при наличии подобных состоянию данных или нескольких частот дискретизации.Удалите опции, когда S-функция будет иметь подобные состоянию данные или несколько частот дискретизации.
Компиляторы MEX не существуют на машине.Проверьте на присутствие или установите компиляторы MEX на машине.
S-функция сталкивается с ошибками при компиляции модели. Проверьте Diagnostic Viewer вывод и перекомпилируйте модель.

Проверьте на ненепрерывные сигналы ведущие производные порты

ID проверки: mathworks.design.NonContSigDerivPort

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

Описание

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

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

УсловиеРекомендуемое действие
Существуют ненепрерывные сигналы в модели ведущие производные порты.
  • Сделайте заданные сигналы непрерывными.

  • Замените непрерывные блоки, получающие эти сигналы с версиями дискретного состояния блоков.

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

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

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

Диагностика во время выполнения для S-функций

ID проверки: mathworks.design.DiagnosticSFcn

Проверьте границы массивов и непротиворечивость решателя, если Блоки s-function находятся в модели.

Описание

Подтверждает, придерживаются ли Блоки s-function правил непротиворечивости решателя ОДУ, что Simulink обращается к своим встроенным блокам.

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

УсловиеРекомендуемое действие
Противоречивость данных решателя установлена в none.В диалоговом окне Configuration Parameters, противоречивости данных Решателя набора к warning или error.
Границы массивов превысили, установлен в none.В диалоговом окне Configuration Parameters границы набора Массивов превысили к warning или error

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

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

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

Проверьте модель на внешние символы

ID проверки: mathworks.design.characterEncoding

Проверьте на символы, которые несовместимы с текущим кодированием

Описание

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

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

УсловиеРекомендуемое действие
Найдены несовместимые символыИзмените текущее кодирование на кодирование, заданное в образцовом файле, с помощью slCharacterEncoding. Чтобы изменить текущее кодирование, необходимо закрыть модели, и это закрывает Образцового Советника.

Советы

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

get_param(modelname,'SavedCharacterEncoding')

Используйте slCharacterEncoding, чтобы изменить кодирование. Эта установка применяется к текущему сеансу работы с MATLAB, поэтому если вы перезапустите MATLAB и захотите открыть ту же модель, необходимо будет внести то же изменение в текущее кодирование снова.

Для получения дополнительной информации см.:

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

Идентифицируйте модульные несоответствия в модели

ID проверки: mathworks.design.UnitMismatches

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

Описание

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

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

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

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

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

ID проверки: mathworks.design.AutoUnitConversions

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

Описание

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

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

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

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

Идентифицируйте запрещенные модульные системы в модели

ID проверки: mathworks.design.DisallowedUnitSystems

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

Описание

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

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

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

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

Идентифицируйте неопределенные модули в модели

ID проверки: mathworks.design.UndefinedUnits

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

Описание

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

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

УсловиеРекомендуемое действие
Найдены неопределенные модулиИзмените модуль на тот, который поддерживает Simulink.

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

Проверьте модель на блочные проблемы обновления

ID проверки: mathworks.design.Update

Проверьте на общие блочные проблемы обновления.

Описание

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

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

УсловиеРекомендуемое действие
Блоки с найденными проблемами совместимости.Нажмите Modify, чтобы устранить обнаруженные блочные проблемы.
Проверьте состояние обновления на S-функции API Уровня 2.Рассмотрите заменяющий S-функции Уровня 1 на Уровень 2.

Результаты действия

Нажатие на Modify заменяет блоки от предыдущего релиза программного обеспечения Simulink с последними версиями.

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

Проверьте модель на блочные проблемы обновления, запрашивающие информацию времени компиляции

ID проверки: mathworks.design.UpdateRequireCompile

Проверьте на общие блочные проблемы обновления.

Описание

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

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

УсловиеРекомендуемое действие
Модель содержит Интерполяционную таблицу или Интерполяционную таблицу (2D) блоки и некоторые блоки задают Самый близкий Входной параметр Использования или Входной параметр Использования Выше для метода поиска.Замените блоки Интерполяционной таблицы и Интерполяционную таблицу (2D) блоки с n-D блоками Интерполяционной таблицы. Не применяйте Самый близкий Входной параметр Использования или Входной параметр Использования Выше для методов поиска; выберите другую опцию.
Модель содержит Интерполяционную таблицу или Интерполяционную таблицу (2D) блоки и некоторые блоки выполняют умножение сначала во время интерполяции.Замените блоки Интерполяционной таблицы и Интерполяционную таблицу (2D) блоки с n-D блоками Интерполяционной таблицы. Однако, потому что n-D блок Lookup Table выполняет деление сначала, эта замена может вызвать числовое различие в результате.
Модель содержит Интерполяционную таблицу или Интерполяционную таблицу (2D) блоки. Некоторые из этих блоков задают Экстраполяцию Интерполяции как метод Поиска, но их ввод и вывод не является тем же типом с плавающей точкой.Замените блоки Интерполяционной таблицы и Интерполяционную таблицу (2D) блоки с n-D блоками Интерполяционной таблицы. Затем измените метод экстраполяции или типы данных порта для блочной замены.

Модель содержит блоки Единичной задержки с набором Частоты дискретизации к -1, которые наследовали время непрерывной выборки.

Замените блоки Единичной задержки на Блоки памяти.

Проверьте Блоки памяти Хранилища данных на многозадачность

Результаты действия

Нажатие на Modify заменяет блоки от предыдущего релиза программного обеспечения Simulink с последними версиями.

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

Проверьте, что модель является форматом SLX, в котором сохраняют,

ID проверки: mathworks.design.UseSLXFile

Проверьте, что модель является форматом SLX, в котором сохраняют.

Описание

Проверьте, является ли модель форматом SLX, в котором сохраняют.

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

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

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

Можно осуществить эту проверку моделей библиотеки.

Советы

Проекты Simulink могут помочь вам обновить модели до формата SLX и сохранить историю версии файла в системе контроля версий. Смотрите Файлы Модели Обновления к SLX и Истории Версии Заповедника.

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

Проверьте модель на блоки SB2SL

ID проверки: mathworks.simulink.SB2SL.Check

Проверьте, что модель не имеет устаревших блоков SB2SL.

Описание

Проверьте, содержит ли модель устаревшие блоки SB2SL.

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

УсловиеРекомендуемое действие
Модель содержит устаревшие блоки SB2SLРассмотрите обновление модели к текущим блокам SB2SL.

Результаты действия

Нажатие на Update SB2SL Blocks заменяет блоки на последние версии.

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

Свойства Check Model History

ID проверки: mathworks.design.SLXModelProperties

Проверьте на отредактированные образцовые свойства истории

Описание

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

В формате файла MDL можно сконфигурировать некоторые образцовые свойства использовать замену ключевого слова инструмента системы контроля версий. Если вы сохраняете свою модель в формате SLX, инструменты системы контроля версий не могут выполнить замену ключевого слова. Информация в образцовом файле от такой замены ключевого слова кэшируется, когда вы сначала сохранили файл MDL как SLX, и не обновляется снова. История Model Properties разделяет на области и Образцовые Информационные блоки на вашем образцовом показе устаревшая информация с тех пор.

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

УсловиеРекомендуемое действие
Отредактированные образцовые свойства историиВручную или автоматически сброс свойства к значениям по умолчанию. Нажмите кнопку, чтобы сбросить, или осмотреть и изменить эти свойства вручную, открыть диалоговое окно Model Properties и взгляд в панели Истории.

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

Можно осуществить эту проверку моделей библиотеки.

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

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

ID проверки: mathworks.design.ModelInfoKeywordSubstitution

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

Описание

Эта проверка ищет векторы символов в блоке Model Info, заключенном в знаках доллара, которые могут быть перезаписаны внешним инструментом системы контроля версий. Используя независимый источник расширение ключевого слова инструмента управления может повредить ваши образцовые файлы, когда вы представляете их. Замена ключевого слова не доступна в формате файла модели SLX.

Для более гибкого интерфейса к инструментам системы контроля версий используйте проект Simulink вместо блока Model Info. Займитесь Системой контроля версий с Проектами.

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

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

Блок Model Info содержит поля как это: $keyword$

Рассмотрите список полей в отчете, затем удалите векторы символов ключевого слова из блока Model Info.

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

Идентифицируйте Образцовые Информационные блоки, которые используют Менеджер конфигурации

ID проверки: mathworks.design.ModelInfoConfigurationManager

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

Описание

Образцовые Информационные блоки с помощью Менеджера конфигурации позволяют опасную замену ключевого слова с помощью внешних инструментов системы контроля версий. Используя независимый источник расширение ключевого слова инструмента управления может повредить ваши образцовые файлы, когда вы представляете их. Замена ключевого слова не доступна в формате файла модели SLX. Менеджер конфигурации для блока Model Info будет демонтирован в будущем релизе.

Для более гибкого интерфейса к инструментам системы контроля версий используйте проект Simulink вместо блока Model Info. Займитесь Системой контроля версий с Проектами.

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

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

Блок Model Info использует Менеджер конфигурации.

Нажмите Remove the Configuration Manager.

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

Проверьте модель на наследие 3DoF или 6DoF блоки

ID проверки: mathworks.design.Aeroblks.CheckDOF

Блоки списков 3DoF и 6DoF устарели.

Описание

Эта проверка ищет 3DoF и 6DoF блоки от версий библиотеки до 3,13 (R2014a).

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

УсловиеРекомендуемое действие
Найдены блоки, сконфигурированные со старыми версиями 3DoF или 6DoF блоки.Нажмите Replace 3DoF и 6DoF Блоки, чтобы заменить блоки на последние версии.

Результаты действия

Нажатие на Replace 3DoF и 6DoF Блоки заменяет блоки на последние версии.

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

Проверьте образцовые и местные библиотеки на устаревшие блоки Aerospace Blockset

ID проверки: mathworks.design.Aeroblks.CheckFG

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

Описание

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

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

УсловиеРекомендуемое действие
Блоки, сконфигурированные со старыми версиями FlightGear, найдены.Нажмите блоки Update FlightGear, чтобы изменить блочные настройки к последней поддерживаемой версии FlightGear. Затем загрузите последнюю версию FlightGear, который поддерживает MATLAB.

Результаты действия

Нажатие на блоки Update FlightGear изменяет блочные настройки к последней поддерживаемой версии FlightGear.

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

Проверьте модель на блоки навигации Aerospace Blockset

ID проверки: mathworks.design.Aeroblks.CheckNAV

Поиски Инерционного Модуля Измерения С тремя осями, Гироскопа С тремя осями и Акселерометра С тремя осями блокируются до 3,21 (R2018a).

Описание

Эта проверка ищет Инерционный Модуль Измерения С тремя осями, Гироскоп С тремя осями и блоки Акселерометра С тремя осями, которые были обновлены в R2018a.

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

УсловиеРекомендуемое действие
Инерционный Модуль Измерения с тремя осями, Гироскоп С тремя осями и Акселерометр С тремя осями блокируются до R2018a.

В R2018a или позже, если вы ранее не решили для условий устойчивого состояния, сохраняют модель теперь. Если вы ранее решили для условий устойчивого состояния для модели, решите для этих условий устойчивого состояния снова, и затем сохраните модель.

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

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

ID проверки: mathworks.design.CheckAndUpdateOldMaskedBuiltinBlocks

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

Описание

Эти библиотеки поисковых запросов проверки создали перед R2011b для блоков маскированных, которые должны быть обновлены, чтобы использовать продвинутые параметры. Начиная с R2011b, если блочный параметр не продвинут, его значение в соединенном блоке заблокировано к его значению в блоке библиотеки. Эта проверка исключает блоки Подсистемы типа, Модели - ссылки, S-функции и M-S-Function.

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

УсловиеРекомендуемое действие
Библиотеки, которые должны быть обновлены, найденыНажмите Update. Если библиотеки были обновлены, осуществлял проверку снова

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

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

Проверьте и обновите команды отображения рисунка маски с ненужным imread () вызовы функции

ID проверки: mathworks.design.CheckMaskDisplayImageFormat

Проверка идентифицирует маски с помощью команд отображения изображений с ненужными вызовами функции imread().

Описание

Эта проверка ищет команды отображения маски, которые выполняют ненужные вызовы к функции imread(), и обновляет их с командами отображения маски, которые не вызывают функцию imread(). С тех пор 2013a, производительность и оптимизация памяти доступно для рисунков маски, заданных с помощью канала передачи изображения вместо матрицы триплета RGB.

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

УсловиеРекомендуемое действие
Команды отображения маски, которые выполняют ненужные вызовы к функции imread(), найдены.Нажмите Update. Если блоки были обновлены, осуществлял проверку снова.

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

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

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

ID проверки: mathworks.design.CheckMaskRunInitFlag

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

Описание

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

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

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

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

Команды рисования маски, которые зависят или независимы от рабочей области маски, найдены.

Нажмите Update. Если блоки были обновлены, осуществлял проверку снова.

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

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

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

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

ID проверки: mathworks.design.CheckAndUpdateOldMaskTabnames

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

Описание

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

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

УсловиеРекомендуемое действие
Блоки маскированные, которые используют параметр MaskTabNames, чтобы создать вкладки программно в диалоговом окне маски, найдены.Нажмите Upgrade, доступный в разделе Action. Если блоки были обновлены, осуществлял проверку снова.

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

Можно осуществить эту проверку моделей библиотеки.

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

Идентифицируйте сомнительные операции для строгого дизайна с одинарной точностью

ID проверки: mathworks.design.StowawayDoubles

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

Описание

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

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

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

VerifyThat:

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

  • В диалоговом окне Configuration Parameters Значение по умолчанию для underspecified типа данных установлено в single.

Модель использует стандарт библиотеки, который не оптимален для строго-единственных проектов.VerifyThat:
  • Все целевые математические библиотеки, пользовавшиеся поддержкой модели реализации с одинарной точностью.

    Установите Параметры конфигурации> Стандартная математическая библиотека к C99 (ISO).

Логические сигналы не реализованы как булевы данные.VerifyThat:
  • В диалоговом окне Configuration Parameters сигналы логики Реализации, когда выбраны булевы данные.

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

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

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

Проверьте, что get_param призывает к блоку CompiledSampleTime

ID проверки: mathworks.design.CallsGetParamCompiledSampleTime

Используйте эту проверку, чтобы идентифицировать файлы MATLAB в вашей рабочей среде, которые содержат вызовы функции get_param возвратить параметр блока CompiledSampleTime.

Описание

Для блоков мультиуровня (включая подсистемы), возвращается Simulink, блок скомпилировал частоту дискретизации как массив ячеек частот дискретизации в блоке. Возвращаемое значение является массивом ячеек пар, удваивается. Код MATLAB, который принимает это возвращаемое значение только как пары, удваивается, может возвратить ошибку, когда названо блоком мультиуровня. Используйте эту проверку, чтобы идентифицировать такой код в вашей среде. Измените эти экземпляры кода, чтобы признать, что массив ячеек пар удваивается вместо этого.

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

blkTs = get_param(block,'CompiledSampleTime');

Вот некоторые примеры, в которых работает оригинальный код, только если blkTs является парой, удваивается, и блок является блоком единственного уровня:

  • Пример 1

    if isinf(blkTs(1))
        disp('found constant sample time')
    end
    

    Поскольку blkTs является теперь массивом ячеек, Simulink дает это сообщение об ошибке:

    Undefined function 'isinf' for input arguments of type 'cell'
    Вместо этого используйте этот код, для которого blkTs может быть массивом ячеек, или пара удваивается.

    if isequal(blkTs, [inf,0])
        disp('found constant sample time')
    end
    
  • Пример 2

    if all(blkTs == [-1,-1])
        disp('found triggered sample time')
    end
    

    Для вышеупомянутого примера, поскольку blkTs является теперь массивом ячеек, Simulink дает эту ошибку:

    Undefined function 'eq' for input arguments of type 'cell'

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

    if isequal(blkTs, [-1,-1])
        disp('found triggered sample time')
    end
  • Пример 3

    if (blkTs(1) == -1)
        disp('found a triggered context')
    end

    Снова, поскольку blkTs является теперь массивом ячеек, Simulink дает эту ошибку:

    Undefined function 'eq' for input arguments of type 'cell'

    Вместо этого используйте этот код.

    if ~iscell(blkTs)
        blkTs = {blkTs};
    end
    for idx = 1:length(blkTs)
        thisTs = blkTs{idx};
        if (thisTs(1) == -1)
            disp('found a triggered context')
        end
    end

    Вышеупомянутый код проверяет на инициированную частоту дискретизации типа (инициированный или асинхронный). В случаях, в которых блок имеет постоянную частоту дискретизации ([inf, 0]) в дополнение к инициированному или асинхронному или когда блок имеет несколько асинхронных уровней, это альтернативное свойство обнаруживает инициированную частоту дискретизации типа.

Эта проверка сканирует файлы MATLAB в вашей среде. Если проверка находит экземпляры кода MATLAB, которые содержат вызовы get_param, чтобы вывести скомпилированную частоту дискретизации блока, Советник по вопросам Обновления отображает эти результаты. Это предлагает, чтобы вы изменили код, который признает, что блок скомпилировал частоту дискретизации от блоков мультиуровня.

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

УсловиеРекомендуемое действие
Никакие файлы MATLAB не вызывают get_param(block,CompiledSampleTime)'none'
Некоторые файлы MATLAB вызывают get_param(block,CompiledSampleTime)Если файлы используют параметр блока CompiledSampleTime от блоков мультиуровня, изменяют эти файлы, чтобы признать, что параметр как массив ячеек пар удваивается.

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

Проверьте модель на инициализацию параметра и настраивающиеся проблемы

ID проверки: mathworks.design.ParameterTuning

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

Описание

Эта проверка сканирует вашу модель для инициализации параметра и настраивающихся проблем как:

  • Несоответствие уровня между блоками

  • Разделитесь на нулевую проблему в условно выполняемых подсистемах

  • Недопустимое значение порта управления в Индексных блоках Вектора

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

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

Модель имеет проблемы перехода уровня.

Выберите переход уровня указателя Automatically для передачи данных в панели Решателя образцовых параметров конфигурации.

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

В командной строке, выполнении

set_param(control_port,'DisallowConstTsAndPrmTs', 'on')

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

В командной строке, выполнении

set_param(control_port,'DisallowConstTsAndPrmTs', 'on')

Результаты действия

Выберите модель Upgrade, чтобы решить вопросы в модели, связанной с инициализацией параметра и настройкой.

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

Проверьте на виртуальную шину через контуры модели - ссылки

ID проверки: mathworks.design.CheckVirtualBusAcrossModelReference

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

Описание

Эта проверка идентифицирует корневой уровень Inport и блоки Outport в моделях, на которые ссылаются, и Блоках модели с виртуальной шиной выходные параметры, которые требуют, чтобы обновления изменились на невиртуальные сигналы шины.

Если проверка идентифицирует проблемы, нажмите Update Model, чтобы преобразовать корневой уровень Inport и блоки Outport, сконфигурированные для виртуальных шин, чтобы использовать невиртуальные шины в этих ситуациях:

  • Для корневого уровня блоки Inport — Включают Вывод как невиртуальный параметр шины и вставляют блок Signal Conversion после блока Inport. Блок Signal Conversion сконфигурирован, чтобы вывести виртуальную шину.

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

  • Для Блоков модели — порты For, блоки Выходного порта которых были обновлены, чтобы решить проблемы, вставляют блок Signal Conversion после соответствующих портов Блока модели. Блок Signal Conversion сконфигурирован, чтобы вывести виртуальную шину.

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

Чтобы решить вопросы, нажмите Upgrade Model.

Примечание

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

Нажатие на Upgrade Model преобразовывает затронутый корневой уровень Inport и блоки Outport, сконфигурированные для виртуальных шин, чтобы использовать невиртуальные шины в моделях где вы:

  • Используйте управление прототипом функции

  • Выполните генерацию Кода С++ с опцией I/O arguments step method.

    Также можно изменить настройки спецификации функции генерации Кода С++ на Default step method:

    1. В Параметрах конфигурации> Генерация кода> Интерфейсная панель, нажмите Configure C ++ Class Interface.

    2. В диалоговом окне, установленном Функциональный параметр спецификации на Default step method.

  • Используйте шины, которые имеют сигналы переменной размерности

  • Используйте связанный неавтоматический класс памяти для блоков-сигналов Выходного порта

    • Преобразование для неавтоматического класса памяти происходит, только если у вас есть целевая лицензия генерации, которой требует модель. Например, цель ERT требует лицензии Embedded Coder.

  • Используйте модели Экспорта функций, где блок Outport управляется невиртуальной шиной

  • Имейте Блоки модели, что эталонные модели, содержащие блоки Выходного порта, которые были зафиксированы — Нажатие Upgrade Model, обновляют Блоки модели, ссылающиеся на модели, которым зафиксировала блоки Выходного порта Анализировать иерархия модели, и продолжите проверку последовательности обновления.

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

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

ID проверки: mathworks.design.DSPFrameUpgrade

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

Описание

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

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

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

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

Следуйте рекомендации, данной Советником по вопросам Обновления.

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

Можно осуществить эту проверку только пользовательских блоков библиотеки в модели.

Необходимо сделать меры вручную.

Эта проверка появляется, только если у вас есть Система DSP установленный Toolbox™.

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

Основанная на кадре обработка (DSP System Toolbox)

Проверьте модель на проблемы обновления S-функции

ID проверки: 'mathworks.design.CheckForSFcnUpgradeIssues'

Используйте это проверяет вашу модель, чтобы идентифицировать проблемы совместимости обновления вашей S-функции. Эти проблемы могут включать использование 32-битных API, компиляцию с несовместимыми опциями или использование отдельных комплексных API устаревших. Некоторые общие вопросы и информация, связанная с мерами, описаны в разделе результатов и рекомендаций ниже.

Описание

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

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

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

Сделанные на заказ S-функции не поддержаны.

Перекомпилируйте свою S-функцию с доступными совместимыми опциями. Смотрите Сделанный на заказ файл MEX, Не Поддержанный В Текущем Релизе (MATLAB) для получения дополнительной информации.

S-функция не компилируется с последним API (mex -R2018a).

Перекомпилируйте использование последнего флага (mex -R2018a). Смотрите, что файл MEX Компилируется С Устаревшей Опцией (MATLAB) для получения дополнительной информации.

S-функция использует 32-битные функции.

Измените свой код согласно инструкциям в Вызовах файла MEX 32-битная Функция (MATLAB).

S-функция использует удержанные от использования отдельные комплексные API (mexGetPi, mexSetPi, mexGetImagData, mexSetImagData).

Используйте чередованные комплексные API и перекомпилируйте ваш код с последним флагом (mex -R2018a). Смотрите файлы MEX Обновления, чтобы Использовать Чередованный Комплексный API (MATLAB) для получения дополнительной информации.

S-функция использует удержанный от использования небезопасный типом API данных (mxGetData, mexSetData).Используйте безопасные с точки зрения типов API данных и перекомпилируйте ваш код. Смотрите Вызовы файла MEX Невведенная Функция Доступа к данным (MATLAB) для получения дополнительной информации.
S-функция скомпилирована с будущим релизом и не поддержана в текущем релизе.Смотрите файл MEX, Созданный В Релизе MATLAB, Не Поддержанном В Текущем Релизе (MATLAB), чтобы перекомпилировать ваши файлы.

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

Проверьте Быстрое журналирование сигнала акселератора

ID проверки: mathworks.design.CheckRapidAcceleratorSignalLogging

При моделировании модели в быстром режиме Accelerator используйте эту проверку, чтобы найти, что сигналы вошли в систему модель, которые глобально отключены. Быстрый режим Accelerator поддерживает журналирование сигнала. Используйте эту проверку, чтобы включить сигнал, регистрирующий глобально.

Описание

Эта проверка сканирует вашу модель, чтобы видеть, находится ли моделирование в быстром режиме Accelerator и содержит ли модель сигналы с журналированием сигнала. Если проверка находит экземпляр, и журналирование сигнала глобально отключено, опция, чтобы включить журналирование сигнала глобально появляется.

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

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

Режим Simulation не является быстрым акселератором.

'none'. Можно включить сигнал, входящий в систему быстрый режим Accelerator.

Режим Simulation является быстрым акселератором. Обновление Советник не нашло сигналы с журналированием сигнала включенными.

'none'. Модель не использует журналирование сигнала. Включите журналирование сигнала для сигналов и глобально если вы хотите регистрировать сигналы.

Режим Simulation является быстрым акселератором. Обновите найденные сигналы Советника с включенным журналированием сигнала. Однако глобальная установка для журналирования сигнала была отключена.

Включите сигнал, регистрирующий глобально, если вы хотите регистрировать сигналы с включенным журналированием сигнала.

Журналирование сигнала было уже глобально включено.

'none'.

Результаты действия

Выбор Modify включает сигнал, регистрирующий глобально в вашей модели.

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

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

ID проверки: mathworks.design.VirtualBusUsage

Входные сигналы контрольной шины для набора блоков.

Описание

Входные сигналы контрольной шины для набора блоков.

Запуск в R2015b, виртуальная шина сигнализирует о входных параметрах к блокам, которые требуют нешины, или невиртуальный входной параметр шины может вызвать ошибку. Примеры блоков, которые могут задать объект шины как их тип выходных данных, включают блок Bus Creator и корневой блок Inport. Блоки, которые вызывают ошибку, когда у них есть виртуальный входной параметр шины в этой ситуации:

  • “()” Присвоение

  • Задержка

    Блок Delay вызывает ошибку, только если вы используете диалоговое окно Block Parameters для:

    • Установите начальное условие, которое является структурой MATLAB или нулем.

    • Задайте значение для имени состояния.

  • Переставьте размерность

  • Изменение

  • Селектор

  • Единичная задержка

    Блок Unit Delay вызывает ошибку, только если вы используете диалоговое окно Block Parameters для:

    • Установите начальное условие, которое является структурой MATLAB или нулем.

    • Задайте значение для имени состояния.

  • Векторная конкатенация

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

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

Виртуальный входной параметр сигнала шины к этим блокам:

  • “()” Присвоение

  • Задержка (если вы задаете начальное условие от диалогового окна, которое является структурой MATLAB или нулем и значением для имени состояния, не пусто),

  • Переставьте размерность

  • Изменение

  • Селектор

  • Единичная задержка (если вы задаете начальное условие, которое является структурой MATLAB или нулем и значением для имени состояния, не пусто),

  • Векторная конкатенация

В Советнике по вопросам Обновления нажмите Modify.

Проверка вставляет блок Bus to Vector, чтобы попытаться преобразовать виртуальные входные сигналы шины в векторные сигналы. Для проблем, которые Советник по вопросам Обновления идентифицирует, но не может зафиксировать, изменить модель вручную. Для получения дополнительной информации смотрите Правильные Шины, Используемые в качестве Векторов.

Результаты действия

Нажатие на Modify вставляет блок Bus to Vector во входных портах блоков.

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

После того, как вы компилируете модель с помощью Советника по вопросам Обновления, Редактор Simulink иногда указывает, что необходимо сохранить модель (модель грязна), даже при том, что вы не вносили изменения. Чтобы препятствовать тому, чтобы эта проблема повторно произошла для этой модели, сохраните модель.

Моделирование шаблонаПроблемаРешение

Блок памяти Хранилища данных с набором Типа данных к Inherit: auto

Блок памяти Хранилища данных, связанная Запись Чтения или Хранилища данных Хранилища данных которого блокирует данные сигнала шины чтения или шины записи, должен использовать объект шины.

В Блоке памяти Хранилища данных, набор Тип данных сигнализируют об атрибуте к Bus: <BusObject>.

Выходной параметр блока Conversion сигнала совпадает с типом входной шины

Блок Signal Conversion, Выходной параметр которого установлен в Nonvirtual bus, требует виртуального входного параметра шины.

Блок Signal Conversion, Выходной параметр которого установлен в Virtual bus, требует невиртуального входного параметра шины.

Чтобы создать копию входного сигнала, установите Вывод на Signal copy.

Объедините, Переключатель или Многопортовый блок switch с несколькими входными параметрами шины

Объедините, Переключатель, или Многопортовые блоки switch с несколькими входными параметрами шины требуют, чтобы те входные параметры имели те же имена и иерархию.

Реконфигурируйте модель так, чтобы входные параметры шины имели те же имена и иерархию.

Корневой блок Inport, выводящий виртуальную шину и задающий значение для размерностей Порта

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

Установите атрибут сигнала размерностей Порта блока Inport на 1 или -1 (inherit).

Мультиплексируйте блок с невиртуальными входными параметрами шины

Блок Mux не может принять невиртуальные сигналы шины.

Чтобы обработать вывод как массив, замените блок Mux на блок Vector Concatenate.

Если вы хотите виртуальную шину вывод, используйте блок Bus Creator, чтобы объединить сигналы.

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

Сигналу нешины не нужен блок Bus to Vector.

Удалите блок Bus to Vector.

Блок Assignment с виртуальными входными параметрами шины

Советник по вопросам Обновления преобразовывает входной параметр шины порта Y0 блока Assignment в вектор.

Добавьте блок Bus to Vector перед блоком Assignment.

S-функция с помощью невиртуальной шины

S-функция, которая не является S-функцией Уровня 2 C, не поддерживает невиртуальные сигналы шины.

Измените S-функцию, чтобы быть S-функцией Уровня 2 C.

Рассмотрите использование блока S-Function Builder, чтобы создать S-функцию Уровня 2 C.

Диаграмма Stateflow с параметризованным типом данных

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

Для параметризованного порта, Типа данных набора к Bus: <object name>.

Подсистема с автобусными перевозками в диаграмме Stateflow

Блок Inport в подсистеме в диаграмме Stateflow требует типа данных Object шины, если его сигнал является шиной.

В блоке Inport, Типе данных набора к Bus: <object name>.

Оснуйте блок, используемый в качестве источника шины

Выходной сигнал блока Ground не может быть источником для шины.

Используйте блок Constant с набором Постоянного значения к 0 и набором атрибута сигнала типа Выходных данных к Bus: <object name>.

Корневой блок Outport с одноэлементным типом данных Object шины

Входной параметр к блоку Outport должен быть шиной, если это задает объект шины как свой тип данных.

В блоке Outport, Типе данных набора к Inherit: auto 'auto'.

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

Проверьте на корневые выходные порты с постоянной частотой дискретизации

ID проверки: mathworks.design.CheckConstRootOutportWithInterfaceUpgrade

Используйте эту проверку, чтобы идентифицировать корневые выходные порты с постоянной частотой дискретизации, используемой с целью AUTOSAR, Управлением Прототипом функции или образцовым интерфейсом класса C++.

Описание

Корневые выходные порты с постоянной частотой дискретизации не поддержаны при использовании цели AUTOSAR, Управления Прототипом функции или образцового интерфейса класса C++. Используйте эту проверку, чтобы идентифицировать корневые блоки Выходного порта с этим условием и изменить блоки, как рекомендуется.

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

УсловиеРекомендуемое действие
Корневой выходной порт с постоянной частотой дискретизации, используемой с целью AUTOSAR, Управлением Прототипом функции или образцовым интерфейсом класса C++.Рассмотрите одно из следующего:
  • Установите частоту дискретизации блока к основной частоте дискретизации.

  • Идентифицируйте источник постоянной частоты дискретизации и установите ее частоту дискретизации на основную частоту дискретизации.

  • Поместите блок Rate Transition с наследованной частотой дискретизации (-1) перед блоком.

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

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

ID проверки: com.mathworks.Simulink.UpgradeAdvisor.UpgradeModelHierarchy

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

Описание

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

  • Если проверка находит дочерние модели, она предлагает запускать Советника по вопросам Обновления на каждую дочернюю модель в свою очередь и продолжать последовательность обновления. Если у вас есть иерархия модели, необходимо проверить и обновить каждую дочернюю модель в свою очередь.

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

Необходимо запустить регистрации обновления этого порядка: сначала проверки, которые не запрашивают информацию времени компиляции и не инициировать Схему Обновления, затем проверки компиляции.

Нажмите Continue Upgrade Sequence, чтобы осуществить следующие проверки. Если будут дочерние модели, это откроет следующую модель. Продолжите нажатие по Continue Upgrade Sequence до передач проверки.

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

УсловиеРекомендуемое действие
Найдены дочерние моделиНажмите Continue Upgrade Sequence, чтобы осуществить следующие проверки. Если будут дочерние модели, это закроет текущего Советника по вопросам Обновления сеанс и откроет Советника по вопросам Обновления по следующей модели в иерархии.
Никакие дочерние модели, но больше проверок, чтобы запуститьсяЕсли нет никаких дочерних моделей, нажмите Continue Upgrade Sequence, чтобы обновить Советника по вопросам Обновления с выбранными проверками компиляции. Проверки компиляции инициировали Схему Обновления (отмеченный ^). Осуществите следующие проверки и примите рекомендуемые меры. Когда вы возвратитесь к этой проверке, нажмите Continue Upgrade Sequence до этой проверки передачи.

Советы

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

Когда вы нажимаете Continue Upgrade Sequence, Upgrade Advisor открывает листовую модель настолько далеко в иерархии, как это может найти. Последующие шаги проводят вас по обновлению вашей иерархии от листа, чтобы базироваться модель.

Когда вы открываете Советника по вопросам Обновления, проверки, которые выбраны, не запрашивают информацию времени компиляции и не инициировали Схему Обновления. Проверки, которые инициировали Схему Обновления, не выбраны, чтобы запуститься по умолчанию и отмечены ^. Когда вы будете использовать Советника по вопросам Обновления на иерархии, продолжите нажатие по Continue Upgrade Sequence, чтобы переместиться через эту последовательность анализа:

  1. Советник по вопросам Обновления открывает каждую модель и библиотеку в свою очередь, от листа, чтобы базироваться, и выбирает проверки некомпиляции. Осуществите проверки, примите любые рекомендуемые меры, затем нажмите Continue Upgrade Sequence, чтобы открыть следующую модель и продолжиться.

  2. Когда вы достигаете корневого конца иерархии, Советник по вопросам Обновления затем открывает каждую модель снова в том же порядке (но не библиотеки) и выбирает только проверки, которые требуют образцовой компиляции. Осуществите проверки, примите любые рекомендуемые меры, затем нажмите Continue Upgrade Sequence, чтобы открыть следующую модель. Продолжите, пока вы не достигнете конца иерархии и этой проверки передачи.

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

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

ID проверки: mathworks.design.ConflictsForDataStoreReadWriters

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

Описание

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

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

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

К Блоку памяти Хранилища данных получают доступ несколько блоков в той же иерархии.

Чтобы осуществить порядок выполнения для блоков, рассмотрите следующее:

  • Добавьте зависимость по данным между блоками.

  • Установите блочный приоритет.

  • Переместите блоки в отдельные блоки Подсистемы вызова функций и запланируйте их.

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

Была ли эта тема полезной?