Используйте проверки Simulink® Code Inspector™ Model Advisor, чтобы сконфигурировать вашу модель для инспекции кода.
Осуществите образцовые проверки (Simulink)
Simulink Check (Simulink)
Simulink Coder проверяет (Simulink Coder)
Simulink Check проверяет (Simulink Check)
ID проверки: mathworks.slci.CodeGenerationSettings
Настройки генерации контрольного кода в настройке модели, которая может повлиять на совместимость с Simulink Code Inspector.
Эта проверка проверяет, что настройки генерации кода совместимы с инспекцией кода.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Verify 'Language' setting | Модель сконфигурирована, чтобы сгенерировать файлы C++ (Encapsulated) . | В диалоговом окне Configuration Parameters, на панели Code Generation, устанавливает Language (Simulink Coder) на C или C++ . |
Verify 'Code interface packaging’ setting | Модель не сконфигурирована, чтобы использовать упаковку интерфейса Nonreusable function или Reusable function . | В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, устанавливает Code interface packaging (Simulink Coder) на Nonreusable function или Reusable function . |
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 | Модель не сконфигурирована, чтобы сгенерировать совместно использованный служебный код к общему ресурсу. Если разделяемый служебный код сгенерирован в , 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 (Simulink Coder) параметр. |
Verify ‘Remove reset function’ setting | Модель сконфигурирована, чтобы сгенерировать функцию сброса. | В диалоговом окне Configuration Parameters выберите Remove reset function (Embedded Coder) параметр. |
Verify ‘Remove disable function’ setting | Модель не сконфигурирована, чтобы сгенерировать запрещать функцию. | В диалоговом окне Configuration Parameters очистите Remove disable function (Embedded Coder) параметр. |
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 > Symbols, устанавливает Generate scalar inlined parameter as (Simulink 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 'Standard math library' 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 | Модель сконфигурирована, чтобы сгенерировать функцию | В диалоговом окне Configuration Parameters очистите Terminate function required (Simulink Coder) параметр. |
Verify 'Remove code that protects against division arithmetic exceptions' setting | Модель сконфигурирована, чтобы удалить код, который принимает меры против деления на нуль для данных фиксированной точки. | В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, очищают Remove code that protects against division arithmetic exceptions (Simulink Coder) параметр. |
Verify 'MAT-file logging' setting | Модель сконфигурирована, чтобы регистрировать данные о выполнении к MAT-файлу. Это не поддержано для инспекции кода. | В диалоговом окне Configuration Parameters очистите MAT-file logging (Simulink Coder) параметр. |
Verify ‘Maximum stack size (bytes)’ setting | Модель сконфигурирована размер стека имеющий. | В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, устанавливает Maximum stack size (bytes) (Simulink Coder) на inf . |
Verify 'Pack Boolean data into bitfields' setting | Модель сконфигурирована, чтобы сохранить булевы сигналы как однобитные битовые поля. | В диалоговом окне Configuration Parameters, на панели Code Generation > Optimization, очищают Pack Boolean data into bitfields (Simulink 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 (Simulink Coder) параметр. |
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 (Simulink 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 > Symbols, устанавливает Signal naming (Simulink Coder) на None . |
Verify 'Parameter naming' setting | Модель сконфигурирована, чтобы изменить названия параметра при создании соответствующих идентификаторов в сгенерированном коде. | В диалоговом окне Configuration Parameters, на панели Code Generation > Symbols, устанавливает Parameter naming (Simulink Coder) на None . |
Verify 'TLC options' setting | Модель сконфигурирована с опциями TLC. | В Окне Команды MATLAB, установленном параметр модели TLCOptions на unspecified . Например, set_param(gcs, 'TLCOptions', ' ') . |
Verify ‘variable-size signals’ setting | Модель сконфигурирована, чтобы сгенерировать код для моделей тот переменный размер использования сигналы. | В диалоговом окне Configuration Parameters, на панели Code Generation, очищают поле Support: variable-size signals (Simulink Coder). |
Verify 'Single output/update function' setting | Модель сконфигурирована, чтобы сгенерировать код в отдельном и функциях | В диалоговом окне 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 (Simulink 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 (Simulink Coder) параметр. |
Verify 'Rate Transition block code' setting | Модель сконфигурирована, чтобы разделить блочный код Перехода Уровня и данные из типового кодекса и данные. | В диалоговом окне Configuration Parameters, на панели Code Generation > Code Placement, устанавливает Rate Transition block code (Embedded Coder) на Inline . |
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 (Simulink) на error . |
Verify ‘Multitask rate transition’ setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда недопустимый переход уровня произошел между двумя блоками, действующими в многозадачном режиме. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Sample Time, устанавливает Multitask rate transition (Simulink) на error . |
Verify ‘Multitask conditionally executed subsystem’ setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда программное обеспечение Simulink обнаруживает подсистему, которая может вызвать повреждение данных или недетерминированное поведение. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Sample Time, устанавливает Multitask conditionally executed subsystem (Simulink) на error . |
Verify 'Detect write after write' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда программное обеспечение Simulink пытается записать данные к хранилищу данных дважды по очереди на шаге текущего времени. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity, устанавливает Detect write after write (Simulink) на EnableAllAsError . |
Verify 'Underspecified initialization detection' setting | Модель не сконфигурирована, чтобы инициализировать начальные условия блока с помощью упрощенного поведения. Упрощенное поведение может улучшить непротиворечивость образцовых результатов. | В диалоговом окне Configuration Parameters, набор Underspecified initialization detection (Simulink) к Simplified . |
Verify 'Non-bus signals treated as bus signals' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда программное обеспечение Simulink неявно преобразовывает сигнал нешины в сигнал шины поддержать соединение сигнала к блоку Селектора Присвоения или Шины Шины. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Connectivity, устанавливает Non-bus signals treated as bus signals (Simulink) на error . |
Verify 'Detect downcast' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда удрученный параметр происходит во время симуляции. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity, устанавливает Detect downcast (Simulink) на error . |
Verify 'Detect overflow' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда переполнение параметра происходит во время симуляции. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity > Parameters, устанавливает Detect overflow (Simulink) на error . |
Verify 'Detect overflow' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда переполнение сигнала происходит во время симуляции. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity > Signals, устанавливает Wrap on overflow (Simulink) на error . |
Verify 'Saturate on overflow' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда значение сигнала является слишком большим, чтобы быть представленным типом данных сигнала, приводящим к насыщению. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity > Signals, устанавливает Saturate on overflow (Simulink) на error . |
Verify 'Detect underflow' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда потеря значимости параметра происходит во время симуляции. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity, устанавливает Detect underflow (Simulink) на error . |
Verify 'Detect loss of tunability' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда выражение с настраиваемыми переменными уменьшается до своего числового эквивалента. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Data Validity, устанавливает Detect loss of tunability (Simulink) на error . |
Verify 'Unexpected backtracking' setting |
Модель не сконфигурирована, чтобы сгенерировать ошибку когда соединение графика:
| В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Unexpected backtracking (Simulink) на error . |
Verify 'Invalid input data access in chart initialization' setting |
Модель не сконфигурирована, чтобы сгенерировать ошибку когда график:
| В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Invalid input data access in chart initialization (Simulink) на error . |
Verify 'No unconditional default transitions' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда график не имеет безусловного перехода по умолчанию к состоянию или соединения. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает No unconditional default transitions (Simulink) на error . |
Verify 'Transition outside natural parent' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда график содержит переход что циклы вне метрополии или соединения. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Transition outside natural parent (Simulink) на error . |
Verify ‘Unreachable execution path’ setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда построение графика не находится на допустимом пути к выполнению. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Unreachable execution path (Simulink) на error . |
Verify 'Undirected event broadcasts' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда график содержит неориентированные локальные широковещательные сообщения события. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Undirected event broadcasts (Simulink) на error . |
Verify 'Transition action specified before condition action' setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда действие перехода выполняется перед действием условия в пути к переходу с несколькими сегментами перехода. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Stateflow, устанавливает Transition action specified before condition action (Simulink) на error . |
Verify Bus signal treated as vector setting | Модель не сконфигурирована, чтобы сгенерировать ошибку, когда программное обеспечение Simulink обнаруживает виртуальный сигнал шины, который используется в качестве сигнала мультиплексора. Строгое поведение шины не осуществляется. | В диалоговом окне Configuration Parameters, на панели Diagnostics > Connectivity, устанавливает Bus signal treated as vector (Simulink) на error . |
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 |
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 (Simulink) на Fixed-step . |
Verify 'Solver' setting | Модель сконфигурирована с решателем кроме фиксированного шага дискретный решатель. | В диалоговом окне Configuration Parameters, на панели Solver, устанавливает Solver (Simulink) на discrete (no continuous states) (эквивалентный FixedStepDiscrete , заданному в командной строке). |
Verify ‘Periodic sample time constraint’ setting | Модель устанавливает Periodic sample time constraint (Simulink) на Specified . | В диалоговом окне Configuration Parameters, на панели Solver, устанавливает Periodic sample time constraint (Simulink) на Unconstrained или Ensure sample time independent . |
Verify ‘Automatically handle rate transition for data transfer’ setting | Модель сконфигурирована, чтобы вставить скрытые блоки Перехода Уровня между блоками, когда переходы уровня обнаруживаются. | В диалоговом окне Configuration Parameters, на панели Solver, снимают флажок Automatically handle rate transition for data transfer (Simulink). |
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-выведенной цели. |
ID проверки: mathworks.slci.FcnSpecSettings
Проверяйте на функциональные настройки спецификации, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка проверяет, что прототипные настройки управления этой функцией совместимы с инспекцией кода.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check C Step Function Interface setting | Модель задает пользовательских прототипов функции для образцовых функций записи. Это не поддержано для инспекции кода. | В Редакторе Simulink перспектива кода, в Коде, Сопоставляющем Редактор, выбирают вкладку Entry-Point Functions. В строке для ступенчатой функции щелкните в столбце Function Name. Кликните по трем вертикальным точкам, которые появляются. Затем нажмите Configure Prototype. В диалоговом окне Configure C Step Function Interface очистите установку Configure arguments for Step function prototype. |
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)
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 параметра конфигурации выбран, но Enable local block outputs не выбран. Модель должна включить локальному блоку выходные параметры при использовании условного входного выполнения ответвления. | В диалоговом окне Configuration Parameters, на панели Optimization, выбирают Enable local block outputs (Simulink). |
Проверьте условную входную установку выполнения ответвления при использовании Многопортовых блоков switch | Образцовое выполнение ответвления входа Conditional параметра конфигурации выбрано, но модель содержит Многопортовый блок switch. | В диалоговом окне Configuration Parameters, на панели Simulation Target, ясном выполнении ответвления входа Conditional. |
ID проверки: mathworks.slci.InstrumentedSignals
Проверяйте на оснащенные сигналы в модели.
Эта проверка проверяет, что модель не содержит сигналы, которые оснащены.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check for instrumented signals in the model | Модель содержит оснащенные сигналы. | Измените модель путем удаления оснащенных сигналов. |
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 . |
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 | Образцовый аргумент имеет класс памяти. | Измените модель так, чтобы образцовые аргументы не имели классов памяти. |
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 содержат только один вывод | Невстроенные функции задают больше чем один вывод. | Измените код MATLAB так, чтобы невстроенные определяемые пользователем функции задали только один вывод. |
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 не поддержала аргумент типа в функциях броска. |
Измените функцию броска к одной из следующих форм:
|
Check that colon operators in MATLAB code have no more than 3 operands | colon (: ) оператор имеет больше чем 3 операнда. | Измените код MATLAB так, чтобы |
Check that colon operators in MATLAB code use only integer and double data | colon (: ) оператор использует одни или символьные данные. | Измените код MATLAB так, чтобы |
Check that data used in MATLAB function is of a supported data type | Данные, используемые в функции MATLAB, не имеют типа: boolean , int8 , int16 , int32 , uint8 , uint16 , uint32 , single , double или скалярная шина. | Измените данные, чтобы быть поддерживаемым типом данных. |
Check that diagonal number used in a diag function in MATLAB code is constant | Функция diag задает диагональный номер, который не является константой. | Измените функцию diag , чтобы использовать постоянный диагональный номер. |
Check that code in MATLAB function is of a supported dimension |
| Измените идентификаторы, чтобы быть поддерживаемой размерностью. |
Check that if statements in MATLAB code use conditions that are scalar | Оператор if использует условие, которое не является скаляром. | Измените код 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 . | Измените использование директивы Поскольку MATLAB базируется функции, если директива Для пользовательских функций MATLAB директива |
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 приводит эту проверку к сбою, это может быть, потому что существует недостижимый код. Зафиксируйте любое предупреждение |
Check that no code in MATLAB functions has missing dimension information | Функция MATLAB имеет недостающую информацию о размерности. |
Измените функцию, чтобы устранить код с недостающей информацией о размерности. ПримечаниеЕсли ваш код MATLAB приводит эту проверку к сбою, это может быть, потому что существует недостижимый код. Зафиксируйте любое предупреждение |
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 body | Тело оператора if содержит несколько операторов инициализации для персистентной переменной. | Измените код MATLAB так, чтобы условная инициализация персистентных переменных содержала один оператор в теле оператора if . |
Check that switch statements in MATLAB code do not have case expressions containing a cell array | Оператор switch имеет case-выражение, содержащее массив ячеек. | Измените код MATLAB так, чтобы операторы switch не имели case-выражений, содержащих массив ячеек. |
Check that switch statements in MATLAB code use the same scalar integer type for all conditions | Оператор switch не использует тот же скалярный целочисленный тип для условий случая и переключателя. | Измените код 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 . |
ID проверки: mathworks.slci.MATLABCodeAnalyzer
Проверяйте функции MATLAB на директиву %#codegen
, код MATLAB сообщения Анализатора, и идентификатор сообщения выравнивания.
Эта проверка отчеты относительно директив %#codegen
, кода MATLAB сообщения Анализатора и идентификатор сообщения выравнивания нашла в функциях MATLAB и блоках MATLAB function.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check MATLAB code used in MATLAB Function blocks | Проблемы в блоке MATLAB function. |
|
Check MATLAB functions defined in Stateflow charts | Проблемы с функцией MATLAB, используемой в диаграммах Stateflow. |
|
Check called MATLAB functions | Проблемы в названных функциях MATLAB. |
|
ID проверки: mathworks.slci.UnsupportedBlocks
Проверяйте на блоки, которые не поддержаны Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о блоках, которые не поддержаны Simulink Code Inspector.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check for blocks not supported by Simulink Code Inspector |
Один или несколько блоков в модели не поддержаны для инспекции кода. ПримечаниеПоддерживаемые блоки перечислены в Поддерживаемых Блоках — По категориям и Поддерживаемых Блоках Маски, и также могут быть просмотрены в библиотеке блоков | Возможные действия включают:
|
Можно осуществить эту проверку моделей библиотеки.
Эта проверка поддерживается разовой редактированием проверкой.
ID проверки: mathworks.slci.WorkspaceVarUsage
Проверяйте на переменные рабочей области, на которые ссылается модель.
Эта проверка сообщает о переменных рабочей области то использование неподдерживаемые классы памяти.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check storage class for workspace variables referenced by the model |
Переменные рабочей области, на которые ссылается модель, не поддержаны по одной из этих причин:
ПримечаниеВ Simulink или классах модуля упаковочного инструмента (MPT), поставленных с кодом MathWorks®, инспекция кода поддерживается для следующих классов памяти:
| Измените модель так, чтобы модель не сослалась на переменные рабочей области или установила переменную рабочей области пользовательский класс памяти 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.ConditionalRootOutport
Проверяйте, что корневые выходные порты подмоделей не соединяются с условно выполняемыми подсистемами.
Эта проверка обновляет диаграмму модели и проверяет, что корневые выходные порты моделей, на которые ссылаются, не соединяются с условно выполняемыми подсистемами.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Verify that root Outports are not assigned conditionally | Корневой выходной порт модели, на которую ссылаются, непосредственно соединяется с условно выполняемой подсистемой, и корневой класс памяти выходного порта установлен в Auto . Инспекция кода не поддержана для подмоделей, для которых корневые выходные порты присвоены блоками в условно выполняемых подсистемах. | Измените модель так, чтобы корневые выходные порты не были непосредственно соединены с условно выполняемыми подсистемами. |
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 | Блок памяти Хранилища Глобальных данных затенен локальным Блоком памяти Хранилища данных. | Удалите Блоки памяти Хранилища глобальных данных, которые затенены локальными Блоками памяти Хранилища данных. |
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 supported | Pass reusable subsystem outputs as: не установлен в Structure reference , когда корневые выходные порты в моделях, на которые ссылаются, имеют неавтоматический класс памяти. | Установите Pass reusable subsystem outputs as: на Structure reference . |
ID проверки: mathworks.slci.OutportTerminator
Проверяйте использование блоков терминатора строки, соединенных с блоками модели - ссылки, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и проверяет использование блоков терминатора строки, соединенных с блоками модели - ссылки.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check for Model Reference block connectivity | Каждый выходной порт блока модели - ссылки соединяется с блоком терминатора строки. | Рассмотрите комментирование блока модели - ссылки. |
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 | Модель, используемая в качестве цели модели-ссылки, имеет несколько шагов расчета. | Измените модель, чтобы иметь один шаг расчета. |
ID проверки: mathworks.slci.GetSetVarUsage
Эта проверка обновляет диаграмму модели и идентифицирует переменные рабочей области класса памяти GetSet то использование неподдерживаемые спецификации.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check storage class for workspace variables referenced by the model |
Для переменной рабочей области, которая использует
| Измените переменные рабочей области класса памяти 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. |
ID проверки: mathworks.slci.CommentedBlocks
Эта проверка обновляет диаграмму модели и проверяет, что модель не содержит прокомментированные блоки.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check for commented out blocks in the model | Модель содержит блок, который комментируется. | Измените модель путем удаления прокомментированных блоков. |
ID проверки: mathworks.slci.VVSubSystemName
Эта проверка обновляет диаграмму модели и проверяет, что невстроенные подсистемы с пустыми пустотой интерфейсами вызова функции используют уникальные имена функций.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check function names used by void_void subsystems in the model | Модель содержит void_void подсистемы, которые используют то же имя функции. | Измените void_void подсистемы в модели, чтобы использовать уникальные имена функций. |
ID проверки: mathworks.slci.LookupndBreakpointsDataType
Эта проверка обновляет диаграмму модели и проверяет, что тип данных точки останова и тип входных данных n-D блока Lookup Table являются тем же самым.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check n-D Lookup Table blocks for incompatible breakpoint data type | Breakpoints > 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 |
Существуют объекты сигнала в рабочем пространстве модели, на которые ссылаются как синтезируемые локальные хранилища данных блоки Записи Чтения или Хранилища данных Хранилища данных в этой модели. |
Избегайте использования объектов сигнала в рабочем пространстве модели, на которые ссылаются как синтезируемые локальные хранилища данных блоки Записи Чтения или Хранилища данных Хранилища данных. Полагайте, что Блоки памяти Хранилища графических данных создания задают те хранилища данных. |
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 . | |
Корневой импорт в модели, на которую ссылаются, не соединяется с невиртуальным блоком. | Соедините корневой импорт в моделях, на которые ссылаются, к по крайней мере одному невиртуальному блоку. | |
Для импорта в инициированных подсистемах Latch input by delaying outside signal (LatchByDelayingOutsideSignal ) выбран (набор к on ). | Очистите Latch input by delaying outside signal. Чтобы сохранить фиксирующееся поведение, реструктурируйте модель путем размещения блока Unit Delay перед входным блоком в родительской схеме. | |
Для корневых блоков импорта, которые используют объект шины, параметры блоков, Output as nonvirtual bus (BusOutputAsStruct ) не выбран (набор к off ). | Для каждого экземпляра выберите Output as nonvirtual bus. | |
Inport является блоком In Bus Element. | Вместо блока In Bus Element используйте блок Inport с блоком Селектора Шины. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Постоянные блоки | Параметры блоков Constant value (Value ) пуст, являются неличными, используют выбор области значений или переменную индексацию на элементах структур MATLAB, являются комплексными, или имеют две или больше размерности. | Зафиксируйте установку Constant value. |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Наземные блоки | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.SignalRoutingBlocksUsage
Проверяйте на использование блоков Маршрутизации Сигнала, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Маршрутизации Сигнала.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Блоки Создателя Контрольной шины | Имена сигналов в блоке Bus Creator (Inputs ) не совпадают с именами входного сигнала для блока (InputSignalNames ). | Измените перечисленный блок Bus Creator, чтобы иметь соответствие с Inputs и InputSignalNames . |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Блоки Селектора Контрольной шины | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Блоки Присвоения Контрольной шины | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте Блоки памяти Хранилища данных | Параметры блоков Initial value (InitialValue ) пуст, являются неличными, используют выбор области значений или переменную индексацию на элементах структур MATLAB, являются комплексными, или имеют две или больше размерности. | Зафиксируйте установку Initial value. |
Параметры блоков Signal type (SignalType ) установлены в complex . Комплексные числа не поддержаны для инспекции кода. | Установите Signal type на auto или real . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный Блок памяти Хранилища данных. | |
Проверяйте блоки Чтения Хранилища данных | Блок выполняет прерывистый выбор на массивах datastore. | Измените выбор к поддерживаемой форме. |
Блок использует индексы со скобками, чтобы выполнить выбор на массивах datastore. | Измените выбор datastore массивов в блоках Чтения Хранилища данных, чтобы не использовать индексы со скобками. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Записи Хранилища данных | Блок выполняет прерывистый выбор на массивах datastore. | Измените выбор к поддерживаемой форме. |
Блок использует индексы со скобками, чтобы выполнить выбор на массивах datastore. | Измените выбор datastore массивов в блоках Записи Хранилища данных, чтобы не использовать индексы со скобками. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте От блоков | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте блоки Goto | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте блоки Слияния | Allow 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 не был постоянным. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Многопортовые блоки 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 не был постоянным. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Мультиплексора | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте блоки Демультиплексора | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте Селекторные блоки | Индексный порт не имеет поддерживаемого типа данных. | Измените индексный порт так, чтобы это имел тип данных int8 , int16 , int32 , uint8 , uint16 или uint32 . |
Index Option (IndexOptionArray ) установлен в Starting and ending indices (port) | Установите Index Option на значение кроме Starting and ending indices (port) . | |
Number of input dimensions (NumberOfDimensions ) является больше, чем данные порта 1 и индекса соединяются с блоком, который выбирает или переупорядочивает вход. | Полагайте, что вставка блока Signal Conversion в индексном порте или изменении индексных данных порта непрерывна. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверочный вектор конкатенация блоков | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.MathOperationsBlocksUsage
Проверяйте на использование блоков Математических операций, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Математических операций.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверяйте Абсолютные блоки | Порт ввода или вывода имеет тип int8 или int16 . | Измените порт, чтобы быть типа данных double , single , uint8 , uint16 , int32 , uint32 или boolean . |
Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. | |
Параметры блоков Integer rounding mode (RndMeth ) установлены в неподдерживаемое значение. | Установите Integer rounding mode на Zero или Floor . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Смещения | Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. |
Bias (Bias ) является пустым, неличным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, является комплексным, или имеет две или больше размерности. | Зафиксируйте установку Bias. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Усиления | Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. |
Параметры блоков 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 на Только | |
Параметры блоков Integer rounding mode (RndMeth ) установлены в неподдерживаемое значение. | Установите Integer rounding mode на Zero или Floor . | |
Параметры блоков Sample Time (SampleTime ) установлены в постоянный шаг расчета. | Установите Sample Time на явное, непостоянное значение. | |
Параметры блоков Saturate on integer overflow (SaturateOnIntegerOverflow ) выбран и параметр конфигурации Default parameter behavior (DefaultParameterBehavior ), установлены в Inlined , когда источник импорта является блоком Constant или другим блоком, который является постоянным. | Очистите параметр Saturate on integer overflow или измените модель так, чтобы входной источник не был постоянным блоком. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Математические блоки | Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. |
Function (Operator ) установлен в неподдерживаемое значение: conj или hermitian . | Установите Function на одно из следующих значений: exp , log , 10^u , log10 , magnitude^2 , square , transpose pow , reciprocal , hypot , rem или mod . | |
Параметры блоков Integer rounding mode (RndMeth ) установлены в неподдерживаемое значение. | Установите Integer rounding mode на Zero или Floor . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки продукта | Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. |
Multiplication (Multiplication ) установлен в Matrix (*) , и Saturate on integer overflow (SaturateOnIntegerOverflow ) выбран (набор к on ). | Очистите параметр Saturate on integer overflow. | |
Number of inputs параметров блоков (
|
Установите Number of inputs на
| |
Параметры блоков 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 на явное, непостоянное значение. | |
Параметры блоков Saturate on integer overflow (SaturateOnIntegerOverflow ) выбран и параметр конфигурации Default parameter behavior (DefaultParameterBehavior ), установлены в Inlined , когда источник импорта является блоком Constant или другим блоком, который является постоянным. | Очистите параметр Saturate on integer overflow или измените модель так, чтобы никакой источник импорта не был постоянным блоком. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Блоки Контрольной суммы | Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. |
Параметры блоков 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 или измените модель так, чтобы никакой источник импорта не был постоянным блоком. | |
Блок имеет один векторный вход и параметр, 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 , single , int8 , uint8 , int16 , uint16 , int32 или uint32 . |
Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. | |
Блок имеет один вход, и стандартной математической библиотекой не является C89/C90 (ANSI) . | В диалоговом окне Configuration Parameters, на панели the Code Generation > Interface, устанавливает Standard math library на C89/C90 (ANSI) . | |
Параметры блоков Integer rounding mode (RndMeth ) установлены в неподдерживаемое значение. | Установите Integer rounding mode на Zero или Floor . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Округление Функциональных блоков | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверка Изменяет блоки | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте блоки Знака | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте блоки Sqrt | Блокируйте входные параметры, и выходные порты не имеют совпадающего типа данных. | Зафиксируйте перечисленный импорт блока или выходной порт. |
Параметры блоков Function (Operator ) не установлены в sqrt или signedSqrt . | Установите параметры блоков Function на sqrt или signedSqrt . | |
Параметры блоков Output signal type (OutputSignalType ) установлены в complex . | Установите параметры блоков Output signal type (OutputSignalType ) к auto или real . | |
Вход блока и параметры блоков Intermediate results (IntermediateResultsDataTypeStr ) не имеют совпадающего типа данных. |
Установите параметры блоков Intermediate results (
| |
Блокируйте входные параметры, и типами данных выходных портов не является single или double . | Зафиксируйте перечисленный импорт блока или выходной порт. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Присвоения | Индексный порт не имеет поддерживаемого типа данных. | Измените индексный порт так, чтобы это имел тип данных int8 , int16 , int32 , uint8 , uint16 или uint32 . |
Initialize output (Y) ( | Установите Initialize output (Y) на | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Полиномиальные блоки | Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. |
Типами данных входного порта не является single или double . | Измените перечисленные типы данных входного порта. | |
Количество коэффициентов для параметров блоков Polynomial Coefficients (coefs ) не больше, чем нуль. | Измените количество коэффициентов для параметров блоков Polynomial Coefficients (coefs ), чтобы быть больше, чем нуль. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Скалярного произведения | Входные порты не являются скалярами, векторами или матрицами отдельного столбца. | Измените перечисленные входные порты. |
Типами данных входного порта не является single или double . | Измените перечисленные типы данных входного порта. | |
Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. | |
Параметры блоков Integer rounding mode (RndMeth ) установлены в неподдерживаемое значение. | Установите Integer rounding mode на Zero или Floor . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Унарный Минус блоки | Типами данных входного порта не является double , single , int8 , int16 или int32 . | Измените перечисленные типы данных входного порта. |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.SignalAttributesBlocksUsage
Проверяйте на использование блоков Атрибутов Сигнала, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Атрибутов Сигнала.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверяйте блоки Преобразования типа данных | Параметры блоков 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 на явное, непостоянное значение. | |
Параметры блоков Saturate on integer overflow (SaturateOnIntegerOverflow ) выбран и параметр конфигурации Default parameter behavior (DefaultParameterBehavior ), установлены в Inlined , когда источник импорта является блоком Constant или другим блоком, который является постоянным. | Очистите параметр Saturate on integer overflow или измените модель так, чтобы входной источник не был постоянным блоком. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Копии Типа данных | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте блоки Распространения Типа данных |
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте блоки Спецификации Сигнала | Variable-size signal (VarSizeSig ) не установлен в No . | Установите Variable-size signal на No . |
Signal type (SignalType ) установлен в complex . | Установите Signal type на любой тип кроме complex . | |
Sampling mode (SamplingMode ) установлен в Frame based . | Установите Sampling mode на любой режим кроме Frame based . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Преобразования Сигнала | Параметры блоков Output (ConversionOutput ) не установлены в Signal copy . | Установите Output на Signal copy . |
Параметры блоков Exclude this block from 'Block reduction' optimization (OverrideOpt ) не выбраны (набор к on ). | Выберите Exclude this block from 'Block reduction' optimization. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Перехода Уровня | Параметры блоков 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, и не имел двух или больше размерностей. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Тестовые блоки | Параметры блоков Data type for sample time (ProbeSampleTimeDataType ) не установлены в single или double . | Установите параметры блоков Data type for sample time на single или double . |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Ширины | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте Модульные блоки Преобразования | Типом данных входного порта не является double или single . | Измените тип данных входного порта. |
Блок не использует поддерживаемый импорт или модули выходного порта. | Измените блок, чтобы использовать поддерживаемый импорт и модули выходного порта. Преобразования между следующим включены:
| |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки IC | Параметры блоков Initial value (Value ) является пустым, неличным, комплексным, использует выбор области значений или переменную индексацию на элементах структур MATLAB, или имеет две или больше размерности. | Измените параметры блоков так, чтобы не было пустым, не был неличным, не был комплексным, не использовал выбор области значений или переменную индексацию на элементах структур MATLAB, и не имел двух или больше размерностей. |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.LogicalandBitOperationsBlocksUsage
Проверяйте на использование Логических и блоков Битовых операций, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Битовых операций и Логическом.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверяйте блоки Оператора отношения | Тип данных выходного порта блока не является или перечислимым типом со значением по умолчанию 0 или boolean . | Измените тип данных выходного порта, чтобы быть или перечислимым типом со значением по умолчанию 0 или boolean . |
Блокируйтесь входные порты не имеют совпадающего типа данных. | Измените входные порты, чтобы иметь совпадающий тип данных. | |
Параметры блоков Relational operator (Operator ) установлены в неподдерживаемое значение: isInf , isNaN или isFinite . | Установите Relational operator на поддерживаемое значение: <= , == , >= , ~= , < или > . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Логического оператора | Выходным портом блока Logical Operator не является boolean или uint8 . | Измените тип данных выходного порта к boolean или uint8 . |
Блокируйтесь входные порты не имеют совпадающего типа данных. | Сконфигурируйте входные порты, чтобы иметь совпадающий тип данных. | |
Параметр модели Casting modes не устанавливается на Nominal для операторов XOR с операндами boolean . | Установите параметр модели Casting modes на Nominal . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Побитового оператора | С Number of input ports набор (NumInputPorts) к 1 и Operator набор (logicop) к AND , OR , NAND , NOR или XOR , тип данных импорта не является скаляром. | Сконфигурируйте тип данных импорта, чтобы быть скаляром. |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки ArithShift | Diagnostic 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, который является в допустимой области значений типа данных импорта. | |
Следующие параметры конфигурации установлены можно следующим образом:
когда источник Inport 2 является постоянным. | Измените модель так, чтобы источник Входа 2 не был постоянным. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Комбинаторной логики | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.LookupTablesBlocksUsage
Проверяйте на использование блоков Интерполяционной таблицы, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Интерполяционной таблицы.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверяйте блоки Интерполяционной таблицы | Порты ввода и вывода не имеют совпадающего типа данных. | Измените порты ввода и вывода, чтобы иметь совпадающий тип данных. |
Параметры блоков 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. | |
Для Breakpoints specification (BreakpointsSpecification ) устанавливает на Explicit values , параметры блоков Breakpoints являются пустыми, являются неличными, используют выбор области значений или переменную индексацию на элементах структур MATLAB, являются комплексными, или имеют две или больше размерности. | Зафиксируйте установку Breakpoints 1. | |
Breakpoints > Data Type не использует совпадающий тип данных в качестве входа блока. | Измените типы данных, чтобы соответствовать. Или рассмотрите установку Breakpoints > Data Type к Inherit: Same as corresponding input | |
Параметры блоков Table data (TableDataTypeStr ) не используют совпадающий тип данных в качестве блока вывод. | Измените типы данных, чтобы соответствовать. | |
Параметры блоков Intermediate Results (IntermediateResultsDataTypeStr ) не используют совпадающий тип данных в качестве блока вывод. | Измените типы данных, чтобы соответствовать. | |
Блокируйтесь или блокируйтесь, выходной порт является постоянным. | Установите шаг расчета блока или блокируйте выходной порт к явному, непостоянному шагу расчета. | |
Параметры блоков Use one input port for all input data (UseOneInputPortForAllInputData ) выбраны. | Очистите Use one input port for all input data. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Перед поиском | Параметры блоков 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 , single или double . | Установите Breakpoint > Data Type на Inherit: Same as input , single или 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. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Интерполяцию Используя блоки Перед поиском | Intermediate 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 . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.UserDefinedFunctionBlocksUsage
Проверяйте на использование Пользовательских Функциональных блоков, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в Пользовательских Функциональных блоках.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверяйте Блоки s-function | S-функция не была создана с помощью текущего релиза Legacy Code Tool. | Если возможно, создайте S-функцию с помощью 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 не был комплексным или неличным. | |
Интегрированная модель блока S-function SIL использует глобальную переменную для корневого порта ввода или вывода. | Измените модель так, чтобы она не использовала глобальные переменные для корневых портов ввода или вывода. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Fcn | Блок содержит недопустимые операции. | Измените блок, чтобы содержать только поддерживаемые операции:
|
Блок содержит неподдерживаемые переменные. | Измените блок так, чтобы он только использовал u в качестве имени переменной. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.PortsandSubsystemsBlocksUsage
Проверяйте на использование Портов и блоков Подсистем, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Подсистем и Портах.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверка Включает блоки | Сигнал, вводящий разрешать порт, не имеет типа данных boolean . | Зафиксируйте тип данных сигнала. |
Разрешать Блокировка порта расположена на корневом уровне модели. | Удалите или переместите Разрешать Блокировку порта. | |
Default parameter behavior (DefaultParameterBehavior ) установлен в Inlined , и сигнал, вводящий Разрешать Порт родительской подсистемы, является постоянным. | Измените модель так, чтобы сигнал, вводящий Разрешать Порт родительской подсистемы, не был постоянным. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Модели - ссылки | Значение, которое задано в Arguments> Model arguments (ParameterArgumentValues ), является комплексным или неличным. | Измените модель так, чтобы значения, заданные в Model arguments, не были комплексными или неличными. |
Блок находится в защищенном режиме. | Удалите защиту от модели - ссылки. Для получения дополнительной информации смотрите, Защищают Модели, чтобы Скрыть Содержимое (Simulink Coder). | |
Блокируйтесь или блокируйтесь, выходной порт является постоянным. | Установите шаг расчета блока или блокируйте выходной порт к явному, непостоянному шагу расчета. | |
Блок имеет несколько шагов расчета. | Измените цель модели-ссылки так, чтобы блок Model Reference имел один шаг расчета. | |
Блокируйтесь входной порт не является одним из следующих поддерживаемых типов данных:
| Зафиксируйте тип данных входного порта. | |
Для входных портов в инициированном блоке модели - ссылки Latch input by delaying outside signal (LatchByDelayingOutsideSignal ) выбран (набор к on ). | Очистите Latch input by delaying outside signal. Чтобы сохранить фиксирующееся поведение, реструктурируйте модель путем размещения блока Unit Delay перед входным блоком вне блока модели - ссылки. | |
Для входных портов блока модели - ссылки Latch input for feedback signals of function-call subsystem outputs (LatchInputForFeedbackSignals ) выбран (набор к on ). | Очистите Latch input for feedback signals of function-call subsystem outputs. Чтобы сохранить фиксирующееся поведение, реструктурируйте модель путем размещения блока Unit Delay перед входным блоком вне блока модели - ссылки. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Subsystem | Варианты подсистемы не имеют того же количества портов. | Если возможно, реконфигурируйте модель так, чтобы различные подсистемы имели то же количество портов. |
Подсистема не является одним из следующего:
| Если возможно, реконфигурируйте подсистему, чтобы быть любой виртуальными (очистите параметр блока Subsystem Treat as atomic unit), или встроенное атомарное, активированное, вызов функции, если действие, или инициировал подсистему. Также перенесите подсистему в блок Model или исследуйте другие опции реализации. | |
Подсистемой является Функциональный блок Simulink. | Измените модель, чтобы удалить Функциональные блоки Simulink. | |
Для блоков с вариантами применяется любое из этих условий:
| Очистите Generate preprocessor conditionals или установите Model Configuration Parameters > Code Generation > Interface > Generate preprocessor conditionals на Disable all . | |
Параметры блоков Minimize algebraic loop occurrences ( | Очистите Minimize algebraic loop occurrences. | |
Параметры блоков Propagate execution context across subsystem boundary ( | Очистите Propagate execution context across subsystem boundary. | |
Для невиртуальных подсистем Function packaging ( | Установите Function packaging на | |
Для блока с Function packaging (
| Зафиксируйте параметры блоков и параметры модели. | |
Для блока с Function packaging (
|
| |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Триггерные блоки | В родительской подсистеме сигнал, вводящий триггерный порт, не является скаляром. | Сконфигурируйте сигнал, вводящий триггерный порт родительской подсистемы, чтобы быть скаляром. |
В родительской подсистеме сигнал, вводящий триггерный порт, не является типом данных boolean когда Trigger type (TriggerType ) isrising , falling или either . | Сконфигурируйте сигнал, вводящий триггерный порт родительской подсистемы, чтобы быть boolean . | |
Блок является на корневом уровне модели с Trigger type (TriggerType ) набором к rising , falling или either . |
Выполнить одно из следующих действий:
| |
States when enabling (StatesWhenEnabling ) установлен в inherit . | Установите States when enabling на held или reset . | |
Default parameter behavior (DefaultParameterBehavior ) установлен в Inlined , и сигнал, вводящий Триггерный Порт родительской подсистемы, является постоянным. | Измените модель так, чтобы сигнал, вводящий Триггерный Порт родительской подсистемы, не был постоянным. | |
Типом данных выходных портов не является auto , int8 или double . | Зафиксируйте тип данных выходного порта. | |
Параметры блоков Initial trigger signal state (InitialTriggerSignalState ) не установлены в compatibility (no trigger on first evaluation) или zero . | Установите Initial trigger signal state на compatibility (no trigger on first evaluation) или zero . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт | |
Проверяйте Блокировки порта Действия | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте Если блоки | Место назначения блока является блоком терминатора строки или пустой подсистемой действия. | Измените модель так, чтобы место назначения блока не было блоком терминатора строки или пустой подсистемой действия. |
Default parameter behavior (DefaultParameterBehavior ) установлен в Inlined , и источник Inport 1 является постоянным. | Измените модель так, чтобы источник Входа 1 не был постоянным. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Блоки Function-Call Generator | Блок имеет больше чем одно место назначения. | Измените модель так, чтобы блок имел одно место назначения. |
Number of iterations (numberOfIterations ) не установлен в 1 . | Установите Number of iterations на 1 . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Разделения Вызова функции | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Проверяйте блоки Случая Переключателя | Место назначения блока является блоком терминатора строки или пустой подсистемой действия. | Измените модель так, чтобы место назначения блока не было блоком терминатора строки или пустой подсистемой действия. |
Default parameter behavior (DefaultParameterBehavior ) установлен в Inlined , и источник Inport 1 является постоянным. | Измените модель так, чтобы источник Входа 1 не был постоянным. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте На блоки Итератора | Параметры блоков 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 на int32 , int16 или int8 . | |
Для Итератора подсистема имеет настраиваемый параметр для внутреннего предела итерации. | Установите Default parameter behavior (DefaultParameterBehavior ) на Inlined или измените внутренний предел итерации так, чтобы это не был настраиваемый параметр. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте На Каждого, блокируется | Input 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 . | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.DiscontinuitiesBlocksUsage
Проверяйте на использование блоков Разрывов, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Разрывов.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверка Насыщает блоки | Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. |
Параметры блоков Upper limit (UpperLimit ) пуст, являются неличными, используют выбор области значений или переменную индексацию на элементах структур MATLAB, являются комплексными, или имеют две или больше размерности. | Зафиксируйте установку Upper limit. | |
Параметры блоков Lower limit (LowerLimit ) пуст, являются неличными, используют выбор области значений или переменную индексацию на элементах структур MATLAB, являются комплексными, или имеют две или больше размерности. | Зафиксируйте установку Lower limit. | |
Параметры блоков UpperLimitSource не установлены в dialog . | Используйте параметры блоков Upper limit, а не входные порты, чтобы задать верхний предел. | |
Параметры блоков LowerLimitSource не установлены в dialog . | Используйте параметры блоков 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. | |
Проверяйте Мертвые Зональные блоки | Параметры блоков Saturate on integer overflow (SaturateOnIntegerOverflow ) выбраны (набор к on ). | Зафиксируйте установку Saturate on integer overflow. |
ID проверки: mathworks.slci.SinksBlocksUsage
Проверяйте на использование блоков Приемников, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Приемников.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверяйте блоки Выходного порта | Блок не может задать сигналы переменной размерности. Параметры блоков 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 . | В Model Data Editor, набор Storage Class к Auto . | |
Выходной порт является блоком Out Bus Element. | Вместо блока Out Bus Element используйте блок Outport с блоком Bus Creator. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Терминатора | Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.DiscreteBlocksUsage
Проверяйте на использование Дискретных блоков, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в Дискретных блоках.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверяйте блоки Единичной задержки | Параметры блоков Initial conditions (InitialCondition ) пуст, являются неличными, используют выбор области значений или переменную индексацию на элементах структур MATLAB, являются комплексными, или имеют две или больше размерности. | Зафиксируйте установку Initial conditions. |
Параметры блоков Input Processing (InputProcessing ) установлены в Columns as channels (frame based) . | Установите Input Processing на Elements as channels (sample based) или Inherited . | |
Когда состояние блока решает к сигналу с пользовательским классом памяти сигнала, классом памяти сигнала:
| Измените пользовательский класс памяти сигнала. | |
Состояние блока решает к объекту сигнала с непустым начальным значением. | Измените объект сигнала. | |
Блок используется для перехода уровня. | Замените блок, используемый для перехода уровня с блоком Rate Transition. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте Дискретные блоки Интегратора | Типами данных входных портов не является single или double для портов несброса. | Измените типы данных входных портов, чтобы быть single или double для портов несброса. |
Inports и выходные порты не являются скалярами. | Измените импорт или выходные порты, чтобы быть скалярами. | |
Типами данных выходных портов не является single или double . | Измените типы данных выходных портов, чтобы быть single или double . | |
Порты ввода и вывода не имеют совпадающего типа данных. | Измените типы данных порта, чтобы соответствовать. Тип данных порта сброса не должен совпадать с другими типами входных и выходных данных. | |
Параметры блоков Integrator method (
|
Установите Integrator method на одно из следующего:
| |
Параметры блоков Show state port (ShowStatePort ) выбраны. | Очистите Show state port. | |
Параметры блоков External reset (ExternalReset ) не установлены в none . | Установите параметры блоков External reset на none . | |
Или или оба параметров блоков Upper saturation limit (
| Установите и Upper saturation limit и Lower saturation limit к одномерному, некомплексному, конечному значению. | |
Блок в условной подсистеме. | Измените модель так, чтобы блок Discrete Integrator не был в условной подсистеме. | |
Default parameter behavior (DefaultParameterBehavior ) установлен в Inlined ), и источник блока Inport 2 является постоянным. | Установите шаги расчета блоков к явным, непостоянным шагам расчета. Измените модель так, чтобы источник блока Input 2 не был постоянным. | |
Когда состояние блока решает к сигналу с пользовательским классом памяти сигнала, классом памяти сигнала:
| Измените пользовательский класс памяти. | |
Состояние блока решает к объекту сигнала с непустым начальным значением. | Измените объект сигнала. | |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. | |
Проверяйте блоки Задержки | Параметры блоков Input processing (InputProcessing ) установлены в Columns as channels (frame based) . | Установите Input processing на что-то другое, чем Columns as channels (frame based) . |
Параметры блоков Show enable port (ShowEnablePort ) выбраны. | Очистите Show enable port. | |
Нарушает ограничение, которое применяется ко всем блокам:
|
ID проверки: mathworks.slci.StateflowBlocksUsage
Проверяйте на использование блоков Stateflow, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Stateflow.
Доступный с Simulink Code Inspector.
Проверять | Условие | Рекомендуемое действие |
---|---|---|
Check Stateflow blocks | Function packaging (RTWSystemCode ) не установлен в Inline . | Установите Function packaging на Inline . |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
Стройте диаграмму программирования (Stateflow)
ID проверки: mathworks.slci.StringBlocksUsage
Идентифицируйте использование блоков Строки, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в блоках Строки.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Проверяйте ASCII, чтобы Представить блоки в виде строки | Размерность входа больше, чем или равна значению Buffer size параметра динамически измеренной строки (байты). | Зафиксируйте входную размерность. |
Нарушает ограничение, которое применяется ко всем блокам:
| Зафиксируйте перечисленный импорт блока или выходной порт. |
ID проверки: mathworks.slci.chartsSFObjsUsage
Проверяйте на использование диаграмм Stateflow, которые могут повлиять на совместимость с Simulink Code Inspector.
Эта проверка обновляет диаграмму модели и сообщает о несовместимостях, которые это находит в диаграммах Stateflow.
Доступный с Simulink Code Inspector.
Подпроверять | Условие | Рекомендуемое действие |
---|---|---|
Check usage of Stateflow object palette |
График содержит один или несколько следующих объектов:
| Сконфигурируйте график так, чтобы он не содержал неподдерживаемые объекты. |
Check name usage in a Stateflow chart that uses MATLAB action language | График, который использует язык действия MATLAB, не имеет уникальных имен для функций Simulink, графических функций и таблиц истинности, которые это содержит. | Используйте уникальные имена для функций, графических функций и таблиц истинности в графике. |
Check that all charts unselect ‘Create data for monitoring child activity’ option | Свойство диаграммы Create data for monitoring child activity выбрано (набор к on ). | Очистите свойство диаграммы параметр Create data for monitoring child activity. |
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)
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 | Действие использует операцию, которая не поддержана:
| Измените график так, чтобы действие использовало только поддерживаемые операции. |
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 | Пользовательские данные доступов к действию, которые не поддержаны для инспекции кода. |
Измените переходы к:
|
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:
| Измените математическую функцию, чтобы использовать поддерживаемые типы данных. |
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 | Переход задает таблицу истинности с различными фактическими и ожидаемыми размерами аргумента. | Измените переход, чтобы задать таблицы истинности, чтобы использовать те же размеры для фактических и ожидаемых аргументов. |
Диаграммы Stateflow (Stateflow)
Переходы (Stateflow)
Связи перехода (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)
Соединения истории (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 Method | InitializeMethod для Local или данных Stateflow осциллографа Output установлен в 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 , данные являются массивом шин или имеют элементы, которые являются массивами шин. Если типом данных графика является enumerated , значением по умолчанию данных не является 0 . | Измените типы данных графика, чтобы быть builtin , enumerated или bus . Если типом данных графика является bus , обновите график так, чтобы данные не были массивом шин, или имейте элементы, которые являются массивами шин. Если типом данных графика является enumerated , обновите график так, чтобы тип данных enumerated имел значение по умолчанию 0 . |
Check that the chart does not specify initial values for chart data with scope Output | Стройте диаграмму данных об использовании с осциллографом, Output задает начальное значение. | Измените график, чтобы не задавать начальное значение для данных с осциллографом Output . |
Check that the 'First Index' of Stateflow data are empty or 0 | Свойство First 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)
События (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)
События (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 |
Действие использует операцию, которая не является:
| Измените график так, чтобы действие использовало только поддерживаемые операции. |
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:
| Измените математическую функцию, чтобы использовать поддерживаемые типы данных. |
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 data for monitoring’ option | Государственная собственность Create data for monitoring выбрана (набор к on ). | Очистите государственную собственность параметр Create data 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 |
Состояние использует путь к переходу, который не является одним из следующего:
| Сконфигурируйте переходы так, чтобы это использовало поддерживаемый путь. |
Повторное использование компоненты Simulink в диаграммах Stateflow (Stateflow)
Состояния (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 | Графическая функция содержит неструктурированные потоки управления, которые не поддержаны для инспекции кода. | Сконфигурируйте графическую функцию так, чтобы она не содержала неструктурированные потоки управления. |
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 | Таблица истинности содержит неструктурированные потоки управления, которые не поддержаны для инспекции кода. | Сконфигурируйте таблицу истинности так, чтобы она не содержала неструктурированные потоки управления. |
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 ). |
Измените вывод пользовательский класс памяти сигнала:
|
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 . |
Check that all MATLAB function blocks have RTWSystemCode set to Inline | Для блока MATLAB function Function packaging (RTWSystemCode ) не установлен в Inline . | Измените блок MATLAB function, чтобы установить Function packaging (RTWSystemCode ) на Inline . |
Check that MATLAB functions do not contain input Trigger signals | Функция MATLAB содержит сигналы входа Trigger. | Измените функцию MATLAB, чтобы удалить использование сигналов входа Trigger. |
Check that MATLAB functions do not contain Function Call output signals | Функция MATLAB содержит выходные сигналы вызова функции. | Измените функцию MATLAB, чтобы удалить использование выходных сигналов вызова функции. |
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. |
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 в родительскую модель, которая не поддержана для инспекции кода. | Для каждого экземпляра откройте диалоговое окно блока Outport и выберите параметр 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 работает с невиртуальной шиной. | Измените модель так, чтобы никакие невиртуальные блоки не работали с виртуальной шиной, и никакие блоки Присвоения Шины не работают с невиртуальной шиной. Это действие упрощает обработку шины, чтобы продвинуть трассируемость и удобочитаемость сгенерированного кода. |
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 > Symbols, набор Локальные временные переменные к значению по умолчанию $N$M и набор Разделяемый сервисный формат идентификатора к значению по умолчанию $N$C . |
Check standard math library settings for shared utils inspection | Стандартные математические настройки библиотеки не поддержаны для разделяемого сервисного контроля. | В диалоговом окне Configuration Parameters, на панели Code Generation > Interface, математической библиотеке Стандарта набора к C89/C90 (ANSI) . |
Check code style settings for shared utils inspection | Значения для параметров конфигурации стиля кода не поддержаны для разделяемого сервисного контроля. | В диалоговом окне Configuration Parameters, на панели Code Generation > Code Style, уровне Круглых скобок набора к Nominal . |