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

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

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

Model Advisor выполняет взятие на изменение Simulink® Check™ лицензию при выполнении проверок High-Integrity Systems Modeling.

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

Simulink

Моделирование систем высокой целостности проверяет наличие Блоков Simulink и компонентов.

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

MATLAB

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

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

Строение

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

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

Обозначение

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

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

Требования

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

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

Код

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

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

Stateflow

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

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

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

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

Старые проверяющие ЗаголовкиРазделение чековых заголовков
Проверяйте использование блоков Математические операцииПроверяйте использование блоков Abs
Проверяйте использование блоков Math Function (rem и обратные функции)
Проверяйте использование блоков Math Function (журнала и log10)
Проверяйте использование блоков Assignment
Проверяйте использование блоков Logic и Bit OperationsПроверяйте блоки Relational Operator, которые приравнивают типы с плавающей точкой
Проверяйте использование блоков Relational Operator
Проверяйте использование блоков Логического Оператора
Проверяйте использование блоков Ports и SubsystemsПроверяйте использование блоков Итератор
Проверяйте выборку зависящих от времени блоков
Проверяйте использование блоков For Iterator
Проверяйте использование блоков If и блоков If Action Subsystem
Проверяйте использование блоков Switch Case и блоков Switch Case Action Subsystem
Проверяйте настройки генерации кода, связанного с безопасностьюПроверьте настройки генерации кода, связанного с безопасностью, на предмет комментариев
Проверьте настройки интерфейса генерации кода, связанного с безопасностью
Проверьте настройки генерации кода, связанного с безопасностью, для стиля кода
Проверяйте настройки символов генерации кода, связанного с безопасностью
Проверяйте использование конструкций StateflowПроверяйте использование конструкций Stateflow
Проверяйте диаграммы Stateflow на порядок состояний и переходов
Проверяйте опции отладки Stateflow
Проверяйте диаграммы Stateflow на уникально определенные объекты данных
Проверяйте параметры оптимизации, связанные с безопасностьюПроверьте параметры оптимизации, связанные с безопасностью, для логических сигналов
Проверяйте параметры оптимизации сокращения блоков, связанные с безопасностью
Проверьте параметры оптимизации, связанные с безопасностью, для срока службы приложения
Проверьте параметры оптимизации, связанные с безопасностью, для инициализации данных
Проверяйте параметры оптимизации, связанные с безопасностью, для преобразований типов данных
Проверьте параметры оптимизации, связанные с безопасностью, для исключений из арифметики деления

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

Проверяйте идентификатор: mathworks.hism.himl_0001

Описание

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

  • Имя функции

  • Описание функции

  • Описание переменных входов

  • Описание переменных выходов

Ниже приведен пример того, как задать заголовки функций:

% < Имя функции > - Описание функции

% < Входная переменная 1 > - Описание входной переменной 1

% < Входная переменная 2 > - Описание входной переменной 2

% < Выходная переменная 1 > - Описание выходной переменной 1

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

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

СостояниеРекомендуемое действие
Функции MATLAB используют нестандартные заголовки функций.

Рассмотрите добавление заголовка функции к функциям в соответствии с этими рекомендациями:

  • Должен быть допустимым комментарием MATLAB.

  • Необходимо немедленно следовать сигнатуре функции.

  • Должен иметь раздел «Описание функции».

  • Должен иметь раздел «Описание входов».

  • Должен иметь раздел «Описание выходов».

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

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

  • Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.himl_0002

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

Описание

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

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

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

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

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

Если применимо, используя Блок MATLAB function Редактора, внесите следующие изменения в Ports and Данных Manager:

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.himl_0003

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

Описание

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

  • Основанные на блоках метрики ― метрики для общего кода блока MATLAB Function

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

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

Входные параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.himl_0004

Проверьте функции MATLAB на %#codegen директива, сообщения КОД MATLAB Analyzer и идентификаторы сообщений обоснования.

Описание

Проверяет %#codegen директива, сообщения КОД MATLAB Analyzer и идентификаторы сообщений обоснования для:

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

  • Функции MATLAB определены в Stateflow® чарты

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

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

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

СостояниеРекомендуемое действие

Для кода MATLAB в Блоки MATLAB function:

  • Линии кода не оправданы %#ok комментарий.

  • Коды линий обоснованные %#ok не указывать идентификатор сообщения.

  • Реализуйте рекомендации КОД MATLAB Analyzer.

  • Обоснование несоблюдения рекомендаций КОД MATLAB Analyzer при помощи %#ok комментарий.

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

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

  • Линии кода не оправданы %#ok комментарий.

  • Коды линий обоснованные %#ok не указывать идентификатор сообщения.

  • Реализуйте рекомендации КОД MATLAB Analyzer.

  • Обоснование несоблюдения рекомендаций КОД MATLAB Analyzer при помощи %#ok комментарий.

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

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

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

  • Линии кода не оправданы %#ok комментарий.

  • Коды линий обоснованные %#ok не указывать идентификатор сообщения.

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

  • Реализуйте рекомендации КОД MATLAB Analyzer.

  • Обоснование несоблюдения рекомендаций КОД MATLAB Analyzer при помощи %#ok комментарий.

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

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

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

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

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

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

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

См. также

Проверьте, шаблоны ли/elseif/else в Блоки MATLAB function

Проверяйте идентификатор: mathworks.hism.himl_0006

Описание

Эта проверка идентифицирует шаблоны if/elseif/else без соответствующих других условий во встраиваемом коде MATLAB.

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

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

СостояниеРекомендуемое действие
Неуместно, если в встраиваемом коде MATLAB присутствуют шаблоны/elseif/else.Для каждого шаблона if/elseif/else добавьте оператор else, который включает по крайней мере один содержательный комментарий.

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

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

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

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

См. также

Проверяйте операторы switch в блоки MATLAB function

Проверяйте идентификатор: mathworks.hism.himl_0007

Описание

Эта проверка идентифицирует операторы switch/case/off без соответствующих условий во встраиваемом коде MATLAB.

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

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

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

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

  • Эта проверка исключает один оператора <reservedrangesplaceholder0> с массивом ячеек из двух или более элементов.

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

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

  • Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.

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

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

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

См. также

Проверяйте использование реляционных операторов в Блоки MATLAB function

Проверяйте идентификатор: mathworks.hism.himl_0008

Описание

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

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

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

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

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

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

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

  • Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.

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

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

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

См. также

Проверяйте использование операторов равенства в Блоках MATLAB function

Проверяйте идентификатор: mathworks.hism.himl_0009

Описание

Эта проверка проверяет использование операторов равенства с операндами с плавающей точкой в Блоки MATLAB function.

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

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

СостояниеРекомендуемое действие
Одна или несколько функций MATLAB имеют операторы равенства с операндами с плавающей точкой.Рассмотрите сравнение областей значений вместо прямого сравнения.

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

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

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

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

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

  • Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.

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

См. также

Проверяйте использование логических операторов и функций в Блоки MATLAB function

Проверяйте идентификатор: mathworks.hism.himl_0010

Описание

Эта проверка идентифицирует логические операторы и функции, работающие с операндами с типами числовых данных в блоках MATLAB Function.

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

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

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

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

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

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

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

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

  • Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0001

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

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

Входные параметры

Classic

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

Mealy

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

Moore

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

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

СостояниеРекомендуемое действие
Параметр входа установлен в Classic и графики в модели используют другие типы конечных машин.Для каждого графика в диалоговом окне Свойств диаграммы» задайте State Machine Type Classic.
Параметр входа установлен в Moore и графики в модели используют другие типы конечных машин.Для каждого графика в диалоговом окне Свойств диаграммы» задайте State Machine Type Moore.
Параметр входа установлен в Mealy и графики в модели используют другие типы конечных машин.Для каждого графика в диалоговом окне Свойств диаграммы» задайте State Machine Type Mealy.

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

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

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

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

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

См. также

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

Проверяйте идентификатор: 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 очищены.

Для заданных графиков в диалоговом окне Свойств диаграммы выберите User-specified state/transition execution order.

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0003

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

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

    • swapbytes

    • bitset

    • bitget

    • bitcmp

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0004

Описание

Определяет использование рекурсивного поведения.

Примечание

Известно, что неориентированные события вызывают рекурсию в сгенерированном коде.

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

Для этой проверки требуется лицензия Stateflow.

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

СостояниеРекомендуемое действие
Одна или несколько сущностей были вовлечены в рекурсии.Измените сущности, чтобы удалить рекурсии.

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

  • Эта проверка может выполняться только с корневого уровня модели.

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

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

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

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

См. также

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

Проверяйте идентификатор: 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

Проверяйте идентификатор: 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 очищено.

В диалоговом окне Параметров конфигурации установите:

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

  • Debug > Diagnostics> Detect Cyclical Behavior

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0013

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

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0014

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

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

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

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

  • Допускает исключения графиков. Вы не можете исключить элемент Stateflow напрямую.

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0015

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

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0016

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

  • Эта проверка не анализирует имена портов Stateflow Таблицы или Состояние Stateflow Transition Tables.

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

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

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

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

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

См. также

Проверяйте просмотр объектов данных Stateflow

Проверяйте идентификатор: mathworks.hism.hisf_0017

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0064

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

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

СостояниеРекомендуемое действие

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0065

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

Описание

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

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisf_0211

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

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

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

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

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

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

  • За исключением операций Shift и Divide, эта проверка не помечает выражения побитовыми и арифметическими операторами.

См. также

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

Проверяйте идентификатор: 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.

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.sldv.hism.hisl_0002

Описание

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

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

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

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

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

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

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

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

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

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

См. также

Проверяйте использование блоков Math Function (журнала и log10)

Проверяйте идентификатор: mathworks.sldv.hism.hisl_0004

Описание

Определяет блоки Math Function, используя log и log10 функции, которые могут вызвать нефинитные результаты.

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: 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.

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

См. также

Проверяйте использование подсистем For и While Iterator

Проверяйте идентификатор: mathworks.hism.hisl_0007

Описание

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

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

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

СостояниеРекомендуемое действие

Модель или подсистема содержит один из следующих зависящих от времени блоков в For Iterator или While 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.

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0008

Описание

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

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

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

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

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

  • Установите параметр 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.

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0010

Описание

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0011

Описание

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

Проверочные флаги Switch Case блокам, которые не используют целочисленные типы данных или значения перечисления для входов. Чтобы соответствовать hisl_0011: Использование блоков Switch Case и блоков Action Subsystem - C, используйте целочисленный тип данных или значение перечисления для входов в блоки Switch Case.

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

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

СостояниеРекомендуемое действие
Модель или подсистема содержит блок Switch Case без случая по умолчанию.В 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 с нецелочисленными или нечисловыми типами входных портов данных.Убедитесь, что тип входных данных блоков Switch Case является целым числом или перечислением.

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

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

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

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

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

См. также

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

Проверяйте идентификатор: 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.

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0013

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

Описание

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0015

Описание

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0016

Описание

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: 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.

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

См. также

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

Проверяйте идентификатор: 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 и настройка Output data type к boolean.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0019

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

Описание

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

  • Бит

  • Бит

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

  • Извлечение бит

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0020

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

Описание

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0021

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0022

Описание

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0023

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

Описание

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

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

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

СостояниеРекомендуемое действие
Опция для генерации условий препроцессора выбрана в одном или нескольких вариантных блоках модели.В порядок упрощения трассировки кода к требованиям рассмотрите удаление опции для генерации предварительных условий в вариантных блоках.

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

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

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

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

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

См. также

Проверьте корневые входные порты с отсутствующими свойствами

Проверяйте идентификатор: mathworks.hism.hisl_0024

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

Описание

Использование корневых блоков Inport модели, которые не имеют определенного шага расчета, типов данных или размерностей портов, может привести к нежелательным результатам симуляции. Simulink back-распространяет размерности, шаги расчета и типы данных из нисходящих блоков, если вы явно не присвоите эти значения. Можно задать 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 свойства сигнала. Чтобы установить эту опцию программно, используйте параметр port MustResolveToSignalObject.

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

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

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

Совет

Эту проверку проходят следующие строения:

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

  • Для моделей export-function унаследованный шаг расчета не помечен.

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0025

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

Описание

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

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

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

СостояниеРекомендуемое действие

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

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

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

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

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

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

Тип данных не задан - Модель содержит блоки Inport или объекты сигнала Simulink с унаследованными типами данных.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0026

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

Описание

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

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

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

СостояниеРекомендуемое действие

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

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

Отсутствующие области (области) значений для объекта шины - Объекты шины, определяющие блоки Outport, имеют листовые элементы с отсутствующими областями значений.

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

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

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

Тип данных шины не задан - Модель содержит блок Outport или объекты сигнала Simulink с унаследованными типами данных шины.

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

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

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

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

  • Эта проверка не помечает порты с типом данных Enum или Boolean, когда значения min max не заданы.

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0029

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

Описание

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

Доступно с 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.

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0031

Описание

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0032

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

Описание

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

  • Блоки

  • Сигналы

  • Параметры

  • Автобусы

  • Объекты Stateflow

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

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

  • Зарезервированные ключевые слова для C, C++ и генерации кода. Полный список см. в Reserved Keywords (Simulink Coder)

  • int8 , uint8

  • int16, uint16

  • int32, uint32

  • inf, Inf

  • NaN, nan

  • eps

  • intmin, intmax

  • realmin, realmax

  • pi

  • infinity

  • Nil

Примечание

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

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

Входные параметры

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: 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 проверяет, что блоки интерполяционной таблицы настроены на генерацию кода проверки вне области допустимого.

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0034

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0036

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

Описание

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0037

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

Описание

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

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

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

СостояниеРекомендуемое действие
Модель-ссылка сконфигурирована так, что ее цель перестраивается каждый раз, когда вы обновляете, моделируете или генерируете код для модели, или если программное обеспечение Simulink обнаруживает изменения в известных зависимостях. Эти строения настройки могут привести к ненужной регенерации кода, что приводит к изменению только даты файла и замедлению процесса сборки при использовании моделей-ссылок. Установите Rebuild на панели Model Referencing в диалоговом окне Параметров конфигурации или установите параметр UpdateModelReferenceTargets на Never или If any changes detected.
Диагностика, которая определяет, нужно ли перестраивать цель, установлена на None или Warn if targets require rebuild. Для приложений, связанных с безопасностью, ошибка должна предупреждать разработчиков моделей о том, что родительские и ссылочные модели противоречивы. Этот диагностический параметр доступен, только если Rebuild задано значение Never.Установите Never rebuild diagnostics параметра конфигурации на панели Model Referencing в диалоговом окне Параметров конфигурации или установите параметр CheckModelReferenceTargetMessage на error.
Способность передавать скалярный корневой вход по значению отключена. Эта возможность должна быть отключена, потому что скалярные значения могут измениться в течение временного шага и привести к непредсказуемым данным. Этот параметр доступен только, когда Total number of instances allowed per top model параметра config установлен в One или Multiple (ModelReferenceNumInstancesAllowed является single или multi).Установите Pass fixed-size scalar root inputs by value for code generation на панели Model Referencing в диалоговом окне Параметров конфигурации или установите параметр ModelReferencePassRootInputsByReference на off.
Модель сконфигурирована, чтобы минимизировать вхождения алгебраического цикла. Это строение несовместимо с рекомендуемой настройкой Single output/update function для кода встраиваемых систем. В диалоговом окне Параметров конфигурации установите Minimize algebraic loop occurrences или установите параметр ModelReferenceMinAlgLoopOccurrences на off.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0038

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

Описание

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

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

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

СостояниеРекомендуемое действие
Опция включения комментариев в сгенерированный код снимается. Комментарии обеспечивают хорошую трассируемость между кодом и моделью.Выберите Include comments (Simulink Coder) на панели Code Generation > Comments в диалоговом окне Параметров конфигурации или установите параметр GenerateComments на on.
Опция включения комментариев, описывающих код для блоков, снимается. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. Выберите Комментарии блока Simulink (Simulink Coder) на панели Code Generation > Comments в диалоговом окне Параметры конфигурации или установите параметр SimulinkBlockComments на on.
Опция включения комментариев, которые описывают код для блоков, исключенных из модели, удаляется. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. Выберите Show eliminated blocks (Simulink Coder) на панели Code Generation > Comments в диалоговом окне Параметров конфигурации или установите параметр ShowEliminatedStatement на on.
Опция включения имен переменных параметра и исходных блоков в качестве комментариев в объявление структуры параметра модели в model_prm.h очищается. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. Выберите Verbose comments for 'Model default' storage class (Simulink Coder) на панели Code Generation > Comments в диалоговом окне Параметров конфигурации или установите параметр ForceParamTrailComments на on.
Опция включения описаний требований, назначенных блокам Simulink, при удалении комментариев. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. Выберите Requirements in block comments (Embedded Coder) на панели Code Generation > Custom comments в диалоговом окне Параметров конфигурации или установите параметр ReqsInCode на on.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0039

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

Описание

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0040

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

Описание

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

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

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

СостояниеРекомендуемое действие

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

В диалоговом окне Параметров конфигурации установите Start time или установите параметр StartTime на 0.0.

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0041

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

Описание

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

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

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

СостояниеРекомендуемое действие

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

В диалоговом окне Параметров конфигурации установите Type или установите параметр SolverType на Fixed-step.

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

В диалоговом окне Параметров конфигурации установите Решатель равным discrete(no continuous states) или установите параметр Solver на FixedStepDiscrete.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0042

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

Описание

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

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

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

СостояниеРекомендуемое действие
Выбран параметр конфигурации <reservedrangesplaceholder0>.Очистить Automatically handle rate transition for data transfer в диалоговом окне Параметров конфигурации или задать параметр AutoInsertRateTranBlk на off.

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0043

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

Описание

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0044

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

Описание

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

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

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

СостояниеРекомендуемое действие
Диагностика для обнаружения, когда исходный блок, такой как блок Sine Wave, наследует шаг расчета (заданное как -1), установлена на none или warning. Использование унаследованных шагов расчета для исходного блока может привести к непредсказуемой скорости выполнения для исходного блока и связанных с ним блоков. Для приложений, связанных с безопасностью, исходные блоки должны иметь явные шаги расчета, чтобы предотвратить неправильное секвенирование выполнения. Установите Source block specifies -1 sample time на панели Diagnostics > Sample Time в диалоговом окне Параметров конфигурации или установите параметр InheritedTslnSrcMsg на error.
Диагностика для обнаружения недопустимой передачи данных между двумя блоками, работающими в многозадачном режиме, установлена на none или warning. Такая передача данных не должна использоваться для встроенного кода в реальном времени. Установите Multitask data transition на панели Diagnostics > Sample Time в диалоговом окне Параметров конфигурации или установите параметр MultiTaskRateTransMsg на error.
Диагностика для обнаружения подсистем, которые могут вызвать повреждение данных или недетерминированное поведение, установлена на none или warning. Эта диагностика определяет, работают ли в многозадачном режиме условно выполненные многоуровневые подсистемы (включенные, срабатывающие или функциональные подсистемы). Такие подсистемы могут повреждать данные и вести себя непредсказуемо в окружениях реального времени, которые допускают упреждение. Установите Multitask conditionally executed subsystem на панели Diagnostics > Sample Time в диалоговом окне Параметров конфигурации или установите параметр MultiTaskCondExecSysMsg на error.
Диагностика для проверки согласованности шага расчета между блоком Signal Specification и подключенным блоком назначения установлена на none или warning. Переопределённый шаг расчета может привести к непредсказуемой скорости выполнения. Установите Enforce sample times specified by Signal Specification blocks на панели Diagnostics > Sample Time в диалоговом окне Параметров конфигурации или установите параметр SigSpecEnsureSampleTimeMsg на error.
Диагностика обнаруживает, что Single task data transfer параметра не установлен на error.Установите Single task data transfer в диалоговом окне Параметров конфигурации или установите параметр SingleTaskRateTransMsg на error.
Диагностика обнаруживает, что Tasks with equal priority параметра не установлен на error.Установите Tasks with equal priority в диалоговом окне Параметров конфигурации или установите параметр TasksWithSamePriorityMsg на error.
Диагностика для определения, содержит ли модель S-функцию, которая не была явно задана для наследования шага расчета, установлена на none или warning. Эти настройки могут привести к непредсказуемому поведению. Разработчик модели должен знать, когда такая S-функция существует в модели, поэтому она может быть изменена, чтобы создать предсказуемое поведение. Установите Unspecified inheritability of sample time в Параметры конфигурации окне или установите параметр UnknownTsInhSupMsg на error.

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0045

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

Описание

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

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

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

СостояниеРекомендуемое действие
Реализация логических сигналов при очистке логических данных. Строгий набор данных рекомендуется для кода, связанного с безопасностью. Выберите параметр конфигурации <reservedrangesplaceholder1> или установите параметр BooleanDataType на on.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0046

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

Описание

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: 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.

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0048

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

Описание

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0049

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

Описание

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0052

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

Описание

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

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

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

СостояниеРекомендуемое действие
Выбрана оптимизация, которая подавляет генерацию кода инициализации для входных и выходных портов корневого уровня, которые установлены в нуль. Для кода, связанного с безопасностью, необходимо явно инициализировать все переменные.Если у вас есть лицензия Embedded Coder и вы используете системный целевой файл на основе ERT, очистите Параметр конфигурации <reservedrangesplaceholder1> (Embedded Coder) или установите параметр ZeroExternalMemoryAtStartup на on. Кроме того, подтвердите, что ваш компилятор соответствует стандартам, так как большинство современных компиляторов C инициализируют глобальные данные в нуль. Или интегрируйте внешний, рукописный код, который инициализирует все переменные ввода-вывода до нуля явным образом.
Выбрана оптимизация, которая подавляет генерацию кода инициализации для внутренних рабочих структур, таких как состояния блока и выходы блоков, которые равны нулю. Для кода, связанного с безопасностью, необходимо явно инициализировать каждую переменную.Если у вас есть лицензия Embedded Coder и вы используете системный целевой файл на основе ERT, очистите Параметр конфигурации <reservedrangesplaceholder1> (Embedded Coder) или установите параметр ZeroInternalMemoryAtStartup на on. Кроме того, подтвердите, что ваш компилятор соответствует стандартам, так как большинство современных компиляторов C инициализируют глобальные данные в нуль. Или интегрируйте внешний, рукописный код, который инициализирует каждую переменную состояния до нуля явным образом.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0053

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

Описание

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

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

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

СостояниеРекомендуемое действие
Оптимизация, которая подавляет генерацию кода, полученную из преобразований с плавающей точкой в целое число, которые переносят значения вне области значений, очищена. Необходимо избегать переполнений для кода, связанного с безопасностью. Когда эта оптимизация отключена, и ваша модель включает блоки, которые отключают параметр Saturate on overflow, генератор кода переносит значения вне области допустимого для этих блоков. Это может привести к недостижимому и, следовательно, непроверяемому коду. Если у вас есть лицензия Simulink Coder, выберите параметр конфигурации <reservedrangesplaceholder1> (Simulink Coder) или установите параметр EfficientFloat2IntCast на on.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0054

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

Описание

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

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

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

СостояниеРекомендуемое действие
Выбрана оптимизация, которая подавляет генерацию кода, который защищает от деления на нули для данных с фиксированной точкой. Необходимо избегать исключений деления на нули в коде, связанном с безопасностью.Если у вас есть лицензия Embedded Coder и вы используете системный целевой файл на основе ERT, очистите Параметр конфигурации <reservedrangesplaceholder1> (Embedded Coder) или установите параметр NoFixptDivByZeroProtection на off.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0056

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

Описание

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

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

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

СостояниеРекомендуемое действие
Оптимизация, которая использует заданные минимальное и максимальное значения для сигналов и параметров для оптимизации сгенерированного кода, выбрана. Это может привести к возникновению требований без отслеживаемого кода. (См. DO-331 раздел MB.6.3.4.e - Исходный код прослеживается до низкоуровневых требований.)Если у вас есть лицензия Embedded Coder и вы используете системный целевой файл на основе ERT, очистите Параметр конфигурации <reservedrangesplaceholder1> (Embedded Coder) или параметр UseSpecifiedMinMax на off.

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0061

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

Описание

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

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

Для этой проверки требуется лицензия Stateflow.

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

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

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0062

Описание

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

Для этой проверки требуются лицензии Simulink Check и Stateflow.

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0063

Описание

Эта проверка проверяет длину имен этих пользовательских объектов на соответствие параметру Maximum Identifier length в настройках строения:

  • Для подсистем с опциями имени функции задано значение User-defined.

  • Объекты данных, описанные в руководстве.

  • Объекты сигнала и параметра.

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

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

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

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

  • Эта проверка не помечает сигналы, которые не разрешаются к объектам.

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0066

Описание

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

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

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

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

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

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

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

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

См. также

Проверяйте на разделение на нули

Проверяйте идентификатор: mathworks.hism.hisl_0067

Описание

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

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

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0070

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

Описание

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

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

Для этой проверки требуется лицензия Simulink Requirements™.

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

Следующее строение можно задать с помощью Model Advisor Configuration Editor.

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

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

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

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

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

    • Ground

    • Terminator

    • Inport

    • Outport

    • InportShadow

    • Goto

    • From

    • Mux

    • Demux

    • CMBlock

    • DocBlock

    • System Requirements

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

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

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

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

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

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

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

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

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

  • Отчет о проверке содержит ссылку на вкладке рекомендуемых действий для открытия матрицы трассируемости.

Совет

Запустите эту проверку из верхней модели или подсистемы, которую вы хотите проверить.

См. также

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

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

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

  • Редактор Simulink

  • DO-331, раздел MB.6.3.1.f - Требования высокого уровня соответствуют системным требованиям

  • DO-331, раздел MB.6.3.2.f - Низкоуровневые требования соответствуют требованиям высокого уровня

  • IEC 61508-3, Таблица A.2 (12) - Технические условия и проектные инструменты, Таблица A.2 (9) - Прямая трассируемость между техническими требованиями к безопасности программного обеспечения и программной архитектуры, Таблица A.2 (10) - прослеживаемость назад между спецификацией требований безопасности программного обеспечения и программной архитектурой, Таблица A.4 (8) - прослеживаемость вперед между спецификацией требований безопасности программного обеспечения и разработкой ПО, Таблица A.8 (1) - Анализ влияния

  • МЭК 62304, 5.2 - Анализ требований к программному обеспечению, 7.4.2 - Анализ влияния изменений программного обеспечения на существующие меры контроля рисков

  • ISO 26262-6, Таблица 8 (1а) - Документация по проектированию модуля ПО на естественном языке, ISO 26262-6: 7.4.2.а - Проверяемость архитектурного проекта ПО, ISO 26262-8: 8.4.3 Анализ запросов на изменение

  • EN 50128, Таблица A.3 (23) - Моделирование, поддерживаемое инструментами компьютерного проекта и спецификаций, Таблица D.58 - Трассируемость, Таблица A.10 (1) - Анализ влияния

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

Проверяйте идентификатор: mathworks.hism.hisl_0071

Описание

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

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

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

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

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

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

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

См. также

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

Проверяйте идентификатор: mathworks.hism.hisl_0102

Описание

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

  • Для блоков итератора.

  • Для циклов в блоках MATLAB function.

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

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

СостояниеРекомендуемое действие
Один или несколько блоков For Iterator используют нецелочисленный тип данных для переменной счетчика управления циклом.Установите тип данных переменной счетчика управления цикла целочисленный тип данных.
Один или несколько циклов For используют нецелочисленный тип данных для переменной счетчика управления циклом в Блоки MATLAB function.Установите тип данных переменной счетчика управления цикла целочисленный тип данных.

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

  • Эта проверка не рассматривает переменные управления циклом в диаграммах Stateflow.

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

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

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

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

См. также

Проверьте параметры диагностики, связанные с безопасностью, на совместимость

Проверяйте идентификатор: mathworks.hism.hisl_0301

Проверьте строение модели на наличие параметров диагностики, которые влияют на совместимость и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к совместимости, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая обнаруживает, когда блок не был обновлен, чтобы использовать функции текущего релиза, установлена на none или warning. S-функция, написанная для более ранней версии, может оказаться несовместимой с текущей версией, и сгенерированный код может работать неправильно.Установите S-function upgrades needed на панели Diagnostics > Compatibility в диалоговом окне Параметров конфигурации или установите параметр SFcnCompatibilityMsg на error.

Результаты действий

Нажатие кнопки Modify Settings настраивает параметры диагностики модели, которые влияют на совместимость и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанной с безопасностью

Проверяйте идентификатор: mathworks.hism.hisl_0302

Проверьте строение модели на наличие настроек диагностики, которые применяются к параметрам и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к параметрам, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая обнаруживает, когда происходит понижение параметра, установлена на none или warning. Переход вниз к более низкому диапазону сигнала может привести к числовым переполнениям параметров, что приводит к неожиданному поведению. Установите Detect downcast на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterDowncastMsg на error.
Диагностика, которая обнаруживает, когда происходит подтекст параметра, установлена на none или warning. Когда тип данных параметра не имеет достаточного разрешения, значение параметров равняется нулю вместо заданного значения. Это может привести к неправильной операции сгенерированного кода. Установите Detect underflow на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterUnderflowMsg на error.
Диагностика, которая обнаруживает, когда происходит переполнение параметра, установлена на none или warning. Числовые переполнения могут привести к неожиданному поведению приложения и должны быть обнаружены и исправлены в приложениях, связанных с безопасностью. Установите Detect overflow на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterOverflowMsg на error.
Диагностика, которая обнаруживает, когда параметр теряет точность, установлена на none или warning. Не обнаружение таких ошибок может привести к тому, что параметр будет установлен на неправильное значение в сгенерированном коде. Установите Detect precision loss на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterPrecisionLossMsg на error.
Диагностика, которая обнаруживает, когда выражение с настраиваемыми переменными уменьшается до своего численного эквивалента, установлена на none или warning. Это может привести к тому, что настраиваемый параметр неожиданно не будет настраиваться в сгенерированном коде.Установите Detect loss of tunability на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterTunabilityLossMsg на error.

Результаты действий

Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к параметрам и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью для блоков Merge

Проверяйте идентификатор: mathworks.hism.hisl_0303

Проверьте строение модели на наличие настроек диагностики, которые применяются к блокам Merge

Описание

Эта проверка проверяет, что параметры конфигурации модели установлены оптимально для блоков Merge для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая обнаруживает, содержит ли модель блоки Merge с несколькими ведущими блоками, выполняемыми в том же временном шаге, установлена на none или warning.

В диалоговом окне Параметров конфигурации установите Detect multiple driving блоков executing at the same временного шага или установите параметр MergeDetectMultiDrivingBlocksExec на error.

Результаты действий

Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к решателям и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью, для инициализации модели

Проверяйте идентификатор: mathworks.hism.hisl_0304

В строении модели проверяйте настройки диагностики, которые влияют на инициализацию модели и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели для инициализации оптимально заданы, чтобы сгенерировать код для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие

В диалоговом окне Параметров конфигурации диагностика обнаружения инициализации без определения устанавливается на Classic, обеспечение совместимости с предыдущими релизами Simulink. Исходная диагностика проверки неопределенной подсистемы очищена. Эта диагностика определяет, отображает ли Simulink предупреждение, если модель содержит условно выполненную подсистему, в которой блок с заданным начальным условием управляет блоком Outport с неопределенным начальным условием. Условно выполненная подсистема может иметь выход, который не инициализирован. Если это условие не обнаружено, оно может привести к недетерминированному поведению.

Выполните одно из следующих действий:

В диалоговом окне Параметров конфигурации диагностика обнаружения инициализации без определения устанавливается на Classic, обеспечение совместимости с предыдущими релизами Simulink. Эта диагностика обнаруживает потенциальные начальные выходные различия от предыдущих релизов. Условно выполненная подсистема может иметь выход, который не инициализирован. Если это условие не обнаружено, оно может привести к недетерминированному поведению.

Выполните одно из следующих действий:

  • В диалоговом окне Параметров конфигурации установите Underspecified initialization detection равным Simplified.

  • В диалоговом окне Параметров конфигурации установите Underspecified initialization detection равным Classic.

  • Установите параметр CheckExecutionContextPreStartOutputMsg на on.

Результаты действий

Чтобы сконфигурировать параметры диагностики, которые влияют на инициализацию модели и могут повлиять на безопасность, нажмите Modify Settings.

Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью, для данных, используемых для отладки

Проверяйте идентификатор: mathworks.hism.hisl_0305

Проверьте строение модели на наличие настроек диагностики, которые применяются к данным, используемым для отладки и которые могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к отладке, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая позволяет блокам верификации модели, установлена на Use local settings или Enable all. Такие блоки должны быть отключены, потому что они являются блоками утверждения, которые предназначены только для верификации. Разработчики моделей не должны использовать утверждения во встроенном коде. В диалоговом окне Параметров конфигурации установите Model Verification block enabling или установите параметр AssertControl на Disable All.

Результаты действий

Нажатие Modify Settings настраивает параметры диагностики модели, которые применяются к данным, используемым для отладки, и которые могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью, на предмет соединения сигналов

Проверяйте идентификатор: mathworks.hism.hisl_0306

Проверьте строение модели на наличие настроек диагностики, которые применяются к связности сигналов и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к связности сигнала, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая обнаруживает виртуальные сигналы, которые имеют общий исходный сигнал, но различные метки установлены на none или warning. Эта диагностика относится только к виртуальным сигналам и не влияет на сгенерированный код. Однако несоответствия метки сигнала могут привести к путанице во время обзоров модели.Установите Signal label mismatch на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр SignalLabelMismatchMsg на error.
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным входным сигналом, установлена на none или warning. Это должно быть обнаружено, потому что код не генерируется для несвязанных входов блоков. Установите Unconnected block input ports на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр UnconnectedInputMsg на error.
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным выходным сигналом, установлена на none или warning. Это должно быть обнаружено, потому что мертвый код может быть результатом несвязанных выходных сигналов блока. Установите Unconnected block output ports на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр UnconnectedOutputMsg на error.
Диагностика, которая обнаруживает несвязанные сигнальные линии и несопоставленные блоки Goto или From, установлена на none или warning. Эта ошибка должна быть обнаружена, поскольку код не генерируется для несвязанных линий. Установите Unconnected line на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр UnconnectedLineMsg на error.

Результаты действий

Нажатие Modify Settings конфигурирует настройки диагностики модели, которые применяются к связности сигналов и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики безопасности для подключения к шине

Проверяйте идентификатор: mathworks.hism.hisl_0307

Проверьте строение модели на наличие настроек диагностики, которые применяются к соединению шины и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к соединению шины, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая определяет, подключен ли корневой Outport блок блока Model к шине, но не задает, что объект шины установлен на none или warning. Чтобы сигнал шины пересекал контур модели, сигнал должен быть определен как объект шины для совместимости с моделями более высокого уровня, которые используют модель как образец модели. Установите Unspecified bus object at root Outport block на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр RootOutportRequireBusObject на error.
Диагностика, которая определяет, совпадает ли имя элемента шины с именем, заданным соответствующим объектом шины, установлена на none или warning. Эта диагностика препятствует использованию несовместимых шин в блоке с поддержкой шины, так что выходные имена являются противоречивыми. Установите Element name mismatch на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр BusObjectLabelMismatch на error.
Диагностика, которая обнаруживает, когда некоторые блоки обрабатывают сигнал как mux/вектор, в то время как другие блоки обрабатывают сигнал как шину, установлена на none или warning. Когда программное обеспечение Simulink автоматически преобразует имитированный сигнал в шину, возможна непреднамеренная операция или непредсказуемое поведение.

Установите Bus signal treated as vector на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации равной error, или параметр StrictBusMsg на ErrorOnBusTreatedAsVector.

Диагностика обнаруживает, что Non-bus signals treated as bus signals параметра не установлен на error.

Установите Non-bus signals treated as bus signals на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или параметре NonBusSignalsTreatedAsBus на error.

Результаты действий

Нажатие кнопки Modify Settings конфигурирует параметры диагностики модели, которые применяются к соединению шины и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью, которые применяются к соединению вызова функции

Проверяйте идентификатор: mathworks.hism.hisl_0308

Проверьте строение модели на наличие настроек диагностики, которые применяются к соединению вызова функции и которые могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к соединению вызова функции, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая определяет, должно ли программное обеспечение Simulink вычислять входы подсистемы вызова функций прямо или косвенно во время выполнения подсистемы Use local settings или Disable all. Эта диагностика обнаруживает непредсказуемую связь данных между подсистемой вызова функций и входами подсистемы в сгенерированном коде.Установите Context-dependent inputs на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр FcnCallInpInsideContextMsg на error.

Результаты действий

Нажатие кнопки Modify Settings конфигурирует настройки диагностики модели, которые применяются к соединению вызова функции и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью, для преобразований типов

Проверяйте идентификатор: mathworks.hism.hisl_0309

Проверьте строение модели на наличие настроек диагностики, которые применяются к преобразованиям типов и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к преобразованиям типов, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая обнаруживает блоки Data Type Conversion, когда преобразование типа установлено в none. Программа Simulink может удалить ненужные блоки Data Type Conversion из сгенерированного кода, что может привести к требованиям без соответствующего кода. Удаление этих блоков должно быть идентифицировано, чтобы разработчики моделей могли явным образом удалить ненужные блоки. Установите Unnecessary type conversions параметра конфигурации или UnnecessaryDatatypeConvMsg параметр в 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 настраивает настройки диагностики модели, которые применяются к преобразованиям типов и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью, для ссылки на модель

Проверяйте идентификатор: mathworks.hism.hisl_0310

Проверьте строение модели на наличие настроек диагностики, которые применяются к ссылкам на модели и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к ссылкам на модели, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая обнаруживает несоответствия портов и параметров во время загрузки и обновления модели, установлена на none или warning. Если это не установлено, такие несоответствия могут привести к неправильным результатам симуляции, потому что родительские и ссылочные модели имеют различные интерфейсы.Установите Port and parameter mismatch на панели Diagnostics > Model Referencing в диалоговом окне Параметров конфигурации или установите параметр ModelReferenceIOMismatchMessage на error.
Диагностика, которая обнаруживает недопустимые внутренние соединения с Inport корневого уровня текущей модели и блоками Outport, установлена на none или warning. Когда это условие обнаружено, программное обеспечение Simulink может автоматически вставить скрытые блоки в модель, чтобы исправить условие. Скрытые блоки могут привести к сгенерированному коду без отслеживаемых требований. Установка значения диагностики error заставляет разработчиков моделей исправлять модели-ссылки вручную. Установите Invalid root Inport/Outport block connection на панели Diagnostics > Model Referencing в диалоговом окне Параметров конфигурации или установите параметр ModelReferenceIOMessage на error.
Диагностика, которая определяет, регистрируют ли To Workspace или Scope блоки данные в ссылочной модели, установлена на none или warning. Логгирование данных не поддерживается для блоков To Workspace и Scope в ссылочных моделях. Установите Unsupported data logging на панели Diagnostics > Model Referencing в диалоговом окне Параметров конфигурации или установите параметр ModelReferenceDataLoggingMessage на error.
Чтобы записать данные в журнал, удалите блоки и выполните регистрацию ссылочных моделей сигналов. Для получения дополнительной информации смотрите Логгирование Ссылочных Сигналов Модели.

Результаты действий

Нажатие Modify Settings конфигурирует настройки диагностики модели, которые применяются к ссылкам на модели и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью для Stateflow

Проверяйте идентификатор: mathworks.hism.hisl_0311

Проверьте параметры диагностики, связанные с безопасностью для Stateflow

Описание

Эта проверка проверяет, что параметры конфигурации модели установлены оптимально для Stateflow для приложения, связанного с безопасностью.

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая определяет, приводит ли строение графика к нежелательному обратному отслеживанию во время симуляции, установлена на none или warning.

В диалоговом окне Параметров конфигурации установите Unexpected backtracking или установите параметр SFUnexpectedBacktrackingDiag на error.

Диагностика, которая определяет, имеет ли строение графика блоки, которые соединяются с входными портами графика, не инициализируют их выходы во время инициализации, установлена на none или warning.

В диалоговом окне Параметров конфигурации установите Недопустимый доступ к входным данным в инициализации графика или установите параметр SFInvalidInputDataAccessInChartInitDiag на error.

Диагностика, которая определяет, имеет ли график безусловный переход по умолчанию в состояние или соединение, установлена на none или warning.

В диалоговом окне Параметров конфигурации установите No безусловных переходов по умолчанию или установите параметр SFNoUnconditionalDefaultTransitionDiag на error.

Диагностика, которая определяет, содержит ли график переход, который закольцовывается вне родительского состояния или соединения, установлена на none или warning.

В диалоговом окне Параметров конфигурации установите Transition outside natural родительского элемента или установите параметр SFTransitionOutsideNaturalParentDiag на error.

Диагностика, которая определяет, построен ли график на допустимом пути выполнения, установлена на none или warning.

В диалоговом окне Параметров конфигурации установите путь выполнения Unreachable или установите параметр SFUnreachableExecutionPathDiag на error.

Диагностика обнаруживает, что Undirected event broadcasts параметра не установлен на none или warning.Установите Undirected event broadcasts в диалоговом окне Параметров конфигурации или установите параметр SFUndirectedBroadcastEventsDiag на error.
Диагностика обнаруживает, что Transition action specified before condition action параметра не установлен на none или warning.Установите Transition action specified before condition action в диалоговом окне Параметров конфигурации или установите параметр SFTransitionActionBeforeConditionDiag на error.

Результаты действий

Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к решателям и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверьте параметры диагностики, связанные с безопасностью, для данных о сигнале

Проверяйте идентификатор: 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 в диалоговом окне Параметров конфигурации или установите параметр 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 в диалоговом окне Параметров конфигурации или установите параметр 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 в диалоговом окне Параметров конфигурации или установите параметр 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 в диалоговом окне Параметров конфигурации или установите параметр 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 в диалоговом окне Параметров конфигурации или установите параметр 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 в диалоговом окне Параметров конфигурации или установите параметр 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 в диалоговом окне Параметров конфигурации или установите параметр 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 в диалоговом окне Параметров конфигурации или установите параметр SignalRangeChecking на error.

Результаты действий

Нажатие Modify Settings конфигурирует настройки диагностики модели, которые применяются к данным сигнала и могут повлиять на безопасность.

Возможности и ограничения

  • Не работает на библиотечных моделях.

  • Не допускает исключения блоков или графиков.

См. также

Проверяйте использование блоков Sqrt

Проверяйте идентификатор: mathworks.hism.hisl_0003

Описание

Идентифицируйте Sqrt блоки с входами, которые могут быть отрицательными.

Доступно с Simulink Check. Для этой проверки требуется лицензия Simulink Design Verifier (SLDV).

Примечание: Эта проверка выполнит анализ SLDV на модели.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Один или несколько блоков Sqrt в модели имеют входы, которые могут стать отрицательными во время симуляции.Ремодель для предотвращения того, чтобы вход блоков Sqrt стал отрицательным.

Возможности и ограничения

  • Запуск библиотечных моделей.

  • Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on.

  • Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all.

См. также

Проверяйте использование Возвратных блоков Sqrt

Проверяйте идентификатор: mathworks.hism.hisl_0028

Описание

Идентифицирует Reciprocal Sqrt блоки с входами, которые могут стать нулем или отрицательными.

Доступно с Simulink Check. Для этой проверки требуется лицензия Simulink Design Verifier (SLDV).

Примечание: Эта проверка выполнит анализ SLDV на модели.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Один или несколько блоков Reciprocal Sqrt в модели имеют входы, которые могут стать нулевыми или отрицательными во время симуляции.Ремодель для предотвращения того, чтобы вход блоков Reciprocal Sqrt стал нулем или отрицательным.

Возможности и ограничения

  • Работает на библиотечных моделях.

  • Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on.

  • Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all.

См. также

Проверяйте тип и размер выражений условия

Проверяйте идентификатор: mathworks.hism.himl_0011

Описание

Эта проверка оценивает модель, чтобы проверить, что логические скаляры используются для этих выражений условия:

  • if выражения

  • elseif выражения

  • while выражения

  • Выражения условия переходов Stateflow

Доступно с Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие

if выражение не является логическим скаляром.

Измените выражение на логический скаляр.

elseif выражение не является логическим скаляром.

Измените выражение на логический скаляр.

while выражение не является логическим скаляром.

Измените выражение на логический скаляр.

Выражение условия выражения перехода Stateflow не является логическим скаляром.

Измените выражение на логический скаляр.

Результаты действий

Таблица результатов идентифицирует каждое выражение, которое содержит выражение, не являющееся логическим скаляром. Чтобы просмотреть проблему, выберите соответствующую ссылку на функцию из таблицы результатов. Model Advisor откроется и подсвечивает соответствующее определение функции или, для Stateflow, открывает график и подсвечивает состояние, в котором происходит проблема.

Вручную измените выражения условий на логические скаляры. Сохраните модель и повторите проверку.

Возможности и ограничения

  • Условия переходов Stateflow и состояний активности не проверяются при использовании C в качестве языка действия Stateflow.

  • Эта проверка не выполняется для библиотечных моделей.

  • Анализирует содержимое маскированных подсистем.

  • Анализирует содержимое связанных с библиотекой блоков.

  • Недоступные инвариантные условия и фрагменты кода могут не быть проанализированы.

См. также

Проверьте параметры конфигурации для C:2012 MISRA

Проверяйте идентификатор: mathworks.misra.CodeGenSettings

Идентифицируйте параметры конфигурации, которые могут повлиять на генерацию кода C:2012 совместимой с MISRA.

Описание

Следование рекомендациям этой проверки увеличивает вероятность генерации 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.

Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным None или error и Support non-finite numbers установлено на on.

Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным 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

Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным Use local settings или Enable All.Установите Model Verification block enabling значение Disable All.
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным none или warning.Установите Undirected event broadcasts значение error.
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным NoneУстановите значение параметра конфигурации Wrap on overflow равным warning или error.
Hardware Implementation
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным UndefinedУстановите Production hardware signed integer division rounds to значение Zero или Floor.
Выбран параметр конфигурации <reservedrangesplaceholder0>.Очистить Shift right on a signed integer as arithmetic shift.
Simulation Target
Параметр конфигурации <reservedrangesplaceholder1> задано значение, отличное от 0.Установите Compile-time recursion limit for MATLAB functions значение 0.
Выбран параметр конфигурации <reservedrangesplaceholder0>.Очистить Dynamic memory allocation in MATLAB functions.
Выбран параметр конфигурации <reservedrangesplaceholder0>.Очистить Enable run-time recursion for MATLAB functions.
Code Generation

Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным 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

Выбран параметр конфигурации <reservedrangesplaceholder0>.Очистить External mode.
Выбран параметр конфигурации <reservedrangesplaceholder0>.Очистить Generate shared constants.

Параметр конфигурации <reservedrangesplaceholder0> сброшен.

Выберите Include comments.
Выбран параметр конфигурации <reservedrangesplaceholder0>.

Очистить MAT-file logging

Для целевых систем на основе ERT параметров конфигурации <reservedrangesplaceholder0> очищается.Выберите MATLAB user comments.
Значение для параметр конфигурации <reservedrangesplaceholder0> не задано.Установите значение на зависимый от реализации предел. Значение по умолчанию является 31.
Значение параметра конфигурации Parenthesis level не установлено на Maximum (Specify precedence with parentheses).Установите Parentheses level значение Maximum (Specify precedence with parentheses).

Для целевых систем на основе ERT параметров конфигурации <reservedrangesplaceholder2> очищается, когда для File packaging format задано значение Compact или Compact (with separate data file)

Выберите Preserve static keyword in function declarations.
Выбран параметр конфигурации <reservedrangesplaceholder0>.Очистить Replace multiplications by powers of two with signed bitwise shifts.
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным Auto.

Установите Shared code placement значение Shared location

Для целевых систем на основе ERT выбирается параметр конфигурации <reservedrangesplaceholder0>Очистить Support continuous time.
Для целевых систем на основе ERT выбирается параметр конфигурации <reservedrangesplaceholder0> Очистить Support non-inlined S-functions.
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным Classic.Установите System-generated identifiers значение Shortened.
Значение параметра конфигурации <reservedrangesplaceholder0> устанавливается на целевом устройстве на основе 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-Warning, в столбце Current Value в таблице результатов указывается, что ограничение «Предварительное условие» не соблюдается для подшеков. После изменения параметра перезапустите проверку.

Примечание

Некоторые подчеки характерны для параметров конфигурации для систем на основе ERT. Эти параметры не обновляются при нажатии кнопки мыши Modify All если вы не измените модель на систему на основе ERT.

Возможности и ограничения

Эта проверка не рассматривает ссылку на модели.

См. также

Проверяйте блоки, не рекомендуемые для MISRA C:2012

Проверяйте идентификатор: mathworks.misra.BlkSupport

Идентифицируйте блоки, которые не поддерживаются или не рекомендуются для генерации кода, совместимого C:2012 MISRA.

Описание

Следование рекомендациям этой проверки увеличивает вероятность генерации MISRA C:2012 совместимого кода для встраиваемых приложений.

Доступно с Embedded Coder и Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие

Интерполяционные таблицы блоки, использующие кубическую интерполяцию сплайн или методы экстраполяции, были найдены в модели или подсистеме. Конкретными блоками являются:

Рассмотрите другие методы интерполяции и экстраполяции для блоков Интерполяционной таблицы.

Устаревшие блоки Интерполяционной таблицы были найдены в модели или подсистеме. Конкретными блоками являются:

  • Интерполяционная таблица

  • Интерполяционная таблица (2-D)

Рассмотрите замену устаревших блоков интерполяционной таблицы.
S-Function Builder блоки были найдены в модели или подсистеме.Рассмотрите замену блоков S-Function Builder на блоки, рекомендуемые для производства.
From Workspace блоки были найдены в модели или подсистемеРассмотрите замену блоков Из Рабочей области на блоки, рекомендуемые для производства.

Строковые блоки были найдены в модели или подсистеме. Конкретными блоками являются:

Рассмотрите замену строковых блоков на блоки, рекомендуемые для производства.

Возможности и ограничения

Вы можете:

  • Запустите эту проверку на своих моделях библиотеки.

  • Анализирует содержимое библиотечно связанных блоков.

  • Анализирует содержимое маскированных подсистем.

  • Исключить блоки и графики из этой проверки, если у вас есть лицензия Simulink Check.

Проверка во время редактирования.  Эта проверка поддерживается проверкой во время редактирования.

См. также