Высокие системные проверки моделирования целостности

Разделите проверки на высокое системное моделирование целостности

От R2018b и позже, следующие проверки не рекомендуются для использования. Эти проверки разделены в несколько проверок, которые фокусируются на одном действии или операции. Для получения дополнительной информации смотрите Разделение и Новую приведенную ниже таблицу Проверок.

Старый заголовок проверкиРазделите заголовки проверки
Проверяйте использование блоков Математических операцийПроверяйте использование блоков Abs
Проверяйте использование блоков Математической функции (rem и взаимные функции)
Проверяйте использование блоков Математической функции (журнал и функции log10)
Проверяйте использование блоков Присвоения
Проверяйте использование блоков Битовых операций и ЛогикиПроверяйте на блоки Оператора отношения, которые приравнивают типы с плавающей точкой
Проверяйте использование блоков Оператора отношения
Проверяйте использование блоков Логического оператора
Проверяйте использование блоков Подсистем и ПортовПроверяйте использование того, В то время как Итератор блокируется
Контрольный образец зависящие от времени блоки
Проверяйте использование На блоки Итератора
Проверяйте использование Если блоки и Если блоки Subsystem Действия
Проверяйте блоки Случая Переключателя использования и блоки Subsystem Действия Случая Переключателя
Проверяйте связанные с безопасностью настройки генерации кодаПроверяйте связанные с безопасностью настройки генерации кода на комментарии
Проверяйте связанные с безопасностью настройки интерфейса генерации кода
Проверяйте связанные с безопасностью настройки генерации кода на стиль кода
Проверяйте связанные с безопасностью настройки символов генерации кода
Проверяйте использование построений StateflowПроверяйте использование построений Stateflow
Проверяйте диаграммы Stateflow на упорядоченное расположение состояний и переходов
Проверяйте параметры отладки Stateflow
Проверяйте диаграммы Stateflow на исключительно заданные объекты данных
Проверяйте связанные с безопасностью настройки оптимизацииПроверяйте связанные с безопасностью настройки оптимизации на логические сигналы
Проверяйте связанные с безопасностью настройки оптимизации сокращения блока
Проверяйте связанные с безопасностью настройки оптимизации на продолжительность жизни приложения
Проверяйте связанные с безопасностью настройки оптимизации на инициализацию данных
Проверяйте связанные с безопасностью настройки оптимизации на преобразования типа данных
Проверяйте связанные с безопасностью настройки оптимизации на арифметические исключения деления

Проверяйте на противоречивые векторные методы индексирования

ID проверки: mathworks.hism.hisl_0021

Идентифицируйте блоки с противоречивым методом индексирования.

Описание

Используя противоречивый блок методы индексирования может привести к моделированию ошибок. Необходимо использовать сопоставимый векторный метод индексирования для всех блоков. Методы индексирования основаны на нуле, на основе одни или заданы пользователями.

Блоки, которые поддерживают конфигурируемую индексацию:

  • Индексный вектор

  • Многопортовый переключатель

  • “()” Присвоение

  • Селектор

  • Для итератора

Блоки, которые поддерживают только индексацию на основе одну:

  • @fcn

  • Функция MATLAB

  • Matlab.system

  • Таблица изменения состояния

  • Протестируйте последовательность

  • Блок Truth Table

  • Диаграмма Stateflow с языком действия MATLAB

  • Функция Таблицы истинности с языком действия MATLAB

Блоки, который поддерживает только основанную на нуле индексацию:

  • Диаграмма Stateflow с языком действия C

  • Функция Таблицы истинности с языком действия C

Доступный с Simulink® Check™.

Эта проверка требует лицензии Stateflow®.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат блоки с противоречивыми методами индексирования. Методы индексирования основаны на нуле, на основе одни или заданы пользователями.Измените модель, чтобы использовать один сопоставимый метод индексирования.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на корневой Inports с недостающими свойствами

ID проверки: mathworks.hism.hisl_0024

Идентифицируйте корневые блоки модели Inport с пропавшими без вести или наследованными шагами расчета, типами данных или размерностями порта.

Описание

Используя корневые блоки модели Inport, которые не имеют заданного шага расчета, типы данных или размерности порта могут привести к нежелательным результатам симуляции. Simulink назад - распространяет размерности, шаги расчета и типы данных от нисходящих блоков, если вы явным образом не присваиваете эти значения. Можно задать свойства блока Inport с параметрами блоков, или Сигнал Simulink возражает, что явным образом решают к связанным сигнальным линиям. Когда вы осуществляете проверку, таблица результатов обеспечивает ссылки на блоки Inport и объекты сигнала, которые не передают, наряду с условиями, инициировавшими предупреждение.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Недостающая размерность порта — Модель содержит блоки Inport с наследованными размерностями порта.

Для перечисленных блоков Inport и объектов Сигнала Simulink, задайте размерности порта.

Недостающий тип данных сигнала — Модель содержит блоки Inport с наследованными типами данных.

Для перечисленных блоков Inport и объектов Сигнала Simulink, задайте типы данных.

Недостающий шаг расчета порта — Модель содержит блоки Inport с наследованными шагами расчета.

Для перечисленных блоков Inport и объектов Сигнала Simulink, задайте шаги расчета. Шаги расчета для корневого Inports с типом шины должны совпадать с шагами расчета, заданными в листовых элементах объекта шины.

Неявное разрешение объекта Сигнала Simulink — Модель содержит имена блока-сигнала Inport, которые неявно решают к объекту Сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink.

Для перечисленных объектов Сигнала Simulink, в диалоговом окне свойства, избранном свойстве Signal name must resolve to Simulink signal object сигнала. Чтобы установить эту опцию программно, используйте параметр порта MustResolveToSignalObject.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Позволяет исключения блоков и графиков.

Советы

Следующие настройки передают эту проверку:

  • Configuration Parameters > Solver > Periodic sample time constraint установлен в Ensure sample time independent

  • Для моделей экспорта функций не отмечается наследованный шаг расчета.

Смотрите также

Проверяйте на корневой Inports с недостающими определениями области значений

ID проверки: mathworks.hism.hisl_0025

Идентифицируйте корневой уровень блоки Inport с тем, чтобы избегать или ошибочными минимальными или максимальными значениями области значений.

Описание

Проверка идентифицирует корневой уровень блоки Inport с тем, чтобы избегать или ошибочными минимальными или максимальными значениями области значений. Можно задать блок Inport, минимальные и максимальные значения с параметрами блоков или Сигналом Simulink возражают, что явным образом решают к связанным сигнальным линиям. Таблица результатов обеспечивает ссылки на блоки Inport и объекты сигнала, которые не передают проверку, наряду с условиями, инициировавшими предупреждение.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

При Пропавших без вести области значений — Модель содержит блоки Inport с типами числовых данных, которые имеют недостающие параметры области значений (минимум и/или максимум).

Для перечисленных блоков Inport и объектов Сигнала Simulink, задайте скалярные минимальные и максимальные параметры.

Недостающая область (области) значений для объекта шины — объекты Шины, задающие блоки Inport, имеет листовые элементы с пропавшими без вести областей значений.

Для перечисленных листовых элементов, чтобы задать область значений интерфейса модели, обеспечивают скалярные минимальные и максимальные параметры.

Заданная область значений будет проигнорирована — Минимальные или максимальные значения в объектах Inports или Simulink signal не поддержаны для типов данных шины. Значения проигнорированы во время проверки диапазона.

Чтобы включить проверку диапазона, задайте минимальные и максимальные значения сигналов на листовых элементах объектов шины, задающих тип данных.

Никакой заданный тип данных — Модель не содержит блоки Inport или объекты Сигнала Simulink с наследованными типами данных.

Задайте один из поддерживаемых типов данных:

Неявное разрешение объекта Сигнала Simulink — Модель содержит имена блока-сигнала Inport, которые неявно решают к объекту Сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink.

Для перечисленных объектов Сигнала Simulink, в диалоговом окне свойства, избранном свойстве Signal name must resolve to Simulink signal object сигнала. Чтобы установить эту опцию программно, используйте параметр порта MustResolveToSignalObject.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на корневые Выходные порты с недостающими определениями области значений

ID проверки: mathworks.hism.hisl_0026

Идентифицируйте корневые блоки Выходного порта уровня с тем, чтобы избегать или ошибочными минимальными или максимальными значениями области значений.

Описание

Проверка идентифицирует корневые блоки Выходного порта уровня с тем, чтобы избегать или ошибочными минимальными или максимальными значениями области значений. Можно задать блок Outport, минимальные и максимальные значения с параметрами блоков или Сигналом Simulink возражают, что явным образом решают к связанным сигнальным линиям. Таблица результатов обеспечивает ссылки на блоки Выходного порта, которые не передают проверку, наряду с условиями, инициировавшими предупреждение.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

При Пропавших без вести области значений — Модель содержит блоки Выходного порта с типами числовых данных, которые имеют недостающие параметры области значений (минимум и/или максимум).

Для перечисленных блоков Выходного порта и объектов Сигнала Simulink, задайте скалярные минимальные и максимальные параметры.

Недостающая область (области) значений для объекта шины — объекты Шины, задающие блоки Выходного порта, имеет листовые элементы с пропавшими без вести областей значений.

Для перечисленных листовых элементов, чтобы задать область значений интерфейса модели, обеспечивают скалярные минимальные и максимальные параметры.

Область значений, заданная в Выходном порту, будет проигнорирована — Минимальные или максимальные значения в Выходных портах или объектах Сигнала Simulink не поддержаны для типов данных шины. Значения проигнорированы во время проверки диапазона.

Чтобы включить проверку диапазона, задайте минимальные и максимальные значения сигналов на листовых элементах объектов шины, задающих тип данных.

Никакой заданный тип данных шины — Модель не содержит блок Outport или объекты Сигнала Simulink с наследованными типами данных шины.

Для блоков Выходного порта и объектов Сигнала Simulink, задайте один из поддерживаемых типов данных:

Неявное разрешение объекта Сигнала Simulink — Модель содержит имена блока-сигнала Выходного порта, которые неявно решают к объекту Сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink.

Для перечисленных объектов Сигнала Simulink, в диалоговом окне свойства, избранном свойстве Signal name must resolve to Simulink signal object сигнала. Чтобы установить эту опцию программно, используйте параметр порта MustResolveToSignalObject.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на память хранилища данных

ID проверки: mathworks.hism.hisl_0013

Проверяйте настройку модели на диагностические настройки, которые применяются к памяти хранилища данных, и это может повлиять на безопасность.

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к памяти хранилища данных, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает, пытается ли модель считать данные из хранилища данных, в котором это не хранило данные на шаге текущего времени, установлена в значение кроме Enable all as errors. Чтение данных, прежде чем это будет записано, может привести к использованию устаревших данных или данных, которые не инициализируются.Установите Detect read before write (Simulink) в диалоговом окне Configuration Parameters или установите параметр ReadBeforeWriteMsg на Enable all as errors.
Диагностика, которая обнаруживает, пытается ли модель хранить данные в хранилище данных после предыдущего чтения данных из него на шаге текущего времени, установлена в значение кроме Enable all as errors. Записывание данные после того, как это будет считано, может привести к использованию устаревших или неправильных данных. Установите Detect write after read (Simulink) в диалоговом окне Configuration Parameters или установите параметр WriteAfterReadMsg на Enable all as errors.
Диагностика, которая обнаруживает, пытается ли модель хранить данные в хранилище данных дважды по очереди на шаге текущего времени, установлена в значение кроме Enable all as errors. Записывание данные дважды в одном временном шаге может привести к непредсказуемым данным. Установите Detect write after write (Simulink) в диалоговом окне Configuration Parameters или установите параметр WriteAfterWriteMsg на Enable all as errors.
Диагностика, которая обнаруживает, когда одна задача считывает данные от Блока памяти Хранилища данных, до которого записывает данные другая задача, установлена в none или warning. Чтение или записывание данные в различных задачах в многозадачном режиме могут привести к поврежденным или непредсказуемым данным. Установите Multitask data store (Simulink) в диалоговом окне Configuration Parameters или установите параметр MultiTaskDSMMsg на error.
Диагностика обнаруживает, что параметр Duplicate data store names не устанавливается на error.Установите Duplicate data store names в диалоговом окне Configuration Parameters или установите параметр UniqueDataStoreMsg на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к памяти хранилища данных, и это может повлиять на безопасность.

Возможности и ограничения

  • Эта проверка не проверяет чтения хранилища данных и записи, которые происходят через контуры атомарной подсистемы и подсистему модели.

  • Эта проверка не проверяет использование хранилищ данных, чтобы записать и считать данные на различных уровнях.

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на данные, используемые для отладки

ID проверки: mathworks.hism.hisl_0305

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к отладке, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая включает образцовые блоки верификации, установлена в Use local settings или Enable all. Такие блоки должны быть отключены, потому что они - блоки утверждения, которые являются для верификации только. Образцовые разработчики не должны использовать утверждения во встроенном коде. В диалоговом окне Configuration Parameters, набор Model Verification block enabling (Simulink) или установленный параметр AssertControl к Disable All.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к данным, используемым за отладку, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на параметры

ID проверки: mathworks.hism.hisl_0302

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к параметрам, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает, когда удрученный параметр происходит, установлена в none или warning. Удрученное к более низкому диапазону сигнала может привести к числовым переполнениям параметров, приводящих к неожиданному поведению. Установите Detect downcast (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterDowncastMsg на error.
Диагностика, которая обнаруживает, когда потеря значимости параметра происходит, установлена в none или warning. Когда тип данных параметра не имеет достаточного количества разрешения, значение параметров является нулем вместо заданного значения. Это может привести к неправильной операции сгенерированного кода. Установите Detect underflow (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterUnderflowMsg на error.
Диагностика, которая обнаруживает, когда переполнение параметра происходит, установлена в none или warning. Числовые переполнения могут привести к неожиданному поведению приложения и должны быть обнаружены и зафиксированы в связанных с безопасностью приложениях. Установите Detect overflow (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterOverflowMsg на error.
Диагностика, которая обнаруживает, когда параметр теряет точность, установлена в none или warning. Не обнаружение таких ошибок может привести к параметру, установленному на неправильное значение в сгенерированном коде. Установите Detect precision loss (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterPrecisionLossMsg на error.
Диагностика, которая обнаруживает, когда выражение с настраиваемыми переменными уменьшается до своего числового эквивалента, установлена в none или warning. Это может привести к настраиваемому параметру неожиданно не быть настраиваемым в сгенерированном коде.Установите Detect loss of tunability (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterTunabilityLossMsg на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к параметрам, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки решателя на опции решателя

ID проверки: mathworks.hism.hisl_0041

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации решателя, имеющие отношение к решателям, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Установка решателя, чтобы задать тип решателя, чтобы моделировать модель установлена в Variable-step.

В диалоговом окне Configuration Parameters, Тип набора (Simulink) или установленный параметр SolverType на Fixed-step.

Установка решателя, чтобы задать решатель, чтобы вычислить состояния модели во время симуляции или генерации кода установлена в значение кроме Discrete(no continuous states).

В диалоговом окне Configuration Parameters, Решатель набора (Simulink) к discrete(no continuous states) или установленный параметр Solver на FixedStepDiscrete.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никакой рабочей области и никаких диалоговых окон.

Смотрите также

Проверяйте связанные с безопасностью настройки решателя на управление задачами и шаг расчета

ID проверки: mathworks.hism.hisl_0042

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации собираются оптимально гарантировать, что модель действует в определенном наборе приоритизированных периодических шагов расчета для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Параметр конфигурации Automatically handle rate transition for data transfer выбран.Очистите Automatically handle rate transition for data transfer в диалоговом окне Configuration Parameters или установите параметр AutoInsertRateTranBlk на off.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте использование операций сдвига для данных Stateflow

ID проверки: mathworks.hism.hisf_0064

Идентифицируйте использование операций сдвига для данных Stateflow, которые могут повлиять на безопасность.

Описание

Эта проверка осматривает операции сдвига, которые имеют значения операнда сдвига, больше, чем битная ширина типа ввода или вывода или операнда сдвига, который имеет отрицательную величину.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Операции сдвига вправо больше, чем битная ширина входного типа.

Явным образом измените значение операций сдвига разряда, чтобы быть меньше, чем операнд сдвига.

Операции сдвига влево больше, чем битная ширина выходного типа.

Явным образом измените значение операций сдвига разряда, чтобы быть меньше, чем операнд сдвига.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Не поддерживает операцию сдвига, которой задали размер сдвига как Сигнал Simulink или переменную.

  • Не поддерживает операции сдвига, которые состоят из размера сдвига, решенного во время выполнения.

Смотрите также

Проверяйте использование блоков Маршрутизации Сигнала

ID проверки: mathworks.hism.hisl_0034

Идентифицируйте использование блоков Маршрутизации Сигнала, которые могут повлиять на безопасность.

Описание

Эта проверка идентифицирует модель или блоки switch подсистемы, которые могут сгенерировать код по-разному операции (~=) в выражениях, которые содержат переменную с плавающей точкой или постоянный.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат блок switch, который может сгенерировать код по-разному операции (~=) в выражениях, где по крайней мере одна сторона выражения содержит переменную с плавающей точкой или постоянный. Блок switch может вызвать сравнения неравенства с плавающей точкой в сгенерированном коде.

Для идентифицированного блока выполнить одно из следующих действий:

  • Для входного блока управления измените установку параметра Data type.

  • Измените блок switch установка параметра Criteria for passing first input. Это изменение силы алгоритм.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте тип конечного автомата диаграмм Stateflow

ID проверки: mathworks.hism.hisf_0001

Идентифицируйте диаграммы Stateflow, Тип Конечного автомата которых отличается от набора типа в Model Advisor Configuration Editor.

Описание

Сравнивает тип конечного автомата всех диаграмм Stateflow к типу, который вы задаете во входных параметрах.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Введите параметры

Classic

Проверяйте, являются ли все графики Классическими графиками.

Mealy

Проверяйте, являются ли все графики Мучнистыми графиками.

Moore

Проверяйте, являются ли все графики графиками Мура.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Входной параметр устанавливается на Classic, и графики в модели используют другие типы конечного автомата.Для каждого графика, в диалоговом окне Chart Properties, задают State Machine Type к Classic.
Входной параметр устанавливается на Moore, и графики в модели используют другие типы конечного автомата.Для каждого графика, в диалоговом окне Chart Properties, задают State Machine Type к Mealy.
Входной параметр устанавливается на Moore, и графики в модели используют другие типы конечного автомата.Для каждого графика, в диалоговом окне Chart Properties, задают State Machine Type к Moore.
Входной параметр устанавливается на Mealy, и графики в модели используют другие типы конечного автомата.Для каждого графика, в диалоговом окне Chart Properties, задают State Machine Type к Mealy.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте диаграммы Stateflow на упорядоченное расположение состояний и переходов

ID проверки: mathworks.hism.hisf_0002

Идентифицируйте диаграммы Stateflow, которым очистили User specified state/transition execution order.

Описание

Идентифицируйте диаграммы Stateflow, которым очистили User specified state/transition execution order, и поэтому не используют явное упорядоченное расположение параллельных состояний и переходов.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диаграммам Stateflow очистили User specified state/transition execution order.

Для заданных графиков, в диалоговом окне Chart Properties, выбирают User specified state/transition execution order.

Чтобы отобразить порядок тестирования перехода, выберите Display> Chart> Transition Execution Order.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Результаты действия

Нажатие на Modify выбирает User specified state/transition execution order для заданных графиков.

Смотрите также

Проверяйте диаграммы Stateflow на сильный ввод данных

ID проверки: mathworks.hism.hisf_0015

Идентифицируйте переменные и параметры в выражениях с различными типами данных в объектах Stateflow.

Описание

Чтобы упростить сильный ввод данных, эта проверка идентифицирует переменные и параметры в выражениях с различными типами данных в состояниях Stateflow и переходах.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Объекты Stateflow имеют переменные и параметры в выражениях с различными типами данных.

Явным образом бросьте переменные и параметры в выражениях к совпадающим типам данных. Для получения дополнительной информации смотрите, cast.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Не анализирует тип литералов в выражениях в объектах Stateflow. Явным образом типы бросков литералов к намеченному типу данных.

  • Не отмечает выражения с помощью истинных и ложных ключевых слов. Для получения дополнительной информации смотрите Зарезервированные слова для Генерации кода (Embedded Coder).

Смотрите также

Проверяйте диаграммы Stateflow на унарные операторы

ID проверки: mathworks.hism.hisf_0211

Идентифицируйте унарные операторы в диаграммах Stateflow.

Описание

Эта проверка идентифицирует операторы унарный минус на типах данных без знака в диаграммах Stateflow.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диаграмма Stateflow состоит из оператора унарный минус на типах данных без знака.Явным образом измените унарный оператор на типах данных без знака. Для получения дополнительной информации смотрите Унарные операции и Действия (Stateflow).

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Не отмечает выражения с помощью побитовых и арифметических операторов. Например, -(u1/u2) не отмечается.

Смотрите также

Проверяйте диаграммы Stateflow на исключительно заданные объекты данных

ID проверки: mathworks.hism.hisl_0061

Идентифицируйте диаграммы Stateflow, которые включают объекты данных, которые исключительно не заданы.

Описание

Эта проверка ищет вашу модель локальные данные в диаграммах Stateflow, которые исключительно не заданы.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диаграмма Stateflow содержит идентификатор объекта данных, заданный в двух или больше осциллографах.

Для идентифицированного графика выполнить одно из следующих действий:

  • Создайте уникальный идентификатор объекта данных в каждом из осциллографов.

  • Создайте уникальный идентификатор объекта данных в рамках графика на родительском уровне.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте параметры отладки Stateflow

ID проверки: mathworks.hism.hisf_0011

Проверяйте настройки отладки Stateflow.

Описание

Проверьте следующие настройки отладки.

  • Wrap on overflow

  • Simulation range checking

  • Detect Cycles

  • Underspecified

  • Overspecified

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Любое следующее:

  • Wrap on overflow не установлен в error.

  • Simulation range checking не установлен в error.

  • Detect Cycles очищен.

В диалоговом окне Configuration Parameters, наборе:

В окне модели выберите:

  • Simulation> Debug> MATLAB & Stateflow Error Checking Options> Detect Cycles.

Возможности и ограничения

  • Таблицы истинности не анализируются в этой проверке.

  • Не работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Позволяет исключения блоков и графиков.

Результаты действия

Нажатие на Modify выбирает заданные параметры отладки.

Смотрите также

Проверяйте использование блоков интерполяционной таблицы

ID проверки: mathworks.hism.hisl_0033

Проверяйте на блоки интерполяционной таблицы, которые не генерируют из области значений проверяющий код.

Описание

Эта проверка проверяет, что следующие блоки генерируют код, чтобы защитить от входных параметров, которые выходят за пределы области значений допустимых значений точки останова:

Эта проверка также проверяет, что Интерполяция Используя блоки Перед поиском генерирует код, чтобы защитить от входных параметров, которые выходят за пределы области значений допустимых индексных значений.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Блок интерполяционной таблицы не генерирует из области значений проверяющий код.

Измените настройки на диалоговом окне блока так, чтобы проверка из области значений кода была сгенерирована.

  • Для 1D Интерполяционной таблицы 2D Интерполяционная таблица, n-D Интерполяционная таблица и блоки Перед поиском, снимает флажок для Remove protection against out-of-range input in generated code.

  • Для блока Interpolation Using Prelookup снимите флажок для Remove protection against out-of-range index in generated code.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Результаты действия

Нажатие на Modify проверяет, что блоки интерполяционной таблицы собираются сгенерировать из области значений проверяющий код.

Смотрите также

Проверяйте на различные блоки с, 'Генерируют условные выражения препроцессора', активные

ID проверки: mathworks.hism.hisl_0023

Проверяйте различные параметры блоков на настройки, которые могут привести к коду, который не прослеживает до требований.

Описание

Эта проверка проверяет, что различные параметры блоков для генерации кода собираются проследить до требований.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Опция, чтобы сгенерировать условные выражения препроцессора выбрана в одном или нескольких различных блоках в модели.В порядке упростить трассировку кода к требованиям, полагайте, что очистка опции генерирует условные выражения препроцессора в различных блоках.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных.

  • Не позволяет исключения блоков или графиков.

Смотрите также

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

ID проверки: mathworks.hism.hisl_0306

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, принадлежащие возможности соединения сигнала, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает виртуальные сигналы, которые имеют сигнал общего источника, но различные метки установлены в none или warning. Эта диагностика принадлежит виртуальным сигналам только и не имеет никакого эффекта на сгенерированный код. Однако несоответствия метки сигнала могут привести к беспорядку во время образцовых отзывов.Установите Signal label mismatch (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр SignalLabelMismatchMsg на error.
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным входным сигналом, установлена в none или warning. Это должно быть обнаружено, потому что код не сгенерирован для несвязанных входных параметров блока. Установите Unconnected block input ports (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр UnconnectedInputMsg на error.
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным выходным сигналом, установлена в none или warning. Это должно быть обнаружено, потому что мертвый код может следовать из несвязанных выходных сигналов блока. Установите Unconnected block output ports (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр UnconnectedOutputMsg на error.
Диагностика, которая обнаруживает несвязанные сигнальные линии и несопоставленный Goto или От блоков, установлена в none или warning. Эта ошибка должна быть обнаружена, потому что код не сгенерирован для несвязанных строк. Установите Unconnected line (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр UnconnectedLineMsg на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к возможности соединения сигнала, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

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

ID проверки: mathworks.hism.hisl_0307

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, принадлежащие возможности соединения шины, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает, соединяется ли корневой блок Outport блока Model с шиной, но не задает объект шины, установлена в none или warning. Для сигнала шины пересечь образцовый контур, сигнал должен быть задан как объект шины для совместимости с высокоуровневыми моделями, которые используют модель в качестве эталонной модели. Установите Unspecified bus object at root Outport block (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр RootOutportRequireBusObject на error.
Диагностика, которая обнаруживает, совпадает ли имя элемента шины с именем, заданным соответствующим объектом шины, установлена в none или warning. Эта диагностика предотвращает использование несовместимых шин в способном к шине блоке, таким образом, что выходные имена противоречивы. Установите Element name mismatch (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр BusObjectLabelMismatch на error.
Диагностика, которая обнаруживает, когда некоторые блоки обрабатывают сигнал как мультиплексор/вектор, в то время как другие блоки обрабатывают сигнал как шину, установлена в none или warning. Когда программное обеспечение Simulink автоматически преобразовывает мультиплексированный сигнал в шину, для непреднамеренной операции или непредсказуемого поведения возможно произойти.

Установите Bus signal treated as vector (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters к error или параметр StrictBusMsg к ErrorOnBusTreatedAsVector.

Диагностика обнаруживает, что параметр Non-bus signals treated as bus signals не устанавливается на error.

Установите Non-bus signals treated as bus signals на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или параметр NonBusSignalsTreatedAsBus к error.

Диагностика обнаруживает, что параметр Repair bus selections не устанавливается на warn and repair.

Установите Repair bus selections на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или параметр BusNameAdapt к warn and repair.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к возможности соединения шины, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки, которые применяются к возможности соединения вызова функции

ID проверки: mathworks.hism.hisl_0308

Проверяйте настройку модели на диагностические настройки, которые применяются к возможности соединения вызова функции, и это может повлиять на безопасность.

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к возможности соединения вызова функции, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает неправильное использование подсистемы вызова функций, установлена в none или warning. Если это условие не обнаружено, неправильный код может быть сгенерирован. Установите Invalid function-call connection (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр InvalidFcnCallConnMsg на error.
Диагностика, которая задает, должно ли программное обеспечение Simulink вычислить входные параметры подсистемы вызова функций прямо или косвенно при выполнении подсистемы, установлена в Use local settings или Disable all. Эта диагностика обнаруживает непредсказуемые данные, связывающиеся между подсистемой вызова функций и входными параметрами подсистемы в сгенерированном коде.Установите Context-dependent inputs (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр FcnCallInpInsideContextMsg на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к возможности соединения вызова функции, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на совместимость

ID проверки: mathworks.hism.hisl_0301

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к совместимости, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает, когда блок не был обновлен, чтобы использовать функции текущего релиза, установлена в none или warning. S-функция, записанная для более ранней версии, не может быть совместима с текущей версией, и сгенерированный код мог действовать неправильно.Установите S-function upgrades needed (Simulink) на Diagnostics> панель Compatibility в диалоговом окне Configuration Parameters или установите параметр SFcnCompatibilityMsg на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые влияют на совместимость, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на образцовую инициализацию

ID проверки: mathworks.hism.hisl_0304

В настройке модели проверяйте диагностические настройки, которые влияют на образцовую инициализацию и могут повлиять на безопасность.

Описание

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

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

В диалоговом окне Configuration Parameters обнаружение инициализации Underspecified (Simulink) диагностика установлена в Classic, гарантируя совместимость с предыдущими релизами Simulink. Проверка неопределенная начальная буква подсистемы вывела (Simulink) диагностику, очищена. Эта диагностика задает, выводит ли Simulink предупреждение, если модель содержит условно выполняемую подсистему, в которой блок с заданным начальным условием управляет блоком Outport с неопределенным начальным условием. Условно выполняемая подсистема могла иметь вывод, который не инициализируется. Если необнаруженный, это условие может произвести поведение, которое недетерминировано.

Выполнить одно из следующих действий:

В диалоговом окне Configuration Parameters обнаружение инициализации Underspecified (Simulink) диагностика установлена в Classic, гарантируя совместимость с предыдущими релизами Simulink. Эта диагностика обнаруживает потенциальные начальные выходные различия от более ранних релизов. Условно выполняемая подсистема могла иметь вывод, который не инициализируется. Если необнаруженный, это условие может произвести поведение, которое недетерминировано.

Выполнить одно из следующих действий:

В диалоговом окне Configuration Parameters обнаружение инициализации Underspecified (Simulink) диагностика установлена в Classic, гарантируя совместимость с предыдущими релизами Simulink. Вывод во время выполнения Проверки контекста выполнения (Simulink) диагностика очищен. Эта диагностика обнаруживает потенциальные выходные различия от более ранних релизов. Условно выполняемая подсистема могла иметь вывод, который не инициализируется и питается в блок настраиваемым параметром. Если необнаруженный, это условие может заставить поведение нисходящего блока быть недетерминированным.

Выполнить одно из следующих действий:

Результаты действия

Чтобы сконфигурировать диагностические настройки, которые влияют на образцовую инициализацию и могут повлиять на безопасность, нажмите Modify Settings.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на сохранение

ID проверки: mathworks.hism.hisl_0036

Проверяйте настройку модели на диагностические настройки, которые применяются к тому, чтобы сохранить образцовые файлы

Описание

Эта проверка проверяет, что образцовые параметры конфигурации установлены оптимально для сохранения модели для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает, содержит ли модель отключенные ссылки библиотеки перед моделью, сохранена, установлен в none или warning. Если это условие не обнаружено, неправильный код может быть сгенерирован.Установите Block diagram contains disabled library links (Simulink) в диалоговом окне Configuration Parameters или установите параметр SaveWithDisabledLinkMsg на error.
Диагностика, которая обнаруживает, содержит ли модель ссылки библиотеки, которые используют параметры не в маске перед моделью, сохранена, установлен в none или warning. Если это условие не обнаружено, неправильный код может быть сгенерирован.Установите Block diagram contains parameterized library links (Simulink) в диалоговом окне Configuration Parameters или установите параметр SaveWithParameterizedLinkMsg на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к тому, чтобы сохранить образцовый файл.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте код MATLAB сообщения Анализатора

ID проверки: mathworks.hism.himl_0004

Проверяйте MATLAB® Functions на директиву %#codegen, код MATLAB сообщения Анализатора и идентификаторы сообщений выравнивания.

Описание

Проверяет директиву %#codegen, код MATLAB сообщения Анализатора и идентификаторы сообщений выравнивания для:

  • Код MATLAB в блоках MATLAB function

  • Функции MATLAB заданы в диаграммах Stateflow

  • Названные функции MATLAB

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Для кода MATLAB в блоках MATLAB function, любом из следующего:

  • Строки кода не выравниваются по ширине с комментарием %#ok.

  • Строки кода, выровненные с %#ok, не задают идентификатор сообщения.

  • Реализуйте код MATLAB рекомендации Анализатора.

  • Выровняйте по ширине не в соответствии с кодом MATLAB рекомендации Анализатора с комментарием %#ok.

  • Задайте выровненные по ширине строки кода с идентификатором сообщения. Например, %#ok<NOPRT>.

Для функций MATLAB, заданных в диаграммах Stateflow, любом из следующего:

  • Строки кода не выравниваются по ширине с комментарием %#ok.

  • Строки кода, выровненные с %#ok, не задают идентификатор сообщения.

  • Реализуйте код MATLAB рекомендации Анализатора.

  • Выровняйте по ширине не в соответствии с кодом MATLAB рекомендации Анализатора с комментарием %#ok.

  • Задайте выровненные по ширине строки кода с идентификатором сообщения. Например, %#ok<NOPRT>.

Для названных функций MATLAB:

  • Код не имеет директивы %#codegen.

  • Строки кода не выравниваются по ширине с комментарием %#ok.

  • Строки кода, выровненные с %#ok, не задают идентификатор сообщения.

  • Вставьте директиву %#codegen в код MATLAB.

  • Реализуйте код MATLAB рекомендации Анализатора.

  • Выровняйте по ширине не в соответствии с кодом MATLAB рекомендации Анализатора с комментарием %#ok.

  • Задайте выровненные по ширине строки кода с идентификатором сообщения. Например, %#ok<NOPRT>.

Возможности и ограничения

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на блоки Слияния

ID проверки: mathworks.hism.hisl_0303

Проверяйте настройку модели на диагностические настройки, которые применяются к блокам Слияния

Описание

Эта проверка проверяет, что образцовые параметры конфигурации установлены оптимально для блоков Слияния для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает, содержит ли модель блоки Слияния больше чем с одним ведущим блоком, выполняющимся одновременно, продвигается, установлен в none или warning. В диалоговом окне Configuration Parameters обнаружение инициализации Underspecified (Simulink) диагностика установлена в Classic.

В диалоговом окне Configuration Parameters набор Обнаруживает несколько ведущих блоков, выполняющихся, одновременно продвигаются (Simulink) или устанавливают параметр MergeDetectMultiDrivingBlocksExec на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на Stateflow

ID проверки: mathworks.hism.hisl_0311

Проверяйте связанные с безопасностью диагностические настройки на Stateflow

Описание

Эта проверка проверяет, что образцовые параметры конфигурации установлены оптимально для Stateflow для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает, приводит ли конфигурация диаграммы к нежелательному отслеживанию в обратном порядке во время симуляции, установлена в none или warning.

В диалоговом окне Configuration Parameters, набор Неожиданное отслеживание в обратном порядке (Simulink) или установленный параметр SFUnexpectedBacktrackingDiag на error.

Диагностика, которая обнаруживает, имеет ли конфигурация диаграммы блоки, которые соединяются с входными портами графика, не инициализирует их выходные параметры во время инициализации, установлен в none или warning.

В диалоговом окне Configuration Parameters, набор Недопустимый доступ к входным данным в инициализации графика (Simulink) или установленный параметр SFInvalidInputDataAccessInChartInitDiag на error.

Диагностика, которая обнаруживает, имеет ли график безусловный переход по умолчанию к состоянию или соединение, установлена в none или warning.

В диалоговом окне Configuration Parameters, набор Никакие безусловные переходы по умолчанию (Simulink) или установленный параметр SFNoUnconditionalDefaultTransitionDiag на error.

Диагностика, которая обнаруживает, содержит ли график переход, что циклы за пределами метрополии или соединения установлены в none или warning.

В диалоговом окне Configuration Parameters, Переходе набора вне естественного родительского элемента (Simulink) или установленный параметр SFTransitionOutsideNaturalParentDiag на error.

Диагностика, которая обнаруживает, создается ли график на допустимом пути к выполнению, установлена в none или warning.

В диалоговом окне Configuration Parameters, установленный Недостижимый путь к выполнению (Simulink) или установленный параметр SFUnreachableExecutionPathDiag на error.

Диагностика обнаруживает, что параметр Undirected event broadcasts не устанавливается на none или warning.Установите Undirected event broadcasts в диалоговом окне Configuration Parameters или установите параметр SFUndirectedBroadcastEventsDiag на error.
Диагностика обнаруживает, что параметр Transition action specified before condition action не устанавливается на none или warning.Установите Transition action specified before condition action в диалоговом окне Configuration Parameters или установите параметр SFTransitionActionBeforeConditionDiag на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте на сильный ввод данных с вводом-выводом Simulink

ID проверки: mathworks.hism.hisf_0009

Идентифицируйте использование построений Stateflow, которые могут повлиять на безопасность.

Описание

Эта проверка идентифицирует экземпляры программного обеспечения Stateflow, используемого способом, который может повлиять на безопасность приложения при помощи сильного ввода данных.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Диаграмма Stateflow не сконфигурирована для сильного ввода данных на контурах между моделью Simulink и диаграммой Stateflow.

В диалоговом окне Свойств диаграммы выберите Use Strong Data Typing with Simulink I/O для диаграммы Stateflow. Когда вы устанавливаете этот флажок, диаграмма Stateflow принимает входные сигналы любого типа данных, который поддерживают модели Simulink, при условии, что тип входного сигнала совпадает с типом соответствующего объекта входных данных Stateflow.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков. Исключения не будут работать на соединенные графики библиотеки.

Смотрите также

Проверяйте на интерфейсы функции MATLAB с унаследованными свойствами

ID проверки: mathworks.hism.himl_0002

Идентифицируйте функции MATLAB, которые имеют входные параметры, выходные параметры или параметры с наследованной сложностью или свойствами типа данных.

Описание

Проверка идентифицирует функции MATLAB с наследованной сложностью или свойствами типа данных. Таблица результатов обеспечивает ссылки на функции MATLAB, которые не передают проверку, наряду с условиями, инициировавшими предупреждение.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Функции MATLAB имеют наследуемые интерфейсы.

Явным образом задайте сложность и свойства типа данных для импорта, выходных портов и параметров функций MATLAB, идентифицированных в результатах.

Если применимо, с помощью Редактора блока MATLAB function (Simulink), сделайте следующие модификации в Портах и Менеджере данных (Simulink):

  • Измените Complexity от Inherited до On или Off.

  • Измените Type от Inherit: Same as Simulink до явного типа.

Возможности и ограничения

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование блоков Abs

ID проверки: mathworks.hism.hisl_0001

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

Описание

Эта проверка осматривает использование блока Abs.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Модель или подсистема содержат блок Absolute Value, который работает с одним из следующего:

  • Булевская переменная или тип входных данных без знака. Это условие результаты в недостижимых трассах симуляции через модель и может привести к недостижимому коду

  • Значение целого числа со знаком с флажком Saturate on integer overflow, не установленным. Для типов данных со знаком абсолютное значение наиболее отрицательной величины проблематично, потому что это не является представимым, по условию вводят. Это условие приводит к переполнению в сгенерированном коде.

Если идентифицированный блок Absolute Value работает с булевым или типом данных без знака, выполнить одно из следующих действий:

  • Измените вход блока Absolute Value к входному типу со знаком.

  • Удалите блок Absolute Value от модели.

Если идентифицированный блок Absolute Value работает с типом данных со знаком в диалоговом окне Block Parameters > Signal Attributes, выберите Saturate on integer overflow.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование блоков Математической функции (rem и взаимные функции)

ID проверки: mathworks.hism.hisl_0002

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

Описание

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

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат Математическую функцию - Остаток после division(rem) блоки, которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы.

При использовании блока Math Function с функцией rem защитите второй вход к блоку от равного нулю. В противном случае вывод может произвести Inf или -Inf и привести к ошибке времени выполнения в сгенерированном коде.

Модель или подсистема содержат Математическую функцию - Обратная величина блоки (reciprocal), которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы.

При использовании блока Math Function с функцией reciprocal защитите вход к блоку от равного нулю. В противном случае вывод может произвести Inf или -Inf и привести к ошибке времени выполнения в сгенерированном коде.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование блоков Математической функции (журнал и функции log10)

ID проверки: mathworks.hism.hisl_0004

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

Описание

Эта проверка осматривает использование блоков Математической функции, которые имеют Натуральный логарифм, и Распространенный (базируйтесь 10), логарифмы.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат Математическую функцию - Натуральный логарифм блоки (log), которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы.

При использовании блока Math Function с функцией log защитите вход к блоку от того, чтобы быть меньше чем или равным нулю. В противном случае вывод может произвести NaN или -Inf и привести к ошибке времени выполнения в сгенерированном коде.

Модель или подсистема содержат Математическую функцию - Распространенный (базируйтесь 10), блоки (base 10 logarithm), которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы.

При использовании блока Math Function с функцией log10 защитите вход к блоку от того, чтобы быть меньше чем или равным нулю. В противном случае вывод может произвести NaN или -Inf и привести к ошибке времени выполнения в сгенерированном коде.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование блоков Присвоения

ID проверки: mathworks.hism.hisl_0029

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

Описание

Эта проверка осматривает использование блоков Присвоения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема могут содержать блоки Присвоения с неполной инициализацией массивов (не в подсистеме итератора), которые не имеют параметров блоков набором Action if any output element is not assigned к Error или Warning.

Установите параметры блоков Action if any output element is not assigned на одно из рекомендуемых значений:

  • Error

  • Warning

Модель или подсистема могут содержать блоки Присвоения в подсистеме итератора, и parameterAction if any output element is not assigned не установлен в Error.Установите параметры блоков Action if any output element is not assigned на Error.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки оптимизации на преобразования типа данных

ID проверки: mathworks.hism.hisl_0053

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Оптимизация, которая подавляет генерацию кода, следующего с плавающей точкой к целочисленным преобразованиям, которые переносят значения из области значений, очищена. Необходимо избежать переполнения для связанного с безопасностью кода. Когда эта оптимизация выключена, и ваша модель включает блоки, которые отключают параметр Saturate on overflow, генератор кода переносит значения из области значений для тех блоков. Это может привести к недостижимому и, поэтому, непригодный для тестирования код. Если у вас есть лицензия Simulink Coder™, выберите Configuration Parameter Remove code from floating-point to integer conversions that wraps out-of-range values (Simulink Coder) или установите параметр EfficientFloat2IntCast на on.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки оптимизации на инициализацию данных

ID проверки: mathworks.hism.hisl_0052

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Оптимизация, которая подавляет генерацию кода инициализации для импорта корневого уровня и выходных портов, которые обнуляются, выбрана. Для связанного с безопасностью кода необходимо явным образом инициализировать все переменные.Если вы имеете лицензию Embedded Coder® и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Remove root level I/O zero initialization (Simulink Coder) или установите параметр ZeroExternalMemoryAtStartup на on. Также интегрируйте внешний, рукописный код, который инициализирует все переменные I/O, чтобы обнулить явным образом.
Оптимизация, которая подавляет генерацию кода инициализации для внутренних структур работы, таких как состояния блока и блок выходные параметры, которые обнуляются, выбрана. Для связанного с безопасностью кода необходимо явным образом инициализировать каждую переменную.Если вы имеете лицензию Embedded Coder и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Remove internal data zero initialization (Simulink Coder) или установите параметр ZeroInternalMemoryAtStartup на on. Также интегрируйте внешний, рукописный код, который инициализирует каждую переменную состояния, чтобы обнулить явным образом.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

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

ID проверки: mathworks.hism.hisl_0048

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель включает блоки, которые зависят от прошедшего или абсолютного времени, и сконфигурирован, чтобы минимизировать объем памяти, выделенный для таймеров. Такая настройка ограничивает номер дней, которые может выполнить приложение, прежде чем переполнение таймера происходит. Много космических продуктов включаются постоянно, и таймеры не должны принимать ограниченную продолжительность жизни. Установите Параметр конфигурации Application lifespan (days) (Simulink) или установите параметр LifeSpan на inf.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки оптимизации сокращения блока

ID проверки: mathworks.hism.hisl_0046

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блокируйтесь оптимизация сокращения выбрана. Эта оптимизация может удалить блоки от сгенерированного кода, приводящего к требованиям без связанного кода и нарушений для требований трассируемости. Очистите Параметр конфигурации Block reduction (Simulink) или установите параметр BlockReduction на off.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки оптимизации на логические сигналы

ID проверки: mathworks.hism.hisl_0045

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Реализация логических сигналов как булевы данные очищена. Сильный ввод данных рекомендуется для связанного с безопасностью кода. Выберите Configuration Parameter Implement logic signals as boolean data (vs. double) (Simulink) или установите параметр BooleanDataType на on.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки оптимизации на арифметические исключения деления

ID проверки: mathworks.hism.hisl_0054

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Оптимизация, которая подавляет генерацию кода, который принимает меры против деления на нуль для данных фиксированной точки, выбрана. Необходимо избежать исключений деления на нуль в связанном с безопасностью коде.Если вы имеете лицензию Embedded Coder и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Remove code that protects against division arithmetic exceptions (Simulink Coder) или установите параметр NoFixptDivByZeroProtection на off.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте использование блоков Логического оператора

ID проверки: mathworks.hism.hisl_0018

Идентифицируйте использование блоков Логического оператора, которые могут повлиять на безопасность.

Описание

Эта проверка осматривает использование блоков Логического оператора.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат блок Logical Operator, который имеет вводы или выводы, которые не являются булевыми вводами или выводами. Блок может привести к сравнениям равенства или неравенства с плавающей точкой в сгенерированном коде.
  • Измените блок Logical Operator так, чтобы все вводы и выводы были булевской переменной. На Параметрах блоков> панель Атрибутов Сигнала, рассмотрите Require all inputs to have the same data type выбора и setting Output data type к boolean.

  • В диалоговом окне Configuration Parameters рассмотрите выбор Implement logic signals as boolean data (vs. double).

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на блоки Оператора отношения, которые приравнивают типы с плавающей точкой

ID проверки: mathworks.hism.hisl_0016

Описание

Эта проверка осматривает использование:

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат блок, вычисляя оператор отношения, который использует == или ~ = оператор, чтобы сравнить сигналы с плавающей точкой. Использование этих операторов на сигналах с плавающей точкой ненадежно и непредсказуемо из-за проблем точности с плавающей точкой. Эти операторы могут привести к непредсказуемым результатам в сгенерированном коде.

Для идентифицированного блока выполнить одно из следующих действий:

  • Измените тип данных сигнала.

  • Переделайте модель, чтобы устранить использование == или ~ = операторы на сигналах с плавающей точкой.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование блоков Оператора отношения

ID проверки: mathworks.hism.hisl_0017

Описание

Эта проверка осматривает использование блоков, которые вычисляют операторы отношения, включая Оператор отношения, Выдерживают сравнение С Постоянным, Выдерживают сравнение С Zeroand, Обнаруживают блоки Изменения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат блок, вычисляя оператор отношения, который работает с различными типами данных. Условие может привести к непредсказуемым результатам в сгенерированном коде. Для идентифицированных блоков используйте типы общих данных в качестве входных параметров. Можно использовать блоки Преобразования типа данных, чтобы изменить типы входных данных.
Модель или подсистема содержат блок, вычисляя оператор отношения, который не имеет булева вывода. Условие может привести к непредсказуемым результатам в сгенерированном коде. Для заданных блоков, на Параметрах блоков> панель Атрибутов Сигнала, устанавливает Output data type на boolean.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование блоков Случая Переключателя и блоков Subsystem Действия Случая Переключателя

ID проверки: mathworks.hism.hisl_0011

Описание

Эта проверка осматривает использование блоков Случая Переключателя

Проверка отмечает блоки Случая Переключателя, которые не используют целочисленные типы данных или перечислимые величины для входных параметров. Выполнить hisl_0011: Использование блоков Случая Переключателя и блоков Subsystem Действия (Simulink) – C, используйте целочисленный тип данных или перечислимую величину для входных параметров, чтобы Переключить блоки Случая.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат блок Switch Case без случая по умолчанию.В диалоговом окне Block Parameters блока Switch Case выберите Show default case. Соедините получившийся выходной порт по умолчанию с блоком Subsystem Действия Случая Переключателя.
Модель или подсистема содержат блок Switch Case с выходным портом, который не соединяется с блоком Subsystem Действия Случая Переключателя.Проверьте, что выходные порты блоков Случая Переключателя соединяются с блоками Subsystem Действия Случая Переключателя.
Модель или подсистема содержат блок Switch Case с нецелым числом или неперечислимыми типами данных входного порта.Убедитесь, что тип входных данных блоков Случая Переключателя является целым числом или перечислением.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование Если блоки и Если блоки Subsystem Действия

ID проверки: mathworks.hism.hisl_0010

Описание

Эта проверка осматривает использование Если блоки.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема Еще содержат Если использование блока выражения Elseif без условие.В, Если диалоговое окно блока Block Parameters, выберите Show else condition. Еще соедините получившееся выходной порт к Если блок Subsystem Действия.
Модель или подсистема содержат, Если блок с выходными портами, которые не соединяются с Если блоки Subsystem Действия.Проверьте что выходные порты Если блок connect к Если блоки Subsystem Действия.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование На блоки Итератора

ID проверки: mathworks.hism.hisl_0008

Описание

Эта проверка осматривает использование Для блоков Итератора.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат блок For Iterator, который имеет переменные итерации. Это условие может привести к непредсказуемым временам выполнения или бесконечным циклам в сгенерированном коде.

Для идентифицированного Для блоков Итератора выполнить одно из следующих действий:

  • Установите the Iteration limit source параметр на internal.

  • Если параметром Iteration limit source должен быть external, используйте Константу, Тестовую, или блок Width как источник.

  • Снимите Набор следующий флажок i (iteration variable) externally.

  • Рассмотрите установку флажка Show iteration variable и наблюдайте значение итерации во время симуляции.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование На и В то время как подсистемы Итератора

ID проверки: mathworks.hism.hisl_0007

Описание

Эта проверка осматривает использование зависящих от времени блоков в Для Итератора или В то время как подсистема Итератора.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Модель или подсистема содержат один из следующих зависящих от времени блоков в Для Итератора или В то время как подсистема Итератора:

  • Дискретное пространство состояний

  • Интегратор дискретного времени

  • Дискретный КИХ-фильтр

  • Дискретный фильтр

  • Дискретная передача Fcn

  • Дискретный нулевой полюсный

  • Передайте первый порядок Fcn

  • Передайте действительный нуль Fnc

  • Передайте вывод Fcn или задержку

  • Дискретная передаточная функция с начальной буквой Выходные параметры

  • Дискретная передаточная функция с начальными состояниями

  • Дискретный нулевой полюсный с начальной буквой Выходные параметры

  • Дискретный нулевой полюсный с начальными состояниями

  • Дискретная производная

В модели или подсистеме, рассмотрите удаление зависящих от времени блоков.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование того, В то время как Итератор блокируется

ID проверки: mathworks.hism.hisl_0006

Описание

Эта проверка осматривает использование того, В то время как Итератор блокируется.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат некоторое время блок Iterator, который имеет неограниченные итерации. Это условие может привести к бесконечным циклам в сгенерированном коде. mo

Для идентифицированного, В то время как Итератор блокируется:

  • Установите параметр Maximum number of iterations (-1 for unlimited) на положительное целочисленное значение.

  • Рассмотрите установку флажка Show iteration number port и наблюдайте значение итерации во время симуляции.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки генерации кода на комментарии

ID проверки: mathworks.hism.hisl_0038

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

Описание

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

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Опция, чтобы включать комментарии в сгенерированный код очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью.Выберите Include comments (Simulink Coder) на Code Generation> панель Comments в диалоговом окне Configuration Parameters или установите параметр GenerateComments на on.
Опция, чтобы включать комментарии, которые описывают код для блоков, очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. Выберите комментарии блока Simulink (Simulink Coder) на Code Generation> панель Comments в диалоговом окне Configuration Parameters или установите параметр SimulinkBlockComments на on.
Опция, чтобы включать комментарии, которые описывают код для блоков, устраненных из модели, очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. Выберите Show eliminated blocks (Simulink Coder) на Code Generation> панель Comments в диалоговом окне Configuration Parameters или установите параметр ShowEliminatedStatement на on.
Опция, чтобы включать имена переменных параметра и исходных блоков как комментарии в описании структуры параметра модели в model_prm.h очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. Выберите Verbose comments for 'Model default' storage class (Simulink Coder) на Code Generation> панель Comments в диалоговом окне Configuration Parameters или установите параметр ForceParamTrailComments на on.
Опция, чтобы включать описания требования, присвоенные блокам Simulink как комментарии, очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. Выберите Requirements in block comments (Simulink Coder) на Code Generation> панель Custom comments в диалоговом окне Configuration Parameters или установите параметр ReqsInCode на on.

Результаты действия

Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки интерфейса генерации кода

ID проверки: mathworks.hism.hisl_0039

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

Описание

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

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Опция, чтобы сгенерировать неличные данные и операции выбрана. Поддержка неличных чисел является несоответствующей для встроенных систем реального времени. Очистите Support: non-finite numbers (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SupportNonFinite на off.
Опция, чтобы сгенерировать и поддержать целочисленные счетчики в течение абсолютного и прошедшего времени выбрана. Поддержка в течение абсолютного времени является несоответствующей для связанных с безопасностью систем в реальном времени. Очистите Support: absolute time (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SupportAbsoluteTime на off.
Опция, чтобы сгенерировать код для блоков, которые используют непрерывное время, выбрана. Поддержка в течение непрерывного времени является несоответствующей для связанных с безопасностью систем в реальном времени. Очистите Support: continuous time (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SupportContinuousTime на off.
Опция, чтобы сгенерировать код для невстроенных S-функций выбрана. Эта опция требует поддержки неличных чисел, которая является несоответствующей для связанных с безопасностью систем в реальном времени.Очистите Support: non-inlined S-functions (Simulink Coder) в диалоговом окне Configuration Parameters или установите параметр SupportNonInlinedSFcns на off.
Опция, чтобы сгенерировать образцовые вызовы функции, совместимые с основным программным модулем цели pre-R2012a GRT, выбрана. Эта опция является несоответствующей для связанных с безопасностью систем в реальном времени.Очистите Classic call call interface (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр GRTInterface на off.
Опция, чтобы сгенерировать функцию model_update очищена. Наличие одного вызова функций вывода и обновления упрощает интерфейс до операционной системы реального времени (RTOS) и упрощает верификацию сгенерированного кода.Выберите Single output/update function (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр CombineOutputUpdateFcns на on.
Опция, чтобы сгенерировать функцию model_terminate выбрана. Эта функция освобождает динамическую память, которая является неподходящей для связанных с безопасностью систем в реальном времени. Очистите Terminate function (Simulink Coder) на панели Code Generation в диалоговом окне Configuration Parameters или установите параметр IncludeMdlTerminateFcn на off.
Опция, чтобы регистрировать или состояние ошибки монитора очищена. Если вы не выбираете эту опцию, продукт Simulink Coder генерирует дополнительный код, который не может быть достижимым для тестирования. Выберите Remove error status field in real-time model data structure (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SuppressErrorStatus на on.
Журналирование MAT-файла выбрано. Эта опция добавляет дополнительный код для журналирования тестовых точек к MAT-файлу, который не поддержан целевыми процессорами. Используйте эту опцию только в тестовых обвязках. Очистите MAT-file logging (Simulink Coder) в диалоговом окне Configuration Parameters или установите параметр MatFileLogging на off.

Результаты действия

Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки генерации кода на стиль кода

ID проверки: mathworks.hism.hisl_0047

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

Описание

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

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Опция, которая задает стиль для использования круглой скобки, установлена в Minimum (Rely on C/C++ operators precedence) или в Nominal (Optimize for readability). Для связанных с безопасностью приложений явным образом задайте приоритет с круглыми скобками. Установите параметр ParenthesesLevel на Maximum (Specify precedence with parentheses).
Опция, которая задает, сохранить ли порядок операнда, очищена. Эта опция увеличивает трассируемость сгенерированного кода.Установите параметр PreserveExpressionOrder на on.
Опция, которая задает, сохранить ли пустые первичные выражения условия в операторах if, очищена. Эта опция увеличивает трассируемость сгенерированного кода.Установите параметр PreserveIfCondition на on.

Результаты действия

Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

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

ID проверки: mathworks.hism.hisl_0049

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

Описание

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

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Минимальное количество символов, заданных для генерации строк искажения имени, является меньше чем четырьмя. Можно использовать эту опцию, чтобы минимизировать вероятность, что параметр и имена сигнала изменятся во время генерации кода, когда модель изменится. Использование этой опции помогает с минимизацией различий кода между версиями файла, уменьшая усилие выполнить рассмотрения кода. Установите Minimum mangle length (Simulink Coder) на Code Generation> панель Symbols в диалоговом окне Configuration Parameters или параметре MangleLength к значению 4 или больше.

Результаты действия

Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на образцовую ссылку

ID проверки: mathworks.hism.hisl_0310

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к образцовой ссылке, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает несоответствие между версией модели, которая создает или обновляет блок Model и текущую версию модели, на которую ссылаются, установлена в error или warning. Обнаружение происходит во время операций загрузки и обновления. Когда вы получаете последнюю версию модели, на которую ссылаются, от системы управления конфигурированием ПО, а не более старую версию, которая использовалась в предыдущей симуляции, если эта диагностика установлена в error, симуляция прерывается. Если диагностика установлена в warning, предупреждающее сообщение выпущено. Чтобы решить вопрос, пользователь должен повторно сохранить моделируемую модель, который не может быть желаемым действием. Установите Model block version mismatch (Simulink) на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceVersionMismatchMessage на none.
Диагностика, которая обнаруживает порт и несоответствия параметра во время образцовой загрузки и обновления, установлена в none или warning. Если необнаруженный, такие несоответствия могут привести к неправильным результатам симуляции, потому что родительские и модели, на которые ссылаются, имеют различные интерфейсы.Установите Port and parameter mismatch (Simulink) на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceIOMismatchMessage на error.
Диагностика, которая обнаруживает недопустимые внутренние связи с корневым уровнем текущей модели Inport и блоки Outport, установлена в none или warning. Когда это условие обнаруживается, программное обеспечение Simulink может автоматически вставить скрытые блоки в модель, чтобы зафиксировать условие. Скрытые блоки могут привести к сгенерированному коду без прослеживаемых требований. Установка диагностики к error обеспечивает образцовых разработчиков, чтобы зафиксировать модели, на которые ссылаются, вручную. Установите Invalid root Inport/Outport block connection (Simulink) на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceIOMessage на error.
Диагностика, которая обнаруживает, регистрируют ли блоки Workspace или Scope To данные в модели, на которую ссылаются, установлена в none или warning. Регистрация данных не поддержана для блоков Workspace и Scope To в моделях, на которые ссылаются. Установите Unsupported data logging (Simulink) на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceDataLoggingMessage на error.
К данным логов удалите блоки и регистрируйте образцовые сигналы, на которые ссылаются. Для получения дополнительной информации смотрите Журналирование Образцовые Сигналы, на которые Ссылаются (Simulink).

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к образцовой ссылке, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на шаг расчета

ID проверки: mathworks.hism.hisl_0044

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к шагам расчета, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика для обнаружения, когда исходный блок, такой как блок Sine Wave, наследовал шаг расчета (заданный как-1) установлена в none или warning. Использование наследованных шагов расчета для исходного блока может привести к непредсказуемым уровням выполнения для исходного блока и блоков, соединенных с ним. Для связанных с безопасностью приложений исходные блоки должны иметь явные шаги расчета, чтобы предотвратить неправильное упорядочивание выполнения. Установите Source block specifies -1 sample time (Simulink) на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр InheritedTslnSrcMsg на error.
Диагностика для обнаружения недопустимых переходов уровня между двумя блоками, действующими в многозадачном режиме, установлена в none или warning. Такие переходы уровня не должны использоваться для встроенного кода в реальном времени. Установите Multitask rate transition (Simulink) на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр MultiTaskRateTransMsg на error.
Диагностика для обнаружения подсистем, которые могут вызвать повреждение данных или недетерминированное поведение, установлена в none или warning. Эта диагностика обнаруживает, действуют ли условно выполняемые многоскоростные подсистемы (включил, инициированный, или подсистемы вызова функций) в многозадачном режиме. Такие подсистемы могут повредить данные и вести себя непредсказуемо в режиме реального времени среды, которые позволяют вытеснение. Установите Multitask conditionally executed subsystem (Simulink) на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр MultiTaskCondExecSysMsg на error.
Диагностика для проверки непротиворечивости шага расчета между блоком Signal Specification и связанным целевым блоком установлена в none или warning. Чрезмерно определенный шаг расчета может привести к непредсказуемому уровню выполнения. Установите Enforce sample times specified by Signal Specification blocks (Simulink) на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр SigSpecEnsureSampleTimeMsg на error.
Диагностика обнаруживает, что параметр Single task rate transition не устанавливается на error.Установите Single task rate transition в диалоговом окне Configuration Parameters или установите параметр SingleTaskRateTransMsg на error.
Диагностика обнаруживает, что параметр Tasks with equal priority не устанавливается на error.Установите Tasks with equal priority в диалоговом окне Configuration Parameters или установите параметр TasksWithSamePriorityMsg на error.
Диагностика для обнаружения, содержит ли модель S-функцию, которая не была задана явным образом, чтобы наследовать шаг расчета, установлена в none или warning. Эти настройки могут привести к непредсказуемому поведению. Образцовый разработчик должен знать, когда такая S-функция существует в модели, таким образом, она может быть изменена, чтобы произвести предсказуемое поведение. Установите Unspecified inheritability of sample time (Simulink) в диалоговом окне Configuration Parameters или установите параметр UnknownTsInhSupMsg на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к шагу расчета, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте метрики функции MATLAB

ID проверки: mathworks.hism.himl_0003

Отобразите сложность и метрики кода для функций MATLAB. Сообщите о метрических нарушениях.

Описание

Эта проверка обеспечивает сложность и метрики кода для функций MATLAB. Проверка дополнительно сообщает о метрических нарушениях. Таблица результатов обеспечивает ссылки на функции MATLAB, которые нарушают входные параметры сложности.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Введите параметры

Maximum effective lines of code per function

Обеспечьте максимальные эффективные строки кода на функцию. Эффективные строки не включают пустые строки, строки с комментариями или строки с функциональным ключевым словом end.

Minimum density of comments

Обеспечьте минимальную плотность комментариев. Плотность является отношением строк с комментариями к общим строкам кода.

Maximum cyclomatic complexity per function

Обеспечьте максимальную цикломатическую сложность на функцию. Цикломатическая сложность является количеством линейно независимых контуров через исходный код.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Функция MATLAB нарушает входные параметры сложности.

Для функции MATLAB:

  • Если эффективные строки кода слишком высоки, далее разделите функцию MATLAB.

  • Если плотность комментария является слишком низкой, добавьте строки с комментариями.

  • Если цикломатическая сложность на функцию слишком высока, далее разделите функцию MATLAB.

Возможности и ограничения

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на преобразования типов

ID проверки: mathworks.hism.hisl_0309

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к преобразованиям типов, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает блоки Преобразования типа данных, когда преобразование типов установлено в none. Программное обеспечение Simulink может удалить ненужные блоки Преобразования типа данных от сгенерированного кода, который может привести к требованиям без соответствующего кода. Удаление этих блоков должно быть идентифицировано, таким образом, образцовые разработчики могут явным образом удалить ненужные блоки. Установите Unnecessary type conversions (Simulink) Параметр конфигурации orUnnecessaryDatatypeConvMsg параметр к warning.
Диагностика, которая обнаруживает вектор к матрице или преобразования матрицы к вектору во входных параметрах блока, установлена в none или warning. Когда программное обеспечение Simulink автоматически преобразовывает между векторными и матричными размерностями, непреднамеренные операции или непредсказуемое поведение могут произойти.Установите Vector/matrix block input conversion (Simulink) Параметр конфигурации или параметр VectorMatrixConversionMsg к error
Диагностика, которая обнаруживает, когда 32-битное целочисленное значение преобразовано в значение с плавающей точкой, установлена в none. Этот тип преобразования может привести к потере точности из-за усечения младших значащих битов для больших целочисленных значений. Установите 32-bit integer to single precision float conversion (Simulink) Параметр конфигурации или параметр Int32ToFloatConvMsg к warning.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к преобразованиям типов, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки решателя на время симуляции

ID проверки: mathworks.hism.hisl_0040

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации решателя, имеющие отношение ко времени симуляции, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Установка решателя, чтобы задать время начала для симуляции или сгенерированного кода установлена в значение кроме 0.0.

В диалоговом окне Configuration Parameters, Время начала набора (Simulink) или установленный параметр StartTime на 0.0.

Установка решателя, чтобы задать время остановки для симуляции или сгенерированного кода установлена в отрицательную величину или положительное значение, больше, чем значение продолжительности жизни Приложения (дни) (Simulink). По умолчанию продолжительностью жизни Приложения (дни) (Simulink) является auto. Если вы не изменяете эти настройки, любое положительное значение для Времени остановки (Simulink) допустимо.

В диалоговом окне Configuration Parameters, Время остановки набора (Simulink) или установленный параметр StopTime на положительное значение, которое является меньше, чем значение продолжительности жизни Приложения (дни) (Simulink).

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никакой рабочей области и никаких диалоговых окон.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на решатели

ID проверки: mathworks.hism.hisl_0043

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к решателям, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика для обнаружения автоматической поломки алгебраических циклов установлена в none или warning. Повреждение алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для связанных с безопасностью приложений образцовый разработчик должен знать, когда такие пропуски происходят.Установите Algebraic loop (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр AlgebraicLoopMsg на error. Рассмотрите повреждение таких циклов явным образом с блоками Единичной задержки так, чтобы порядок выполнения был предсказуем. Как минимум проверьте, что результаты циклов, повреждающихся автоматически, приемлемы.
Диагностика для обнаружения автоматической поломки алгебраических циклов для блоков Model, атомарных подсистем, и включила подсистемы, установлен в none или warning. Повреждение алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для связанных с безопасностью приложений образцовый разработчик должен знать, когда такие пропуски происходят.Установите Minimize algebraic loop (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр ArtificialAlgebraicLoopMsg на error. Рассмотрите повреждение таких циклов явным образом с блоками Единичной задержки так, чтобы порядок выполнения был предсказуем. Как минимум проверьте, что результаты циклов, повреждающихся автоматически, приемлемы.
Диагностика для обнаружения потенциального конфликта в порядке выполнения блока установлена в none или warning. Для связанных с безопасностью приложений блокируйтесь, порядок выполнения должен быть предсказуемым. Образцовый разработчик должен знать при конфликте, приоритеты блока существуют. Установите Block priority violation (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр BlockPriorityViolationMsg на error.
Диагностика для обнаружения, изменяет ли программное обеспечение Simulink автоматически решатель, размер шага или время остановки симуляции, установлена в none или warning. Такие изменения могут влиять на операцию сгенерированного кода. Для связанных с безопасностью приложений лучше обнаружить такие изменения, как образцовый разработчик может явным образом установить параметры на известные значения. Установите Automatic solver parameter selection (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр SolverPrmCheckMsg на error.
Диагностика для обнаружения, когда имя используется больше чем для одного состояния в модели, установлена в none. Имена состояния в модели должны быть уникальными. Для связанных с безопасностью приложений лучше обнаружить столкновения имени, таким образом, образцовый разработчик может зафиксировать их. Установите State name clash (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр StateNameClashWarn на warning.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью настройки ссылки модели

ID проверки: mathworks.hism.hisl_0037

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации для образцовой ссылки установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель, на которую ссылаются, сконфигурирована таким образом, что ее цель восстановлена каждый раз, когда вы обновляете, моделируете или генерируете код для модели, или если программное обеспечение Simulink обнаруживает изменения в известных зависимостях. Эти параметры конфигурации могут привести к ненужной регенерации кода, приводящего к изменению только даты файла и замедления процесс сборки при использовании моделей - ссылок. Установите Rebuild (Simulink) на панели Model Referencing в диалоговом окне Configuration Parameters или установите параметр UpdateModelReferenceTargets на Never или If any changes detected.
Диагностика, которая обнаруживает, должна ли цель быть восстановлена, установлена в None или Warn if targets require rebuild. Для связанных с безопасностью приложений ошибка должна предупредить образцовых разработчиков, что родительские и модели, на которые ссылаются, противоречивы. Этот диагностический параметр доступен, только если Rebuild установлен в Never.Установите параметр конфигурации Never rebuild diagnostics (Simulink) на панели Model Referencing в диалоговом окне Configuration Parameters или установите параметр CheckModelReferenceTargetMessage на error.
Способность передать скалярный корень, введенный значением, выключена. Эта возможность должна быть выключена, потому что скалярные значения могут измениться во время временного шага и привести к непредсказуемым данным. Этот параметр только доступен, когда параметр конфигурации, Total number of instances allowed per top model установлен в One или Multiple (ModelReferenceNumInstancesAllowed является single или multi).Установите Pass fixed-size scalar root inputs by value for code generation (Simulink) на панели Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferencePassRootInputsByReference на off.
Модель сконфигурирована, чтобы минимизировать алгебраические случаи цикла. Эта настройка несовместима с рекомендуемой установкой Single output/update function для кода встраиваемых систем. В диалоговом окне Configuration Parameters, набор Minimize algebraic loop occurrences (Simulink) или установленный параметр ModelReferenceMinAlgLoopOccurrences к off.

Результаты действия

Нажатие на Modify Settings конфигурирует настройки ссылки модели, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте диаграммы Stateflow на пути к переходу тот перекрестные параллельные государственные границы

ID проверки: mathworks.hism.hisf_0013

Идентифицируйте пути к переходу, которые пересекают параллельные государственные границы в диаграммах Stateflow.

Описание

Идентифицируйте пути к переходу, которые пересекают параллельные государственные границы в диаграммах Stateflow. Эта проверка идентифицирует пути к переходу, которые пересекают параллельные государственные границы в диаграммах Stateflow.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диаграммы Stateflow имеют пути к переходу тот перекрестные параллельные государственные границы.Измените диаграммы Stateflow так, чтобы переходы не пересекали параллельные государственные границы. Для получения дополнительной информации смотрите, Конструктивные соображения для Определения Переходов Между состояниями (Stateflow).

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое во всех подсистемах маскированных.

Смотрите также

Проверяйте операции присвоения в диаграммы Stateflow

ID проверки: mathworks.hism.hisf_0065

Идентифицируйте операции присвоения в объектах Stateflow.

Описание

Эта проверка идентифицирует, что операции присвоения в Stateflow возражают, что неявно бросает вычисления целочисленных и вычислений с фиксированной точкой к более широким типам данных, чем типы входных данных.

Эта проверка идентифицирует только присвоения с арифметическими операциями.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Объект Stateflow состоит из операций присвоения, которые бросают вычисления целочисленной и фиксированной точки к более широким типам данных, чем типы входных данных.Явным образом замените оператор присваивания (=) к: = оператор в объектах Stateflow.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте использование блоков битовой операции

ID проверки: mathworks.hism.hisl_0019

Идентифицируйте блоки битовой операции с типами данных со знаком как входные параметры

Описание

Эта проверка идентифицирует использование Битовых операций для типов входных и выходных данных. Проверка также смотрит на другие блоки битовых операций как на следующее:

  • Ясный бит

  • Bitset

  • Побитовый оператор

  • Извлеките биты

  • Переключите Arithmentic

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Битовые операции не используются с типами данных со знаком.Используйте подписанный тип данных для Битовых операций.

Возможности и ограничения

  • Позволяет исключения блоков и графиков.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

Смотрите также

Проверяйте типы данных на блоки с индексными сигналами

ID проверки: mathworks.hism.hisl_0022

Описание

Эта проверка Идентифицирует блоки с индексными сигналами, которые имеют типы данных кроме целых чисел или перечисления и являются в области значений индексируемых значений.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Один или несколько блоков Simulink в модели имеют индексные сигналы, которые имеют типы данных кроме целого числа или перечисления.Измените тип данных индексных сигналов блока к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений.
Один или несколько блоков MATLAB function имеют индексные переменные с несоответствующими типами данных.Измените тип данных индексных переменных к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений.
Одна или несколько диаграмм Stateflow в модели имеют индексные переменные, которые имеют типы данных кроме целого числа или перечисления.Измените тип данных индексных сигналов блоков к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений.

Возможности и ограничения

  • Эта проверка не поддерживает диалоговые индексы набора.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на graphical.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте образцовое имя файла

ID проверки: mathworks.hism.hisl_0031

Описание

Эта проверка осматривает образцовое имя файла, чтобы гарантировать, что имя выполняет рекомендуемые инструкции.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Имя файла содержит запрещенные символы. Переименуйте файл. Допустимые символы являются a–z, A–Z, 0–9, и подчеркиванием (_).
Имя файла запускается с номера.Убедитесь, что имя файла не запускается с номера.
Имя файла запускается с подчеркивания (" _ "). Убедитесь, что имя файла не запускается с подчеркивания (" _ ").
Имя файла заканчивается подчеркиванием (" _ "). Убедитесь, что имя файла не заканчивается подчеркиванием (" _ ").
Расширение файла содержит один или несколько символов нижнего подчеркивания. Измените расширение файла.
Имя файла имеет последовательные символы нижнего подчеркивания. Переименуйте файл, чтобы устранить запаздывание подчеркивания'.
Имя файла содержит больше чем одну точку (". "). Убедитесь, что имя файла не имеет больше чем одной точки (". ").
имя файла является ключевым словом C/C++ или MATLAB или созданный в функцииПереименуйте файл.

Возможности и ограничения

  • Работает на моделях библиотеки.

Смотрите также

Проверяйте if/elseif/else шаблоны в блоки MATLAB function

ID проверки: mathworks.hism.himl_0006

Описание

Эта проверка еще идентифицирует if/elseif/else шаблоны без соответствующего условия во встраиваемом коде MATLAB.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Несоответствующие if/elseif/else шаблоны присутствуют во встраиваемом коде MATLAB.Для каждого if/elseif/else шаблона еще добавьте оператор, который включает по крайней мере один значимый комментарий.

Возможности и ограничения

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

Смотрите также

Проверяйте операторы switch в блоки MATLAB function

ID проверки: mathworks.hism.himl_0007

Описание

Эта проверка идентифицирует операторы переключателя/случая/в противном случае без соответствующих условий во встраиваемом коде MATLAB.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Оператор switch не имеет никого в противном случае условием.Убедитесь, что оператор switch имеет в противном случае условие.
Оператор Otherwise оставлен незаполненный без комментариев.Убедитесь, что в противном случае оператор имеет по крайней мере один значимый комментарий.
Оператор switch имеет только один оператор выбора.Убедитесь, что оператор switch имеет по крайней мере два оператора выбора.

Возможности и ограничения

  • Эта проверка исключает один оператор case с массивом ячеек двух или больше элементов.

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Работает на моделях библиотеки.

  • Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте глобальные переменные в графические функции

ID проверки: mathworks.hism.hisl_0062

Описание

Эта проверка Идентифицирует выражения, которые читают и пишут в те же глобальные данные в Stateflow.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Одно или несколько выражений работают с графическими функциями и глобальными переменными, используемыми в графических функциях.Реконструируйте выражения так, чтобы функции и глобальные переменные не использовались в том же выражении.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на длину пользовательских имен объектов

ID проверки: mathworks.hism.hisl_0063

Описание

Эта проверка осматривает длину имен этих пользовательских объектов против Максимального параметра длины Идентификатора в настройках настройки:

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

  • Объекты данных описаны в инструкции.

  • И объекты параметра сигнала.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Длина имени функции в подсистеме, больше, чем порог набора.Поменяйте имя функции в блоках Subsystem, чтобы иметь длину меньше, чем порог набора.
Имена объекта данных имеют длину, больше, чем порог.Поменяйте имя функции в блоках Subsystem, чтобы иметь длину меньше, чем порог набора.

Возможности и ограничения

  • Эта проверка не отмечает сигналы, которые не решают к объектам.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

Смотрите также

Проверяйте использование блоков Слияния

ID проверки: mathworks.hism.hisl_0015

Описание

Эта проверка идентифицирует блоки Слияния, которые непосредственно не соединяются с условно выполняемой подсистемой и установили параметр Allow unequal port widths на на.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блок слияния не соединяется непосредственно с условно выполняемой подсистемой.Реконструируйте так, чтобы блоки Слияния были соединены непосредственно с условно выполняемыми подсистемами.
Параметры блоков Слияния Allow unequal port widths установлены в on.Установите параметры блоков Слияния Allow unequal port widths на off
Несколько подсистема выполняются во время временного шага в условно выполняемых подсистемах.Задайте выполнение условно выполняемых подсистем, таким образом, что только одна подсистема выполняется во время временного шага.
Параметры блоков Выходного порта Вывод, когда отключено не установлены в held ни для каких условно выполняемых подсистем в модели.Установите параметры блоков Выходного порта Вывод, когда отключено к held для каждой условно выполняемой объединяемой подсистемы.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

Смотрите также

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

ID проверки: mathworks.hism.hisl_0012

Описание

Эта проверка идентифицирует блоки с неправильными шагами расчета в условно выполняемых подсистемах и асинхронно выполняемые зависимые блоки шага расчета.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Шаг расчета для блоков не установлен в -1 в условно выполняемой подсистеме:

  • Если действие

  • Переключите действие случая

  • Вызов функции

  • Инициированный

  • Enabled

Измените шаг расчета для блоков, чтобы быть -1.

Модель содержит асинхронно выполняемые зависимые блоки шага расчета:

  • Дискретное пространство состояний

  • Интегратор дискретного времени

  • Дискретный КИХ-фильтр

  • Дискретный фильтр

  • Дискретная передача Fcn

  • Дискретный нулевой полюсный

  • Передайте первый порядок Fcn

  • Передайте действительный нуль Fnc

  • Передайте вывод Fcn или задержку

  • Дискретная передаточная функция с начальной буквой Выходные параметры

  • Дискретная передаточная функция с начальными состояниями

  • Дискретный нулевой полюсный с начальной буквой Выходные параметры

  • Дискретный нулевой полюсный с начальными состояниями

  • Дискретная производная

Реконструируйте, чтобы удалить зависимые блоки шага расчета.

Возможности и ограничения

  • Асинхронно выполняемые зависимые блоки шага расчета отмечаются, только если Инициированный и блоки Вызова функции присутствуют.

  • Не работает на моделях библиотеки.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

Смотрите также

Проверяйте использование стандартизированных заголовков функции MATLAB

ID проверки: mathworks.hism.himl_0001

Описание

Эта проверка осматривает все функции MATLAB в модели, локальных функциях, и файлах MATLAB, на которые ссылаются, для стандартизированных функциональных заголовков и проверках на эти детали:

  • FunctionName

  • Функциональное описание

  • Описание входных переменных

  • Описание выходных переменных

Следующее является примером того, как задать функциональные заголовки:

% <Имя функции> - Описание функции

% <Входная переменная 1> - Описание входной переменной 1

% <Входная переменная 2> - Описание входной переменной 2

% <Выходная переменная 1> - Описание выходной переменной 1

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Функции MATLAB используют нестандартные функциональные заголовки.

Рассмотрите добавление функционального заголовка к функциям согласно этим инструкциям:

  • Должен быть допустимый комментарий MATLAB.

  • Должен сразу следовать за функциональной подписью.

  • Должен иметь раздел "Function Description".

  • Должен иметь раздел "Inputs Description".

  • Должен иметь раздел "Outputs Description".

Возможности и ограничения

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование операторов отношения в блоках MATLAB function

ID проверки: mathworks.hism.himl_0008

Описание

Эта проверка осматривает все функции MATLAB в модели, локальных функциях и файлах MATLAB, на которые ссылаются, для операторов оператора отношения, которые работают с операндами различных типов данных.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Операторы отношения в функциональных блоках, работающих с операндами различных типов данных.Преобразуйте тип операндов, чтобы быть совпадающего типа данных.

Возможности и ограничения

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Не работает на моделях библиотеки.

  • Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование операторов равенства в блоках MATLAB function

ID проверки: mathworks.hism.himl_0009

Описание

Эта проверка осматривает использование операторов равенства с операндами с плавающей точкой в блоках MATLAB function.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Одна или несколько функций MATLAB имеют операторы равенства с операндами с плавающей точкой.Рассмотрите сравнение областей значений вместо прямого сравнения.

Возможности и ограничения

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Не работает на моделях библиотеки.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование логических операторов и функций в блоках MATLAB function

ID проверки: mathworks.hism.himl_0010

Описание

Эта проверка идентифицирует логические операторы и функции, работающие с операндами с типами числовых данных в блоках MATLAB function.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Логические операторы или функции используются на операндах с типами числовых данных.Преобразуйте тип операндов, чтобы быть логического типа данных.

Возможности и ограничения

  • Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.

  • Не работает на моделях библиотеки.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте именование портов в диаграммах Stateflow

ID проверки: mathworks.hism.hisf_0016

Описание

Эта проверка идентифицирует несоответствия между именами портов Stateflow и сопоставленных сигналов. Допускающие повторное использование блоки Stateflow могут иметь различные имена порта.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Имена портов ввода и вывода диаграмм Stateflow не являются тем же самым как именами соединенных сигналов.Убедитесь, что имена портов ввода и вывода диаграмм Stateflow - то же самое как имена соединенных сигналов.

Возможности и ограничения

  • Эта проверка не анализирует имена порта Таблиц истинности Stateflow или Таблиц Перехода состояния Stateflow.

  • Эта проверка рассматривает допускающие повторное использование диаграммы Stateflow, когда библиотека соединила графики и не отмечается.

  • Эта проверка не отмечает сигналы без имен.

  • Не анализирует содержимое соединенных библиотекой блоков.

  • Не анализирует содержимое в подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте определение объема объектов данных Stateflow

ID проверки: mathworks.hism.hisf_0017

Описание

Эта проверка идентифицирует объекты данных Stateflow с локальным осциллографом, которые не ограничены по объему на уровне графика или ниже.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Один или несколько объектов данных Stateflow с локальным осциллографом не заданы на уровне графика или ниже.Убедитесь, что задали все объекты данных Stateflow с локальным осциллографом на уровне графика или ниже.

Возможности и ограничения

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Не анализирует содержимое в подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте использование блоков Усиления

ID проверки: mathworks.hism.hisl_0066

Описание

Эта проверка идентифицирует блоки Усиления со значением, которое решает к 1, единичная матрица или матрица из единиц.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Один или несколько блоков Усиления в твердости модели к 1 или единичная матрица.Реконструируйте блоки Усиления так, чтобы значение усиления не решало к 1, единичная матрица или матрица из единиц.

Возможности и ограничения

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте тип данных контрольных переменных цикла

ID проверки: mathworks.hism.hisl_0102

Описание

Эта проверка идентифицирует контрольные переменные цикла с помощью типов данных нецелого числа на следующем:

  • Для блоков итератора.

  • Циклы for в блоках MATLAB function.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Один или несколько Для блоков Итератора использует переменную счетчика управления циклом for типа данных нецелого числа.Установите тип данных переменной счетчика управления циклом к целочисленному типу данных.
Один или несколько Циклов for используют переменную счетчика управления циклом for типа данных нецелого числа в блоках MATLAB function.Установите тип данных переменной счетчика управления циклом к целочисленному типу данных.

Возможности и ограничения

  • Эта проверка не смотрит на контрольные переменные цикла в диаграммах Stateflow.

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на несоответствующее использование путей к переходу

ID проверки: mathworks.hism.hisf_0014

Описание

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

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Один или несколько путей к переходу в модели пересекают через состояние, не заканчиваясь на подсостоянии. Реконструируйте соединения, чтобы избежать путей к переходу, которые входят и из состояния, не заканчиваясь на подсостоянии.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on.

  • Позволяет исключения графиков. Вы не можете исключить элемент Stateflow непосредственно.

Смотрите также

Проверяйте использование битовых операций в диаграммах Stateflow

ID проверки: mathworks.hism.hisf_0003

Описание

Идентифицирует использование операндов целого числа со знаком к побитовым операторам в диаграммах Stateflow с языком действия C.

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Один или несколько объектов Stateflow в образцовых операндах целого числа со знаком использования с побитовыми операторами.Убедитесь, что не использовали операнды целого числа со знаком с побитовыми операторами.

Возможности и ограничения

  • Следующий бит MATLAB мудрые операции не отмечается с помощью этой проверки

    • swapbytes

    • bitset

    • bitget

    • bitcmp

  • Не работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all.

  • Анализирует содержимое во всех подсистемах маскированных.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на данные сигнала

ID проверки: mathworks.hism.hisl_0314

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

Описание

Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к данным сигнала, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Диагностика, которая задает, как сигналы твердости программного обеспечения Simulink, сопоставленные с объектами Simulink.Signal, установлены в Explicit and implicit или Explicit and warn implicit. Для связанных с безопасностью приложений образцовые разработчики должны быть обязаны задавать разрешение сигнала явным образом. (См. DO-331, Раздел MB.6.3.3.b – Программная архитектура сопоставима.)

Установите Signal resolution (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр SignalResolutionControl на Explicit only. Это обеспечивает предсказуемую операцию, требуя, чтобы пользователи задали каждый сигнал и блок, устанавливающий, который должен решить к объектам Simulink.Signal в рабочей области.

Также, чтобы отключить использование объектов Simulink.Signal, установите параметр конфигурации на None.

Диагностика блока продукта, которая обнаруживает сингулярную матрицу при инвертировании одних из ее входных параметров в режиме умножения матриц, установлена в none или warning. Деление сингулярной матрицей может привести к числовым исключениям при выполнении сгенерированного кода. Это не приемлемо в связанных с безопасностью системах. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Установите Division by singular matrix (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр CheckMatrixSingularityMsg на error.
Диагностика, которая обнаруживает, когда программное обеспечение Simulink не может вывести тип данных сигнала во время распространения типа данных, установлена в none или warning. Для связанных с безопасностью приложений образцовые разработчики должны проверить типы данных сигналов. (См. DO-331, Раздел MB.6.3.1.e – Требования высокого уровня соответствуют стандартам и DO-331, Раздел MB.6.3.2.e – Низкоуровневые требования соответствуют стандартам.)Установите Underspecified data types (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр UnderSpecifiedDataTypeMsg на error.
Диагностика, которая обнаруживает, является ли значение сигнала слишком большим, чтобы быть представленным типом данных сигнала, установлена в none или warning. Необнаруженные числовые переполнения могут привести к неожиданному поведению приложения. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Установите Wrap on overflow (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр IntegerOverflowMsg на error.
Диагностика, которая обнаруживает, является ли значение сигнала слишком большим, чтобы быть представленным типом данных сигнала, приводящим к насыщению, установлена в none или warning. Необнаруженные числовые переполнения могут привести к неожиданному поведению приложения. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Установите Saturate on overflow (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр IntegerSaturationMsg на error.
Диагностика, которая обнаруживает, когда значением выходного сигнала блока является Inf или NaN на шаге текущего времени, установлена в none или warning. Когда этот тип условия выходного сигнала блока происходит, числовые исключения могут закончиться, и числовые исключения не приемлемы в связанных с безопасностью приложениях. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Установите Inf or NaN block output (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр SignalInfNanChecking на error.
Диагностика, которая обнаруживает имена объектов Simulink, которые начинаются с rt, установлена в none или warning. Эта диагностика предотвращает столкновения имени со сгенерированными именами сигнала, которые имеют префикс rt. (См. DO-331, Раздел MB.6.3.1.e – Требования высокого уровня соответствуют стандартам и DO-331, Раздел MB.6.3.2.e – Низкоуровневые требования соответствуют стандартам.)Установите "rt" prefix for identifiers (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр RTPrefix на error.
Диагностика, которая обнаруживает проверку диапазона симуляции, установлена в none или warning. Эта диагностика обнаруживает, когда сигналы превышают свои заданные области значений во время симуляции. Simulink сравнивает значения сигналов что блок выходные параметры с заданной областью значений и типом данных блока. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Установите Simulation range checking (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр SignalRangeChecking на error.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к данным сигнала, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте на элементы модели, которые не соединяются с требованиями

ID проверки: mathworks.hism.hisl_0070

Проверяйте, соединяются ли элементы модели Simulink с документом требований.

Описание

Эта проверка проверяет, соединяются ли объекты модели с документом, содержащим технические требования для трассируемости.

Доступный с Simulink Check.

Эта проверка требует лицензии Simulink Requirements™.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блоки не соединяются с документом требований.Соединитесь с документом требований.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на off.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон. По умолчанию входной параметр Look under masks устанавливается на graphical.

  • Позволяет исключения блоков и графиков.

  • Не позволяет исключение элементов Stateflow.

Совет

Осуществите эту проверку от топ-модели или подсистемы, которую вы хотите проверять.

Смотрите также

  • hisl_0070: Размещение требования соединяется в модели

  • hisl_0070: Размещение требования соединяется в модели

  • Трассируемость требований в Simulink (Simulink)

  • Трассируемость требований и непротиворечивость (Simulink Requirements)

  • Найдите элементы модели в моделях Simulink (Simulink)

  • DO-331, Раздел MB.6.3.1.f - Требования высокого уровня прослеживают до системных требований

  • DO-331, Раздел MB.6.3.2.f - Низкоуровневые требования прослеживают до требований высокого уровня

  • IEC 61508-3, Таблица A.2 (12) - Автоматизированная спецификация и Design Tool, Таблица A.2 (9) - Прямая трассируемость между спецификацией требований техники безопасности программного обеспечения и программной архитектурой, Таблицей A.2 (10) - Обратная трассируемость между спецификацией требований техники безопасности программного обеспечения и программной архитектурой, Таблицей A.4 (8) - Прямая трассируемость между спецификацией требований техники безопасности программного обеспечения и разработкой ПО, Таблицей A.8 (1) - анализ Влияния

  • IEC 62304, 5.2 - анализ Требований к программному обеспечению, 7.4.2 - Анализирует влияние изменений программного обеспечения на существующих мерах контроля риска

  • ISO 26262-6, Таблица 8 (1a) - Документация программного блока разрабатывают на естественном языке, ISO 26262-6: 7.4.2.a - verifiability архитектурного проекта программного обеспечения, ISO 26262-8: 8.4.3 Анализ запроса на изменение

  • EN 50128, Таблица A.3 (23) - Моделирование поддерживаемого автоматизированным проектированием и инструментами спецификации, Таблицей D.58 - Трассируемостью, Таблицей A.10 (1) - Анализ Влияния

Проверяйте связанный с безопасностью порог разворачивающего цикла for настроек оптимизации

ID проверки: mathworks.hism.hisl_0051

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации оптимизации, имеющие отношение к минимальному сигналу или ширине параметра, для которой сгенерирован цикл for, установлены оптимально для генерации кода для связанного с безопасностью приложения.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Установка оптимизации, чтобы задать минимальный сигнал или ширину параметра, для которой сгенерирован цикл for, установлена в значение меньше, чем 2.

В диалоговом окне Configuration Parameters, набор Loop unrolling threshold или установленный параметр RollThreshold на значение равняются или больше, чем 2.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

  • Анализирует содержимое в подсистемах маскированных, которые не имеют никакой рабочей области и никаких диалоговых окон.

Смотрите также

Проверяйте связанные с безопасностью настройки оптимизации на заданные минимальные и максимальные значения

ID проверки: mathworks.hism.hisl_0056

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

Описание

Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.

Доступный с Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Оптимизация, которая использует заданные минимальные и максимальные значения для сигналов и параметров, чтобы оптимизировать сгенерированный код, выбрана. Этот результат силы в требованиях без прослеживаемого кода. (См. Раздел DO-331 MB.6.3.4.e - Исходный код прослеживаем к низкоуровневым требованиям.)Если вы имеете лицензию Embedded Coder и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Optimize using the specified minimum and maximum values (Simulink Coder) или параметр UseSpecifiedMinMax к off.

Результаты действия

Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.

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

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте имена объекта модели

ID проверки: mathworks.hism.hisl_0032

Проверяйте имена объекта модели.

Описание

Эта проверка проверяет, что следующие имена объекта модели выполняют ваши собственные руководства по моделированию или руководства по моделированию высокой целостности. Проверка также проверяет, что объект модели не использует зарезервированное имя.

  • Блоки

  • Сигналы

  • Параметры

  • Шины

  • Объекты Stateflow

Зарезервированные имена:

  • Ключевые слова MATLAB

  • Зарезервированные слова для C, C++ и генерации кода. Для полного списка смотрите Зарезервированные слова (Simulink Coder)

  • int8, uint8

  • int16, uint16

  • int32, uint32

  • inf, Inf

  • NaN, nan

  • eps

  • intmin, intmax

  • realmin, realmax

  • pi

  • infinity

  • Nil

Примечание

В некоторых случаях Model Advisor сообщает о проблеме в нескольких подпроверках этой проверки.

Доступный с Simulink Check.

Введите параметры

Чтобы задать стандартный объект именования и имена объекта модели, которые отмечает проверка, используйте Model Advisor Configuration Editor.

  1. Откройте Образцового Редактора конфигурации и перейдите к Check model object names. В панели Input Parameters, для каждого из объектов модели, избранного одного из следующего:

    • MAAB, чтобы использовать MAAB именование стандарта. Когда вы выбираете MAAB, проверка использует регулярное выражение (^.{32,}$)|([^a-zA-Z_0-9])|(^\d)|(^ )|(__)|(^_)|(_$), чтобы проверить что имена:

      • Используйте эти символы: a-z, A-Z, 0-9 и подчеркивание (_).

      • Не запускайте с номера.

      • Не используйте символы нижнего подчеркивания вначале или конец строки.

      • Не используйте больше чем одно последовательное подчеркивание.

      • Используйте строки, которые являются меньше чем 32 символами.

    • Custom, чтобы использовать ваш собственный стандарт именования. Когда вы выбираете Custom, можно ввести собственный Regular expression for prohibited <model object> names. Например, если вы хотите позволить больше чем одно последовательное подчеркивание, введите (^.{32,}$)|([^a-zA-Z_0-9])|(^\d)|(^ )|(^_)|(_$)

    • None, если вы не хотите, чтобы проверка проверила имя объекта модели

  2. Нажмите Apply.

  3. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Имена объекта модели не выполняют стандарт именования, заданный во входных параметрах.Обновите имена объекта модели, чтобы выполнить ваши собственные инструкции или инструкции высокой целостности.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не анализирует содержимое соединенных блоков библиотеки.

  • Не анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте на блоки, не рекомендуемые для производственного развертывания C/C++ кода

ID проверки: mathworks.hism.hisl_0020

Идентифицируйте блоки, не поддержанные генерацией кода или не рекомендуемые для производственного развертывания C/C++ кода.

Описание

Эта проверка частично идентифицирует образцовые построения, которые не рекомендуются для генерации производственного кода C/C++, как идентифицировано в таблицах Simulink Block Support (Simulink Coder) для Simulink Coder и Embedded Coder. Если вы используете блоки с примечаниями поддержки для генерации кода, рассматриваете информацию и следуете данному совету.

Доступный с Simulink Check и Embedded Coder.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Модель или подсистема содержат блоки, которые не должны использоваться для производственного развертывания кода.Рассмотрите заменяющий блоки перечисленный в результатах. Кликните по элементу из списка сомнительных элементов, чтобы определить местоположение условия.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое во всех подсистемах маскированных.

  • Позволяет исключения блоков и графиков.

Смотрите также

Проверяйте параметры конфигурации на MISRA C:2012

ID проверки: mathworks.misra.CodeGenSettings

Идентифицируйте параметры конфигурации, которые могут повлиять на MISRA C:2012 совместимая генерация кода.

Описание

В соответствии с рекомендациями этой проверки увеличивает вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений.

Доступный с Embedded Coder и Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Math and Data Types
Параметр конфигурации Use division for fixed-point net slope computation не установлен в On или Use division for reciprocals of integers only.Установите Use division for fixed-point net slope computation на On или Use division for reciprocals of integers only.
Inf or NaN block output установлен в None Установите Inf or NaN block output на warning или error.
Параметр конфигурации Model Verification block enabling установлен в Use local settings или Enable All.Установите Model Verification block enabling на Disable All.
Параметр конфигурации Undirected event broadcasts установлен в none или warning.Установите Undirected event broadcasts на error.
Параметр конфигурации Wrap on overflow установлен в NoneУстановите параметр конфигурации Wrap on overflow на warning или error.
Hardware Implementation
Параметр конфигурации Production hardware signed integer division rounds to установлен в UndefinedУстановите Production hardware signed integer division rounds to на Zero или Floor.
Параметр конфигурации Shift right on a signed integer as arithmetic shift выбран.Очистите Shift right on a signed integer as arithmetic shift .
Simulation Target
Параметр конфигурации Compile-time recursion limit for MATLAB functions установлен в значение кроме 0.Установите Compile-time recursion limit for MATLAB functions на 0.
Параметр конфигурации Dynamic memory allocation in MATLAB functions выбран.Очистите Dynamic memory allocation in MATLAB functions.
Параметр конфигурации Enable run-time recursion for MATLAB functions выбран.Очистите Enable run-time recursion for MATLAB functions.
Code Generation

Bitfield declarator type specifier параметра конфигурации установлен в uchar_T, когда любой из этих параметров выбран:

  • Pack Boolean data into bitfields

  • Use bitsets for storing state configuration

  • Use bitsets for storing Boolean data

Установите Bitfield declarator type specifier на uint_T.
Параметр конфигурации Casting Modes не установлен в Standards Compliant.Установите Casting Modes на Standards Compliant.
Параметр конфигурации Code replacement library не установлен в None или AUTOSAR 4.0.

Установите Code replacement library на None или AUTOSAR 4.0

Параметр конфигурации External mode выбран.Очистите External mode.
Параметр конфигурации Generate shared constants выбран.Очистите Generate shared constants.

Параметр конфигурации Include comments очищен.

Выберите Include comments.
Параметр конфигурации MAT-file logging выбран.

Очистите MAT-file logging

Для основанных на ERT целевых систем параметр конфигурации очищен MATLAB user comments.Выберите MATLAB user comments.
Значение для параметра конфигурации Maximum identifier length не обеспечивается.Установите значение к зависящему от реализации пределу. Значением по умолчанию является 31.
Параметр конфигурации Parenthesis level не установлен в Maximum (Specify precedence with parentheses).Установите Parentheses level на Maximum (Specify precedence with parentheses).

Для основанных на ERT целевых систем параметр конфигурации очищен Preserve static keyword in function declarations, когда File packaging format установлен в или Compact CompactWithDataFile

Выберите Preserve static keyword in function declarations.
Параметр конфигурации Replace multiplications by powers of two with signed bitwise shifts выбран.Очистите Replace multiplications by powers of two with signed bitwise shifts.
Параметр конфигурации Shared code placement установлен в Auto.

Установите Shared code placement на Shared location

Для основанных на ERT целевых систем параметр конфигурации выбран Support continuous time Очистите Support continuous time.
Параметр конфигурации Support non-finite numbers выбран.

Очистите Support non-finite numbers

Для основанных на ERT целевых систем параметр конфигурации выбран Support non-inlined S-functions Очистите Support non-inlined S-functions.
Параметр конфигурации System-generated identifiers установлен в Classic.Установите System-generated identifiers на Shortened.
Параметр конфигурации System target file установлен в основанную на GRT цель.Установите System target file на основанную на ERT цель.
Use dynamic memory allocation for model initialization параметра конфигурации выбран, когда Code Interface Packaging установлен в Reusable Function.

Очистите Use dynamic memory allocation for model initialization.

Выберите только, когда Code Interface Packaging будет установлен в Reusable Function.

Результаты действия

Нажатие на Modify All изменяет значения параметров на рекомендуемые значения.

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

Возможности и ограничения

Эта проверка не рассматривает модели, на которые ссылаются.

Смотрите также

Проверяйте на блоки, не рекомендуемые для MISRA C:2012

ID проверки: mathworks.misra.BlkSupport

Идентифицируйте блоки, которые не поддержаны или рекомендованы для MISRA C:2012 совместимую генерацию кода.

Описание

В соответствии с рекомендациями этой проверки увеличивает вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений.

Доступный с Embedded Coder и Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Блоки Интерполяционной таблицы с помощью интерполяции кубическим сплайном или методов экстраполяции были найдены в модели или подсистеме. Определенные блоки:

Рассмотрите другие методы интерполяции и экстраполяции для блоков Интерполяционной таблицы.

Блоки Интерполяционной таблицы устаревшие были найдены в модели или подсистеме. Определенные блоки:

  • Интерполяционная таблица

  • (2D) интерполяционная таблица

Рассмотрите заменяющий блоки Интерполяционной таблицы устаревшие.
Разработчик S-функции блоки был найден в модели или подсистеме.Рассмотрите заменяющий Разработчика S-функции блоки на блоки рекомендуемый для производства.
Из Рабочей области блоки были найдены в модели или подсистемеРассмотрите заменяющий От блоков Рабочей области с блоками рекомендуемый для производства.

Блоки строки были найдены в модели или подсистеме. Определенные блоки:

Рассмотрите заменяющий блоки Строки на блоки рекомендуемый для производства.

Возможности и ограничения

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также