Критические несовместимости

Когда вы смотрите код, сгенерированный из моделей с КРИТИЧЕСКОЙ несовместимостью, инспекция кода завершает работу. Код, сгенерированный из моделей с КРИТИЧЕСКИМИ несовместимостями, не может быть проверен.

Когда вы смотрите код, сгенерированный из моделей с нефатальными несовместимостями, инспекция кода не завершает работу. Несмотря на то, что не может быть возможно полностью проверить сгенерированный код, инспекция кода продолжается. Simulink® Code Inspector™ может частично проверить сгенерированный код.

Можно использовать проверки совместимости, чтобы идентифицировать и зафиксировать и критические и нефатальные несовместимости.

Параметр или атрибутОграничениеПроверка совместимости
На Панели Диагностики: панель Возможности соединения, Bus signal treated as vector (StrictBusMsg)Должен быть установлен в error (эквивалентный ErrorOnBusTreatedAsVector заданный в командной строке).Check diagnostic settings> Verify Bus signal treated as vector setting
На Панели Диагностики: панель Возможности соединения, Non-bus signals treated as bus signals (NonBusSignalsTreatedAsBus)Должен быть установлен в error.Check diagnostic settings> Verify 'Non-bus signals treated as bus signals' setting
На Панели Генерации кода: Общий (Simulink Coder) панель, System target file (Simulink Coder) (SystemTargetFile)Должен быть установлен в ert.tlc или системный конечный файл для ERT-выведенной цели.Check system target file setting
На Панели Генерации кода: Комментарии (Simulink Coder) панель, Include comments (Simulink Coder) (GenerateComments)Должен быть выбран (набор к on). Синтаксические анализы Code Inspector автоматически сгенерировали комментарии, чтобы получить информацию о трассируемости о данных модели.Check code generation settings> Verify 'Include comments' setting
На Панели Генерации кода: Интерфейс (Simulink Coder) панель, Support: variable-size signals (Embedded Coder) (SupportVariableSizeSignals)Должен быть очищен (набор к off).Check code generation settings> Verify 'variable-size signals' setting
Использование шагов расчетаМодель не может использовать непрерывный, асинхронный, явный дискретный раздел, управляемый данными, объединение, экспортировал дискретные, или переменные шаги расчета.Check for sample times in the model> Check sample times
Явные разделыМодель не должна содержать явные разделы.Check for sample times in the model> Check for explicit partitions
Автоматический виртуальный к невиртуальному преобразованию шиныАвтоматическое преобразование между виртуальными и невиртуальными шинами не поддерживается для инспекции кода. Это создает скрытый блок 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
Параметры блоков EnableВключите Блокировки порта, не поддерживаются на корневом уровне модели.Check usage of Ports and Subsystems blocks> Check Enable Port blocks
Блок InportБлок не может задать сигналы переменной размерности. Variable-size signal (VarSizeSig) должен быть установлен в No.Check usage of Sources blocks> Check Inport blocks
Блок InportДля корневых блоков импорта, которые используют объект шины, параметры блоков Output as nonvirtual bus (BusOutputAsStruct) должен быть выбран (набор к on).Check usage of Sources blocks> Check Inport blocks
Блок Data Store ReadПараметры блоков Enable indexing (EnableIndexing) не должен быть выбран (должен быть установлен в off).Check usage of Signal Routing blocks> Check Data Store Read blocks
Блок Model ReferenceБлок не должен быть в защищенном режиме.Check usage of Ports and Subsystems blocks> Check Model Reference blocks
Блок OutportБлок не может задать сигналы переменной размерности. Variable-size signal (VarSizeSig) должен быть установлен в No.Check usage of Sinks blocks> Check Outport blocks
Signal SpecificationVariable-size signal (VarSizeSig) должен быть No.Check usage of Signal Attributes blocks> Check Signal Specification blocks
Stateflow® Графики

График не должен содержать ни один из следующих объектов:

  • Атомарные субдиаграммы

  • Атомарные поля

  • MATLAB® функции

Check usage of Stateflow charts> Check usage of Stateflow object palette
Диаграммы StateflowСвойство диаграммы Action Language должно быть установлено в C.Check usage of DataBitsets charts> Check that all charts specify 'C' as their action language
Диаграммы StateflowСвойство диаграммы Support variable-size arrays не должно быть выбрано.Check usage of Stateflow charts> Check that no charts support variable-size arrays
Соединения StateflowНезавершение соединений должно иметь точно один безусловный переход, выходящий из них.Check usage of Stateflow junctions> Check that non-terminating junctions have exactly one unconditional exiting transition
Соединения StateflowБезусловный переход должен быть последним в порядке выполнения.Check usage of Stateflow junctions> Check that unconditional transitions execute last in execution order
Графическая функция StateflowГрафическая функция не должна содержать циклы потока управления.Check usage of Stateflow graphical functions> Check that control flows do not have cycles
Графическая функция StateflowГрафическая функция не должна содержать неструктурированный поток управления.Check usage of Stateflow graphical functions> Check that control flows are structured
Состояния StateflowСостояния не должны содержать циклы потока управления.Check usage of Stateflow states> Check that control flows do not have cycles
Таблицы истинности StateflowТаблицы истинности не должны содержать циклы потока управления.Check usage of Stateflow truth tables> Check that control flows do not have cycles
Таблицы истинности StateflowТаблицы истинности не должны содержать неструктурированный поток управления.Check usage of Stateflow truth tables> Check that control flows are structured
ПодсистемыПодсистемами не должны быть Функциональные блоки Simulink.Check usage of Ports and Subsystems blocks> Check Subsystem blocks
Параметры блоков TriggerБлок не должен быть на корневом уровне модели когда Trigger type (TriggerType) установлен в rising, falling, или either. Check usage of Ports and Subsystems blocks> Check Trigger Port blocks
Блок MATLAB FunctionFunction packaging (RTWSystemCode) должен быть установлен в Inline.Check usage of MATLAB Function Blocks> Check that all MATLAB function blocks have RTWSystemCode set to Inline
Блок MATLAB FunctionSupport variable-size arrays не должен быть выбран (должен быть установлен в off).Check usage of MATLAB Function Blocks> Check that all MATLAB functions set ‘Support variable-size arrays’ to ‘Off’
Имена функций для невстроенных подсистем с пустыми пустотой интерфейсами вызова функцииВ модели невстроенные подсистемы с пустыми пустотой интерфейсами вызова функции должны использовать уникальные имена функций.Check model for void_void subsystems that use the same function name> Check function names used by void_void subsystems in the model

В Настройках Simulink, на панели General, опции Code generation folder structure

Должен быть установлен в Model Specific.Check the code generation folder structure for the model

Похожие темы