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

Системы высокой целостности, моделируя проверки

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

Model Advisor выполняет контроль лицензии Simulink® Check™, когда вы осуществляете Системы Высокой Целостности, Моделируя проверки.

Системы высокой целостности, Моделируя проверки классифицируются на следующим группам:

Simulink

Системы высокой целостности, Моделируя проверки на блоки Simulink и компоненты.

Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.

MATLAB

Системы высокой целостности, Моделируя проверки на код MATLAB.

Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.

Настройка

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

Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.

Именование

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

Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.

Требования

Системы высокой целостности, Моделируя проверки на трассируемость Simulink Requirements.

Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.

Код

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

Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.

Stateflow

Системы высокой целостности, Моделируя проверки на диаграммы Stateflow и компоненты.

Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.

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

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

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

Проверяйте использование стандартизированных заголовков функции 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 с унаследованными свойствами

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

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

Описание

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

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

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

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

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

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

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

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

  • Измените Type от Inherit: Same as Simulink к явному типу.

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

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

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

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

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

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

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

Проверяйте метрики функции MATLAB

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

Отобразите сложность и метрики кода для функций MATLAB. Сообщите о метрических нарушениях.

Описание

Эта проверка обеспечивает сложность и метрики кода для функций MATLAB. Проверка сообщает о двух категориях метрических нарушений:

  • Основанные на блоке метрики ― Метрики для полного кода блока MATLAB function

  • Функциональные метрики ― Метрики для каждой функции блока, представленного индивидуально

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

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

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

Можно задать допуск к этим параметрам сложности при помощи Model Advisor Configuration Editor:

  • Maximum effective lines of code per function ― Эффективные линии не включает пустые линии, строки с комментариями или линии с функциональным end ключевое слово. Значением по умолчанию является 60.

  • Minimum density of comments ― Плотность является отношением строк с комментариями к общим строкам кода. Значением по умолчанию является 0.2.

  • Maximum cyclomatic complexity per function ― Цикломатическая сложность является количеством линейно независимых контуров через исходный код. Значением по умолчанию является 15.

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

УсловиеРекомендуемое действие
Функция MATLAB нарушает входные параметры сложности.

Для функции MATLAB:

  • Если эффективные строки кода слишком высоки, далее разделите функцию MATLAB.

  • Если плотность комментария является слишком низкой, добавьте строки с комментариями.

  • Если цикломатическая сложность на функцию слишком высока, далее разделите функцию MATLAB.

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

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

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

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

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

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

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

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

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

Проверяйте функции MATLAB на %#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.

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

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

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

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

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

Проверяйте код MATLAB на глобальные переменные

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

Проверяйте на глобальные переменные в коде MATLAB.

Описание

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

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

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

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

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

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

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

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

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

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

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

Замените глобальные переменные на сигнальные линии, аргументы функции или персистентные данные.

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

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

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

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

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

Проверяйте 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.

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

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

Проверяйте использование операторов отношения в блоках 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_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 к 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.

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

  • Следующий бит MATLAB мудрые операции не отмечается с помощью этой проверки

    • swapbytes

    • bitset

    • bitget

    • bitcmp

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

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

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

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

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

Проверяйте на сильный ввод данных с вводом-выводом 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.

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

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

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

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

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

Описание

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

  • Wrap on overflow

  • Simulation range checking

  • Detect Cycles

  • Underspecification

  • Overspecification

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

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

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

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

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

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

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

  • Detect Cycles очищен.

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

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

  • Debug > Diagnostics> Detect Cyclical Behavior

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

УсловиеРекомендуемое действие
Диаграммы Stateflow имеют пути к переходу тот перекрестные параллельные государственные границы.Измените диаграммы Stateflow так, чтобы переходы не пересекали параллельные государственные границы. Для получения дополнительной информации смотрите, Переход Между Рабочими режимами (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_0015

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Внешние функции, написанные в C и встроенные в Stateflow, не будут работать с этой проверкой.

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

Проверяйте именование портов в диаграммах 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 с локальным осциллографом на уровне графика или ниже.

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Внешние функции, написанные в C и встроенные в Stateflow, не будут работать с этой проверкой.

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

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

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

Идентифицируйте операции присвоения в объектах Stateflow.

Описание

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

Эта проверка идентифицирует только присвоения с арифметическими операциями.

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

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

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

УсловиеРекомендуемое действие
Объект Stateflow состоит из операций присвоения, которые бросают вычисления целочисленной и фиксированной точки к более широким типам данных, чем типы входных данных.Явным образом замените оператор присваивания (=) к: = оператор в объектах Stateflow.

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

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

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

  • Внешние функции, написанные в C и встроенные в Stateflow, не будут работать с этой проверкой.

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

Эта проверка смотрит использование блока 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.sldv.hism.hisl_0002

Описание

Идентифицирует использование блоков Math Function с помощью rem и функций reciprocal , которые вызывают неличные результаты.

Доступный с Simulink Check. Эта проверка требует Simulink Design Verifier™ (SLDV) лицензия.

Примечание: Эта проверка выполнит анализ SLDV модели.

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

УсловиеРекомендуемое действие
Модель или подсистема содержат Math Function - взаимный (reciprocal) или остаток (rem) блоки, которые могут привести к неличным выходным сигналам. Неличные сигналы не поддерживаются в режиме реального времени встраиваемые системы.При использовании блока Math Function с rem или reciprocalфункции, защитите вход с блоком из того, чтобы быть меньше чем или равным нулю.

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

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

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

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

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

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

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

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

Описание

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

Доступный с Simulink Check. Эта проверка требует Simulink Design Verifier (SLDV) лицензия.

Примечание: Эта проверка выполнит анализ SLDV модели.

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

УсловиеРекомендуемое действие
Один или несколько блоков Math в модели используют естественные/основные 10 логарифмов (Log и Log10) блоки и могут потребовать неличной поддержки номера, которая не поддерживается в режиме реального времени встраиваемые системы.Рассмотрите защиту входа блоков так, чтобы вход не был меньше чем или равен нулю.

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

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

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

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

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

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

Проверяйте использование того, В то время как Итератор блокируется

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

Описание

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

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

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

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

Для идентифицированных блоков While Iterator:

  • Установите параметр Maximum number of iterations (-1 for unlimited) на положительное целочисленное значение.

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

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

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

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

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

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

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

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

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

Описание

Эта проверка смотрит использование зависящих от времени блоков в подсистеме While Iterator или For Iterator.

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

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

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

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

  • Discrete State-Space

  • Discrete-Time Integrator

  • Discrete FIR Filter

  • Discrete Filter

  • Discrete Transfer Fcn

  • Discrete Zero-Pole

  • Transfer Fcn First Order

  • Transfer Fnc Real Zero

  • Transfer Fcn Lead or Lag

  • Discrete Transfer Function with Initial Outputs

  • Discrete Transfer Function with Initial States

  • Discrete Zero-Pole with Initial Outputs

  • Discrete Zero-Pole with Initial States

  • Discrete Derivative

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

Шаг расчета для блоков не установлен в -1 в условно выполняемой подсистеме:

  • If Action

  • Switch Case Action

  • Function-Call

  • Triggered

  • Enabled

Измените шаг расчета для блоков, чтобы быть -1.

Модель содержит асинхронно выполняемые зависимые блоки шага расчета:

  • Discrete State-Space

  • Discrete-Time Integrator

  • Discrete FIR Filter

  • Discrete Filter

  • Discrete Transfer Fcn

  • Discrete Zero-Pole

  • Transfer Fcn First Order

  • Transfer Fnc Real Zero

  • Transfer Fcn Lead or Lag

  • Discrete Transfer Function with Initial Outputs

  • Discrete Transfer Function with Initial States

  • Discrete Zero-Pole with Initial Outputs

  • Discrete Zero-Pole with Initial States

  • Discrete Derivative

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

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

  • Асинхронно выполняемые зависимые блоки шага расчета отмечаются, только если Triggered и блоки Function-call присутствуют.

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

Описание

Эта проверка идентифицирует блоки Merge , которые непосредственно не соединяются с условно выполняемой подсистемой и имеют набор параметров Allow unequal port widths к на.

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

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

УсловиеРекомендуемое действие
Блок слияния не соединяется непосредственно с условно выполняемой подсистемой.Реконструируйте так, чтобы блоки Слияния были соединены непосредственно с условно выполняемыми подсистемами.
Параметры блоков Слияния Allow unequal port widths установлены в on.Установите параметры блоков Слияния Allow unequal port widths на off
Несколько подсистема выполняются во время временного шага в условно выполняемых подсистемах.Задайте выполнение условно выполняемых подсистем, таким образом, что только одна подсистема выполняется во время временного шага.
Параметры блоков Outport Выход, когда отключено не установлены в held ни для каких условно выполняемых подсистем в модели.Установите параметры блоков Outport Выход, когда отключено к held для каждой условно выполняемой объединяемой подсистемы.

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

Эта проверка смотрит использование блоков, которые вычисляют операторы отношения, включая Relational Operator, Compare To Constant, Compare To Zero и, блоки Detect Change.

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Модель или подсистема содержат блок Logical Operator, который имеет вводы или выводы, которые не являются булевыми вводами или выводами. Блок может привести к сравнениям равенства или неравенства с плавающей точкой в сгенерированном коде.
  • Измените блок Logical Operator так, чтобы все вводы и выводы были булевской переменной. На Block Parameters> панель Signal Attributes, рассмотрите 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_0019

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

Описание

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

  • Ясный бит

  • Bitset

  • Побитовый оператор

  • Извлеките биты

  • Арифметика сдвига

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

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

УсловиеРекомендуемое действие
Битовые операции не используются с типами данных со знаком.Используйте подписанный тип данных для Битовых операций.

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

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

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

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

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

Проверяйте на блоки, не рекомендуемые для производственного развертывания C/C++ кода

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

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

Описание

Эта проверка частично идентифицирует построения модели, которые не рекомендуются для генерации производственного кода C/C++. Для Simulink Coder™ и Embedded Coder®, эти тождества построения модели появляются в таблицах Поддержки блока Simulink (Simulink Coder)..

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

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

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

УсловиеРекомендуемое действие
Модель или подсистема содержат блоки, которые не должны использоваться для производственного развертывания кода.Рассмотрите заменяющий блоки перечисленный в результатах. Кликните по элементу из списка сомнительных элементов, чтобы определить местоположение условия.
Модель или подсистема содержат блоки, которые поддерживаются, но не рекомендуемые для генерации производственного кода.Рассмотрите примечания поддержки и придерживайтесь рекомендуемого действия, обеспеченного Model Advisor.

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

УсловиеРекомендуемое действие
Один или несколько блоков Simulink в модели имеют сигналы индекса, которые имеют типы данных кроме целого числа или перечисления.Измените тип данных сигналов индекса блока к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений.
Один или несколько блоков MATLAB function имеют индексные переменные с несоответствующими типами данных.Измените тип данных индексных переменных к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений.
Одна или несколько диаграмм Stateflow в модели имеют индексные переменные, которые имеют типы данных кроме целого числа или перечисления.Измените тип данных сигналов индекса блоков к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений.

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

  • Эта проверка не поддерживает диалоговые индексы набора.

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

Проверяйте на корневой 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_0029

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

Описание

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

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

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

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

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

  • Error

  • Warning

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

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

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

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

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

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

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

Проверяйте имя файла модели

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

Описание

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

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

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

УсловиеРекомендуемое действие
Имя файла содержит запрещенные символы. Переименуйте файл. Допустимые символы являются a–z, A–Z, 0–9, и подчеркиванием (_).
Имя файла запускается с номера.Убедитесь, что имя файла не запускается с номера.
Имя файла запускается с подчеркивания (" _ "). Убедитесь, что имя файла не запускается с подчеркивания (" _ ").
Имя файла заканчивается подчеркиванием (" _ "). Убедитесь, что имя файла не заканчивается подчеркиванием (" _ ").
Расширение файла содержит один или несколько символов нижнего подчеркивания. Измените расширение файла.
Имя файла имеет последовательные символы нижнего подчеркивания. Переименуйте файл, чтобы устранить запаздывание подчеркивания.
Имя файла содержит больше чем одну точку (". "). Убедитесь, что имя файла не имеет больше чем одной точки (". ").
имя файла является ключевым словом C/C++ или MATLAB или созданный в функцииПереименуйте файл.

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

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

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

Проверяйте имена объекта модели

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

Проверяйте имена объекта модели.

Описание

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

  • Блоки

  • Сигналы

  • Параметры

  • Шины

  • Объекты Stateflow

Зарезервированные имена:

  • Ключевые слова MATLAB

  • Зарезервированные слова для C, C++ и генерации кода. Для полного списка смотрите Зарезервированные слова (Simulink Coder)

  • int8 uint8

  • int16uint16

  • int32uint32

  • infInf

  • NaNNaN

  • eps

  • intminintmax

  • realminrealmax

  • pi

  • infinity

  • Nil

Примечание

В некоторых случаях Model Advisor сообщает о проблеме в нескольких подпроверках этой проверки.

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

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

Чтобы задать стандартный объект именования и имена объекта модели, которые отмечает проверка, используйте Model Advisor Configuration Editor.

  1. Откройте Редактора конфигурации Модели и перейдите к Check model object names. В панели Input Parameters, для каждого из объектов модели, избранного одного из следующего:

    • MAB использовать MAB именование стандарта. Когда вы выбираете MAB, проверка использует регулярное выражение (^.{32,}$)|([^a-zA-Z_0-9])|(^\d)|(^ )|(__)|(^_)|(_$) проверять что имена:

      • Используйте эти символы: a-z, A-Z, 0-9, и подчеркивание (_).

      • Не начинайте с номера.

      • Не используйте символы нижнего подчеркивания вначале или конец строки.

      • Не используйте больше чем одно последовательное подчеркивание.

      • Используйте строки, которые меньше 32 символов.

    • Custom использовать ваш собственный стандарт именования. Когда вы выбираете Custom, можно ввести собственное Регулярное выражение для запрещенного <model object> имена. Например, если вы хотите позволить больше чем одно последовательное подчеркивание, введите (^.{32,}$)|([^a-zA-Z_0-9])|(^\d)|(^ )|(^_)|(_$)

    • None если вы не хотите, чтобы проверка проверила имя объекта модели

  2. Нажмите Apply.

  3. Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

  • Для 1-D Lookup Table, 2-D Lookup Table, n-D Lookup Table и блоки Prelookup, снимают флажок для 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_0034

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Модель, на которую ссылаются, сконфигурирована таким образом, что ее цель восстановлена каждый раз, когда вы обновляете, симулируете или генерируете код для модели, или если программное обеспечение Simulink обнаруживает изменения в известных зависимостях. Эти параметры конфигурации могут привести к ненужной регенерации кода, приводящего к изменению только даты файла и замедления процесс сборки при использовании моделей - ссылок. Установите Rebuild на панели Model Referencing в диалоговом окне Configuration Parameters или установите параметр UpdateModelReferenceTargets к Never или If any changes detected.
Диагностика, которая обнаруживает, должна ли цель быть восстановлена, установлена в None или Warn if targets require rebuild. Для связанных с безопасностью приложений ошибка должна предупредить разработчиков модели, что родительские и модели, на которые ссылаются, противоречивы. Этот диагностический параметр доступен, только если Rebuild установлен в Never.Установите параметр конфигурации Never rebuild diagnostics на панели 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 на панели Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferencePassRootInputsByReference к off.
Модель сконфигурирована, чтобы минимизировать алгебраические случаи цикла. Эта настройка несовместима с рекомендуемой установкой Single output/update function для кода встраиваемых систем. В диалоговом окне Configuration Parameters, набор Minimize algebraic loop occurrences или установленный параметр ModelReferenceMinAlgLoopOccurrences к off.

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

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

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

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

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

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

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

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

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 (Embedded 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 (Embedded Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SupportAbsoluteTime к off.
Опция, чтобы сгенерировать код для блоков, которые используют непрерывное время, выбрана. Поддержка в течение непрерывного времени является несоответствующей для связанных с безопасностью систем в реальном времени. Очистите Support: continuous time (Embedded Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SupportContinuousTime к off.
Опция, чтобы сгенерировать код для невстроенных S-функций выбрана. Эта опция требует поддержки неличных чисел, которая является несоответствующей для связанных с безопасностью систем в реальном времени.Очистите Support: non-inlined S-functions (Embedded Coder) в диалоговом окне Configuration Parameters или установите параметр SupportNonInlinedSFcns к off.
Опция, чтобы сгенерировать вызовы функции модели, совместимые с основным программным модулем цели pre-R2012a GRT, выбрана. Эта опция является несоответствующей для связанных с безопасностью систем в реальном времени.Очистите Classic 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 (Embedded Coder) на панели Code Generation в диалоговом окне Configuration Parameters или установите параметр IncludeMdlTerminateFcn к off.
Опция, чтобы регистрировать или состояние ошибки монитора очищена. Если вы не выбираете эту опцию, продукт Simulink Coder генерирует дополнительный код, который не может быть достижимым для тестирования. Выберите Remove error status field in real-time model data structure (Embedded 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_0040

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

Описание

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

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

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

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

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

В диалоговом окне Configuration Parameters, Время начала набора или установленный параметр StartTime к 0.0.

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

В диалоговом окне Configuration Parameters, Решателе набора к 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.

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Диагностика для обнаружения автоматической поломки алгебраических циклов установлена в none или warning. Повреждение алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для связанных с безопасностью приложений разработчик модели должен знать, когда такие пропуски происходят.Установите Algebraic loop на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр AlgebraicLoopMsg к error. Рассмотрите повреждение таких циклов явным образом с блоками Unit Delay так, чтобы порядок выполнения был предсказуем. Как минимум проверьте, что результаты циклов, повреждающихся автоматически, приемлемы.
Диагностика для обнаружения автоматической поломки алгебраических циклов для блоков Model, атомарных подсистем, и включила подсистемы, установлен в none или warning. Повреждение алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для связанных с безопасностью приложений разработчик модели должен знать, когда такие пропуски происходят.Установите Minimize algebraic loop на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр ArtificialAlgebraicLoopMsg к error. Рассмотрите повреждение таких циклов явным образом с блоками Unit Delay так, чтобы порядок выполнения был предсказуем. Как минимум проверьте, что результаты циклов, повреждающихся автоматически, приемлемы.
Диагностика для обнаружения потенциального конфликта в порядке выполнения блока установлена в none или warning. Для связанных с безопасностью приложений блокируйтесь, порядок выполнения должен быть предсказуемым. Разработчик модели должен знать при конфликте, приоритеты блока существуют. Установите Block priority violation на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр BlockPriorityViolationMsg к error.
Диагностика для обнаружения, изменяет ли программное обеспечение Simulink автоматически решатель, размер шага или время остановки симуляции, установлена в none или warning. Такие изменения могут влиять на операцию сгенерированного кода. Для связанных с безопасностью приложений лучше обнаружить такие изменения, как разработчик модели может явным образом установить параметры на известные значения. Установите Automatic solver parameter selection на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр SolverPrmCheckMsg к error.
Диагностика для обнаружения, когда имя используется больше чем для одного состояния в модели, установлена в none. Имена состояния в модели должны быть уникальными. Для связанных с безопасностью приложений лучше обнаружить столкновения имени, таким образом, разработчик модели может зафиксировать их. Установите State name clash на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр StateNameClashWarn к warning.

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

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

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Диагностика для обнаружения, когда исходный блок, такой как блок Sine Wave, наследовал шаг расчета (заданный как-1) установлена в none или warning. Использование наследованных шагов расчета для исходного блока может привести к непредсказуемым уровням выполнения для исходного блока и блоков, соединенных с ним. Для связанных с безопасностью приложений исходные блоки должны иметь явные шаги расчета, чтобы предотвратить неправильное секвенирование выполнения. Установите Source block specifies -1 sample time на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр InheritedTslnSrcMsg к error.
Диагностика для обнаружения недопустимой передачи данных между двумя блоками, действующими в многозадачном режиме, установлена в none или warning. Такая передача данных не должна использоваться для встроенного кода в реальном времени. Установите Multitask data transition на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр MultiTaskRateTransMsg к error.
Диагностика для обнаружения подсистем, которые могут вызвать повреждение данных или недетерминированное поведение, установлена в none или warning. Эта диагностика обнаруживает, действуют ли условно выполняемые многоскоростные подсистемы (включил, инициированный, или подсистемы вызова функций) в многозадачном режиме. Такие подсистемы могут повредить данные и вести себя непредсказуемо в режиме реального времени среды, которые позволяют вытеснение. Установите Multitask conditionally executed subsystem на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр MultiTaskCondExecSysMsg к error.
Диагностика для проверки непротиворечивости шага расчета между блоком Signal Specification и связанным целевым блоком установлена в none или warning. Чрезмерно определенный шаг расчета может привести к непредсказуемому уровню выполнения. Установите Enforce sample times specified by Signal Specification blocks на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр SigSpecEnsureSampleTimeMsg к error.
Диагностика обнаруживает, что параметр Single task data transfer не устанавливается на error.Установите Single task data transfer в диалоговом окне 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 в диалоговом окне Configuration Parameters или установите параметр UnknownTsInhSupMsg к error.

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Блокируйтесь оптимизация сокращения выбрана. Эта оптимизация может удалить блоки из сгенерированного кода, приводящего к требованиям без связанного кода и нарушений для требований трассируемости. Очистите Параметр конфигурации Block reduction или установите параметр BlockReduction к 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.

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Минимальное количество символов, заданных для генерации строк искажения имени, меньше четыре. Можно использовать эту опцию, чтобы минимизировать вероятность, что параметр и имена сигнала изменятся во время генерации кода, когда модель изменится. Использование этой опции помогает с минимизацией различий кода между версиями файла, уменьшая усилие выполнить рассмотрения кода. Установите Minimum mangle length (Embedded Coder) на Code Generation> панель Identifier в диалоговом окне Configuration Parameters или параметре MangleLength к значению 4 или больше.

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

В диалоговом окне Configuration Parameters, набор Loop unrolling threshold или установленный параметр RollThreshold к значению равняются или больше, чем 2.

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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_0054

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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 (Embedded Coder) или параметр UseSpecifiedMinMax к off.

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

  • Эта проверка не ищет использование уникальных идентификаторов для Сигналов Simulink.

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

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

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

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

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

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

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_0066

Описание

Эта проверка идентифицирует блоки Gain со значением, которое решает к 1, единичная матрица или матрица из единиц.

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

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

УсловиеРекомендуемое действие
Один или несколько блоков Gain в твердости модели к 1 или единичная матрица.Реконструируйте блоки Усиления так, чтобы значение усиления не решало к 1, единичная матрица или матрица из единиц.

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

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

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

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

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

Проверяйте на элементы модели, которые не соединяются с требованиями

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

Проверяйте, соединяются ли элементы модели Simulink с документом требований.

Описание

Эта проверка проверяет, соединяются ли объекты модели с документом, содержащим технические требования для трассируемости.

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

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

Проверяйте параметризацию

Следующая настройка может быть установлена через Model Advisor Configuration Editor.

  • Максимальный номер ссылок требования на позволенные элементы модели может быть определен через входное Максимальное количество параметра ссылок требования на элементы модели.

  • Максимальный номер дочерних объектов на соединенный компонент может быть определен через входное Максимальное количество параметра дочерних объектов на соединенный компонент.

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

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

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

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

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

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

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

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

  • Не позволяет исключение элементов Stateflow.

Совет

Осуществите эту проверку от топ-модели или подсистемы, которую вы хотите проверять.

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

  • hisl_0070: Размещение требования соединяется в модели

  • hisl_0070: Размещение требования соединяется в модели

  • Трассируемость требований в Simulink

  • Трассируемость требований (Simulink Requirements)

  • Редактор 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) - Анализ Удара

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

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.hisl_0301

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает виртуальные сигналы, которые имеют сигнал общего источника, но различные метки установлены в none или warning. Эта диагностика принадлежит виртуальным сигналам только и не оказывает влияния на сгенерированный код. Однако несоответствия метки сигнала могут привести к беспорядку во время отзывов модели.Установите Signal label mismatch на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр SignalLabelMismatchMsg к error.
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным входным сигналом, установлена в none или warning. Это должно быть обнаружено, потому что код не сгенерирован для несвязанных входных параметров блока. Установите Unconnected block input ports на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр UnconnectedInputMsg к error.
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным выходным сигналом, установлена в none или warning. Это должно быть обнаружено, потому что мертвый код может следовать из несвязанных выходных сигналов блока. Установите Unconnected block output ports на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр UnconnectedOutputMsg к error.
Диагностика, которая обнаруживает несвязанные сигнальные линии и несопоставленный Goto или блоки From, установлена в none или warning. Эта ошибка должна быть обнаружена, потому что код не сгенерирован для несвязанных линий. Установите Unconnected line на 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 на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр RootOutportRequireBusObject к error.
Диагностика, которая обнаруживает, совпадает ли имя элемента шины с именем, заданным соответствующим объектом шины, установлена в none или warning. Эта диагностика предотвращает использование несовместимых шин в способном к шине блоке, таким образом, что выходные имена противоречивы. Установите Element name mismatch на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр BusObjectLabelMismatch к error.
Диагностика, которая обнаруживает, когда некоторые блоки обрабатывают сигнал как мультиплексор/вектор, в то время как другие блоки обрабатывают сигнал как шину, установлена в none или warning. Когда программное обеспечение Simulink автоматически преобразует мультиплексированный сигнал в шину, для непреднамеренной операции или непредсказуемого поведения возможно произойти.

Установите Bus signal treated as vector на 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.

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает блоки Data Type Conversion, когда преобразование типов установлено в none. Программное обеспечение Simulink может удалить ненужные блоки Data Type Conversion из сгенерированного кода, который может привести к требованиям без соответствующего кода. Удаление этих блоков должно быть идентифицировано, таким образом, разработчики модели могут явным образом удалить ненужные блоки. Установите Параметр конфигурации Unnecessary type conversions orUnnecessaryDatatypeConvMsg параметр к warning.
Диагностика, которая обнаруживает вектор к матрице или преобразования матрицы к вектору во входных параметрах блока, установлена в none или warning. Когда программное обеспечение Simulink автоматически преобразует между векторными и матричными размерностями, непреднамеренные операции или непредсказуемое поведение могут произойти.Установите параметр конфигурации Vector/matrix block input conversion или VectorMatrixConversionMsg параметр к error
Диагностика, которая обнаруживает, когда 32-битное целочисленное значение преобразовано в значение с плавающей точкой, установлена в none. Этот тип преобразования может привести к потере точности из-за усечения младших значащих битов для больших целочисленных значений. Установите параметр конфигурации 32-bit integer to single precision float conversion или Int32ToFloatConvMsg параметр к warning.

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

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

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

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

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

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

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

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

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

Описание

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

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

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

УсловиеРекомендуемое действие
Диагностика, которая обнаруживает порт и несоответствия параметра во время загрузки модели и обновления, установлена в none или warning. Если необнаруженный, такие несоответствия могут привести к неправильным результатам симуляции, потому что родительские и модели, на которые ссылаются, имеют различные интерфейсы.Установите Port and parameter mismatch на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceIOMismatchMessage к error.
Диагностика, которая обнаруживает недопустимые внутренние связи с корневым уровнем текущей модели Inport и блоки Outport, установлена в none или warning. Когда это условие обнаруживается, программное обеспечение Simulink может автоматически вставить скрытые блоки в модель, чтобы зафиксировать условие. Скрытые блоки могут привести к сгенерированному коду без прослеживаемых требований. Установка диагностики к error разработчики модели сил, чтобы зафиксировать модели, на которые ссылаются, вручную. Установите Invalid root Inport/Outport block connection на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceIOMessage к error.
Диагностика, которая обнаруживает или To Workspace или блоки Scope, регистрирует данные в модели, на которую ссылаются, установлен в none или warning. Регистрация данных не поддерживается для To Workspace и блоков Scope в моделях, на которые ссылаются. Установите Unsupported data logging на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceDataLoggingMessage к error.
К данным логов удалите блоки и регистрируйте сигналы модели, на которые ссылаются. Для получения дополнительной информации смотрите Логгирование Сигналы Модели, на которые Ссылаются.

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

В диалоговом окне Configuration Parameters, набор Неожиданное отслеживание в обратном порядке или установленный параметр SFUnexpectedBacktrackingDiag к error.

Диагностика, которая обнаруживает, имеет ли конфигурация диаграммы блоки, которые соединяются с входными портами графика, не инициализирует их выходные параметры во время инициализации, установлен в none или warning.

В диалоговом окне Configuration Parameters, набор Недопустимый доступ к входным данным в инициализации графика или установленный параметр SFInvalidInputDataAccessInChartInitDiag к error.

Диагностика, которая обнаруживает, имеет ли график безусловный переход по умолчанию к состоянию или соединение, установлена в none или warning.

В диалоговом окне Configuration Parameters, набор Никакие безусловные переходы по умолчанию или установленный параметр SFNoUnconditionalDefaultTransitionDiag к error.

Диагностика, которая обнаруживает, содержит ли график переход, что циклы за пределами родительского состояния или соединения установлены в none или warning.

В диалоговом окне Configuration Parameters, Переходе набора вне естественного родительского элемента или установленный параметр SFTransitionOutsideNaturalParentDiag к error.

Диагностика, которая обнаруживает, создается ли график на допустимом пути к выполнению, установлена в none или warning.

В диалоговом окне Configuration Parameters, установленном Недостижимом пути к выполнению или установленный параметр 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 конфигурирует диагностические настройки модели, которые применяются к решателям, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте связанные с безопасностью диагностические настройки на данные сигнала

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 на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр SignalResolutionControl к Explicit only. Это обеспечивает предсказуемую операцию, требуя, чтобы пользователи задали каждый сигнал и блок, устанавливающий, который должен решить к Simulink.Signal объекты в рабочей области.

В качестве альтернативы отключить использование Simulink.Signal объекты, набор параметр конфигурации к None.

Диагностика блока Product, которая обнаруживает сингулярную матрицу при инвертировании одних из ее входных параметров в режиме умножения матриц, установлена в 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 на 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 на 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 на 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 на 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 на 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 на 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 на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр SignalRangeChecking к error.

Результаты действия

Нажатие на Modify Settings конфигурирует диагностические настройки модели, которые применяются к данным сигнала, и это может повлиять на безопасность.

Возможности и ограничения

  • Не работает на моделях библиотеки.

  • Не позволяет исключения блоков или графиков.

Смотрите также

Проверяйте использование блоков Sqrt

ID проверки: mathworks.hism.hisl_0003

Описание

Идентифицируйте блоки Sqrt с входными параметрами, которые могут быть отрицательными.

Доступный с Simulink Check. Эта проверка требует Simulink Design Verifier (SLDV) лицензия.

Примечание: Эта проверка выполнит анализ SLDV модели.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Один или несколько блоков Sqrt в модели имеют входные параметры, которые могут стать отрицательными в процессе моделирования.Реконструируйте, чтобы препятствовать тому, чтобы вход блоков Sqrt стал отрицательным.

Возможности и ограничения

  • Работайте на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на graphical.

Смотрите также

Проверяйте использование Взаимных блоков Sqrt

ID проверки: mathworks.hism.hisl_0028

Описание

Идентифицирует блоки Reciprocal Sqrt с входными параметрами, которые могут стать нулевыми или стать отрицательными.

Доступный с Simulink Check. Эта проверка требует Simulink Design Verifier (SLDV) лицензия.

Примечание: Эта проверка выполнит анализ SLDV модели.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Один или несколько блоков Reciprocal Sqrt в модели имеют входные параметры, которые могут стать нулевыми или стать отрицательными в процессе моделирования.Реконструируйте, чтобы препятствовать тому, чтобы вход блоков Reciprocal Sqrt стал нулевым или стал отрицательным.

Возможности и ограничения

  • Работает на моделях библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on.

  • Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на graphical.

Смотрите также

Проверяйте тип и размер выражений условия

ID проверки: mathworks.hism.himl_0011

Описание

Эта проверка оценивает модель, чтобы проверять, что логические скаляры используются для этих выражений условия:

  • if выражения

  • elseif выражения

  • while выражения

  • Выражения условия переходов Stateflow

Доступный с Simulink Check.

Эта проверка требует лицензии Stateflow.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

if выражение не является логическим скаляром.

Измените выражение в логический скаляр.

elseif выражение не является логическим скаляром.

Измените выражение в логический скаляр.

while выражение не является логическим скаляром.

Измените выражение в логический скаляр.

Выражение условия выражения перехода Stateflow не является логическим скаляром.

Измените выражение в логический скаляр.

Результаты действия

Таблица результатов идентифицирует каждое выражение, которое содержит выражение, которое не является логическим скаляром. Чтобы рассмотреть проблему, выберите соответствующую функциональную ссылку из таблицы результата. Model Advisor открывает и подсвечивает соответствующее функциональное определение или, для Stateflow, открывает график и подсвечивает состояние, в котором происходит проблема.

Вручную измените выражения условия в логические скаляры. Сохраните модель и повторно выполните проверку.

Возможности и ограничения

  • Условия переходов Stateflow и состояний активности не проверяются при использовании C как язык действия Stateflow.

  • Эта проверка не работает на моделях библиотеки.

  • Недостижимые инвариантные условия и фрагменты кода не могут анализироваться.

Смотрите также

Проверяйте параметры конфигурации на 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 или error и Support non-finite numbers установлен в on.

Параметр конфигурации Inf or NaN block output установлен в None и Support non-finite numbers установлен в off.

Когда Support non-finite numbers:

  • on, установите Inf or NaN block output на warning

  • off, установите 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 или Compact (with separate data file)

Выберите 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.
Для основанных на 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 изменяет значения параметров в рекомендуемые значения.

Примечание

Когда вы нажимаете Modify All для моделей с основанной на GRT целью, Model Advisor не обновляет параметр конфигурации System target file к основанной на ERT системе.

Подпроверки параметра зависят от результатов параметра, отмеченного с D в таблице результатов. Когда результатом является D-предупреждение, столбец Current Value в таблице результатов утверждает Необходимое как условие ограничение, которому не соответствуют для подпроверок. После того, как вы изменяете параметр, повторно выполняете проверку.

Примечание

Некоторые подпроверки характерны для параметров конфигурации для основанных на ERT систем. Эти параметры не обновляются, когда вы нажимаете Modify All, если вы не изменяете модель в основанную на ERT систему.

Возможности и ограничения

Эта проверка не рассматривает модели, на которые ссылаются.

Смотрите также

Проверяйте на блоки, не рекомендуемые для MISRA C:2012

ID проверки: mathworks.misra.BlkSupport

Идентифицируйте блоки, которые не поддерживаются или рекомендованы для MISRA C:2012 совместимая генерация кода.

Описание

В соответствии с рекомендациями этой проверки увеличивает вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений.

Доступный с Embedded Coder и Simulink Check.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие

Блоки Интерполяционной таблицы с помощью интерполяции кубическим сплайном или методов экстраполяции были найдены в модели или подсистеме. Определенные блоки:

Рассмотрите другие методы интерполяции и экстраполяции для блоков Интерполяционной таблицы.

Блоки Интерполяционной таблицы устаревшие были найдены в модели или подсистеме. Определенные блоки:

  • Интерполяционная таблица

  • (2D) интерполяционная таблица

Рассмотрите заменяющий блоки Интерполяционной таблицы устаревшие.
Блоки S-Function Builder были найдены в модели или подсистеме.Рассмотрите заменяющий Разработчика S-функции блоки на блоки рекомендуемый для производства.
Блоки From Workspace были найдены в модели или подсистемеРассмотрите заменяющий От блоков Рабочей области с блоками рекомендуемый для производства.

Блоки строки были найдены в модели или подсистеме. Определенные блоки:

Рассмотрите заменяющий блоки Строки на блоки рекомендуемый для производства.

Возможности и ограничения

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Анализирует содержимое соединенных блоков библиотеки.

  • Анализирует содержимое в подсистемах маскированных.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.

Разовая редактированием Проверка.  Эта проверка поддерживается разовой редактированием проверкой.

Смотрите также