Роковые несовместимости

При проверке кода, сгенерированного из моделей с несовместимостью FATAL, инспекция кода прекращается. Код, сгенерированный из моделей с несовместимостью FATAL, не может быть проверен.

Когда вы проверяете код, сгенерированный из моделей с нефатальными несовместимостями, инспекция кода не прекращается. Несмотря на невозможность полной проверки сгенерированного кода, инспекция кода продолжается. 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
На панели Генерация Кода Pane: General (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
На панели Генерация Кода Pane: Interface (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 параметров блоковБлоки Enable Port не поддерживаются на корневом уровне модели.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 блокДля корневых блоков inport, которые используют объект шины, блокируйте параметр Output as nonvirtual bus (BusOutputAsStruct) должен быть выбран (установите значение on).Check usage of Sources blocks> Check Inport 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 Function.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 Function блокFunction packaging (RTWSystemCode) должно быть установлено в Inline.Check usage of MATLAB Function Blocks> Check that all MATLAB function blocks have RTWSystemCode set to Inline
MATLAB Function блокSupport 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

Похожие темы