Проверки Simulink Code Inspector

Simulink Code Inspector проверяет обзор

Используйте Simulink® Code Inspector™ проверки Model Advisor, чтобы сконфигурировать вашу модель для инспекции кода. Если у вас есть лицензия Simulink Check™, ​ вы может использовать разовую редактированием проверку, чтобы идентифицировать проблемы совместимости в процессе разработки моделей. Подмножество проверок Model Advisor поддерживает разовую редактированием проверку. Однако разовая редактированием проверка не отмечает нарушения для всех ограничений поддерживаемых проверок Model Advisor. Это отмечает некоторые определенные нарушения ограничений.

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

Настройки генерации проверки кода

ID проверки: mathworks.slci.CodeGenerationSettings

Настройки генерации проверки кода в настройке модели, которая может повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка проверяет, что настройки генерации кода совместимы с инспекцией кода.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify 'Use dynamic memory allocation for model initialization' setting Модель сконфигурирована, чтобы динамически выделить память.В диалоговом окне Configuration Parameters очистите поле Use dynamic memory allocation for model initialization (Simulink Coder).
Verify 'Shared code placement' settingМодель не сконфигурирована, чтобы сгенерировать совместно использованный служебный код к общему ресурсу. Если разделяемый служебный код сгенерирован в modelC, Simulink Code Inspector сообщает о коде, как не проверено.В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, устанавливает Shared code placement (Simulink Coder) на Shared location. Используя общий ресурс для служебных функций, макросы и пользовательские типы данных способствуют отладке и трассируемости сгенерированного кода.
Verify 'Source file' settingПользовательский код сконфигурирован, чтобы появиться около верхней части сгенерированного исходного файла модели.В диалоговом окне Configuration Parameters, на панели Code Generation > Custom Code, очищают поле Source file (Simulink Coder).
Verify 'Header file' settingПользовательский код сконфигурирован, чтобы появиться около верхней части сгенерированного заголовочного файла модели.В диалоговом окне Configuration Parameters, на панели Code Generation > Custom Code, очищают поле Header file (Simulink Coder).
Verify 'Initialize function' settingПользовательский код сконфигурирован, чтобы появиться в сгенерированной модели, инициализируют функцию.В диалоговом окне Configuration Parameters, на панели theCode Generation > Custom Code, очищают поле Initialize function (Simulink Coder).
Verify 'Terminate function' settingПользовательский код сконфигурирован, чтобы появиться в сгенерированной оконечной функции модели.В диалоговом окне Configuration Parameters, на Code Generation > Custom Code и ясный поле Terminate function (Simulink Coder).
Verify 'Disable incompatible optimizations' settingМодель не сконфигурирована, чтобы отключить оптимизацию, которая несовместима с Simulink Code Inspector.В MATLAB® Командное окно, установленное параметр модели AdvancedOptControl к -SLCI. Например, set_param(gcs, 'AdvancedOptControl', '-SLCI').
Verify 'Combine signal/state structures' settingМодель сконфигурирована, чтобы объединить глобальные блоки-сигналы и глобальные данные состояния в одну структуру данных в сгенерированном коде. Это не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters очистите Combine signal/state structures (Embedded Coder) параметр.
Verify 'Array layout' settingЭта модель сконфигурирована, чтобы сгенерировать код в упорядоченном по строкам размещении. Это не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters, набор размещение Массивов (Simulink Coder) параметр к column-major.
Verify 'Remove code from floating-point to integer conversions that wraps out-of-range values' settingМодель сконфигурирована, чтобы не удалить переносящийся код, который обрабатывает из области значений с плавающей точкой к целочисленным результатам преобразования, когда преобразования из области значений происходят.В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, выбирают Remove code from floating-point to integer conversions that wraps out-of-range values (Simulink Coder).
Verify 'Remove code from floating-point to integer conversions with saturation that maps NaN to zero' settingМодель сконфигурирована, чтобы удалить код, который обрабатывает с плавающей точкой к целочисленным результатам преобразования для NaN значения при отображении от NaN к целочисленному нулю происходит.В диалоговом окне Configuration Parameters очистите Remove code from floating-point to integer conversions with saturation that maps NaN to zero (Simulink Coder) параметр.
Verify 'Include comments' settingМодель сконфигурирована, чтобы не использовать автоматически сгенерированные комментарии из файлов сгенерированного кода. Синтаксические анализы Simulink Code Inspector автоматически сгенерировали комментарии, чтобы получить информацию о трассируемости о данных модели.В диалоговом окне Configuration Parameters, на панели Code Generation > Comments, выбирают Include comments (Simulink Coder).
Verify 'Generate scalar inlined parameter as' settingМодель сконфигурирована, чтобы сгенерировать встроенные параметры скаляра как переменные с #define макросы, а не как числовые константы.В диалоговом окне Configuration Parameters, на панели Code Generation > Identifiers, устанавливает Generate scalar inlined parameter as (Embedded Coder) на Literals.
Verify 'Preserve condition expression in if statement' settingМодель сконфигурирована, чтобы оптимизировать пустые первичные выражения условия в if операторы путем отрицания их, вместо того, чтобы сохранить пустые первичные выражения условия.В диалоговом окне Configuration Parameters, на панели Code Generation > Code Style, выбирают Preserve condition expression in if statement (Embedded Coder).
Verify 'Code replacement library' settingЗаменяющая библиотека кода кроме None выбран для модели.В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, устанавливает Code replacement library (Simulink Coder) на None. Проверка не передает, если вы не выбираете None. Однако, если вы создаете свою библиотеку с помощью Поддерживаемых Функций и Операций в Заменяющих Библиотеках Кода, Simulink Code Inspector действительно смотрит сгенерированный код.
Verify 'Language standard' settingСтандарт языка кроме C89/C90 (ANSI) or C99 (ISO) выбран для модели.В диалоговом окне Configuration Parameters, набор Standard math library (Simulink Coder) к C89/C90 (ANSI) или C99 (ISO).
Verify 'Classic call interface' settingМодель сконфигурирована, чтобы сгенерировать вызовы функции модели, совместимые с основным программным модулем цели pre-R2011a GRT. Классический интерфейс вызова не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters очистите Classic call interface (Simulink Coder) параметр.
Verify 'Terminate function required' settingМодель сконфигурирована, чтобы сгенерировать a model_terminate функция, потенциально содержащая код завершения модели, который будет выполняться во время завершения работы системы. Это не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters очистите Terminate function required (Embedded Coder) параметр.
Verify 'Remove code that protects against division arithmetic exceptions' settingМодель сконфигурирована, чтобы удалить код, который принимает меры против деления на нуль для данных фиксированной точки.В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, очищают Remove code that protects against division arithmetic exceptions (Embedded Coder) параметр.
Verify 'MAT-file logging' settingМодель сконфигурирована, чтобы регистрировать данные о выполнении к MAT-файлу. Это не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters очистите MAT-file logging (Simulink Coder) параметр.
Verify 'Pack Boolean data into bitfields' settingМодель сконфигурирована, чтобы сохранить булевы сигналы как однобитные битовые поля.В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, очищают Pack Boolean data into bitfields (Embedded Coder) параметр.
Verify ‘Use bitsets for storing state configuration’ settingМодель сконфигурирована, чтобы уменьшать объем памяти, требуемый сохранить переменные настройки состояния.В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, очищают Use bitsets for storing state configuration (Simulink Coder) параметр.
Verify 'non-finite numbers' settingМодель сконфигурирована, чтобы сгенерировать неличные данные (например, NaN и Inf) и связанные операции. Это не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, очищают Support: non-finite numbers (Simulink Coder) параметр.
Verify 'absolute time' settingМодель сконфигурирована, чтобы сгенерировать и обеспечить целочисленные счетчики для значений абсолютного и прошедшего времени. Это не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, очищают Support: absolute time (Embedded Coder) параметр.
Verify 'Operator to represent Bitwise and Logical Operator blocks' settingМодель сконфигурирована, чтобы сгенерировать код, который представляет побитовые операторы как логический оператор.В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, устанавливает Operator to represent Bitwise and Logical Operator blocks (Embedded Coder) на Same as modeled или Bitwise operator.
Verify ‘Default parameter behavior’ settingМодель, на которую ссылаются, сконфигурирована, чтобы использовать символьные имена для параметров модели в сгенерированном коде.В диалоговом окне Configuration Parameters, набор Default parameter behavior (Simulink Coder) к Inlined.
Verify 'Remove error status field in real-time model data structure' settingМодель сконфигурирована, чтобы включать ошибочное поле состояния в сгенерированный rtModel структура данных. rtModel структура данных не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, выбирают Remove error status field in real-time model data structure (Embedded Coder).
Verify 'Create block' settingМодель сконфигурирована, чтобы сгенерировать блок SIL или PIL во время генерации кода. Это не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters, набор Create block (Embedded Coder) к None.
Verify 'Measure function execution times' settingМодель сконфигурирована, чтобы сгенерировать код с инструментированием, чтобы собрать времена выполнения для функций в сгенерированном коде. Это не поддерживается для инспекции кода.В диалоговом окне Configuration Parameters, на панели Code Generation > Verification, очищают Measure function execution times (Embedded Coder) параметр.
Verify 'Signal naming' settingМодель сконфигурирована, чтобы изменить названия сигнала при создании соответствующих идентификаторов в сгенерированном коде.В диалоговом окне Configuration Parameters, на панели Code Generation > Identifiers, устанавливает Signal naming (Embedded Coder) на None.
Verify 'Parameter naming' settingМодель сконфигурирована, чтобы изменить названия параметра при создании соответствующих идентификаторов в сгенерированном коде.В диалоговом окне Configuration Parameters, на панели Code Generation > Identifiers, устанавливает Parameter naming (Embedded Coder) на None.
Verify 'TLC options' settingМодель сконфигурирована с опциями TLC.В командном окне MATLAB, набор параметр конфигурации модели TLCOptions к unspecified или -aMaxStackVariableSize=inf. Например, set_param(gcs, 'TLCOptions', ' ') или set_param(gcs, 'TLCOptions', '-aMaxStackVariableSize=inf').
Verify ‘variable-size signals’ settingМодель сконфигурирована, чтобы сгенерировать код для моделей тот переменный размер использования сигналы.В диалоговом окне Configuration Parameters, на панели Code Generation, очищают поле Support: variable-size signals (Embedded Coder).
Verify 'Single output/update function' settingМодель сконфигурирована, чтобы сгенерировать код в отдельном model_output и model_update функции, а не a model_step функция, которая комбинирует два.В диалоговом окне Configuration Parameters выберите Single output/update function (Simulink Coder).
Verify ‘Casting Modes’ settingМодель сконфигурирована, чтобы сгенерировать код, который бросает значения типа данных явным образом.В диалоговом окне Configuration Parameters, на панели Code Generation > Code Style, устанавливает Casting Modes (Embedded Coder) на Nominal или Standards.
Verify 'Suppress generation of default cases for Stateflow switch statements if unreachable' settingМодель сконфигурирована, чтобы сгенерировать случаи по умолчанию для операторов case оператора switch в коде для Stateflow® графики.В диалоговом окне Configuration Parameters, на панели Code Generation> Code Style, очищают поле Suppress generation of default cases for Stateflow switch statements if unreachable (Embedded Coder).
Verify ‘Optimize using the specified minimum and maximum values’ settingМодель сконфигурирована, чтобы оптимизировать сгенерированный код с помощью информации об области значений, выведенной из минимальных и максимальных заданных значений для сигналов и параметров в модели.В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, очищают Optimize using the specified minimum and maximum values (Embedded Coder) параметр.
Verify ‘parameters’ setting

Модель сконфигурирована, чтобы сгенерировать API-интерфейс C к глобальным параметрам блоков.

В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, ясный Generate C API for: parameters (Simulink Coder).
Verify ‘signals’ setting

Модель сконфигурирована, чтобы сгенерировать API-интерфейс C с глобальным блоком выходные параметры.

В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, ясный Generate C API for: signals (Simulink Coder).
Verify ‘states’ setting

Модель сконфигурирована, чтобы сгенерировать API-интерфейс C к дискретным и непрерывным состояниям.

В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, ясный Generate C API for: states (Simulink Coder).
Verify ‘root-level I/O’ setting

Модель сконфигурирована, чтобы сгенерировать API-интерфейс C к вводам и выводам корневого уровня.

В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, ясный Generate C API for: root-level I/O (Simulink Coder).
Verify ‘External mode’ setting

Модель сконфигурирована, чтобы сгенерировать код для интерфейса данных о режиме external mode.

В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, ясный External mode (Simulink Coder).
Verify ‘ASAP2 interface’ setting

Модель сконфигурирована, чтобы сгенерировать код для интерфейса данных ASAP2.

В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, ясный ASAP2 interface (Simulink Coder).
Verify 'Generate an example main program' settingМодель не сконфигурирована, чтобы сгенерировать пример основная программа.В диалоговом окне Configuration Parameters, на панели Code Generation > Templates, выбирают Generate an example main program (Embedded Coder).
Verify ‘Use bitsets for storing Boolean data’ settingМодель сконфигурирована, чтобы использовать bitsets для того, чтобы хранить булевы данные.В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, очищают Use bitsets for storing Boolean data (Simulink Coder) параметр.
Verify 'Simplify array indexing' settingМодель сконфигурирована, чтобы сгенерировать код, который умножают замены, операции с добавляют операции в индексах массива при доступе к массивам в цикле.В диалоговом окне Configuration Parameters очистите Simplify array indexing (Embedded Coder) параметр.
Verify 'Rate Transition block code' settingМодель сконфигурирована, чтобы разделить блочный код Rate Transition и данные из типового кодекса и данные.В диалоговом окне Configuration Parameters, на панели Code Generation > Code Placement, устанавливает Rate Transition block code (Embedded Coder) на Inline.

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

Ограничения параметра конфигурации Simulink

Проверяйте настройки импорта/экспорта данных

ID проверки: mathworks.slci.DataImportSettings

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

Описание

Эта проверка проверяет, что настройки импорта/экспорта данных совместимы с инспекцией кода.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify 'Initial state' settingМодель сконфигурирована, чтобы загрузить начальные состояния из рабочей области, которая не совместима с инспекцией кода.В диалоговом окне Configuration Parameters, на панели Data Import/Export, очищают параметр Initial state.

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

Ограничения параметра конфигурации Simulink

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

ID проверки: mathworks.slci.DiagnosticsSettings

Проверяйте диагностические настройки в настройку модели, которая может повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка проверяет, что диагностические настройки совместимы с инспекцией кода.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify ‘Multitask data store’ settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда одна задача считывает данные от Блока памяти Хранилища данных, до которого записывает данные другая задача.В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity, устанавливает Multitask data store на error.
Verify ‘Multitask data transfer’ settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда недопустимый переход уровня находился между двумя блоками, действующими в многозадачном режиме.В диалоговом окне Configuration Parameters, на панели Diagnostics > Sample Time, устанавливает Multitask data transfer на error.
Verify ‘Multitask conditionally executed subsystem’ settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда программное обеспечение Simulink обнаруживает подсистему, которая может вызвать повреждение данных или недетерминированное поведение.В диалоговом окне Configuration Parameters, на панели Diagnostics > Sample Time, устанавливает Multitask conditionally executed subsystem на error.
Verify 'Underspecified initialization detection' settingМодель не сконфигурирована, чтобы инициализировать начальные условия блока с помощью упрощенного поведения. Упрощенное поведение может улучшить непротиворечивость результатов модели.В диалоговом окне Configuration Parameters, набор Underspecified initialization detection к Simplified.
Verify 'Non-bus signals treated as bus signals' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда программное обеспечение Simulink неявно преобразует сигнал нешины в сигнал шины поддержать соединение сигнала с блоком Селектора Присвоения или Шины Шины.В диалоговом окне Configuration Parameters, на панели Diagnostics > Connectivity, устанавливает Non-bus signals treated as bus signals на error.
Verify 'Detect downcast' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда удрученный параметр происходит в процессе моделирования.В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity, устанавливает Detect downcast на error.
Verify 'Detect overflow' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда переполнение параметра происходит в процессе моделирования.В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity > Parameters, устанавливает Detect overflow на error.
Verify 'Detect overflow' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда переполнение сигнала происходит в процессе моделирования.В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity > Signals, устанавливает Wrap on overflow на error.
Verify 'Saturate on overflow' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда значение сигнала является слишком большим, чтобы быть представленным типом данных сигнала, приводящим к насыщению.В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity > Signals, устанавливает Saturate on overflow на error.
Verify 'Detect underflow' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда потеря значимости параметра происходит в процессе моделирования.В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity, устанавливает Detect underflow на error.
Verify 'Detect loss of tunability' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда выражение с настраиваемыми переменными уменьшается до своего числового эквивалента.В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity, устанавливает Detect loss of tunability на error.
Verify 'Unexpected backtracking' setting

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

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

  • Имеет несколько продвижения путей к переходу к нему

В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Unexpected backtracking на error.
Verify 'Invalid input data access in chart initialization' setting

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

  • Имеет ExecuteAtInitialization набор свойств к true

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

В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Invalid input data access in chart initialization на error.
Verify 'No unconditional default transitions' setting Модель не сконфигурирована, чтобы сгенерировать ошибку, когда график не имеет безусловного перехода по умолчанию к состоянию или соединения.В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает No unconditional default transitions на error.
Verify 'Transition outside natural parent' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда график содержит переход что циклы вне родительского состояния или соединения.В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Transition outside natural parent на error.
Verify ‘Unreachable execution path’ settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда построение графика не находится на допустимом пути к выполнению.В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Unreachable execution path на error.
Verify 'Undirected event broadcasts' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда график содержит неориентированные локальные широковещательные сообщения события.В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Undirected event broadcasts на error.
Verify 'Transition action specified before condition action' settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда действие перехода выполняется перед действием условия в пути к переходу с несколькими сегментами перехода.В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Transition action specified before condition action на error.
Verify Bus signal treated as vector settingМодель не сконфигурирована, чтобы сгенерировать ошибку, когда программное обеспечение Simulink обнаруживает сигнал виртуальной шины, который используется в качестве сигнала мультиплексора. Строгое поведение шины не осуществляется.В диалоговом окне Configuration Parameters, на панели Diagnostics > Connectivity, устанавливает Bus signal treated as vector на error.
Verify 'Allow symbolic dimension specification' settingsМодель сконфигурирована, чтобы позволить символьную спецификацию размерности.В диалоговом окне Configuration Parameter очистите Позволение символьного поля спецификации размерности.

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

Ограничения параметра конфигурации Simulink

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

ID проверки: mathworks.slci.HardwareImplementationSettings

Проверяйте настройки аппаратной реализации в настройку модели, которая может повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify 'char' settingДлина в битах символьных данных для производственного оборудования не равняется 8.В диалоговом окне Configuration Parameters, на панели Hardware Implementation, выбирают производственное оборудование Device type, который совместим с настройками в этой таблице.
Verify 'short' settingДлина в битах short данные для производственного оборудования не равняются 16.
Verify 'int' settingДлина в битах int данные для производственного оборудования не равняются 32.
Verify 'long' settingДлина в битах long данные для производственного оборудования не равняются 32.
Verify 'float' settingДлина в битах данных с плавающей точкой для производственного оборудования не равняется 32.
Verify 'double' settingДлина в битах double данные для производственного оборудования не равняются 64.
Verify 'pointer' settingДлина в битах данных об указателе для производственного оборудования не равняется 32.
Verify 'native' settingСобственный размер слова микропроцессора для производственного оборудования не равняется 32 биты.
Verify 'Signed integer division rounds to' settingМетод создания частного целого числа со знаком для производственного оборудования не должен выбирать целое число, которое ближе к нулю (Zero метод).
Verify 'Shift right on a signed integer as arithmetic shift' settingМетод, которым компилятор реализует сдвиг вправо целого числа со знаком для производственного оборудования, не является арифметическим сдвигом вправо.
Verify ‘Support long long’ settingИспользование C долго долгий тип данных включено.В диалоговом окне Configuration Parameters, на панели Hardware Implementation, не выбирают Support long long.
Verify 'Test hardware is the same as production hardware' settingТестовое оборудование отличается от оборудования развертывания.В диалоговом окне Configuration Parameters выберите Test hardware is the same as production hardware.
Verify 'Device vendor->Device type‘ settingПоставщиком устройства и типом устройства является ASIC/FPGA.

В диалоговом окне Configuration Parameters, на панели Hardware Implementation, под Test hardware, не выбирают Device vendor ASIC/FPGA.

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

Ограничения параметра конфигурации Simulink

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

ID проверки: mathworks.slci.MathandDataTypesSettings

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

Описание

Эта проверка проверяет, что математика и настройки типа данных совместимы с инспекцией кода.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify 'Implement logic signals as Boolean data (vs. double)' settingМодель сконфигурирована, чтобы реализовать логические сигналы с double тип данных, а не с более эффективным памятью boolean тип данных.В диалоговом окне Configuration Parameters выберите Implement logic signals as Boolean data (vs. double).

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

Ограничения параметра конфигурации Simulink

Проверяйте настройки решателя

ID проверки: mathworks.slci.SolverSettings

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

Описание

Эта проверка проверяет, что настройки решателя совместимы с инспекцией кода.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify 'Type' settingМодель сконфигурирована с решателем переменного шага.В диалоговом окне Configuration Parameters, на панели Solver, устанавливает Type на Fixed-step.
Verify 'Solver' settingМодель сконфигурирована с решателем кроме фиксированного шага дискретный решатель.В диалоговом окне Configuration Parameters, на панели Solver, устанавливает Solver на discrete (no continuous states) (эквивалентный FixedStepDiscrete заданный в командной строке).
Verify ‘Periodic sample time constraint’ settingМодель устанавливает Periodic sample time constraint на Specified.В диалоговом окне Configuration Parameters, на панели Solver, устанавливает Periodic sample time constraint на Unconstrained или Ensure sample time independent.
Verify ‘Automatically handle rate transition for data transfer’ settingМодель сконфигурирована, чтобы вставить скрытые блоки Перехода Уровня между блоками, когда переходы уровня обнаруживаются. В диалоговом окне Configuration Parameters, на панели Solver, снимают флажок Automatically handle rate transition for data transfer.
Verify ‘Allow tasks to execute concurrently on target’ settingПараметр конфигурации модели Allow tasks to execute concurrently on target (ConcurrentTasks) выбран. В диалоговом окне Configuration Parameters, на панели Solver, снимают флажок Allow tasks to execute concurrently on target.

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

Ограничения параметра конфигурации Simulink

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

ID проверки: mathworks.slci.UnconnectedObjects

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for unconnected objectsОдна или несколько линий, входных портов или выходных портов правильно не соединяются в модели или подсистеме. Это может привести к мертвому коду или скрытым наземным блокам.Соедините или удалите затронутые блоки.

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

Ограничения атрибута всей модели

Установка конечного файла системы контроля

ID проверки: mathworks.slci.SystemTargetFileSettings

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

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

Описание

Эта проверка проверяет, что System target file, выбранным для модели, является ert.tlc или выведен из ert.tlc.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify system target file settingСистемным конечным файлом, выбранным для модели, не является ert.tlc или ERT-выведенная цель.В диалоговом окне Configuration Parameters, на панели Code Generation, set System target file (Simulink Coder) к ert.tlc или ERT-выведенная цель.

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

Ограничения параметра конфигурации Simulink

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

ID проверки: mathworks.slci.FcnSpecSettings

Проверяйте на функциональные настройки спецификации, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check C Step Function Interface settingМодель задает пользовательских прототипов функции для функций записи модели. Это не поддерживается для инспекции кода.В Редакторе Simulink перспектива кода, в редакторе Отображений Кода, выбирают вкладку Functions. В строке для ступенчатой функции щелкните в функции в столбце Function Preview. В диалоговом окне Configure C Step Function Interface очистите установку Configure arguments for Step function prototype.

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

Ограничения атрибута всей модели

Проверяйте на данные о машине Stateflow

ID проверки: mathworks.slci.StateflowMachineData

Проверяйте модель на данные Stateflow осциллографа машины. Данные осциллографа машины несовместимы с Simulink Code Inspector

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
All Stateflow data must be parented by a Stateflow chartМодель содержит данные Stateflow осциллографа машины.Измените модель так, чтобы она не содержала данные Stateflow осциллографа машины.

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

Спецификация данных (Stateflow)

Проверяйте на события машины Stateflow

ID проверки: mathworks.slci.StateflowMachineEvents

Проверяйте модель на события Stateflow осциллографа машины. События осциллографа машины несовместимы с Simulink Code Inspector

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
All Stateflow events must be parented by a Stateflow chartМодель содержит события Stateflow осциллографа машины.Измените модель так, чтобы она не содержала события Stateflow осциллографа машины.

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

События (Stateflow)

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

ID проверки: mathworks.slci.ConditionallyExecuteInputs

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify conditional input branch execution settingПараметр конфигурации модели Conditional input branch execution выбран, но Включите локальному блоку выходные параметры (Simulink Coder), не выбран. Модель должна включить локальному блоку выходные параметры при использовании условного входного выполнения ветви.В диалоговом окне Configuration Parameters, на панели Optimization, выбирают Enable локальный блок выходные параметры (Simulink Coder).
Проверьте, что Допускающая повторное использование или подсистема Одноразового использования блокируется, выходные параметры не являются входными параметрами с блоками Multiport Switch, когда параметр конфигурации модели выполнения ветви входа Conditional выбранМодель использует Допускающий повторное использование или блок подсистемы Одноразового использования выходные параметры в качестве входных параметров с блоком Multiport Switch, когда выполнение ветви входа Conditional параметра конфигурации модели выбрано.Измените модель так, чтобы Допускающий повторное использование или блок подсистемы Одноразового использования выходные параметры не был входными параметрами с блоком Multiport Switch.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.CodeGenFolderStructure

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

Описание

Эта проверка проверяет, что в Настройках Simulink Code generation folder structure установлен в Model Specific для модели.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check the code generation folder structure for the modelМодель имеет неподдерживаемую структуру папок генерации кода.В Настройках Simulink, на панели General, устанавливает Code generation folder structure на Model Specific.

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

Ограничения атрибута всей модели

Проверяйте на неподдерживаемые настройки Code Mappings

ID проверки: mathworks.slci.CodeMappingDefaults

Проверяйте на неподдерживаемые настройки Code Mapping.

Описание

Эта проверка проверяет что Default класс памяти используется для каждой категории элемента модели на вкладке Data Defaults редактора Отображений Кода.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for unsupported Code Mapping settingsКатегории элемента модели используют неподдерживаемую установку класса памяти на вкладке Data Defaults редактора Отображений Кода.В редакторе Отображений Кода, на вкладке Data Defaults под Code Mappings-C, устанавливает класс памяти на Default для каждой категории элемента модели.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.StructureStorageClass

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

Описание

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

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

ПодпроверятьУсловиеРекомендуемое действие
Check model arguments for storage classesАргумент модели имеет класс памяти.Измените модель так, чтобы аргументы модели не имели классов памяти.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.MATLABFunctionCodeUsage

Идентифицируйте код в функциях MATLAB, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check non-inlined user defined functions with global variables in MATLAB codeИспользование невстроенных пользовательских функций с глобальными переменными не поддерживается.
  • Измените код MATLAB так, чтобы невстроенные определяемые пользователем функции не имели глобальных переменных в допускающей повторное использование или пустой пустотой подсистеме.

  • Установите параметр модели Code interface packaging (CodeInterfacePackaging) к Nonreusable function.

Check that array subscripting in MATLAB code uses a constant index of 1 for a corresponding dimension of size 1Индекс массивов в коде MATLAB использует значение индекса кроме 1 для соответствующего измерения массива размера 1.Измените код MATLAB так, чтобы индексирование массивов использовало постоянный индекс 1 для соответствующей размерности размера 1.
Check that array indexing in MATLAB code uses a subscript that is less than or equal to the array base dimensionИндекс массива в коде MATLAB использует индекс, который больше базовой размерности массивовИзмените код MATLAB так, чтобы индексация массива использовала индекс, который меньше чем или равен базовой размерности массивов.
Check type argument for cast in MATLAB functionsФункция MATLAB не поддержала аргумент типа в функциях броска.

Измените функцию броска к одной из следующих форм:

  • cast(A,'newclass')

  • cast(A,'like',p)

Check that colon operators in MATLAB code have no more than 3 operandscolon (:) оператор имеет больше чем 3 операнда.

Измените код MATLAB так, чтобы colon (:) операторы не имеют больше чем 3 операндов.

Check that colon operators in MATLAB code use only integer and double datacolon (:) оператор использует одни или символьные данные.

Измените код MATLAB так, чтобы colon (:) операторы используют целое число или двойные данные.

Check that data used in MATLAB function is of a supported data typeДанные, используемые в функции MATLAB, не имеют типа: booleanint8int16int32uint8uint16uint32единственный'double', или скалярная шина.Измените данные, чтобы быть поддерживаемым типом данных.
Check that diagonal number used in a diag function in MATLAB code is constantdiag функция задает диагональный номер, который не является константой.Измените diag функционируйте, чтобы использовать постоянный диагональный номер.
Check that code in MATLAB function is of a supported dimension
  • Идентификаторы, используемые в присвоении, массиве, аргументах вызова функции и функциональных аргументах определения, имеют размерность, больше, чем 2D.

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

Измените идентификаторы, чтобы быть поддерживаемой размерностью.
Check that if statements in MATLAB code use conditions that are scalarif оператор использует условие, которое не является скаляром.Измените код MATLAB так, чтобы if операторы используют условия, которые являются скаляром.
Check for nonempty brackets in MATLAB codeКод MATLAB содержит пустые скобки.Измените код MATLAB так, чтобы не было пустых скобок.
Check that for statements in MATLAB code have index ranges that are mono incremental colon expressionsКод MATLAB содержит for операторы с областями значений индекса, которые не являются моно инкрементными выражениями двоеточия.Измените код MATLAB так, чтобы for операторы имеют области значений индекса, которые являются моно инкрементными выражениями двоеточия.
Check that for statements in MATLAB code have index range values that are literal const integersКод MATLAB содержит for операторы со значениями области значений индекса, которые не являются литеральными целыми числами const.Измените код MATLAB так, чтобы for операторы имеют значения области значений индекса, которые являются литеральными целыми числами const.
Check that for statements in MATLAB code have scalar index valuesКод MATLAB содержит for операторы с нескалярными значениями индекса.Измените код MATLAB так, чтобы for операторы имеют скалярные значения индекса.
Check that data defined in MATLAB function is of a double or single data typeОперанды точечного оператора степени не имеют типа, одного или двойного.Измените данные к поддерживаемому типу данных одного или двойных.
For MATLAB root function, do not specify coder.inline directive or set coder.inline directive to 'always'. For user defined MATLAB functions, explicitly set coder.inline directive to 'always' or 'never'Функция MATLAB не использует, поддержал coder.inline директива.

Измените использование coder.inline директива.

Поскольку MATLAB базируется функции, если coder.inline директива задана, она должна быть установлена в always.

Для пользовательских функций MATLAB, coder.inline директива должна быть явным образом установлена в always или never.

Check that math functions in MATLAB code use only integer and floating-point dataМатематические функции в коде MATLAB используют булевы данные о типе.Измените код MATLAB так, чтобы математические функции использовали только целое число или двойные данные.
Check that no code in MATLAB functions has missing data type informationФункция MATLAB имеет информацию об отсутствующем типе данных.

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

Примечание

Если ваш код MATLAB приводит эту проверку к сбою, это может быть, потому что существует недостижимый код. Зафиксируйте любой mlint предупреждение связанного с недостижимым кодом, чтобы разрешить несовместимость.

Check that no code in MATLAB functions has missing dimension informationФункция MATLAB имеет недостающую информацию о размерности.

Измените функцию, чтобы устранить код с недостающей информацией о размерности.

Примечание

Если ваш код MATLAB приводит эту проверку к сбою, это может быть, потому что существует недостижимый код. Зафиксируйте любой mlint предупреждение связанного с недостижимым кодом, чтобы разрешить несовместимость.

Check that all function calls in MATLAB code resolve to a known function definitionФункция MATLAB имеет вызов функции, который не решает к известному функциональному определению.Измените функцию MATLAB, чтобы устранить вызовы функции с неизвестным функциональным разрешением.
Check that operators used in MATLAB function do not have operands with mixed data typeОператор в функции MATLAB имеет операнды со смешанным типом данных.Измените функцию, чтобы избегать использования операторов с операндами смешанного типа данных.
Check that the ‘Loop unrolling threshold’ does not result in partially unrolled loops in the generated code when using matrix operations in MATLAB codeПри использовании операций над матрицей Loop unrolling threshold может привести к частично развернутым циклам в сгенерированном коде.Измените Loop unrolling threshold, чтобы сгенерировать код без частично развернутых циклов для операций над матрицей.
Check that conditional initialization of persistent variables uses an 'if' statement with a single isempty (persistent) or ~isempty (persistent) conditionУсловная инициализация персистентной переменной не использует if оператор с одним isempty(persistent) или ~isempty(persistent) условие.Измените if оператор, чтобы использовать один isempty(persistent) или ~isempty(persistent) условие.
Check that there is only one initialization statement of a persistent variable in ‘if’ statement bodyif тело оператора содержит несколько операторов инициализации для персистентной переменной.Измените код MATLAB так, чтобы условная инициализация персистентных переменных содержала один оператор в if тело оператора.
Check that switch statements in MATLAB code do not have case expressions containing a cell arrayswitch оператор имеет выражение случая, содержащее массив ячеек.Измените код MATLAB так, чтобы switch операторы не имеют выражений случая, содержащих массив ячеек.
Check that switch statements in MATLAB code use the same scalar integer type for all conditionsswitch оператор не использует тот же скалярный целочисленный тип для условий случая и переключателя.Измените код MATLAB так, чтобы switch операторы имеют условия, которые используют тот же скалярный целочисленный тип.
Check that operators and functions in MATLAB code have supported operand dimensions colon (:) функционируйте или операция деления в коде MATLAB использует неподдерживаемые нескалярные операнды.Измените функцию, чтобы использовать скалярные операнды.
Check for unsupported MATLAB code in MATLAB functionsФункция MATLAB содержит неподдерживаемый код MATLAB.Измените функцию, чтобы удалить использование неподдерживаемого кода MATLAB.
Check usage of recursive functions in MATLAB codeКод MATLAB задает рекурсивные функции.Измените код MATLAB так, чтобы он не задавал рекурсивные функции.
Check that coder.ceval in MATLAB code does not specify '-global' optionИспользование coder.ceval задает -global опция.Измените coder.ceval удалить -global опция.
Check that coder.ceval in MATLAB code does not specify layout optionИспользование coder.ceval задает layout опция.Измените coder.ceval удалить layout опция.
Check usage of function call outputs in MATLAB codeПодфункции в коде MATLAB вызывают вызов функции выходные параметры.Измените код MATLAB так, чтобы только функция верхнего уровня имела вызов функции выходные параметры.
Check usage of inner functions in MATLAB codeКод MATLAB задает внутренние функции.Измените код MATLAB так, чтобы он не задавал внутренние функции.
Check that coder.target in MATLAB code contains a non-empty targetИспользование coder.target содержит пустую цель.Измените код MATLAB так, чтобы coder.target функция задает непустую цель.

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

Проверяйте код MATLAB сообщения Анализатора

ID проверки: mathworks.slci.MATLABCodeAnalyzer

Проверяйте функции MATLAB на %#codegen директива, код MATLAB сообщения Анализатора, и идентификатор сообщения выравнивания.

Описание

Эта проверка сообщает относительно %#codegen директивы, код MATLAB сообщения Анализатора и идентификатор сообщения выравнивания нашли в блоках MATLAB Function и функциях MATLAB.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check MATLAB code used in MATLAB Function blocksПроблемы в блоке MATLAB Function.
  • Реализуйте код MATLAB рекомендации Анализатора.

  • Выровняйте по ширине строку кода с %#ok комментарий.

  • Задайте выравнивание путем добавления идентификатора сообщения в %#ok комментарий.

Check MATLAB functions defined in Stateflow chartsПроблемы с функцией MATLAB, используемой в диаграммах Stateflow.
  • Реализуйте код MATLAB рекомендации Анализатора.

  • Выровняйте по ширине строку кода с %#ok комментарий.

  • Задайте выравнивание путем добавления идентификатора сообщения в %#ok комментарий.

Check called MATLAB functionsПроблемы в названных функциях MATLAB.
  • Добавьте %#codegen директива, при пропавших без вести.

  • Реализуйте код MATLAB рекомендации Анализатора.

  • Выровняйте по ширине строку кода с %#ok комментарий.

  • Задайте выравнивание путем добавления идентификатора сообщения в %#ok комментарий.

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

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

ID проверки: mathworks.slci.UnsupportedBlocks

Проверяйте на блоки, которые не поддерживаются Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о блоках, которые не поддерживаются Simulink Code Inspector.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for blocks not supported by Simulink Code Inspector

Один или несколько блоков в модели не поддерживаются для инспекции кода.

Примечание

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

Возможные действия включают:

  • Замените неподдерживаемый блок на поддерживаемый блок.

  • Замените неподдерживаемый блок на эквивалентную комбинацию поддерживаемых блоков.

  • Замените неподдерживаемый блок на Блок s-function, созданный с помощью Legacy Code Tool.

  • Если один или несколько неподдерживаемых блоков не могут быть удалены, используйте модели, на которые ссылаются, чтобы изолировать неподдерживаемый блок (блоки) и/или использовать частичный поток операций верификации, который не использует неподдерживаемый блок (блоки).

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

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

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.WorkspaceVarUsage

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check storage class for workspace variables referenced by the model

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

  • Пользовательский класс памяти Type не установлен в Unstructured.

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

Примечание

В Simulink или классах модуля упаковочного инструмента (MPT), поставленных с MathWorks® код, инспекция кода поддерживается для следующих классов памяти:

  • Global

  • Const

  • Volatile

  • ConstVolatile

  • Define

  • ImportedDefine

  • ExportTofile

  • GetSet

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

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.SampleTimesUsage

Проверяйте на характеристики шага расчета, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check sample timesМодель использует непрерывный, асинхронный, явный дискретный раздел, управляемый данными, объединение, экспортировал дискретные, или переменные шаги расчета. Это не поддерживается для инспекции кода.Измените модель, чтобы использовать поддерживаемые шаги расчета.
Check for explicit partitionsМодель содержит явные разделы.Измените модель так, чтобы она не содержала явные разделы.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.HiddenBufferBlock

Проверяйте на скрытые блоки Преобразования Сигнала, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify no unsupported Signal Conversion blocks are automatically inserted on signals entering block inportsСкрытый блок Signal Conversion был автоматически вставлен на сигнале, вводящем импорт блока. Скрытые блоки Преобразования Сигнала не поддерживаются для инспекции кода.Вручную вставьте блок Signal Conversion на сигнале, вводящем импорт блока, и сконфигурируйте блок Signal Conversion, который будет исключен из сокращения блока.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.MinMaxLogging

Проверяйте на использование инструментирования фиксированной точки, которое может повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях инструментирования фиксированной точки.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify usage of fixed-point instrumentationПараметр конфигурации модели Block reduction (BlockReduction) выбран, и параметр фиксированной точки Fixed-point instrumentation mode (MinMaxOverflowLogging) установлен в значение кроме Force off. Одновременное использование сокращения блока и инструментирования фиксированной точки не поддерживается для инспекции кода.Откройте Fixed-Point Tool и выключите инструментирование фиксированной точки для модели.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.SynthLocalDSM

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

Описание

Эта проверка обновляет диаграмму модели и проверяет синтезируемое локальное использование хранилища данных. Если рабочее пространство модели имеет объекты сигнала, на которые ссылаются как синтезируемые локальные хранилища данных блоки Записи Чтения или Хранилища данных Хранилища данных, Simulink создает скрытый Блок памяти Хранилища данных на корневом уровне модели. Эта модель несовместима с инспекцией кода.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify synthesized local data store usageНа объекты сигнала ссылаются как синтезируемые локальные хранилища данных блоки Записи Чтения или Хранилища данных Хранилища данных. Избегайте использования объектов сигнала, на которые ссылается как синтезируемые локальные хранилища данных блок Data Store Read или Data Store Write. Как возможная работа вокруг, создайте Блоки памяти Хранилища графических данных, чтобы задать хранилища данных.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.BlockSortedOrder

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check model for compiled and graphical block sorted order Блоки в скомпилированном черном списке не выполняют графический отсортированный приказ в модели.Свяжитесь с технической поддержкой MathWorks, чтобы сообщить об этой проблеме.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.RollThreshold

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify loop unrolling threshold settingМодель сконфигурирована с aLoop unrolling threshold (Simulink Coder), который может привести к частично развернутым циклам в сгенерированном коде.В диалоговом окне Configuration Parameters, на панели Optimization, устанавливает Loop unrolling threshold (Simulink Coder) на значение в разделе Recommended Action окна Model Advisor.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.GlobalDSM

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify global data store usageПараметр конфигурации Default parameter behavior (Simulink Coder) (DefaultParameterBehavior) не установлен в Inlined.Установите Default parameter behavior (Simulink Coder) на Inlined.
Initial value (InitialValue) не должно быть настраиваемым.Зафиксируйте установку Initial value.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.GlobalDSMShadow

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify global data store’s name shadowБлок памяти Хранилища Глобальных данных затенен локальным Блоком памяти Хранилища данных.Удалите Блоки памяти Хранилища глобальных данных, которые затенены локальными Блоками памяти Хранилища данных.

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

Ограничения атрибута всей модели

Проверяйте места назначения блоков If и Switchcase

ID проверки: mathworks.slci.SeparateOutputAndUpdate

Проверяйте использование того, Если и блоки Случая Переключателя, соединенные с подсистемами Действия, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check destination Action subsystem of If and Switchcase blocks

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

  • Все объединение их выход и обновления кода.

  • Все разделяют их выход и обновления кода.

Измените перечисленные подсистемы Действия так, чтобы они все объединили свой выход и обновления кода. Поместите блок Signal Conversion в сигналы, оставив импорт в подсистемах Действия. Выберите параметры блоков Преобразования Сигнала Exclude this block from ‘Block reduction’ optimization, чтобы исключить его из сокращения блока.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.PassReuseOutputArgsAs

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify that the storage class of root outports is supportedPass reusable subsystem outputs as: не установлен в Structure reference когда корневые выходные порты в моделях, на которые ссылаются, имеют неавтоматический класс памяти.Установите Pass reusable subsystem outputs as: на Structure reference.

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

Ограничения атрибута всей модели

Проверяйте на блоки Терминатора, соединенные с выходными портами блока Model Reference

ID проверки: mathworks.slci.OutportTerminator

Проверяйте использование блоков терминатора строки, соединенных с блоками Model, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for Model Reference block connectivityКаждый выходной порт блока Model соединяется с блоком терминатора строки.Рассмотрите комментирование блока Model.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.FirstInitICPropagation

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for unsupported propagation of initial condition valuesБлок распространяет начальное условие в течение первого раза инициализация.Измените модель так, чтобы блок не распространял начальное условие в течение первого раза инициализация.

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

Ограничения атрибута всей модели

Проверяйте заменяющие имена типа данных

ID проверки: mathworks.slci.DataTypeReplacementName

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Identify replacement names that are not of type Simulink.AliasTypeВ таблице Data Type Replacement модель использует заменяющие имена, которые не имеют типа Simulink.AliasType.В диалоговом окне Configuration Parameters, на панели the Code Generation > Data Type Replacement, определяет заменяющее имя к Simulink.AliasType ввод.

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

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

ID проверки: mathworks.slci.RefModelMultirate

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for sample times in model used as model reference targetМодель, используемая в качестве цели модели-ссылки, имеет несколько шагов расчета.Измените модель, чтобы иметь один шаг расчета.

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

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

ID проверки: mathworks.slci.GetSetVarUsage

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check storage class for workspace variables referenced by the model

Для переменной рабочей области, которая использует GetSet пользовательский класс памяти:

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

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

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

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

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

ID проверки: mathworks.slci.EnableMultiTasking

Описание

Эта проверка обновляет диаграмму модели и проверяет, что параметр Treat each discrete rate as a separate task выбран для модели с несколькими дискретными уровнями.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify ‘Treat each discrete rate as a separate task’ settingМногоскоростная модель сконфигурирована для однозадачного выполнения.В диалоговом окне Configuration Parameters, на панели Solver, выбирают Treat each discrete rate as a separate task.

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

Ограничения параметра конфигурации Simulink

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

ID проверки: mathworks.slci.CommentedBlocks

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for commented out blocks in the modelМодель содержит блок, который комментируется. Измените модель путем удаления прокомментированных блоков.

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

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

ID проверки: mathworks.slci.VVSubSystemName

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check function names used by void_void subsystems in the modelМодель содержит void_void подсистемы, которые используют то же имя функции.

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

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.LookupndBreakpointsDataType

Описание

Эта проверка обновляет диаграмму модели и проверяет, что тип данных точки останова и тип входных данных n-D блока Lookup Table являются тем же самым.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check n-D Lookup Table blocks for incompatible breakpoint data typeBreakpoints > Data Type не использует совпадающий тип данных в качестве входа блока.Измените типы данных, чтобы соответствовать. Или рассмотрите установку Breakpoints > Data Type к Inherit: Same as corresponding input.

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

ID проверки: mathworks.slci.ReuseSubSystemLibrary

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check the model for reusable subsystems with the same function interfaces

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

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

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

ID проверки: mathworks.slci.SharedSynthLocalDSM

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for usage of shared synthesized local data stores

Существуют объекты сигнала в рабочем пространстве модели, на которые ссылаются как синтезируемые локальные хранилища данных Data Store Read или блоки Data Store Write в этой модели.

Избегайте использования объектов сигнала в рабочем пространстве модели, на которые ссылаются как синтезируемые локальные хранилища данных блоки Data Store Write или Data Store Read. Полагайте, что создающие графические блоки Data Store Memory задают те хранилища данных.

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

ID проверки: mathworks.slci.SourcesBlocksUsage

Проверяйте на использование Исходных блоков, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в Исходных блоках.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие

Проверяйте блоки Inport

Примечание

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

Блок не может задать сигналы переменной размерности. Параметры блоков Variable-size signal (VarSizeSig) установлен в Yes.Установите Variable-size signal на No.
Параметры блоков Signal Type (SignalType) установлен в complex.Установите Signal Type на real или auto.
Параметры блоков Sampling Mode (SamplingMode) установлен в Frame based.Установите Signal Type на Sample based или auto.
Для корневых блоков импорта, которые используют объект шины, параметры блоков Output as nonvirtual bus (BusOutputAsStruct) не выбран (набор к off).Для каждого экземпляра выберите Output as nonvirtual bus.
Корневой импорт в модели, на которую ссылаются, не соединяется с невиртуальным блоком.Соедините корневой импорт в моделях, на которые ссылаются, с по крайней мере одним невиртуальным блоком.
Для импорта в триггируемых подсистемах, Latch input by delaying outside signal (LatchByDelayingOutsideSignal) выбран (набор к on).Очистите Latch input by delaying outside signal. Чтобы сохранить фиксирующееся поведение, реструктурируйте модель путем размещения блока Unit Delay перед входным блоком в родительской схеме.
Inport является блоком In Bus Element.Вместо блока In Bus Element используйте блок Inport с блоком Bus Selector.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки ConstantПараметры блоков Constant value (Value) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Constant value.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки GroundБлокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

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

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

ID проверки: mathworks.slci.SignalRoutingBlocksUsage

Проверяйте на использование блоков Маршрутизации Сигнала, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте блоки Bus CreatorИмена сигналов в блоке Bus Creator (Inputs) не совпадайте с именами входного сигнала для блока (InputSignalNames).Измените перечисленный блок Bus Creator, чтобы иметь соответствие с Inputs и InputSignalNames.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Bus Selector

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Bus Assignment

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Data Store MemoryПараметры блоков Initial value (InitialValue) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Initial value.
Параметры блоков Signal type (SignalType) установлен в complex. Комплексные числа не поддерживаются для инспекции кода. Разовая редактированием проверка отмечает это условие.Установите Signal type на auto или real.
Параметры блоков Detect Write After Write установлены в warning или none. Разовая редактированием проверка отмечает это условие.Установите параметры блоков Detect Write After Write на error.

Память Хранилища данных имеет массивы шин или шин с элементами, которые являются массивами шин.

Зафиксируйте перечисленный Блок памяти Хранилища данных.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный Блок памяти Хранилища данных.
Проверяйте блоки Data Store ReadБлок выполняет прерывистый выбор на массивах datastore.Измените выбор к поддерживаемой форме.
Блок использует индексы со скобками, чтобы выполнить выбор на массивах datastore.Измените выбор datastore массивов в блоках Data Store Read, чтобы не использовать индексы со скобками.
Блокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.
Параметры блоков Enable indexing (EnableIndexing) выбран.Очистите Enable indexing.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Data Store WriteБлок выполняет прерывистый выбор на массивах datastore.Измените выбор к поддерживаемой форме.
Блок использует индексы со скобками, чтобы выполнить выбор на массивах datastore.Измените выбор datastore массивов в блоках Data Store Write, чтобы не использовать индексы со скобками.
Блокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки FromБлокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки GotoБлокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки MergeAllow unequal port widths (AllowUnequalInputPortWidths) выбран. Разовая редактированием проверка отмечает это условие.Очистите параметр Allow unequal port widths.
Input port offsets установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Input port offsets на [].
Источник для блока должен не быть активированной подсистемой или подсистемой действия, или является блоком с InitialConditions функция.Измените модель так, чтобы источникам блоков слияния или включили подсистемы или подсистемы действия или блоки без InitialConditions функции.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки SwitchПервые и третьи входные порты и выходной порт не имеют совпадающего типа данных.Измените порты данных, чтобы иметь совпадающий тип данных. Считайте выбор параметров блоков Require all data port inputs to have the same data type.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.
Параметры блоков Allow different data input sizes (AllowDiffInputSizes) выбран. Разовая редактированием проверка отмечает это условие.Очистите параметр Allow different data input sizes.
Default parameter behavior (DefaultParameterBehavior) установлен в Inlined и источник Inport 2 является постоянным.Измените модель так, чтобы источник Входа 2 не был постоянным.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Multiport SwitchВвод данных и выходные порты не имеют совпадающего типа данных.Измените порты данных, чтобы иметь совпадающий тип данных. Считайте выбор параметров блоков Require all data port inputs to have the same data type.
Индексы порта данных заданы, и вход имеет больше чем одно значение.Измените настройку порта данных так, чтобы только одно значение было задано на вход.
Сигнал порта данных является, состоящим из нескольких несмежных участков.Измените сигнал порта данных так, чтобы это было непрерывно.
Сигнал порта данных соединяется с блоком, который выбирает или переупорядочивает входные сигналы.Измените сигнал порта данных так, чтобы он не был соединен с блоком, который выбирает или переупорядочивает входные сигналы. Рассмотрите вставку блока Signal Conversion в порту данных, состоящем из нескольких несмежных участков.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение.Установите Integer rounding mode на Zero или Floor.
Параметры блоков Allow different data input sizes (AllowDiffInputSizes) выбран.Очистите параметр Allow different data input sizes.
Default parameter behavior (DefaultParameterBehavior) установлен в Inlined и источник Inport 1 является постоянным.Измените модель так, чтобы источник Входа 1 не был постоянным.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки MuxБлокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки DemuxБлокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки SelectorПорт индекса не имеет поддерживаемого типа данных.Измените порт индекса так, чтобы это имел тип данных int8int16int32uint8uint16, или uint32.
Index Option (IndexOptionArray) установлен в Starting and ending indices (port)Установите Index Option на значение кроме Starting and ending indices (port).
Number of input dimensions (NumberOfDimensions) больше, чем 1 и индексируйте данные порта, соединяется с блоком, который выбирает или переупорядочивает вход.Полагайте, что вставка блока Signal Conversion в порте индекса или изменении данных порта индекса непрерывна.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Vector Concatenate

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.MathOperationsBlocksUsage

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

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Математических операций.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте Абсолютные блокиПорт ввода или вывода имеет тип int8 или int16.Измените порт, чтобы быть типа данных doubleединственныйuint8uint16int32uint32, или boolean.
Порты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки BiasПорты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Bias (Bias) является пустым, неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Bias.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки GainПорты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Параметры блоков Gain (Gain) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Gain.
Параметры блоков Parameter data type (ParamDataTypeStr) не использует совпадающий тип данных в качестве входа блока Gain.Измените блок Gain, чтобы использовать совпадающий тип данных для его входа и параметра. Рассмотрите установку Parameter data type к Inherit: Same as input.
Параметры блоков Multiplication (Multiplication) не установлен в Element-wise(K.*u), Matrix(K*u), Matrix(u*K), или Matrix(K*u)(u vector).

Установите Multiplication на Element-wise(K.*u), Matrix(K*u), Matrix(u*K), или Matrix(K*u)(u vector).

Только single или double типы данных поддерживаются для Matrix(K*u), Matrix(u*K), или Matrix(K*u)(u vector) методы умножения.

Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.
Параметры блоков Sample Time (SampleTime) установлен в постоянный шаг расчета.Установите Sample Time на явное, непостоянное значение.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте Математические блокиПорты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Function (Operator) установлен в неподдерживаемое значение: conj или hermitian.Установите Function на одно из следующих значений: expжурнал, 10^ulog10, magnitude^2, squareперемещениеpow, reciprocalhypotrem, или mod.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки ProductПорты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Multiplication (Multiplication) установлен в Matrix (*) и Saturate on integer overflow (SaturateOnIntegerOverflow) выбран (набор к on). Разовая редактированием проверка отмечает это условие.Очистите параметр Saturate on integer overflow.

Параметры блоков Number of inputs (inputs) не установлен в 2, **, /*, */, //, или / когда оба из следующего верны:

  • Inport Signal type является матрицей.

  • Параметры блоков продукта Multiplication установлены в Matrix (*).

Разовая редактированием проверка отмечает это условие.

Установите Number of inputs на 2, **, /*, */, //, или / если оба из следующего верны:

  • Inport Signal type является матрицей.

  • Параметры блоков продукта Multiplication установлены в Matrix (*).

Параметры блоков Multiplication установлены в Element-wise(.*) когда импорт Signal type является вектором или матрицей и Number of inputs (inputs) установлен в 1, * или /.Если параметры блоков Multiplication установлены в Element-wise(.*) и импорт, Signal type является вектором или матрицей, не устанавливают Number of inputs на 1, * или /.
Параметры блоков Multiplication установлены в Element-wise(.*) когда импорт Signal type является скаляром и Number of inputs (inputs) не установлен в 1, * или /.Если параметры блоков Multiplication установлены в Element-wise(.*) и импорт, Signal type является скаляром, затем устанавливает Number of inputs на 1, * или /.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.
Параметры блоков Sample Time (SampleTime) установлен в постоянный шаг расчета.Установите Sample Time на явное, непостоянное значение.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Блоки Контрольной суммыПорты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Параметры блоков Sum over (CollapseMode) не установлен в All dimensions.Установите Sum over на All dimensions.
Параметры блоков Accumulator data type (AccumDataTypeStr) не использует совпадающий тип данных в качестве входных параметров блокаИзмените блок, чтобы использовать совпадающий тип данных для его входных параметров и аккумулятора. Рассмотрите установку Accumulator data type к Inherit: Same as first input.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.
Параметры блоков Sample Time (SampleTime) установлен в постоянный шаг расчета.Установите Sample Time на явное, непостоянное значение.
Блок имеет один векторный вход и параметр Saturate on integer overflow (SaturateOnIntegerOverflow) выбран (набор к on).Очистите параметр Saturate on integer overflow.

Нарушает ограничение, которое применяется ко всем блокам:

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки ТригонометрииПараметры блоков Function (Operator) установлен в cos + jsin (комплексная экпонента входа). Разовая редактированием проверка отмечает это условие.Установите Function на значение кроме cos + jsin.
Параметры блоков Approximation method (ApproximationMethod) не установлен в None. Разовая редактированием проверка отмечает это условие.Установите Approximation method на None.

Нарушает ограничение, которое применяется ко всем блокам:

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки MinMaxНеподдерживаемый тип данных задан для порта ввода или вывода.Измените тип данных порта, чтобы быть одним из следующего: doubleединственныйint8uint8int16uint16int32, или uint32.
Порты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Блок имеет один вход, и стандартом языка не является C89/C90 (ANSI).В диалоговом окне Configuration Parameters, на панели the Code Generation, устанавливает Language standard на C89/C90 (ANSI).
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Rounding Function

Нарушает ограничение, которое применяется ко всем блокам.

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

Нарушает ограничение, которое применяется ко всем блокам.

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

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки SqrtБлокируйте входные параметры, и выходные порты не имеют совпадающего типа данных.Зафиксируйте перечисленный импорт блока или выходной порт.
Параметры блоков Function (Operator) не установлен в sqrt или signedSqrt. Разовая редактированием проверка отмечает это условие.Установите параметры блоков Function на sqrt или signedSqrt.
Параметры блоков Output signal type (OutputSignalType) установлен в complex. Разовая редактированием проверка отмечает это условие.Установите параметры блоков Output signal type (OutputSignalType) к auto или real.
Вход блока и параметры блоков Intermediate results (IntermediateResultsDataTypeStr) не имейте совпадающего типа данных.

Установите параметры блоков Intermediate results (IntermediateResultsDataTypeStr) к одному из следующего:

  • Совпадающий тип данных как блок вводится

  • Inherit: Inherit via internal rule

  • Inherit: Inherit from input

  • Inherit: Inherit from output

Блокируйте входные параметры, и типами данных выходных портов не является single или double.Зафиксируйте перечисленный импорт блока или выходной порт.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки AssignmentПорт индекса не имеет поддерживаемого типа данных.Измените порт индекса так, чтобы это имел тип данных int8int16int32uint8uint16, или uint32.

Initialize output (Y) (OutputInitialize) не установлен в Initialize using input port <Y0>. Разовая редактированием проверка отмечает это условие.

Установите Initialize output (Y) на Initialize using input port <Y0>.

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

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки PolynomialПорты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Типами данных Input port не является single или double.Измените перечисленные типы данных входного порта.
Количество коэффициентов для параметров блоков Polynomial Coefficients (coefs) не больше нуля. Измените количество коэффициентов для параметров блоков Polynomial Coefficients (coefs) быть больше нуля.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Dot ProductInput port не являются скалярами, векторами или матрицами отдельного столбца.Измените перечисленные входные порты.
Типами данных Input port не является single или double.Измените перечисленные типы данных входного порта.
Порты ввода и вывода не имеют совпадающего типа данных. Измените типы данных порта, чтобы соответствовать.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение.Установите Integer rounding mode на Zero или Floor.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Unary MinusТипами данных Input port не является doubleединственныйint8int16, или int32.Измените перечисленные типы данных входного порта.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.SignalAttributesBlocksUsage

Проверяйте на использование блоков Атрибутов Сигнала, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Атрибутов Сигнала.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте блоки Data Type ConversionПараметры блоков Input and output to have equal (ConvertRealWorld) не установлен в Real World Value (RWV). Разовая редактированием проверка отмечает это условие.Установите Input and output to have equal на Real World Value (RWV).
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.
Параметры блоков Sample Time (SampleTime) установлен в постоянный шаг расчета.Установите Sample Time на явное, непостоянное значение.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Data Type Duplicate

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Data Type Propagation

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Signal SpecificationVariable-size signal (VarSizeSig) не установлен в No. Разовая редактированием проверка отмечает это условие.Установите Variable-size signal на No.
Signal type (SignalType) установлен в complex. Разовая редактированием проверка отмечает это условие.Установите Signal type на любой тип кроме complex.
Sampling mode (SamplingMode) установлен в Frame based. Разовая редактированием проверка отмечает это условие. Установите Sampling mode на любой режим кроме Frame based.
Блокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Signal ConversionПараметры блоков Output (ConversionOutput) не установлен в Signal copy. Разовая редактированием проверка отмечает это условие.Установите Output на Signal copy.
Параметры блоков Exclude this block from 'Block reduction' optimization (OverrideOpt) не выбран (набор к on).Выберите Exclude this block from 'Block reduction' optimization.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Rate TransitionПараметры блоков Ensure data integrity during data transfer (Integrity) не выбран. Разовая редактированием проверка отмечает это условие.Выберите Ensure data integrity during data transfer.
Параметры блоков Ensure deterministic data transfer (maximum delay) (Deterministic) не выбран. Разовая редактированием проверка отмечает это условие.Выберите Ensure deterministic data transfer (maximum delay).
Параметры блоков Initial conditions (InitialCondition) не нуль, ненулевой скаляр или не использует ту же структуру данных в качестве типа выходных данных.Измените параметры блоков, чтобы быть нулем, ненулевым скаляром, или использовать ту же структуру данных в качестве типа выходных данных.
Параметры блоков Initial conditions (InitialCondition) является пустым, неличным, комплексным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, или имеет две или больше размерности.Измените параметры блоков так, чтобы не было пустым, не был неличным, не был комплексным, не использовал выбор области значений или переменную индексацию на элементах структур MATLAB, и не имел двух или больше размерностей.
Блокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки ProbeПараметры блоков Data type for sample time (ProbeSampleTimeDataType) не установлен в single или double.Установите параметры блоков Data type for sample time на single или double.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки WidthБлокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Unit ConversionТипом данных Input port не является double или single. Измените тип данных входного порта.
Порты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Блок не использует поддерживаемый импорт или модули выходного порта.

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

  • deg и rad

  • degC и degF

  • degC и degR

  • degR и degF

  • degC и K

  • degF и K

  • degR и K

  • deltadegC и deltadegF

  • deltadegC и deltadegR

  • deltadegR и deltadegF

  • deltadegC и deltaK

  • deltadegF и deltaK

  • deltadegR и deltaK

  • ft и m

  • ft и mi

  • M и ft

  • M и m

  • kg и lbm

  • lbf и N

  • inHg и Pa

  • mmHg и inHg

  • mph и kn

  • mph и fps

  • fps и kn

  • percent и one

  • kn и nmi/s

  • ms и s

  • psf и psi

  • lbf/hr и lbf/sec

  • lbm/hr и lbm/sec

  • kip и N

  • kip и lbf

  • fpm (введите модуль), и fps (устройство вывода)

  • hr (введите модуль), и min (устройство вывода)

  • min (введите модуль), и s (устройство вывода)

  • ft*lbf/slug/degR (введите модуль), и ft*lbf/slug/K (устройство вывода)

  • fps (введите модуль), и fpm (устройство вывода)

  • min (введите модуль), и hr (устройство вывода)

  • ft*lb/slug/degR (введите модуль), и ft*lb/slug/K (устройство вывода)

  • slug (введите модуль), и lbm (устройство вывода)

  • lbm (введите модуль), и slug (устройство вывода)

  • s (введите модуль), и hr (устройство вывода)

  • ft/min (введите модуль), и kn (устройство вывода)

  • kn (введите модуль), и ft/min (устройство вывода)

  • hr (введите модуль), и s (устройство вывода)

  • s (введите модуль), и min (устройство вывода)

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки ICПараметры блоков Initial value (Value) является пустым, неличным, комплексным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, или имеет две или больше размерности.Измените параметры блоков так, чтобы не было пустым, не был неличным, не был комплексным, не использовал выбор области значений или переменную индексацию на элементах структур MATLAB, и не имел двух или больше размерностей.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

Разовая редактированием проверка

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

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

Проверяйте использование блоков Битовых операций и Логических

ID проверки: mathworks.slci.LogicalandBitOperationsBlocksUsage

Проверяйте на использование Логических и блоков Битовых операций, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Битовых операций и Логическом.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте блоки Relational OperatorТип данных выходного порта блока не является или перечислимым типом со значением по умолчанию 0 или boolean.Измените тип данных выходного порта, чтобы быть или перечислимым типом со значением по умолчанию 0 или boolean.
Блокируйтесь входные порты не имеют совпадающего типа данных.Измените входные порты, чтобы иметь совпадающий тип данных.
Параметры блоков Relational operator (Operator) установлен в неподдерживаемое значение: isInfisnan, или isFinite. Разовая редактированием проверка отмечает это условие.Установите Relational operator на поддерживаемое значение: <=, ==, >=, ~=, <, или >.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Logical OperatorВыходным портом блока Logical Operator не является boolean или uint8.Измените тип данных выходного порта к boolean или uint8.
Блокируйтесь входные порты не имеют совпадающего типа данных.Сконфигурируйте входные порты, чтобы иметь совпадающий тип данных.
Параметр модели Casting modes не устанавливается на Nominal для XOR операторы с boolean операнды.Установите параметр модели Casting modes на Nominal.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Bitwise OperatorС Number of input ports (NumInputPorts) установите на 1 и Operator (logicop) установите на AND, OR, NAND, NOR, или XOR, тип данных импорта не является скаляром.Сконфигурируйте тип данных импорта, чтобы быть скаляром.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки ArithShiftDiagnostic for out of range shift value (DiagnosticForOORShift) не установлен в Error. Разовая редактированием проверка отмечает это условие.Установите Diagnostic for out of range shift value на Error.
Binary points to shift (BinPtShiftNumber) не установлен в 0. Разовая редактированием проверка отмечает это условие.Установите Bits points to shift на 0.
Bits to shift: Number (BitShiftNumber) не в допустимой области значений типа данных импорта.Введите Bits to shift: Number, который является в допустимой области значений типа данных импорта.
Параметры блоков Check for out-of-range 'Bits to shift' in generated code (CheckOORBitShift) выбран (установлен в на). Разовая редактированием проверка отмечает это условие.Снимите флажок параметра Check for out-of-range 'Bits to shift' in generated code.

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

  • Default parameter behavior (DefaultParameterBehavior) установлен в Inlined

  • Bits to shift: Source (BitShiftNumberSource) установлен в Input port

  • Bits to shift: Direction (BitShiftDirection) установлен в Bidirectional

когда источник Inport 2 является постоянным.

Измените модель так, чтобы источник Входа 2 не был постоянным.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Combinatorial Logic

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.LookupTablesBlocksUsage

Проверяйте на использование блоков Интерполяционной таблицы, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте блоки Lookup TableПорты ввода и вывода не имеют совпадающего типа данных.Измените порты ввода и вывода, чтобы иметь совпадающий тип данных.
Параметры блоков Breakpoints specification (BreakpointsSpecification) не установлен в Explicit values. Разовая редактированием проверка отмечает это условие.Установите Breakpoints specification на Explicit values.
Параметры блоков Interpolation method (InterpMethod) не установлен в Linear point-slope.Установите Interpolation method на Linear point-slope.
Параметры блоков Extrapolation method (ExtrapMethod) не установлен в Clip или Linear. Разовая редактированием проверка отмечает это условие.Установите Extrapolation method на Clip или Linear.
Параметры блоков Index search method (IndexSearchMethod) не установлен в Binary search или Linear search. Разовая редактированием проверка отмечает это условие.Установите Index search method на Binary search или Linear search.
Параметры блоков Support tunable table size in code generation (SupportTunableTableSize) выбран (набор к on). Разовая редактированием проверка отмечает это условие.Очистите параметр Support tunable table size in code generation.
Параметры блоков Table data (Table) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Table data.
Параметры блоков Source (TableSource) используемый, чтобы задать источник табличных данных установлен в Input port. Разовая редактированием проверка отмечает это условие. Установите Source на Dialog.
Для Breakpoints specification (BreakpointsSpecification) установите на Explicit values, параметры блоков Breakpoints являются пустыми, являются неличными, используют выбор области значений или переменную индексацию на элементах структур MATLAB, являются комплексными, или имеют две или больше размерности.Зафиксируйте установку Breakpoints 1.
Breakpoints > Data Type не использует совпадающий тип данных в качестве входа блока.Измените типы данных, чтобы соответствовать. Или рассмотрите установку Breakpoints > Data Type к Inherit: Same as corresponding input
Блок использует различные типы данных для табличных данных и выхода.Измените модель так, чтобы блок использовал совпадающий тип данных для своего выхода и табличных данных. В диалоговом окне типа данных блока boxe, рассмотрите тип данных table установки к Inherit: Same as output. Если табличные данные от объекта интерполяционной таблицы, используйте совпадающий тип данных и для табличных данных и для выходных данных. Если свойство Support tunable size объекта интерполяционной таблицы выбрано, использование различных типов данных для табличных данных и выходных данных поддерживается, но ограниченный, чтобы удвоиться и один.
Параметры блоков Intermediate Results (IntermediateResultsDataTypeStr) не использует совпадающий тип данных в качестве блока выход.Измените типы данных, чтобы соответствовать.
Блокируйтесь или блокируйтесь, выходной порт является постоянным.Установите шаг расчета блока или блокируйте выходной порт к явному, непостоянному шагу расчета.
Параметры блоков Use one input port for all input data (UseOneInputPortForAllInputData) выбран.Очистите Use one input port for all input data.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки PrelookupПараметры блоков Index search method (IndexSearchMethod) не установлен в Binary search или Linear search. Разовая редактированием проверка отмечает это условие.Установите Index search method на Binary search или Linear search.
Параметры блоков Breakpoints specification (BreakpointsSpecification) не установлен в Explicit values. Разовая редактированием проверка отмечает это условие.Установите Breakpoints specification на Explicit values.
Параметры блоков Output selection не установлены в Index and fraction. Разовая редактированием проверка отмечает это условие.Установите Output selection на Index and fraction.
Параметры блоков Breakpoint > Data Type не установлены в Inherit: Same as inputединственный, или double.Установите Breakpoint > Data Type на Inherit: Same as inputединственный, или double.
Параметры блоков Index > Data Type (IndexDataTypeStr) не установлен в uint32.Установите Index > Data Type на uint32.
Параметры блоков Fraction > Data Type (FractionDataTypeStr) не установлен в single или double.Установите Fraction > Data Type на single или double.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Floor.
Параметры блоков Use last breakpoint for input at or above upper limit (UseLastBreakpoint) выбран. Разовая редактированием проверка отмечает это условие.Очистите параметр Use last breakpoint for input at or above upper limit.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Interpolation Using PrelookupIntermediate results > Data Type (IntermediateResultsDataTypeStr) не установлен в Inherit:Inherit via internal rule , Inherit: Same as output'double', или single. Разовая редактированием проверка отмечает это условие.Установите Intermediate results > Data Type на Inherit:Inherit via internal rule , Inherit: Same as output'double', или single.
Output > Data Type (OutDataTypeStr) не установлен в Inherit:Inherit via back propagation , Inherit: Inherit from ‘Table data’'double', или single. Разовая редактированием проверка отмечает это условие.Установите Output > Data Type на Inherit:Inherit via back propagation , Inherit: Inherit from ‘Table data’'double', или single.
Table data > Data Type (TableDataTypeStr) не установлен в Inherit: Inherit from ‘Table data’, Inherit: Same as output'double', или single. Разовая редактированием проверка отмечает это условие.Установите Table data > Data Type на Inherit: Inherit from ‘Table data’, Inherit: Same as output'double', или single.
Internal Rule Priority (InternalRulePriority) не установлен в Precision. Разовая редактированием проверка отмечает это условие.Установите Internal Rule Priority на Precision.
Number of sub-table selection dimensions или значение индекса (k) от Prelookup блок не имеет типа данных uint32.Установите Number of sub-table selection dimensions и значение индекса быть типа данных uint32.
Intermediate results > Data Type (IntermediateResultsDataTypeStr), Table data > Data Type (TableDataTypeStr), Output > Data Type (OutDataTypeStr), и дробное значение (f) от Prelookup блок не совпадающий тип данных: double или single.Установите Intermediate results > Data Type, Table data > Data Type, Output > Data Type и дробное значение быть совпадающим типом данных: double или single.
Integer rounding mode (RndMeth) не установлен в Floor. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Floor.
Saturate on integer overflow (SaturateOnIntegerOverflow) выбран (набор к on). Разовая редактированием проверка отмечает это условие.Очистите Saturate on integer overflow.
Блок является постоянным или соединяет весь подтабличный импорт выбора в постоянные блоки.Измените блоки так, чтобы они не были постоянными и не соединяли весь подтабличный импорт выбора в постоянные блоки.
Блоки или их выходные порты имеют постоянный шаг расчета.Установите шаги расчета блоков или блокируйте выходные порты к явным непостоянным шагам расчета.
Параметры блоков Interpolation method (InterpMethod) не установлен в Linear point-slope. Разовая редактированием проверка отмечает это условие.Установите Interpolation method на Linear point-slope.
Параметры блоков Require index and fraction as bus (RequireIndexFractionAsBus) выбран (набор к on). Разовая редактированием проверка отмечает это условие.Очистите Require index and fraction as bus.
Параметры блоков Valid index input may reach last index (ValidIndexMayReachLast) выбран (набор к on). Разовая редактированием проверка отмечает это условие.Очистите Valid index input may reach last index.
Параметры блоков Specification (TableSpecification) не установлен в Explicit values. Разовая редактированием проверка отмечает это условие.Установите Specification на Explicit values.

Нарушает ограничение, которое применяется ко всем блокам.

  • Блокируйте импорт, или выходной порт не имеет типа данных doubleединственныйint8uint8int16uint16int32uint32, boolean, или перечисление, наследованное от Simulink.IntEnumType со значением по умолчанию 0.

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

  • Имя блока содержит ‘*/’или ‘/*’, или концы с ‘*’.

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

  • Блокируйте импорт, или выходной порт не является скаляром, вектором или 2D матрицей.

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

  • Блокируйте выход пользовательский класс памяти сигнала:

    • Type не установлен в Unstructured.

    • Data initialization установлен в None.

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

  • Блок является постоянным, и выходной порт является testpointed.

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

  • Блокируйтесь, который является постоянным или имеет параметры, которые могут быть настроены, управляет двумя или больше многоскоростными блоками, не используя явные блоки Перехода Уровня.

Зафиксируйте перечисленный импорт блока или выходной порт.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.UserDefinedFunctionBlocksUsage

Проверяйте на использование Пользовательских Функциональных блоков, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check C Caller blocksНеподдерживаемый тип данных задан для порта ввода или вывода.Измените тип данных порта, чтобы быть одним из них: doubleединственныйint8int16int32uint8uint16, или uint32

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки S-FunctionS-функция не была создана с помощью текущего релиза Legacy Code Tool.Если возможно, создайте S-функцию с помощью Legacy Code Tool или исследуйте альтернативы для включения кода в модели.
Блок s-function не создан при помощи Legacy Code Tool.Создайте S-функцию, чтобы получить доступ к S-функции при помощи Legacy Code Tool с этим command:legacy_code('slblock_generate', def), где def структура с полями, которые представляют свойства Legacy Code Tool.
S-аргумент-функции не является ни скаляром, ни вектором из фиксированной размерности.Измените S-функцию, таким образом, что аргументы являются скалярами или векторами из фиксированной размерности.
S-функция Legacy Code Tool задает InitializeConditionsFcnSpec, StartFcnSpec, или TerminateFcnSpec, вместо OutputFcnSpec. Разовая редактированием проверка отмечает это условие.Измените настройку S-функции, чтобы задать OutputFcnSpec.
S-функция имеет больше чем один dwork.Измените настройку S-функции, чтобы задать один dwork.
S-function parameters (Parameters) является комплексным или неличным.Измените модель так, чтобы S-function parameters не был комплексным или неличным.
Интегрированная модель блока SIL S-функции использует глобальную переменную для корневого порта ввода или вывода.Измените модель так, чтобы она не использовала глобальные переменные для корневых портов ввода или вывода.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.PortsandSubsystemsBlocksUsage

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте блоки EnableСигнал, вводящий разрешать порт, не имеет типа данных boolean.Зафиксируйте тип данных сигнала.
Разрешать Блокировка порта расположена на корневом уровне модели.Удалите или переместите Разрешать Блокировку порта.
Default parameter behavior (DefaultParameterBehavior) установлен в Inlined и сигнал, вводящий Разрешать Порт родительской подсистемы, является постоянным.Измените модель так, чтобы сигнал, вводящий Разрешать Порт родительской подсистемы, не был постоянным.
Блокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Зафиксируйте перечисленный порт блока так, чтобы блок не использовал массивы шин или шин с элементами, которые являются массивами шин.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Model ReferenceЗначение, которое задано в Arguments> Model arguments (ParameterArgumentValues) является комплексным или неличным.Измените модель так, чтобы значения, заданные в Model arguments, не были комплексными или неличными.
Блок находится в защищенном режиме.Удалите защиту от модели - ссылки. Для получения дополнительной информации смотрите, Защищают Модели, чтобы Скрыть Содержимое (Simulink Coder).
Блокируйтесь или блокируйтесь, выходной порт является постоянным.Установите шаг расчета блока или блокируйте выходной порт к явному, непостоянному шагу расчета.
Блок имеет несколько шагов расчета.Измените цель модели-ссылки так, чтобы блок Model имел один шаг расчета.

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

  • Перечислимый тип наследован от Simulink.IntEnumType со значением по умолчанию 0.

  • Скалярная шина, элементы которой среди следующих поддерживаемых типов данных: doubleединственныйint8uint8int16uint16int32uint32, или boolean.

Зафиксируйте тип данных входного порта.
Для входных портов в инициированном блоке модели, Latch input by delaying outside signal (LatchByDelayingOutsideSignal) выбран (набор к on).Очистите Latch input by delaying outside signal. Чтобы сохранить фиксирующееся поведение, реструктурируйте модель путем размещения блока Unit Delay перед входным блоком вне блока Model.
Для входных портов блока Model, Latch input for feedback signals of function-call subsystem outputs (LatchInputForFeedbackSignals) выбран (набор к on).Очистите Latch input for feedback signals of function-call subsystem outputs. Чтобы сохранить фиксирующееся поведение, реструктурируйте модель путем размещения блока Unit Delay перед входным блоком вне блока Model.
Блоки Model используют параметры экземпляра моделей, на которые ссылаются, в качестве аргументов.Измените модель так, чтобы блоки Model не использовали параметры экземпляра моделей, на которые ссылаются, в качестве аргументов.
Simulink.LookupTable объект передается блоку Model.Измените модель так, чтобы она не содержала Simulink.LookupTable объект, который передается блоку Model.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки SubsystemВарианты подсистемы не имеют того же количества портов.

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

Подсистема не является одним из следующего:

  • Виртуальный

  • Enabled

  • Вызов функции

  • Если действие

  • Встроенный атомарный

  • Инициированный

Если возможно, реконфигурируйте подсистему, чтобы быть любой виртуальными (очистите параметр блока Subsystem Treat as atomic unit), или встроенное атомарное, активированное, вызов функции, если действие или триггируемая подсистема. В качестве альтернативы перенесите подсистему в блок Model или исследуйте другие опции реализации.

Подсистемой является Функциональный блок Simulink.

Измените модель, чтобы удалить Функциональные блоки Simulink.

Для блоков с вариантами применяется любое из этих условий:

  • Generate preprocessor conditionals (GeneratePreprocessorConditionals) выбран.

  • Model Configuration Parameters > Code Generation > Interface > Generate preprocessor conditionals (GeneratePreprocessorConditionals) не установлен в Disable all.

Очистите Generate preprocessor conditionals или установите Model Configuration Parameters > Code Generation > Interface > Generate preprocessor conditionals на Disable all.

Параметры блоков Minimize algebraic loop occurrences (MinAlgLoopOccurences) выбран. Разовая редактированием проверка отмечает это условие.

Очистите Minimize algebraic loop occurrences.

Для невиртуальных подсистем, Function packaging (RTWSystemCode) не установлен в Inline, Nonreusable function, или Reusable function.

Установите Function packaging на Inline, Nonreusable function, или Reusable function.

Для блока с Function packaging (RTWSystemCode) установите на Nonreusable function, один или несколько следующих условий применяется:

  • Параметры блоков Function name options (RTWFcnNameOpts) не установлен в User specified.

  • Параметры блоков Function interface (FunctionInterfaceSpec) не установлен в void_void.

  • Параметры блоков Function with separate data (FunctionWithSeparateData) выбран (установлен в on).

  • Параметр модели Code interface packaging (CodeInterfacePackaging) не установлен в Nonreusable function.

Зафиксируйте параметры блоков и параметры модели.

Для блока с Function packaging (RTWSystemCode) установите на Reusable function, один или несколько следующих условий применяется:

  • Параметр модели Code interface packaging (CodeInterfacePackaging) не установлен в Nonreusable function.

  • Параметр модели Pass reusable subsystem outputs as (PassReuseOutputArgsAs) не установлен в Individual arguments

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

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

  • Зафиксируйте параметры блоков и параметры модели.

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

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

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
В допускающей повторное использование подсистеме скрытый буфер сигнала был автоматически добавлен в его импорте.Вручную поместите блок Signal Conversion непосредственно перед импортом допускающей повторное использование подсистемы. Выберите параметры блоков преобразования сигнала Exclude this block from 'Block reduction' optimization.
Simulink.LookupTable объект не должен быть передан подсистеме маскированной.Измените модель так, чтобы она не содержала Simulink.LookupTable объект, который передается подсистеме маскированной.
Проверяйте блоки TriggerВ родительской подсистеме сигнал, вводящий триггерный порт, не является скаляром.Сконфигурируйте сигнал, вводящий триггерный порт родительской подсистемы, чтобы быть скаляром.
В родительской подсистеме сигналом, вводящим триггерный порт, не является boolean тип данных, когда Trigger type (TriggerType) rising, falling, или either.Сконфигурируйте сигнал, вводящий триггерный порт родительской подсистемы, чтобы быть boolean.
Блок на корневом уровне модели с Trigger type (TriggerType) установите на rising, falling, или either.

Выполнить одно из следующих действий:

  • Сконфигурируйте модель так, чтобы блок Trigger не был в корне модели.

  • Сконфигурируйте модель так, чтобы Trigger type был function-call.

States when enabling (StatesWhenEnabling) установлен в inherit. Разовая редактированием проверка отмечает это условие.Установите States when enabling на held или reset.
Default parameter behavior (DefaultParameterBehavior) установлен в Inlined и сигнал, вводящий Триггерный Порт родительской подсистемы, является постоянным.Измените модель так, чтобы сигнал, вводящий Триггерный Порт родительской подсистемы, не был постоянным.
Типом данных выходных портов не является autoint8 или double.Зафиксируйте тип данных выходного порта.
Параметры блоков Initial trigger signal state (InitialTriggerSignalState) не установлен в compatibility (no trigger on first evaluation) или zero. Разовая редактированием проверка отмечает это условие.Установите Initial trigger signal state на compatibility (no trigger on first evaluation) или zero.
Блокируйтесь порт имеет массивы шин или шин с элементами, которые являются массивами шин.Измените модель так, чтобы блоки Model не использовали параметры экземпляра моделей, на которые ссылаются, в качестве аргументов.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт
Проверяйте блоки Action Port

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки IfDefault parameter behavior (DefaultParameterBehavior) установлен в Inlined и источник Inport 1 является постоянным.Измените модель так, чтобы источник Входа 1 не был постоянным.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Function-Call GeneratorБлок имеет больше чем одно место назначения.Измените модель так, чтобы блок имел одно место назначения.
Number of iterations (numberOfIterations) не установлен в 1. Разовая редактированием проверка отмечает это условие.Установите Number of iterations на 1.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Function-Call Split

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Switch CaseDefault parameter behavior (DefaultParameterBehavior) установлен в Inlined, и источник Inport 1 является постоянным.Измените модель так, чтобы источник Входа 1 не был постоянным.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки For IteratorПараметры блоков Set next i (iteration variable) externally (ExternalIncrement) выбран (набор к on). Разовая редактированием проверка отмечает это условие.Очистите Set next i (iteration variable) externally.
Iteration limit source (IterationSource) не установлен в internal. Разовая редактированием проверка отмечает это условие.Установите Iteration limit source на internal.
Iteration variable data type (IterationVariableDataType) установлен в double. Разовая редактированием проверка отмечает это условие.Установите Iteration variable data type на int32int16int8uint32uint16, или uint8.
Подсистема For Iterator имеет настраиваемый параметр для внутреннего предела итерации.Установите Default parameter behavior (DefaultParameterBehavior) к Inlined или измените внутренний предел итерации так, чтобы это не был настраиваемый параметр.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки For EachInput Partition Dimension или Output Concatenation Dimension больше 2.Установите Input Partition Dimension и Output Concatenation Dimension к значениям меньше чем 3.
Параметры маски разделены.Сконфигурируйте параметры маски так, чтобы они не были разделены.
NeedActiveIterationSignal установлен в on. Разовая редактированием проверка отмечает это условие.Установите NeedActiveIterationSignal к off.
RequestParallelExec установлен в off. Разовая редактированием проверка отмечает это условие.Установите RequestParallelExec к on.
ShowIterationIndex установлен в on. Разовая редактированием проверка отмечает это условие.Установите ShowIterationIndex к off.
StateReset не установлен в held. Разовая редактированием проверка отмечает это условие.Установите StateReset к held.
StateType не установлен в Separate states for each iteration. Разовая редактированием проверка отмечает это условие.Установите StateType к Separate states for each iteration.
Number of iterations to execute не установлен в -1 (значение по умолчанию).Установите Number of iterations to execute к значению по умолчанию -1.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.DiscontinuitiesBlocksUsage

Проверяйте на использование блоков Разрывов, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Разрывов.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверка Насыщает блокиПорты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать.
Параметры блоков Upper limit (UpperLimit) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Upper limit.
Параметры блоков Lower limit (LowerLimit) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Lower limit.
Параметры блоков Integer rounding mode (RndMeth) установлен в неподдерживаемое значение. Разовая редактированием проверка отмечает это условие.Установите Integer rounding mode на Zero или Floor.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте Релейные блокиПараметры блоков Switch on point (OnSwitchValue) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Switch on point.
Параметры блоков Switch off point (OffSwitchValue) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Switch off point.
Параметры блоков Output when on (OnOutputValue) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Output when on.
Параметры блоков Output when off (OffOutputValue) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Output when off.
Проверяйте блоки Dead ZoneПараметры блоков Saturate on integer overflow (SaturateOnIntegerOverflow) выбран (набор к on). Разовая редактированием проверка отмечает это условие.Зафиксируйте установку Saturate on integer overflow.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.SinksBlocksUsage

Проверяйте на использование блоков Приемников, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте блоки OutportБлок не может задать сигналы переменной размерности. Параметры блоков Variable-size signal (VarSizeSig) установлен в Yes.Установите Variable-size signal на No.
Signal type (SignalType) установлен в complex.Установите Signal type на real или auto.
Sampling mode (SamplingMode) установлен в Frame based.Установите Sampling mode на Sample based или auto.
Корневой выходной порт уровня Initial output (InitialOutput) не [].Установите корневой выходной порт уровня Initial output на [].
Source of initial output value (SourceOfInitialOutputValue) не установлен в Dialog. Разовая редактированием проверка отмечает это условие.Установите Source of initial output value на Dialog.
Initial output (InitialOutput) является комплексным.Измените модель так, чтобы Initial output не был комплексным.
Storage Class (StorageClass) не Auto или SimulinkGlobal. Разовая редактированием проверка отмечает это условие.В редакторе Отображений Кода, набор Storage Class к Auto или SimulinkGlobal. Чтобы открыть редактор Отображений Кода, откройте сначала приложение Embedded Coder. Затем на вкладке C Code, под Code Interface выбирают Individual Elements Code Mappings.
Выходной порт является блоком Out Bus Element.Вместо блока Out Bus Element используйте блок Outport с блоком Bus Creator.

Нарушает ограничение, которое применяется ко всем блокам.

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

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.DiscreteBlocksUsage

Проверяйте на использование Дискретных блоков, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в Дискретных блоках.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте блоки Unit DelayПараметры блоков Initial conditions (InitialCondition) является пустым, является неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности.Зафиксируйте установку Initial conditions.
Параметры блоков Input Processing (InputProcessing) установлен в Columns as channels (frame based). Разовая редактированием проверка отмечает это условие.Установите Input Processing на Elements as channels (sample based) или Inherited.

Когда состояние блока решает к сигналу с пользовательским классом памяти сигнала, классом памяти сигнала:

  • Type не установлен в Unstructured.

  • Data initialization установлен в None.

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

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки Discrete IntegratorТипами данных Input port не является single или double для портов несброса.Измените типы данных входных портов, чтобы быть single или double для портов несброса.
Inports и выходные порты не являются скалярами.Измените импорт или выходные порты, чтобы быть скалярами.
Типами данных выходных портов не является single или double.Измените типы данных выходных портов, чтобы быть single или double.
Порты ввода и вывода не имеют совпадающего типа данных.Измените типы данных порта, чтобы соответствовать. Тип данных порта сброса не должен совпадать с другими типами входных и выходных данных.

Параметры блоков Integrator method (IntegratorMethod) не установлен в одно из следующего:

  • Integration: Forward Euler

  • Integration: Backward Euler

  • Integration: Trapezoidal

Разовая редактированием проверка отмечает это условие.

Установите Integrator method на одно из следующего:

  • Integration: Forward Euler

  • Integration: Backward Euler

  • Integration: Trapezoidal

Параметры блоков Show state port (ShowStatePort) выбран. Разовая редактированием проверка отмечает это условие.Очистите Show state port.
Параметры блоков External reset (ExternalReset) не установлен в none. Разовая редактированием проверка отмечает это условие.Установите параметры блоков External reset на none.

Или или оба параметров блоков Upper saturation limit (UpperSaturationLimit) и Lower saturation limit (LowerSaturationLimit):

  • Являются пустыми, неличными, или комплексными.

  • Использование располагается выбор или переменная индексация на элементах структур MATLAB

  • Имейте две или больше размерности.

Установите и Upper saturation limit и Lower saturation limit к одномерному, некомплексному, конечному значению.
Блок в условной подсистеме.Измените модель так, чтобы блок Discrete Integrator не был в условной подсистеме.
Default parameter behavior (DefaultParameterBehavior) установлен в Inlined) и источник блока Inport 2 является постоянным.Установите шаги расчета блоков к явным, непостоянным шагам расчета. Измените модель так, чтобы источник блока Input 2 не был постоянным.

Когда состояние блока решает к сигналу с пользовательским классом памяти сигнала, классом памяти сигнала:

  • Type не установлен в Unstructured.

  • Data initialization установлен в None.

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

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.
Проверяйте блоки DelayПараметры блоков Input processing (InputProcessing) установлен в Columns as channels (frame based). Разовая редактированием проверка отмечает это условие.Установите Input processing на что-то другое, чем Columns as channels (frame based).
Параметры блоков Show enable port (ShowEnablePort) выбран. Разовая редактированием проверка отмечает это условие.Очистите Show enable port.

Нарушает ограничение, которое применяется ко всем блокам.

 

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.StateflowBlocksUsage

Проверяйте на использование блоков Stateflow, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Stateflow.

Доступный с Simulink Code Inspector.

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

ПроверятьУсловиеРекомендуемое действие
Check Stateflow blocksFunction packaging (RTWSystemCode) не установлен в Inline.Установите Function packaging на Inline, Nonreusable function или Reusable function. Если вы выбираете Nonreusable function, подсистема должна быть в следующих настройках:
  • Установите Function name options на User Specified.

  • Установите Function interface на void-void.

  • Установите Function with separate data на off.

  • Установите параметр модели Code interface packaging на Nonreusable function.

Если вы выбираете Reusable function, модель должна использовать следующие настройки:
  • Pass reusable subsystem outputs as к Individual arguments

  • Установите параметр модели Code interface packaging на Nonreusable function.

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

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

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

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

ID проверки: mathworks.slci.StringBlocksUsage

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

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Строки.

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

ПодпроверятьУсловиеРекомендуемое действие
Проверяйте блоки ASCII to StringРазмерность входа больше или равна значению Buffer size параметра динамически измеренной строки (байты) (Simulink Coder).Зафиксируйте входную размерность.

Нарушает ограничение, которое применяется ко всем блокам.

Зафиксируйте перечисленный импорт блока или выходной порт.

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

Поддерживаемые ограничения блока

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

ID проверки: mathworks.slci.chartsSFObjsUsage

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

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в диаграммах Stateflow.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check usage of Stateflow object palette

График содержит один или несколько следующих объектов:

  • Атомарные субдиаграммы

  • Атомарные поля

  • Функции MATLAB

  • Основанные на Simulink состояния

Сконфигурируйте график так, чтобы он не содержал неподдерживаемые объекты.
Check name usage in a Stateflow chart that uses MATLAB action languageГрафик, который использует язык действия MATLAB, не имеет уникальных имен для функций Simulink, графических функций и таблиц истинности, которые это содержит.Используйте уникальные имена для функций, графических функций и таблиц истинности в графике.
Check that all charts unselect ‘Create output for monitoring’ optionСвойство диаграммы Create output for monitoring выбрано (набор к on).Очистите свойство диаграммы параметр Create output for monitoring.
Check that all charts specify 'Inherited' as their update method Свойство диаграммы Update method не установлено в Inherited.Установите Update method на Inherited.
Check that states or substates have a default transitionГрафик имеет состояние или подсостояние без перехода по умолчанию.Сконфигурируйте график так, чтобы состояния и подсостояния имели переходы по умолчанию.
Check that all charts unselect ‘Enable Super Step Semantics’ optionСвойство диаграммы Enable Super Step Semantics выбрано (набор к on). Разовая редактированием проверка отмечает это условие.Очистите свойство диаграммы параметр Enable Super Step Semantics.
Check that no charts execute at initializationСвойство диаграммы Execute (enter) Chart at Initialization выбрано (набор к on). Разовая редактированием проверка отмечает это условие.Очистите свойство диаграммы параметр Execute (enter) Chart at Initialization.
Check that no charts export chart level functionsСвойство диаграммы Export Chart Level Functions выбрано (набор к on). Разовая редактированием проверка отмечает это условие.Очистите свойство диаграммы параметр Export Chart Level Functions.
Check that no charts specify saturation on overflow for integer operationsСвойство диаграммы Saturate on integer overflow выбрано (набор к on).Очистите свойство диаграммы параметр Saturate on integer overflow.
Check usage of State Machine TypeСвойство диаграммы State Machine Type установлено в Moore. Разовая редактированием проверка отмечает это условие.Установите State Machine Type на Classic или Mealy.
Check that no charts support variable-size arraysСвойство диаграммы Support variable-size arrays выбрано (набор к on).Очистите свойство диаграммы параметр Support variable-size arrays.
Check that all control flows have unique default transitions Поток управления имеет больше чем 1 переход по умолчанию.Сконфигурируйте график так, чтобы он имел 1 переход по умолчанию.

Разовая редактированием проверка

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

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

Проверяйте использование Stateflow язык действия MATLAB

ID проверки: mathworks.slci.MATLABactionlanguageStateflowUsage

Проверяйте на использование Stateflow язык действия MATLAB, который может повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

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

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

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

ID проверки: mathworks.slci.transitionsSFObjsUsage

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

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в переходах Stateflow.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check that actions do not have unsupported operations

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

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

  • := или =

  • + , += , -, или -=

  • * , *=, / или /=

  • &, && или &=

  • |, || или |=

  • << или >>

  • cast()

  • ^ или ^=

  • %% или <

  • <= или ==

  • ~= или !=

  • <> или >

  • >= или ~

Check for indexing in arrays that are more than one dimensionМассив больше чем одной размерности использует индексацию.Измените переход, чтобы использовать одномерные массивы или постараться не индексировать для массивов, которые являются больше чем одной размерностью.
Check that all arrays use index of type 'int32' Массив не использует индекс типа данных int32.Измените индекс массива так, чтобы он использовал тип данных int32.
Check that all transition conditions are of boolean data typeУсловие перехода не имеет булева типа данных.Измените условие перехода так, чтобы это имело булев тип данных.
Check that no actions access context-sensitive constants Действие использует контекстно-зависимые константы, который не поддерживается для инспекции кода.Измените действие, чтобы избегать использования контекстно-зависимых констант.
Check that no actions access custom data Пользовательские данные доступов к действию, которые не поддерживаются для инспекции кода.

Измените переходы к:

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

    classdef WeekDays
       enumeration
          Monday, Tuesday, Wednesday, Thursday, Friday
       end
    end
    
    Получить доступ к значению Monday член, используйте этот синтаксис:
    Value= Weekdays.Monday

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

Check that conditions and actions do not have unsupported operations on enumeration type operands

Переход использует одну из следующих недопустимых операций на операнде перечисляемого типа:

  • + или +=

  • - или -=

  • * или *=

  • / или /=

  • & или &=

  • | или |=

  • ^ или ^=

  • %%

  • ~

  • || или &&

  • > или <

  • <= или >=

  • ~= или <>

  • >> или <<

Измените переход, чтобы избегать использования недопустимых операций на операндах перечисляемого типа.
Check that no transitions have event triggers Переход имеет триггер события, который не поддерживается для инспекции кода.Измените переход, чтобы избегать использования триггера события.
Check data type of Graphical Function argumentsПереход задает вызовы графической функции с различными фактическими и ожидаемыми типами данных аргумента.Измените переход, чтобы задать вызовы графической функции с совпадающими типами данных для фактических и ожидаемых аргументов.
Check dimensions of Graphical Function argumentsПереход задает вызовы графической функции с различными фактическими и ожидаемыми размерами аргумента.Измените переход, чтобы задать вызовы графической функции с тем же размером для фактических и ожидаемых аргументов.
Check that transitions do not have transition actions Переходы имеют действие перехода, которое не поддерживается для инспекции кода.Измените переход, чтобы избегать использования действия перехода.
Check that Stateflow transitions do not reuse induction variables outside of a loopПереход имеет неподдерживаемое повторное использование индукционной переменной.Измените переход так, чтобы индукционная переменная не была снова использована.
Check that no actions contain a function whose argument is of an invalid data type

Математическая функция в действии не является a:

  • Один или двойной аргумент типа для следующих функций:

    • acosasinatan

    • ceilдубинкадубинка

    • exp, fabsпол

    • fmod, ldexpжурнал

    • log10, pow, sin

    • sinhsqrttantanh

  • Небулев аргумент для следующих функций:

    • absMax min

  • Аргумент целочисленного типа для labs функция.

Измените математическую функцию, чтобы использовать поддерживаемые типы данных.
Check that transitions do not have an unsupported loop stepПереход имеет неподдерживаемый шаг цикла.Измените переход так, чтобы был один оператор действия, который постепенно увеличивает int32 скалярная индукция цикла продвигается с литеральным int32 постоянное значение.
Check that transitions do not have an unsupported loop bodyПереход имеет неподдерживаемое тело цикла.Измените переход так, чтобы не было никаких действий, которые переопределяют индукционную переменную цикла.
Check that transitions do not have an unsupported loop conditionПереход имеет неподдерживаемое условие цикла.Измените условие перехода так, чтобы оно имело любого один < или один <= условие с литеральным int32 постоянный связанный и скалярный int32 индукционная переменная цикла.
Check for valid induction variable in transition that defines loop conditionПереход, который задает условие цикла, имеет недопустимую индукционную переменную.Измените условие цикла так, чтобы оно имело только один < или <= условие с помощью скалярного Stateflow локальная или временная индукционная переменная цикла осциллографа.
Check that transitions do not have unsupported loop induction variable initializationПереход не поддержал инициализацию индукционной переменной цикла.Измените переход так, чтобы инициализация скалярной индукционной переменной цикла была одним оператором действия, который использует int32 тип данных и инициализирует переменную литеральным постоянным int32 значение.
Check that no actions contain an xor operator with boolean operandsДействие содержит XOR оператор с булевыми операндами с параметром модели набор Casting modes к Standards.Измените действие, чтобы избегать использования XOR оператор с булевыми операндами или набор Casting modes к Nominal.
Check that no actions contain a binary operator whose operands are of mixed data type Действие содержит бинарного оператора смешанных операндов типа данных, который не поддерживается для инспекции кода.Измените график, чтобы избегать использования бинарных операторов с операндами смешанного типа данных.
Check that no transitions have a function with more than 2 argumentsПереход имеет функцию больше чем с 2 аргументами.Измените каждую функцию, чтобы иметь не больше, чем 2 аргумента. Может быть возможно заменить функцию больше чем на 2 аргумента с серией функций, которые имеют не больше, чем 2 аргумента. Например, MinMax функция с 3 входными параметрами могла быть заменена 2 MinMax функции, каждый с 2 аргументами.
Check data type of Simulink Function argumentФактический тип данных аргумента вызова функции Simulink отличается от типа данных аргумента импорта и выходного порта в Подсистеме вызова функций определения.Измените вызов функции Simulink иметь тот же тип данных аргумента как импорт и выходной порт в Подсистеме вызова функций определения.
Check dimension of Simulink Function argumentФактический размер аргумента вызова функции Simulink отличается от размера аргумента импорта и выходного порта в Подсистеме вызова функций определения.Измените вызов функции Simulink иметь тот же размер данных аргумента как импорт и выходной порт в Подсистеме вызова функций определения.
Check that no actions access time (t) Время доступов к действию, которое не поддерживается для инспекции кода.Измените действие, чтобы не получать доступ ко времени.
Check data type of truth table argumentsПереход задает таблицу истинности с различными фактическими и ожидаемыми типами данных аргумента.Измените переход, чтобы задать таблицы истинности, чтобы использовать совпадающие типы данных для фактических и ожидаемых аргументов.
Check dimensions of truth table argumentsПереход задает таблицу истинности с различными фактическими и ожидаемыми размерами аргумента.Измените переход, чтобы задать таблицы истинности, чтобы использовать те же размеры для фактических и ожидаемых аргументов.
Check unassigned graphical function outputsГрафик задает вызовы графической функции с различным количеством фактических и ожидаемых выходных параметров.Измените график так, чтобы графические функции присвоили все выходные параметры.
Check that Stateflow transitions are not configured as variant transitionsДиаграмма Stateflow содержит переходы, которые сконфигурированы как различные переходы.Измените график, чтобы избегать использования различных переходов.

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

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

ID проверки: mathworks.slci.junctionsSFObjsUsage

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

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в соединениях Stateflow.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check that Stateflow junctions do not have outgoing transitions jumping outside of the loopСоединение имеет исходящий переход, который переходит за пределами тела цикла.Измените график так, чтобы соединение в цикле не имело исходящих переходов, переходящих за пределами цикла.
Check that non-terminating junctions have exactly one unconditional exiting transitionНезавершение соединения не имеет точно одного безусловного перехода выхода. Один безусловный переход выхода предотвращает затенение отслеживания в обратном порядке и перехода.Измените соединение так, чтобы оно имело один безусловный переход выхода.
Check that the chart uses no history junctions График содержит соединение истории.Измените график так, чтобы он не содержал соединение истории.
Check that control flows do not have loops with unsupported header junctionsСоединение заголовка не имеет двух поступлений и двух исходящих переходов.Измените соединение заголовка так, чтобы оно имело два поступления и два исходящих перехода.
Check usage of terminating Stateflow junctionsЗавершение соединения прослеживает до состояния Stateflow.Измените соединение так, чтобы оно не прослеживало до состояния Stateflow.
Check that control flows are structured График содержит неструктурированные потоки управления, которые не поддерживаются для инспекции кода.Измените график так, чтобы он не содержал неструктурированные потоки управления.
Check that unconditional transitions execute last in execution order Безусловный переход не является последним в порядке выполнения. Измените график так, чтобы безусловный переход был последним в порядке выполнения. Это предотвращает затенение перехода.

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

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

ID проверки: mathworks.slci.dataSFObjsUsage

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

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в данных Stateflow.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check that the chart does not define Stateflow data with Constant scope График задает данные Stateflow с Constant осциллограф.Измените график, чтобы не задавать данные Stateflow с Constant осциллограф.
Check usage of Stateflow data Initialize MethodInitializeMethod для Local или Output данные Stateflow осциллографа установлены в Parameter. Измените график, чтобы не установить InitializeMethod к Parameter. В Model Explorer, для данных Stateflow withLocal или Output определите объем, можно установить InitializeMethod для Initial value к Expression.
Check that states and boxes do not define Stateflow dataСостояние или поле задают данные Stateflow.Измените состояние или поле так, чтобы это не задавало данные Stateflow.
Check that Stateflow data is of a supported data type Стройте диаграмму типами данных не является builtin, enumerated, или bus. Если типом данных графика является bus и стройте диаграмму использования C как язык действия, данные являются массивом шин или имеют элементы, которые являются массивами шин. Если типом данных графика является enumerated, значением по умолчанию данных не является 0.Измените типы данных графика, чтобы быть builtin, enumerated, или bus. Если типом данных графика является bus и стройте диаграмму использования C как язык действия, измените график так, чтобы данные не были массивом шин, или имейте элементы, которые являются массивами шин. Если типом данных графика является enumerated, обновите график так, чтобы enumerated тип данных имеет значение по умолчанию 0.
Check that the 'First Index' of Stateflow data are empty or 0First Index свойство для данных Stateflow не пусто или 0.Измените First Index свойство данных Stateflow быть пустым или 0.
Check that Stateflow parameter data sizes in Stateflow and the base workspace matchРазмер данных о параметре Stateflow отличается в Stateflow и базовом рабочем пространстве.Измените размер данных о параметре Stateflow так, чтобы это было то же самое в Stateflow и базовом рабочем пространстве.
Check that the chart uses only non-complex data Стройте диаграмму комплексных данных использования.Измените график так, чтобы он не использовал комплексные данные.

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

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

ID проверки: mathworks.slci.eventsSFObjsUsage

Проверяйте на использование событий Stateflow, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в событиях Stateflow.

Доступный с Simulink Code Inspector.

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

ПроверятьУсловиеРекомендуемое действие
Check that the chart uses only events of scope Local or OutputСобытием scope не является Output или Local.Измените графики, чтобы избегать использования входных событий.
Check that the chart uses only function-call eventsТриггером события не является function-call.Измените модель так, чтобы триггером события был function-call

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

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

ID проверки: mathworks.slci.statesSFObjsUsage

Проверяйте на использование состояний Stateflow, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в состояниях Stateflow.

Доступный с Simulink Code Inspector.

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

ПроверятьУсловиеРекомендуемое действие
Check that control flows do not have cyclesГрафик содержит циклы потока управления, которые не поддерживаются для инспекции кода.Сконфигурируйте график так, чтобы он не содержал циклы потока управления.
Check that actions do not have unsupported operations

Действие использует операцию, которая не является:

  • := или =

  • + , += , -, или -=

  • * , *=, / или /=

  • &, && или &=

  • |, || или |=

  • << или >>

  • cast()

  • ^ или ^=

  • %% или <

  • <= или ==

  • ~= или !=

  • <> или >

  • >= или ~

Измените график так, чтобы действие использовало только поддерживаемые операции.
Check for indexing in arrays that are more than one dimension

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

Измените состояние, чтобы использовать одномерные массивы или постараться не индексировать для массивов, которые являются больше чем одной размерностью.
Check that all arrays use index of type 'int32' Массив не использует индекс типа данных int32.Измените индекс массива так, чтобы он использовал тип данных int32.
Check that no actions access context-sensitive constantsДействие использует контекстно-зависимые константы, который не поддерживается для инспекции кода.Измените действие, чтобы избегать использования контекстно-зависимых констант.
Check that no actions access custom dataПользовательские данные доступов к действию, которые не поддерживаются для инспекции кода.Измените действие, чтобы не получать доступ к пользовательским данным.
Check that states or substates have a default transitionГрафик имеет состояние или подсостояние без перехода по умолчанию.Сконфигурируйте график так, чтобы состояния и подсостояния имели переходы по умолчанию.
Check that actions do not have unsupported operations on enumeration type operands

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

  • + или +=

  • - или -=

  • * или *=

  • / или /=

  • & или &=

  • | или |=

  • ^ или ^=

  • %%

Измените состояние, чтобы избегать использования недопустимых операций на операндах перечисляемого типа.
Check data type of Graphical Function argumentsСостояние задает вызовы графической функции с различными фактическими и ожидаемыми типами данных аргумента.Измените состояние, чтобы задать вызовы графической функции с совпадающими типами данных для фактических и ожидаемых аргументов.
Check dimensions of Graphical Function argumentsСостояние задает вызовы графической функции с различными фактическими и ожидаемыми размерами аргумента.Измените состояние, чтобы задать вызовы графической функции с тем же размером для фактических и ожидаемых аргументов.
Check that no actions contain a function whose argument is of an invalid data type

Математическая функция в действии не является a:

  • Один или двойной аргумент типа для следующих функций:

    • acosasinatan

    • ceilдубинкадубинка

    • exp, fabsпол

    • fmod, ldexpжурнал

    • log10, pow, sin

    • sinhsqrttantanh

  • Небулев аргумент для следующих функций:

    • absMax min

  • Аргумент целочисленного типа для labs функция.

Измените математическую функцию, чтобы использовать поддерживаемые типы данных.
Check that no actions contain an xor operator with boolean operandsДействие содержит XOR оператор с булевыми операндами с параметром модели набор Casting modes к Standards.Измените действие, чтобы избегать использования XOR оператор с булевыми операндами или набор Casting modes к Nominal.
Check that no actions contain a binary operator whose operands are of mixed data typeДействие содержит бинарного оператора смешанных операндов типа данных, который не поддерживается для инспекции кода.Измените график, чтобы избегать использования бинарных операторов с операндами смешанного типа данных.
Check that no Stateflow functions have more than 2 argumentsФункция Stateflow имеет больше чем 2 аргумента.Измените функцию Stateflow, чтобы иметь не больше, чем 2 аргумента. Может быть возможно заменить функцию на серию функций, каждого больше чем без 2 аргументов.
Check usage of States with recursive send function callsСостояние содержит рекурсивный, отправляют вызовы функции.Измените состояние так, чтобы не было никаких рекурсий.
Check data type of Simulink Function argumentsСостояние задает вызов функции с различными фактическими и ожидаемыми типами данных аргумента.Измените состояние, чтобы задать вызовы функции Simulink использовать совпадающие типы данных для фактических и ожидаемых аргументов.
Check dimensions of Simulink Function argumentsСостояние задает вызов функции с различными фактическими и ожидаемыми размерами аргумента.Измените состояние, чтобы задать вызовы функции Simulink использовать те же размеры для фактических и ожидаемых аргументов.
Check usage of Stateflow state InlineOptionСвойство состояний Function Inline Option установлено в Auto или Function. Разовая редактированием проверка отмечает это условие.Установите свойство состояний Function Inline Option на Inline.
Check that all states unselect ‘Create output for monitoring’ optionСвойство состояний Create output for monitoring выбрано (набор к on). Разовая редактированием проверка отмечает это условие.Очистите свойство состояний параметр Create output for monitoring.
Check that no actions access time (t)Время доступов к действию, которое не поддерживается для инспекции кода.Измените действие, чтобы не получать доступ ко времени.
Check data type of truth table argumentsСостояние задает таблицу истинности с различными фактическими и ожидаемыми типами данных аргумента.Измените состояние, чтобы задать таблицы истинности, чтобы использовать совпадающие типы данных для фактических и ожидаемых аргументов.
Check dimensions of truth table argumentsСостояние задает таблицу истинности с различными фактическими и ожидаемыми размерами аргумента.Измените состояние, чтобы задать таблицы истинности, чтобы использовать те же размеры для фактических и ожидаемых аргументов.
Check that control flows are structuredСостояние содержит неструктурированные потоки управления, которые не поддерживаются для инспекции кода.Сконфигурируйте график так, чтобы он не содержал неструктурированные потоки управления.
Check that all control flows have unique default transitionsПоток управления имеет больше чем 1 переход по умолчанию.Сконфигурируйте график так, чтобы он имел 1 переход по умолчанию.
Check that all transition paths are either inner transitions to a substate, or outer transitions to siblings, direct parent, or direct substates

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

  • Внутренний, чтобы подутвердить

  • Внешний к одноуровневому элементу

  • Прямой родительский элемент

  • Прямое подсостояние

Сконфигурируйте переходы так, чтобы это использовало поддерживаемый путь.
Check unassigned graphical function outputsГрафик задает вызовы графической функции с различным количеством фактических и ожидаемых выходных параметров.Измените график так, чтобы графические функции присвоили все выходные параметры.
Check that the states have no entry or exit portsСостояние имеет выходной порт или запись.Измените состояние так, чтобы оно не содержало запись или вышло из порта.
Check that states do not have the ‘Log self activity’ and ‘Test point’ properties selectedСостоянию выбрали свойства Log self activity и Test point. Разовая редактированием проверка отмечает это условие.Снимите флажки свойства Log self activity и Test point.

Разовая редактированием проверка

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

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

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

ID проверки: mathworks.slci.graphicalfunctionsSFObjsUsage

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПроверятьУсловиеРекомендуемое действие
Check that control flows do not have cyclesГрафическая функция содержит циклы потока управления, которые не поддерживаются для инспекции кода.Сконфигурируйте графическую функцию так, чтобы она не содержала циклы потока управления.
Check usage of InlineOption settingСвойство Function Inline Option графической функции установлено в Auto.Установите свойство Function Inline Option графической функции на Inline или Function.
Check configuration for models with non-inlined graphical functionsДля графической функции с Function Inline Option (InlineOption) установите на Function, параметр конфигурации Code interface packaging (CodeInterfacePackaging) не установлен в Nonreusable functionВ диалоговом окне Configuration Parameters, на панели Code Generation > Interface, устанавливает Code interface packaging (Simulink Coder) на Nonreusable function.
Check non-inlined graphical function namesНевстроенная функция не имеет уникального имени функции.Измените имена функций невстроенных графических функций, чтобы быть уникальными.
Check usage of recursive Stateflow functionГрафическая функция является рекурсивной.Сконфигурируйте графическую функцию так, чтобы это не было рекурсивно.
Check that control flows are structuredГрафическая функция содержит неструктурированные потоки управления, которые не поддерживаются для инспекции кода.Сконфигурируйте графическую функцию так, чтобы она не содержала неструктурированные потоки управления.

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

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

ID проверки: mathworks.slci.truthtablesSFObjsUsage

Проверяйте на использование таблиц истинности Stateflow, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в таблицах истинности Stateflow.

Доступный с Simulink Code Inspector.

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

ПроверятьУсловиеРекомендуемое действие
Check that control flows do not have cyclesТаблица истинности содержит циклы потока управления, которые не поддерживаются для инспекции кода.Сконфигурируйте таблицу истинности так, чтобы она не содержала циклы потока управления.
Check usage of InlineOption settingСвойство Function Inline Option таблицы истинности установлено в Auto или Function.Установите свойство Function Inline Option таблицы истинности на Inline.
Check usage of recursive Stateflow functionТаблица истинности является рекурсивной.Сконфигурируйте таблицу истинности так, чтобы это не было рекурсивно.
Check usage of Stateflow truth table languageСвойство Language таблицы истинности установлено в MATLAB.Установите Language на C.
Check that control flows are structuredТаблица истинности содержит неструктурированные потоки управления, которые не поддерживаются для инспекции кода.Сконфигурируйте таблицу истинности так, чтобы она не содержала неструктурированные потоки управления.

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

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

ID проверки: mathworks.slci.MATLABFunctionBlocksUsage

Идентифицируйте блоки MATLAB Function, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках MATLAB Function.

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for block names that contain ‘/*’,’*/’, or start or end with the character ‘*’

Имя блока:

  • Содержит’или ‘/*’.

  • Начинается или заканчивается ‘*’.

Измените перечисленное имя блока.
Check for unsupported usage of storage classБлок является постоянным и имеет выходные порты неавтоматического класса памяти.Измените блок или изменением класса памяти выходного сигнала или изменением шага расчета блока. Например, если блок или его источник являются блоком Constant, установите шаг расчета того блока Constant к явному, непостоянному шагу расчета.
Check for unsupported testpointsБлок является постоянным, и выходной порт является testpointed.Измените блок или удалением контрольных точек выходного сигнала или изменением шага расчета блока. Например, если блок или его источник являются блоком Constant, установите шаг расчета того блока Constant к явному, непостоянному шагу расчета.
Check storage class of block outportsБлок использует неподдерживаемый пользовательский класс памяти Type, Data initialization или InitialValue (InitialValue).

Измените выход пользовательский класс памяти сигнала:

  • Type установлен в Unstructured.

  • Data initialization установлен в значение кроме None.

  • Initial value (InitialValueisempty.

Check for blocks with greater than two-dimensional inputs or outputsБлокируйте импорт, или выходной порт не является скаляром, вектором или 2D матрицей.Измените импорт блока или выходной порт, чтобы быть скаляром, вектором или 2D матрицей.
Check whether inputs and outputs are not framedБлокируйте импорт, или выходной порт использует основанные на системе координат сигналы.Измените модель так, чтобы блоки использовали основанный на выборке импорт и выходные порты. Проверяйте восходящие блоки блоков, перечисленных в результатах для блоков, которые выводят основанные на системе координат сигналы.
Check that all MATLAB functions set ‘Update method’ to ‘Inherited’Функция MATLAB не устанавливает Update method на Inherited.Измените функцию MATLAB, чтобы установить Update method на Inherited.
Identify Subsystems that have unsupported configurations for non-inlinedДля блока MATLAB Function, Function packaging (RTWSystemCode) не установлен в Inline.Измените блок MATLAB Function, чтобы установить Function packaging (RTWSystemCode) к Inline, Nonreusable function или Reusable function. Если вы выбираете Nonreusable function, подсистема должна быть в следующих настройках:
  • Установите Function name options на User Specified.

  • Установите Function interface на void-void.

  • Установите Function with separate data на off.

  • Установите параметр модели Code interface packaging на Nonreusable function.

Если вы выбираете Reusable function, модель должна использовать следующие настройки:
  • Pass reusable subsystem outputs as к Individual arguments

  • Установите параметр модели Code interface packaging на Nonreusable function.

Check that reusable subsystems in a model are from a library and are unmasked single-rate atomic or function-call subsystemsДопускающие повторное использование подсистемы в модели не от библиотеки и не размаскированы односкоростные атомарный или функция - подсистемы вызова. Измените допускающие повторное использование подсистемы в модели так, чтобы они были от библиотеки. Эти подсистемы должны быть размаскированы односкоростные атомарный или подсистемы вызова функций.
Check that MATLAB functions do not contain input Trigger signalsФункция MATLAB содержит сигналы входа Trigger.Измените функцию MATLAB, чтобы удалить использование сигналов входа Trigger.
Check that blocks that are constant or whose parameters can be tuned, do not drive two or more multirate blocks without using explicit rate transition blocksБлокируйтесь, который является постоянным или имеет параметры, которые могут быть настроены, управляет двумя или больше многоскоростными блоками, не используя явные блоки Перехода Уровня.Измените блок, чтобы использовать явные блоки Перехода Уровня.
Check that all MATLAB functions set ‘Saturate on integer overflow’ to ‘Off’Функция MATLAB не очищается (установите на off) Saturate on integer overflow (SaturateOnIntegerOverflow) параметр.Измените функцию MATLAB, чтобы очиститься (набор к off) Saturate on integer overflow (SaturateOnIntegerOverflow) параметр.
Check that all MATLAB functions set ‘Treat these inherited Simulink signal types as fi objects:’ to a value other than ‘Fixed-point & Integer’Функция MATLAB устанавливает Treat these inherited Simulink signal types as fi objects на Fixed-point & Integer.Измените функцию MATLAB, чтобы установить Treat these inherited Simulink signal types as fi objects на значение кроме Fixed-point & Integer.
Check that all MATLAB functions set ‘Support variable-size arrays’ to ‘Off’Функция MATLAB не очищается (установите на off) параметр Support variable-size arrays.Измените функцию MATLAB, чтобы очиститься (набор к off) параметр Support variable-size arrays.

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

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

ID проверки: mathworks.slci.MATLABFunctionDataUsage

Идентифицируйте данные в функциях MATLAB, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check that data defined in MATLAB function is of a supported data typeДанные не имеют поддерживаемого типа данных: встроенный, шина или перечислимый тип, наследованный от Simulink.IntEnumType.Измените данные, чтобы быть поддерживаемым типом данных.
Check that data defined in MATLAB function is of a supported dimensionДанные не являются скаляром, вектором или матрицей.Измените данные, чтобы быть скаляром, вектором или матрицей.
Check that data defined in MATLAB function is non-complexДанные являются комплексными.Измените функцию MATLAB, чтобы избегать использования комплексных данных.

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

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

ID проверки: mathworks.slci.RootOutportBlocksUsage

Проверяйте на использование корневых блоков Выходного порта, которые могут повлиять на совместимость с Simulink Code Inspector.

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Verify sample timesОдин или несколько корневых блоков Выходного порта являются постоянными. Это заставит функции модели приводить валидацию к сбою, потому что корневое присвоение выходного порта перемещено в модель, инициализируют функцию.Установите шаги расчета корневых блоков Выходного порта к явным, непостоянным шагам расчета.
Verify root Outports pass buses to parent models as structuresОдин или несколько корневых блоков Выходного порта передают шину родительской модели, не передавая шину как структуру. Это программное обеспечение Simulink причины силы, чтобы вставить скрытый блок Signal Conversion в родительскую модель, которая не поддерживается для инспекции кода.Для каждого экземпляра откройте диалоговое окно блока Выходного порта и выберите параметр Output as nonvirtual bus in parent model (BusOutputAsStruct).

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.BusUsage

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

Описание

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

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check for automatic conversion between virtual to nonvirtual busesПрограммное обеспечение Simulink выполнило автоматическое преобразование с виртуального на невиртуальную шину в интерфейсе одного или нескольких перечисленных блоков. Это создает скрытый блок Signal Conversion, который не поддерживается для инспекции кода.Измените модель, чтобы использовать невиртуальные шины в интерфейсах перечисленных блоков.
Verify that blocks in the model do not perform unsupported operations on a busВ модели невиртуальный блок работает с виртуальной шиной, или блок Bus Assignment работает с невиртуальной шиной.Измените модель так, чтобы никакие невиртуальные блоки не работали с виртуальной шиной, и никакие блоки Bus Assignment не работают с невиртуальной шиной. Это действие упрощает обработку шины, чтобы продвинуть трассируемость и удобочитаемость сгенерированного кода.

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

Ограничения атрибута всей модели

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

ID проверки: mathworks.slci.SharedUtils

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

Описание

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

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

  • binsearch_u32d

  • intrp1d_l

  • intrp2d_l

  • intrp3d_l

  • look1_binlc

  • look2_binlc

  • plook_binlc

  • rt_hypotd

  • rt_hypotf

  • rt_modd

  • rt_modf

  • rt_remd

  • rt_remf

  • rt_roundd

  • rt_roundf

Доступный с Simulink Code Inspector.

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

ПодпроверятьУсловиеРекомендуемое действие
Check code generation symbols settings for shared utils inspectionЗначения для параметров символов генерации кода не поддерживаются для разделяемого сервисного контроля.В диалоговом окне Configuration Parameters, на панели Code Generation > Identifiers, набор Локальные временные переменные (Embedded Coder) к значению по умолчанию $N$M и набор Разделяемый сервисный формат идентификатора (Embedded Coder) к значению по умолчанию $N$C.
Check language standard settings for shared utils inspectionСтандартные настройки языка не поддерживаются для разделяемого сервисного контроля.В диалоговом окне Configuration Parameters, на панели Code Generation, устанавливает Стандартную математическую библиотеку (Simulink Coder) на C89/C90 (ANSI) или C99.
Check code style settings for shared utils inspectionЗначения для параметров конфигурации стиля кода не поддерживаются для разделяемого сервисного контроля.

В диалоговом окне Configuration Parameters, на панели Code Generation > Code Style:

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

Ограничения атрибута всей модели