| Признак | Ограничение | 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 |
| Выполнение условной входной ветви | Когда выбран параметр конфигурации Выполнение условной входной ветви:
| Неокончательный | Check conditional input branch execution setting |
| Неподдерживаемые блоки | В модели не должно быть блоков, которые не поддерживаются Simulink® Code Inspector™. | Неокончательный | Check for unsupported blocks |
| Классы памяти для переменных рабочей области |
Модель не может ссылаться на переменные рабочей области, которые не поддерживаются по одной из следующих причин:
| Неокончательный | Check storage class for workspace variables |
| Пользовательские классы памяти GetSet для переменных рабочей области |
Для переменных рабочей области, которые используют
| Неокончательный | 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 каждая категория элемента модели должна использовать | Неокончательный | Check for unsupported Code Mapping settings |
| Настройка структуры папки генерации кода | В Настройки, на панели General, опция Code generation folder structure должна быть установлена на | ФАТАЛЬНЫЙ | 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 |