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

ПризнакОграничениеFATAL/НефатальныйПроверка совместимости
Несвязанные объектыВ модели или подсистеме не должно быть несвязанных линий, входных портов или выходных портов. Это помогает предотвратить мертвый код и скрытые блоки земли.НеокончательныйCheck for unconnected objects in the model
Спецификации функцийМодель не может задать пользовательские прототипы функции входа модели. Необходимо отменить настройку Configure arguments for Step function prototype в диалоговом окне Configure C Step Function Interface.НеокончательныйCheck C Step Function Interface setting
Выполнение условной входной ветви

Когда выбран параметр конфигурации Выполнение условной входной ветви:

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

  • Модель не должна использовать выходы Reusable или Nonreusable подсистемы в качестве входов для блока Multiport Switch.

НеокончательныйCheck conditional input branch execution setting
Неподдерживаемые блокиВ модели не должно быть блоков, которые не поддерживаются Simulink® Code Inspector™.НеокончательныйCheck for unsupported blocks
Классы памяти для переменных рабочей области

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

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

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

НеокончательныйCheck storage class for workspace variables
Пользовательские классы памяти GetSet для переменных рабочей области

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

  • Для пользовательского класса памяти должен быть определен файл заголовка.

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

НеокончательныйCheck GetSet storage class for workspace variables
Использование шагов расчетаМодель не может использовать непрерывный, асинхронный, явный дискретный раздел, управляемый данными, объединение, экспортированные дискретные или переменные шаги расчета.ФАТАЛЬНЫЙCheck for sample times in the model> Check sample times
Явные разделыМодель не должна содержать явных разделов.ФАТАЛЬНЫЙCheck for sample times in the model> Check for explicit partitions
Автоматическая вставка блоков Преобразования Сигналов на сигналы, входящие в входные порты блоковАвтоматическая вставка блока преобразования сигнала на сигнал, входящий в порт блока, не поддерживается для инспекции кода. Он создает скрытый блок Signal Conversion, который не поддерживается для инспекции кода.НеокончательныйCheck for Signal Conversion blocks automatically inserted on signals entering block input ports> Verify no Signal Conversion blocks are automatically inserted on signals entering block inports
Выбранное инструментирование с фиксированной точкой и сокращение блоковОдновременное использование инструментирования с фиксированной точкой и сокращение блоков не поддерживается для инспекции кода.НеокончательныйCheck for usage of fixed-point instrumentation> Verify usage of fixed-point instrumentation
Блок Root Outport шагов расчетаКорневые блоки Outport не должны быть постоянными. Это ограничение препятствует перемещению назначения корневого порта в функцию инициализации модели, что приведет к непрохождению валидации функций модели.НеокончательныйCheck usage of root Outport blocks> Verify sample times
Корневой Выход блока метод прохождения шиныКорневой блок Outport, который передает шину родительской модели, должен пройти шину как структуру. В противном случае программное обеспечение Simulink может вставить скрытый блок Signal Conversion в родительскую модель, который не поддерживается для инспекции кода. Для каждого образца параметры блоков Output as nonvirtual bus in parent model (BusOutputAsStruct) должен быть выбран.НеокончательныйCheck usage of root Outport blocks> Verify root Outports pass buses to parent models as structures
Автоматическое преобразование виртуальной шины в невиртуальнуюАвтоматическое преобразование между виртуальной и невиртуальной шинами не поддерживается для инспекции кода. Он создает скрытый блок Signal Conversion, который не поддерживается для инспекции кода.ФАТАЛЬНЫЙCheck usage of buses> Check for automatic conversion between virtual to nonvirtual buses
Блокируйте операции на шинеНевирусный блок не должен работать с виртуальной шиной, а Bus Assignment блок не должен работать с невиртуальной шиной. Это ограничение упрощает обработку шины для повышения трассируемости и читаемости сгенерированного кода.ФАТАЛЬНЫЙCheck usage of buses> Verify that blocks in the model do not perform unsupported operations on a bus
Замена типа данныхИмена замен в таблице замещения типов данных должны иметь тип Simulink .AliasType.НеокончательныйCheck data type replacement names
Шаги расчета для модели, используемой в качестве цели модели-ссылкиМодель, используемая в качестве цели модели-ссылки, не должна иметь нескольких шагов расчета.НеокончательныйCheck for sample times in model used as model reference target
Блоки с комментариямиМодель не должна содержать блоки, которые комментируются.НеокончательныйCheck model for commented out blocks
Приборные сигналы соединяются с автоматически вставляемыми блокамиМодель не должна содержать приборные сигналы, которые соединяются с автоматически вставляемыми блоками.НеокончательныйCheck model for instrumented signals that connect to automatically inserted blocks
Имена функции для неинлинфицированных подсистем с интерфейсами вызова с пустой функциейВ модели неинлинфицированные подсистемы с пустыми интерфейсами вызова функции должны использовать уникальные имена функции.ФАТАЛЬНЫЙCheck model for void_void subsystems that use the same function name
Общие синтезированные локальные хранилища данных

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

НеокончательныйCheck for usage of synthesized local data stores
Переиспользуемые подсистемы

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

НеокончательныйCheck model for reusable subsystems that use the same function interfaces
Настройки соответствия кода

В редакторе соответствия кода на вкладке Data Defaults под Code Mappings-C каждая категория элемента модели должна использовать Default настройка класса памяти.

НеокончательныйCheck for unsupported Code Mapping settings
Настройка структуры папки генерации кода

В Настройки, на панели General, опция Code generation folder structure должна быть установлена на Model Specific.

ФАТАЛЬНЫЙCheck the code generation folder structure for the model
Графический сортированный порядокСкомпилированный список блоков модели должен совпадать с порядком сортировки графических блоков.НеокончательныйCheck model for compiled and graphical block sorted order
Настройки символов генерации кода для общих утилитДля проверки общих утилит необходимо задать значение по умолчанию Локальные временные переменные (Embedded Coder) $N$M и формат идентификатора общих утилит (Embedded Coder) должен быть установлен на значение по умолчанию $N$C.НеокончательныйCheck usage of shared utilities> Check code generation symbols settings for shared utils inspection
Стандартная настройка математической библиотеки для общих утилитДля проверки общих утилит должна быть установлена Стандартная математическая библиотека (Simulink Coder) C89/C90 (ANSI) или C99 (ISO).НеокончательныйCheck usage of shared utilities> Check standard math library settings for shared utils inspection
Настройки стиля кода для общих утилит

Для проверки общих утилит:

НеокончательныйCheck usage of shared utilities> Check code style settings for shared utils inspection
Моделируйте аргументыАргументы модели не должны иметь класса памяти.НеокончательныйCheck model arguments for storage classes

Похожие темы