exponenta event banner

Фатальная несовместимость

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

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

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

Параметр или атрибутОграничениеПроверка совместимости
На панели диагностики: панель подключения сигнал шины обрабатывается как вектор (StrictBusMsg)Необходимо установить значение error (эквивалентно ErrorOnBusTreatedAsVector указано в командной строке).Проверка параметров диагностики > Проверка сигнала шины, обрабатываемого как векторная настройка
На панели «Диагностика»: панель «Связность» сигналы, не относящиеся к шине, обрабатываются как сигналы шины (NonBusSignalsTreatedAsBus)Необходимо установить значение error.Проверить настройки диагностики > Проверить настройку «Сигналы, не относящиеся к шине, обрабатываемые как сигналы шины»
На панели «Создание кода: Общие» (Simulink Coder), «Системный целевой файл» (Simulink Coder) (SystemTargetFile)Необходимо установить значение ert.tlc или системный целевой файл для целевого файла, производного от ERT.Проверить настройку целевого файла системы
На панели «Создание кода: Комментарии» (Simulink Coder), «Включить комментарии» (Simulink Coder) (GenerateComments)Должно быть выбрано (задано значение on). Инспектор кода анализирует автоматически созданные комментарии для получения информации об отслеживании данных модели.Проверить параметры создания кода > Проверить параметр «Включить комментарии»
На панели создания кода: панель интерфейса (Simulink Coder), Поддержка: сигналы переменного размера (Embedded Coder) (SupportVariableSizeSignals)Необходимо очистить (установить значение off).Проверить настройки генерации кода > Проверить настройку «сигналы переменного размера»
Использование времени выборкиМодель не может использовать непрерывное, асинхронное, явное дискретное разбиение, управляемое данными, объединение, экспортированное дискретное или переменное время выборки.Проверка времени пробы в модели > Проверка времени пробы
Явные разделыМодель не должна содержать явных разделов.Проверка времени образца в модели > Проверка явных разделов
Автоматическое преобразование виртуальной шины в невиртуальнуюАвтоматическое преобразование между виртуальной и невиртуальной шинами не поддерживается для проверки кода. Он создает скрытый блок преобразования сигнала, который не поддерживается для проверки кода.Проверка использования шин > Проверка автоматического преобразования между виртуальными шинами в невиртуальные
Блокирование операций на шинеНевиртуальный блок не должен работать на виртуальной шине, а блок назначения шины не должен работать на невиртуальной шине. Это ограничение упрощает обработку шины для улучшения прослеживаемости и читаемости сгенерированного кода.Проверьте использование шин > Убедитесь, что блоки в модели не выполняют неподдерживаемых операций на шине
Включить параметр блокаБлоки Enable Port не поддерживаются на корневом уровне модели.Проверка использования блоков портов и подсистем > Проверка включения блоков портов
Блок вводаБлок не может задавать сигналы переменного размера. Сигнал переменного размера (VarSizeSig) должен иметь значение No.Проверка использования блоков источников > Проверка блоков ввода
Блок вводаДля корневых блоков ввода, использующих объект шины, параметр блока Output as nonvirtual bus (Вывод в качестве невиртуальной шины) (BusOutputAsStruct) должен быть выбран (установить в значение on).Проверка использования блоков источников > Проверка блоков ввода
Ссылочный блок моделиБлок не должен находиться в защищенном режиме.Проверка использования блоков портов и подсистем > Проверка ссылочных блоков модели
Блок аутпортаБлок не может задавать сигналы переменного размера. Сигнал переменного размера (VarSizeSig) должен иметь значение No.Проверка использования блоков Sinks > Проверка блоков Outport
Спецификация сигналаСигнал переменного размера (VarSizeSig) должно быть No.Проверка использования блоков атрибутов сигнала > Проверка блоков спецификации сигнала
Диаграммы Stateflow ®

Диаграмма не должна содержать следующие объекты:

  • Атомарные подшарты

  • Атомные коробки

  • Функции MATLAB ®

Проверка использования диаграмм Stateflow > Проверка использования палитры объектов Stateflow
Диаграммы статофлоуСвойство диаграммы Язык действий должно иметь значение C.Проверьте использование диаграмм DataBitsets > Убедитесь, что все диаграммы указывают «C» в качестве языка действий
Диаграммы статофлоуСвойство диаграммы Поддержка массивов переменного размера не должна быть выбрана.Проверьте использование диаграмм Stateflow > Убедитесь, что ни одна диаграмма не поддерживает массивы переменного размера
Соединения СтатефлоуНеразрывные соединения должны иметь ровно один безусловный переход, выходящий из них.Проверьте использование соединений Stateflow > Убедитесь, что неразрывные соединения имеют только один безусловный выходной переход.
Соединения СтатефлоуБезусловный переход должен быть последним в порядке выполнения.Проверка использования соединений Stateflow > Проверка выполнения безусловных переходов последним в порядке выполнения
Графическая функция StateflowГрафическая функция не должна содержать циклов управления потоком.Проверьте использование графических функций Stateflow > Проверьте, что управляющие потоки не имеют циклов
Графическая функция StateflowГрафическая функция не должна содержать неструктурированный поток управления.Проверка использования графических функций Stateflow > Проверка структуры управляющих потоков
Состояния СтатефлоуСостояния не должны содержать циклов контрольного потока.Проверка использования состояний Stateflow > Проверка отсутствия циклов для управляющих потоков
Таблицы истинности StateflowТаблицы истинности не должны содержать циклов потока управления.Проверьте использование таблиц истинности Stateflow > Проверьте, что управляющие потоки не имеют циклов
Таблицы истинности StateflowТаблицы истинности не должны содержать неструктурированный поток управления.Проверка использования таблиц истинности Stateflow > Проверка структуры управляющих потоков
ПодсистемыПодсистемы не должны быть функциональными блоками Simulink.Проверка использования блоков портов и подсистем > Проверка блоков подсистем
Параметр блока триггераБлок не должен находиться на корневом уровне модели, если Trigger type (тип триггера) (TriggerType) имеет значение rising, falling, или either. Проверка использования блоков портов и подсистем > Проверка блоков триггерных портов
Функциональный блок MATLABФункциональная упаковка (RTWSystemCode) должен иметь значение Inline.Проверьте использование функциональных блоков MATLAB > Проверьте, что для всех функциональных блоков MATLAB установлен код RTWSystemCode
Функциональный блок MATLABНе следует выбирать поддерживаемые массивы переменного размера (необходимо установить значение off).Проверьте использование функциональных блоков MATLAB > Проверьте, что для всех функций MATLAB в поле «Support variable-size arrays» установлено значение «Off».
Имена функций для неинлинированных подсистем с интерфейсами вызова функции void-voidВ модели неинлинированные подсистемы с интерфейсами вызова функции void-void должны использовать уникальные имена функций.Проверка модели для подсистем void_void, использующих одно и то же имя функции > Проверка имен функций, используемых подсистемами void_void в модели

В окне «Настройки Simulink» на панели «Общие» выберите параметр «Структура папки генерации кода».

Необходимо установить значение Model Specific.Проверка структуры папок генерации кода для модели

Связанные темы