Признак | Ограничение | 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 |