exponenta event banner

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

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

Проверки High-Integrity Systems Modeling облегчают разработку и устранение неисправностей моделей, подсистем и соответствующего сгенерированного кода для приложений в соответствии с High-Integrity Systems Modeling Guidelines.

При выполнении проверок High-Integrity Systems Modeling модуль Model Advisor выполняет извлечение лицензии Simulink ® Check™.

Проверки High-Integrity Systems Modeling классифицируются по следующим группам:

Simulink

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

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

MATLAB

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

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

Конфигурация

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

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

Обозначение

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

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

Требования

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

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

Кодекс

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

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

Stateflow

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

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

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

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

Заголовок старого чекаРазделить заголовки чеков
Проверка использования блоков математических операцийПроверка использования блоков Abs
Проверка использования блоков математических функций (rem и обратных функций)
Проверка использования блоков математических функций (функции log и log10)
Проверка использования блоков назначения
Проверка использования блоков логических и битовых операцийПроверка наличия блоков Relational Operator, приравнивающих типы с плавающей запятой
Проверка использования блоков реляционного оператора
Проверка использования блоков логических операторов
Проверка использования блоков портов и подсистемПроверка использования блоков итератора
Проверка блоков, зависящих от времени образца
Проверка использования блоков итератора
Проверка использования блоков If и блоков подсистемы действий
Проверка использования блоков вариантов переключения и блоков подсистемы действий вариантов переключения
Проверка параметров формирования кода, связанного с безопасностьюПроверить параметры создания кода, связанного с безопасностью, на наличие комментариев
Проверьте настройки интерфейса генерации кода, связанного с безопасностью
Проверьте параметры создания кода, связанные с безопасностью, для стиля кода
Проверка параметров создания символов кода, связанных с безопасностью
Проверка использования конструкций StateflowПроверка использования конструкций Stateflow
Проверка диаграмм потока состояний для упорядочения состояний и переходов
Проверка параметров отладки Stateflow
Проверка диаграмм Stateflow для однозначно определенных объектов данных
Проверка параметров оптимизации, связанных с безопасностьюПроверьте настройки оптимизации, связанные с безопасностью, для логических сигналов
Проверка параметров оптимизации сокращения блоков, связанных с безопасностью
Проверка параметров оптимизации, связанных с безопасностью, для срока службы приложения
Проверка параметров оптимизации, связанных с безопасностью, для инициализации данных
Проверка параметров оптимизации, связанных с безопасностью, для преобразований типов данных
Проверка параметров оптимизации, связанных с безопасностью, для арифметических исключений разделения

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

Код чека: mathworks.hism.himl_0001

Описание

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

  • Имя функции

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

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

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

Ниже приведен пример определения заголовков функций.

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

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

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

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

Доступно при проверке Simulink.

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

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

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

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

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

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

  • Должен иметь раздел «Inputs Description».

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

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

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

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

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

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

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

См. также

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

Код чека: mathworks.hism.himl_0002

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

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • Изменить сложность с Inherited кому On или Off.

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

Проверка показателей функции MATLAB

Код чека: mathworks.hism.himl_0003

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

Описание

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

  • Блочные метрики ― метрики для общего кода функционального блока MATLAB

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

Доступно при проверке Simulink.

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

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

  • Максимальное количество действующих строк кода на функцию ― Действующие строки не включают пустые строки, строки комментариев или строки с функцией end ключевое слово. Значение по умолчанию: 60.

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

  • Максимальная цикломатическая сложность на функцию ― Цикломатическая сложность - это количество линейно независимых путей через исходный код. Значение по умолчанию: 15.

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

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

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

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

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

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.himl_0004

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

Описание

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

  • Код MATLAB в функциональных блоках MATLAB

  • Функции MATLAB, определенные в диаграммах Stateflow ®

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

Доступно при проверке Simulink.

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

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

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

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

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

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

  • Оправдать несоблюдение рекомендаций анализатора кода MATLAB %#ok комментарий.

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

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

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

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

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

  • Оправдать несоблюдение рекомендаций анализатора кода MATLAB %#ok комментарий.

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

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

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

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

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

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

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

  • Оправдать несоблюдение рекомендаций анализатора кода MATLAB %#ok комментарий.

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

Проверка шаблонов/elseif/else в функциональных блоках MATLAB

Код чека: mathworks.hism.himl_0006

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

См. также

Проверка операторов переключения в функциональных блоках MATLAB

Код чека: mathworks.hism.himl_0007

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

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

См. также

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

Код чека: mathworks.hism.himl_0008

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

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

См. также

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

Код чека: mathworks.hism.himl_0009

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

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

См. также

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

Код чека: mathworks.hism.himl_0010

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0001

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

Описание

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

Доступно при проверке Simulink.

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

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

Классик

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

Мучнистый

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

Мур

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

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

СостояниеРекомендуемое действие
Входной параметр имеет значение Classic и диаграммы в модели используют другие типы конечных автоматов.Для каждой диаграммы в диалоговом окне «Свойства диаграммы» задайте для параметра «Тип конечного станка» значение Classic.
Входной параметр имеет значение Moore и диаграммы в модели используют другие типы конечных автоматов.Для каждой диаграммы в диалоговом окне «Свойства диаграммы» задайте для параметра «Тип конечного станка» значение Moore.
Входной параметр имеет значение Mealy и диаграммы в модели используют другие типы конечных автоматов.Для каждой диаграммы в диалоговом окне «Свойства диаграммы» задайте для параметра «Тип конечного станка» значение Mealy.

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0002

Определение диаграмм потока состояний, для которых очищен заданный пользователем порядок выполнения состояния/перехода.

Описание

Определите диаграммы Stateflow, для которых очищен заданный пользователем порядок выполнения состояния/перехода, и, следовательно, не используйте явный порядок параллельных состояний и переходов.

Доступно при проверке Simulink.

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

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

СостояниеРекомендуемое действие
Для диаграмм потока состояний очищен заданный пользователем порядок выполнения состояния/перехода.

Для указанных диаграмм в диалоговом окне Свойства диаграммы выберите Заданное пользователем состояние/порядок выполнения перехода.

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

  • Выполняется для библиотечных моделей.

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

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

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

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

При нажатии кнопки Изменить выбирается заданное пользователем состояние/порядок выполнения перехода для указанных диаграмм.

См. также

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

Код чека: mathworks.hism.hisf_0003

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • При этой проверке не отмечаются следующие операции MATLAB bit wise

    • swapbytes

    • bitset

    • bitget

    • bitcmp

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0004

Описание

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

Примечание

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

Доступно при проверке Simulink.

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

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

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

Проверка строгой типизации данных с помощью Simulink I/O

Код чека: mathworks.hism.hisf_0009

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

Описание

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

Доступно при проверке Simulink.

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

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

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

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

В диалоговом окне «Свойства диаграммы» выберите «Использовать строгий ввод данных с Simulink I/O» для диаграммы State flow. При установке этого флажка диаграмма Stateflow принимает входные сигналы любого типа, поддерживаемого моделями Simulink, при условии, что тип входного сигнала соответствует типу соответствующего объекта входных данных Stateflow.

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0011

Проверьте параметры отладки Stateflow.

Описание

Проверьте следующие параметры отладки.

  • Перенос при переполнении

  • Проверка диапазона моделирования

  • Циклы обнаружения

  • Underspecification

  • Сверхспецификация

Доступно при проверке Simulink.

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

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

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

Любое из следующих действий:

  • Перенос при переполнении не установлен в error.

  • Проверка диапазона моделирования не установлена в error.

  • Циклы обнаружения очищены.

В диалоговом окне «Параметры конфигурации» задайте:

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

  • Отладка > Диагностика > Обнаружение циклического поведения

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

При нажатии кнопки «Изменить» выбираются указанные параметры отладки.

См. также

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

Код чека: mathworks.hism.hisf_0013

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

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0014

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • Выполняется для библиотечных моделей.

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

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

  • Допускает исключения диаграмм. Нельзя исключать элемент Stateflow напрямую.

См. также

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

Код чека: mathworks.hism.hisf_0015

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

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0016

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • Эта проверка не анализирует имена портов таблиц истинности Stateflow или таблиц переходов состояний Stateflow.

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

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

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

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

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

См. также

Проверка области видимости объектов данных Stateflow

Код чека: mathworks.hism.hisf_0017

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0064

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

Описание

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

Доступно при проверке Simulink.

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

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

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

Операции правого сдвига превышают битовую ширину входного типа.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0065

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

Описание

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

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

Доступно при проверке Simulink.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisf_0211

Определение унарных операторов в диаграммах Stateflow.

Описание

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

Доступно при проверке Simulink.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0001

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

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

  • Измените ввод блока «Абсолютное значение» на тип ввода со знаком.

  • Удалите блок Абсолютное значение (Absolute Value) из модели.

Если идентифицированный блок абсолютного значения работает с типом данных со знаком, в диалоговом окне «Параметры блока» > «Атрибуты сигнала» выберите «Насыщение при переполнении целого числа».

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.sldv.hism.hisl_0002

Описание

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

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

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.sldv.hism.hisl_0004

Описание

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

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

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0006

Описание

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

Доступно при проверке Simulink.

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

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

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

  • Задайте для параметра Максимальное число итераций (-1 для неограниченного числа) положительное целое значение.

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0007

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

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

  • Дискретный перенос Fcn

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

  • Перенос Fcn Первый заказ

  • Перенос Fnc Real Zero

  • Перенос вывода или задержки Fcn

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

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

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

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0008

Описание

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

Доступно при проверке Simulink.

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

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

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

  • Задайте для параметра источника ограничения итерации значение internal.

  • Если параметр источника ограничения итерации должен быть externalв качестве источника используйте блок «Константа», «Зонд» или «Ширина».

  • Снимите внешний флажок Задать следующий i (итерационная переменная).

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0010

Описание

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

Доступно при проверке Simulink.

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0011

Описание

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

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Модель или подсистема содержит блок 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.

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

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

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

  • Если действие

  • Действие «Переключить обращение»

  • Вызов функции

  • Вызванный

  • Позволенный

Изменение времени выборки для блоков -1.

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

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

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

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

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

  • Дискретный перенос Fcn

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

  • Перенос Fcn Первый заказ

  • Перенос Fnc Real Zero

  • Перенос вывода или задержки Fcn

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

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

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

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

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

См. также

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

Код чека: mathworks.hism.hisl_0013

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Диагностика, которая определяет, пытается ли модель считать данные из хранилища данных, в котором она не сохранила данные на текущем временном шаге, установлена на значение, отличное от Enable all as errors. Чтение данных перед их записью может привести к использованию устаревших данных или данных, которые не инициализированы.Задайте параметр «Обнаружить чтение перед записью» в диалоговом окне «Параметры конфигурации» или задайте параметр. ReadBeforeWriteMsg кому Enable all as errors.
Диагностика, которая определяет, пытается ли модель сохранить данные в хранилище данных после предварительного считывания данных из него на текущем временном шаге, установлена на значение, отличное от Enable all as errors. Запись данных после их считывания может привести к использованию устаревших или неверных данных. Установите параметр Detect write после чтения в диалоговом окне Configuration Parameters или задайте параметр WriteAfterReadMsg кому Enable all as errors.
Диагностика, которая определяет, пытается ли модель сохранить данные в хранилище данных дважды последовательно на текущем временном шаге, устанавливается на значение, отличное от Enable all as errors. Запись данных дважды за один шаг времени может привести к непредсказуемым данным. Установите параметр Detect write after write в диалоговом окне Configuration Parameters или задайте параметр WriteAfterWriteMsg кому Enable all as errors.
Диагностика, обнаруживающая, когда одна задача считывает данные из блока памяти хранилища данных, в который другая задача записывает данные none или warning. Чтение или запись данных в различных задачах в многозадачном режиме может привести к повреждению или непредсказуемости данных. Задайте хранилище данных многозадачности в диалоговом окне «Параметры конфигурации» или задайте параметр MultiTaskDSMMsg кому error.
Диагностика обнаруживает, что для параметра Дублировать имена хранилища данных не установлено значение error.Задайте повторяющиеся имена хранилищ данных в диалоговом окне «Параметры конфигурации» или задайте параметр UniqueDataStoreMsg кому error.

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

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0015

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Блок объединения не подключен непосредственно к условно выполняемой подсистеме.Переделать так, чтобы блоки Merge соединялись непосредственно с условно выполненными подсистемами.
Параметр блока «Объединение» «Разрешить неравную ширину порта» имеет значение «Включено».Установите параметр блока объединения Разрешить неравную ширину порта в значение off
Многократная подсистема выполняется в течение временного шага в условно выполненных подсистемах.Укажите выполнение условно выполняемых подсистем так, чтобы в течение временного шага выполнялась только одна подсистема.
Параметр Outport block Output when disabled не установлен как удерживаемый для каких-либо условно выполненных подсистем в модели.Установите параметр Outport block Output, если он отключен, как удерживаемый для каждой объединяемой условно выполняемой подсистемы.

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

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

  • Не выполняется для библиотечных моделей.

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

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

См. также

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

Код чека: mathworks.hism.hisl_0016

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0017

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Модель или подсистема содержит блок, вычисляющий реляционный оператор, который работает с различными типами данных. Это условие может привести к непредсказуемым результатам в сгенерированном коде. Для идентифицированных блоков используйте общие типы данных в качестве входных данных. Блоки преобразования типов данных можно использовать для изменения типов входных данных.
Модель или подсистема содержит блок, вычисляющий реляционный оператор, не имеющий логического выхода. Это условие может привести к непредсказуемым результатам в сгенерированном коде. Для указанных блоков на панели «Параметры блока» > «Атрибуты сигнала» задайте для параметра «Тип данных вывода» значение boolean.

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0018

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Модель или подсистема содержит блок логического оператора, который имеет входы или выходы, не являющиеся логическими входами или выходами. Блок может привести к равенству с плавающей запятой или сравнениям неравенства в сгенерированном коде.
  • Измените блок логического оператора так, чтобы все входы и выходы были булевыми. На панели «Параметры блока» > «Атрибуты сигнала» выберите параметр «Требовать, чтобы все входные данные имели один и тот же тип данных» и установите для параметра «Тип выходных данных» значение boolean.

  • В диалоговом окне Configuration Parameters (Параметры конфигурации) выберите команду Implement logic signals as boolean data (Реализовать логические сигналы в виде логических данных) (в сравнении с двойными).

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0019

Определение блоков битовых операций со подписанными типами данных в качестве входных данных

Описание

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

  • Бит-клир

  • Битовый набор

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

  • Извлечь биты

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

Доступно при проверке Simulink.

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

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

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

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

  • Анализирует содержимое в маскированных подсистемах. По умолчанию для входного параметра 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 ).

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

Доступно с проверкой Simulink.

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0021

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

Описание

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

Блоки, поддерживающие настраиваемое индексирование:

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

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

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

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

Доступно при проверке Simulink.

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0022

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0023

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

Описание

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

Доступно при проверке Simulink.

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0024

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

Описание

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

Доступно при проверке Simulink.

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

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

Отсутствует размер порта - модель содержит блоки Inport с наследуемыми размерами порта.

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

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

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

Отсутствует время выборки порта - модель содержит блоки Inport с наследуемыми временами выборки.

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

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

Для перечисленных сигнальных объектов Simulink в диалоговом окне свойств выберите свойство signal Имя сигнала должно разрешаться в сигнальный объект Simulink. Чтобы задать этот параметр программным способом, используйте параметр порта MustResolityToSignalObject.

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

  • Не выполняется для библиотечных моделей.

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

Совет

Следующие конфигурации проходят эту проверку:

  • Параметры конфигурации > Решатель > Временное ограничение периодической выборки установлено на Ensure sample time independent

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

См. также

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

Код чека: mathworks.hism.hisl_0025

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

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

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

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

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

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

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

Для перечисленных сигнальных объектов Simulink в диалоговом окне свойств выберите свойство signal Имя сигнала должно разрешаться в сигнальный объект Simulink. Чтобы задать этот параметр программным способом, используйте параметр порта MustResolityToSignalObject.

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0026

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

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

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

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

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

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

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

Для перечисленных сигнальных объектов Simulink в диалоговом окне свойств выберите свойство signal Имя сигнала должно разрешаться в сигнальный объект Simulink. Чтобы задать этот параметр программным способом, используйте параметр порта MustResolityToSignalObject.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0029

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Модель или подсистема может содержать блоки Assignment с неполной инициализацией массива (не в подсистеме итератора), которые не имеют параметра block Action, если какому-либо выходному элементу не присвоено значение Error или Warning.

Задайте параметр блока Действие, если какому-либо выходному элементу не присвоено одно из рекомендуемых значений:

  • Ошибка

  • Предупреждение

Модель или подсистема может содержать блоки Assignment в итераторной подсистеме, и параметр Action, если какой-либо выходной элемент не назначен, не имеет значение Error.Установите параметр блока Действие, если какой-либо выходной элемент не назначен ошибке.

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

Проверка имени файла модели

Код чека: mathworks.hism.hisl_0031

Описание

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

Доступно при проверке Simulink.

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

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

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

  • Выполняется для библиотечных моделей.

См. также

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

Код чека: mathworks.hism.hisl_0032

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

Описание

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

  • Блоки

  • Сигналы

  • Параметры

  • Автобусы

  • Объекты потока состояния

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

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

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

  • int8 , uint8

  • int16, uint16

  • int32, uint32

  • inf, Inf

  • NaN, nan

  • eps

  • intmin, intmax

  • realmin, realmax

  • pi

  • infinity

  • Nil

Примечание

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

Доступно при проверке Simulink.

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

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

  1. Откройте редактор конфигурации модели и перейдите к разделу Проверка имен объектов модели. На панели Входные параметры (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. Нажмите кнопку «Применить».

  3. Сохраните конфигурацию. При выполнении проверки с использованием этой конфигурации проверка использует заданные входные параметры.

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0033

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

Описание

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

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

Доступно при проверке Simulink.

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

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

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

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

  • Для блоков 1-D Таблица подстановки, 2-D Таблица подстановки, n-D Таблица подстановки и Prelookup снимите флажок Удалить защиту от внеполосного ввода в сгенерированном коде.

  • Для блока «Интерполяция с использованием Prelookup» снимите флажок «Удалить защиту от индекса вне диапазона» в сгенерированном коде.

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

  • Выполняется для библиотечных моделей.

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

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

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

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

Нажатие кнопки «Изменить» проверяет, настроены ли блоки таблицы поиска для создания кода проверки за пределами диапазона.

См. также

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

Код чека: mathworks.hism.hisl_0034

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

Описание

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

Доступно при проверке Simulink.

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

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

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

  • Для блока управляющего ввода измените значение параметра Тип данных.

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0036

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Для диагностики, определяющей, содержит ли модель отключенные библиотечные связи перед сохранением модели, устанавливается значение none или warning. Если это условие не обнаружено, может быть создан неправильный код.Блок-схема Set содержит отключенные библиотечные ссылки в диалоговом окне Configuration Parameters или set parameter SaveWithDisabledLinkMsg кому error.
Для диагностики, определяющей, содержит ли модель связи с библиотекой, которые используют параметры, не находящиеся в маске, перед сохранением модели устанавливается значение none или warning. Если это условие не обнаружено, может быть создан неправильный код.Блок-схема набора содержит параметризованные связи библиотеки в диалоговом окне «Параметры конфигурации» или в параметре набора SaveWithParameterizedLinksMsg кому error.

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

При нажатии кнопки Изменить настройки (Modify Settings) настраиваются настройки диагностики модели, применимые к сохранению файла модели.

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0037

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Ссылочная модель настраивается таким образом, что ее цель перестраивается всякий раз, когда вы обновляете, моделируете или генерируете код для модели, или если программа Simulink обнаруживает изменения в известных зависимостях. Эти настройки конфигурации могут привести к ненужной регенерации кода, что приведет к изменению только даты файла и замедлению процесса построения при использовании ссылок на модель. Задайте команду Перестроить (Rebuild) на панели Привязка модели (Model Referencing) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр UpdateModelReferenceTargets кому Never или If any changes detected.
Для диагностики, определяющей необходимость восстановления целевого объекта, установлено значение None или Warn if targets require rebuild. Для приложений, связанных с безопасностью, ошибка должна предупреждать разработчиков моделей о несогласованности родительской и ссылочной моделей. Этот диагностический параметр доступен, только если для параметра Rebuild установлено значение Never.Задайте параметр конфигурации Никогда не перестраивать диагностику на панели Привязка модели (Model Referencing) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр CheckModelReferenceTargetMessage кому error.
Способность передавать скалярный корневой ввод по значению нарушена. Эта возможность должна быть отключена, поскольку скалярные значения могут изменяться в течение временного шага и приводить к непредсказуемым данным. Этот параметр доступен только в том случае, если для параметра конфигурации Общее число экземпляров, разрешенных для модели верхнего уровня, задано значение Один или Несколько (ModelReferenceNumInstancesAllowed является single или multi).На панели Привязка модели (Model Referencing) диалогового окна Параметры конфигурации (Configuration Parameters) задайте значение для ввода скалярного корня фиксированного размера по значению для генерации кода или задайте параметр ModelReferencePassRootInputsByReference кому off.
Модель настроена так, чтобы минимизировать вхождения алгебраического цикла. Эта конфигурация несовместима с рекомендуемой настройкой функции Single output/update для кода встраиваемых систем. В диалоговом окне «Параметры конфигурации» установите параметр «Минимизировать вхождения алгебраического цикла» или «Задать параметр». ModelReferenceMinAlgLoopOccurrences кому off.

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

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры привязки модели, которые могут повлиять на безопасность.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0038

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Опция включения комментариев в созданный код очищается. Комментарии обеспечивают хорошую прослеживаемость между кодом и моделью.Выберите Включить комментарии (Simulink Coder) на панели Создание кода (Code Generation) > Комментарии (Comments) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр GenerateComments кому on.
Опция включения комментариев, описывающих код блоков, очищается. Комментарии обеспечивают хорошую прослеживаемость между кодом и моделью. Выберите команду Simulink block comments (Simulink Coder) на панели Code Generation (Создание кода) > Comments (Комментарии) в диалоговом окне Configuration Parameters (Параметры конфигурации) или задайте параметр SimulinkBlockComments кому on.
Опция включения комментариев, описывающих код для блоков, исключенных из модели, очищается. Комментарии обеспечивают хорошую прослеживаемость между кодом и моделью. Выберите Показать устраненные блоки (Simulink Coder) на панели Создание кода (Code Generation) > Комментарии (Comments) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр ShowEliminatedStatement кому on.
Опция включения имен переменных параметров и исходных блоков в качестве комментариев в объявление структуры параметров модели в model_prm.h очищается. Комментарии обеспечивают хорошую прослеживаемость между кодом и моделью. Выберите пункт Подробные комментарии для класса хранения «Модель по умолчанию» (Simulink Coder) на панели Создание кода (Code Generation) > Комментарии (Comments) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр ForceParamTrailComments кому on.
Опция включения описаний требований, назначенных блокам Simulink как комментариям, очищается. Комментарии обеспечивают хорошую прослеживаемость между кодом и моделью. Выберите «Требования в комментариях блоков» (Embedded Coder) на панели «Создание кода» > «Пользовательские комментарии» в диалоговом окне «Параметры конфигурации» или задайте параметр ReqsInCode кому on.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0039

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Выбрана опция для создания неокончательных данных и операций. Поддержка неокончательных чисел неуместна для встраиваемых систем реального времени. Снимите флажок «Поддержка: неграничные номера» (Simulink Coder) на панели «Создание кода» > «Интерфейс» в диалоговом окне «Параметры конфигурации» или задайте параметр. SupportNonFinite кому off.
Выбрана опция создания и сохранения целочисленных счетчиков для абсолютного и истекшего времени. Поддержка абсолютного времени неуместна для систем, связанных с безопасностью в реальном времени. Снимите флажок Support: absolute time (Embedded Coder) на панели Code Generation (Создание кода) > Interface (Интерфейс) диалогового окна Configuration Parameters (Параметры конфигурации) или задайте параметр SupportAbsoluteTime кому off.
Выбрана опция создания кода для блоков, использующих непрерывное время. Поддержка непрерывного времени неуместна для систем, связанных с безопасностью в реальном времени. Снимите флажок Support: continuous time (Embedded Coder) на панели Code Generation (Создание кода) > Interface (Интерфейс) диалогового окна Configuration Parameters (Параметры конфигурации) или задайте параметр SupportContinuousTime кому off.
Выбрана опция создания кода для неинлинных S-функций. Эта опция требует поддержки нефиксированных номеров, что неуместно для систем, связанных с безопасностью в реальном времени.Снимите флажок «Поддержка: неинлинированные S-функции (встроенный кодер)» в диалоговом окне «Параметры конфигурации» или задайте параметр SupportNonInlinedSFcns кому off.
Выбор произвести образцовые вызовы функции, совместимые с главным модулем программы цели pre-R2012a GRT, отобран. Эта опция неуместна для систем, связанных с безопасностью в реальном времени.Снимите флажок Classic call interface (Simulink Coder) на панели Code Generation (создание кода) > Interface (интерфейс) в диалоговом окне Configuration Parameters (параметры конфигурации) или задайте параметр GRTInterface кому off.
Опция для создания model_update функция очищена. Один вызов функций вывода и обновления упрощает интерфейс с операционной системой реального времени (RTOS) и упрощает верификацию генерируемого кода.Выберите функцию Single output/update (Simulink Coder) в меню Code Generation (создание кода) > Interfacepane (интерфейс) в диалоговом окне Configuration Parameters (параметры конфигурации) или задайте параметр CombineOutputUpdateFcns кому on.
Опция для создания model_terminate выбрана функция. Эта функция освобождает динамическую память, которая непригодна для систем, связанных с безопасностью в реальном времени. Снимите флажок Завершить функцию (встроенный кодер) на панели Создание кода (Code Generation) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр IncludeMdlTerminateFcn кому off.
Опция регистрации или контроля состояния ошибок очищается. Если этот параметр не выбран, продукт Simulink Coder создает дополнительный код, который может оказаться недоступным для тестирования. Выберите Удалить поле состояния ошибки в структуре данных модели в реальном времени (Embedded Coder) на панели Code Generation > Interface в диалоговом окне Configuration Parameters или задайте параметр SuppressErrorStatus кому on.
Выбрано ведение журнала файлов MAT. Этот параметр добавляет дополнительный код для регистрации контрольных точек в MAT-файл, который не поддерживается встроенными целями. Используйте эту опцию только в тестовых жгутах. Снимите флажок MAT-file logging (Simulink Coder) в диалоговом окне Configuration Parameters (параметры конфигурации) или задайте параметр MatFileLogging кому off.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0040

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

Описание

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

Доступно при проверке Simulink.

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

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

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

В диалоговом окне «Параметры конфигурации» задайте время начала или задайте параметр. StartTime кому 0.0.

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

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

См. также

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

Код чека: mathworks.hism.hisl_0041

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

Описание

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

Доступно при проверке Simulink.

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

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

Для настройки решателя для задания типа решателя для моделирования модели задано значение Variable-step.

В диалоговом окне «Параметры конфигурации» задайте тип или параметр. SolverType кому Fixed-step.

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

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

См. также

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

Код чека: mathworks.hism.hisl_0042

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Параметр конфигурации Автоматически обрабатывать переход скорости для передачи данных.Снимите флажок Автоматически обрабатывать переход скорости для передачи данных в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр AutoInsertRateTranBlk кому off.

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0043

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Для диагностики автоматического размыкания алгебраических петель установлено значение none или warning. Разрыв алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для приложений, связанных с безопасностью, разработчик модели должен знать, когда происходят такие разрывы.Задайте алгебраический цикл на панели Диагностика (Diagnostics) > Решатель (Solver) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр AlgebraicLoopMsg кому error. Рассмотрите возможность явного разрыва таких циклов блоками единичной задержки, чтобы порядок выполнения был предсказуемым. Как минимум убедитесь, что результаты автоматического разрыва петель являются приемлемыми.
Для диагностики автоматического размыкания алгебраических циклов для блоков модели, атомных подсистем и включенных подсистем устанавливается значение none или warning. Разрыв алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для приложений, связанных с безопасностью, разработчик модели должен знать, когда происходят такие разрывы.Установите параметр Минимизировать алгебраический цикл (Minimize algebraic loop) на панели Диагностика (Diagnostics) > Решатель (Solver) в диалоговом окне Параметры конфигурации (Configuration Parameters) или ArtificialAlgebraicLoopMsg кому error. Рассмотрите возможность явного разрыва таких циклов блоками единичной задержки, чтобы порядок выполнения был предсказуемым. Как минимум убедитесь, что результаты автоматического разрыва петель являются приемлемыми.
Для диагностики обнаружения потенциального конфликта в порядке выполнения блока установлено значение none или warning. Для приложений, связанных с безопасностью, порядок выполнения блоков должен быть предсказуемым. Разработчику модели необходимо знать, когда существуют конфликтующие приоритеты блоков. Установить нарушение приоритета блока на панели Диагностика > Решатель в диалоговом окне Параметры конфигурации или задать параметр BlockPriorityViolationMsg кому error.
Диагностика для определения того, автоматически ли программа Simulink изменяет решатель, размер шага или время остановки моделирования, установлена в none или warning. Такие изменения могут повлиять на работу сгенерированного кода. Для приложений, связанных с безопасностью, лучше обнаружить такие изменения, чтобы разработчик модели мог явно установить параметры на известные значения. Задать автоматический выбор параметров решателя на панели Диагностика (Diagnostics) > Решатель (Solver) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задать параметр SolverPrmCheckMsg кому error.
Для диагностики обнаружения использования имени для нескольких состояний в модели установлено значение none. Имена состояний в модели должны быть уникальными. Для приложений, связанных с безопасностью, лучше обнаруживать конфликты имен, чтобы разработчик модели мог их исправить. Задать конфликт имен состояний на панели Диагностика (Diagnostics) > Решатель (Solver) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задать параметр StateNameClashWarn кому warning.

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

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0044

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Диагностика для обнаружения того, когда исходный блок, такой как блок синусоидальной волны, наследует время выборки (указанное как -1), имеет значение none или warning. Использование наследуемого времени выборки для исходного блока может привести к непредсказуемым скоростям выполнения для исходного блока и связанных с ним блоков. Для приложений, связанных с безопасностью, исходные блоки должны иметь явное время выборки для предотвращения неправильной последовательности выполнения. Блок «Задать источник» определяет время выборки -1 на панели «Диагностика» > «Время выборки» в диалоговом окне «Параметры конфигурации» или задает параметр. InheritedTslnSrcMsg кому error.
Диагностика для обнаружения недопустимой передачи данных между двумя блоками, работающими в многозадачном режиме, установлена на none или warning. Такая передача данных не должна использоваться для встроенного кода реального времени. Задайте переход данных многозадачности на панели «Диагностика» > «Образец времени» в диалоговом окне «Параметры конфигурации» или задайте параметр MultiTaskRateTransMsg кому error.
Для диагностики для обнаружения подсистем, которые могут привести к повреждению данных или недетерминированному поведению, установлено значение none или warning. Эта диагностика определяет, работают ли условно выполняемые многоскоростные подсистемы (активизированные, запускаемые или функциональные) в многозадачном режиме. Такие подсистемы могут повреждать данные и вести себя непредсказуемо в средах реального времени, которые допускают вытеснение. Задайте условно выполненную подсистему многозадачности на панели Диагностика > Время выборки в диалоговом окне Параметры конфигурации или задайте параметр MultiTaskCondExecSysMsg кому error.
Для диагностики для проверки согласованности времени выборки между блоком спецификации сигнала и подключенным блоком назначения установлено значение none или warning. Превышение заданного времени выборки может привести к непредсказуемой скорости выполнения. Установите в диалоговом окне Параметры конфигурации (Configuration Parameters) на панели Диагностика (Diagnostics) > Время выборки (Sample Time) Параметры выборки (Enforce sample times), указанные блоками Спецификация сигнала (Signal Specification) SigSpecEnsureSampleTimeMsg кому error.
Диагностика обнаруживает, что для параметра Single task data transfer не установлено значение error.Установить перенос данных одной задачи в диалоговом окне Параметры конфигурации или задать параметр SingleTaskRateTransMsg кому error.
Диагностика обнаруживает, что для параметра Tasks with equal priority не установлено значение error.Задать задачи с одинаковым приоритетом в диалоговом окне Параметры конфигурации (Configuration Parameters) или задать параметр TasksWithSamePriorityMsg кому error.
Диагностика для определения, содержит ли модель S-функцию, которая не была явно задана для наследования времени выборки, установлена в none или warning. Эти параметры могут привести к непредсказуемому поведению. Разработчику модели необходимо знать, когда такая S-функция существует в модели, чтобы ее можно было модифицировать для получения предсказуемого поведения. Задать неназначенную наследуемость времени образца в диалоговом окне Параметры конфигурации (Configuration Parameters) или задать параметр UnknownTsInhSupMsg кому error.

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

Если щелкнуть Изменить параметры (Modify Settings), настраиваются параметры диагностики модели, которые применяются к времени выборки и могут повлиять на безопасность.

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0045

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Реализация логических сигналов в виде булевых данных очищается. Для кода, связанного с безопасностью, рекомендуется использовать строгий набор данных. Выберите Configuration Parameter Implementate logic signals в качестве логических данных (в сравнении с двойными) или задайте параметр BooleanDataType кому on.

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

Если щелкнуть Изменить параметры (Modify Settings), будут настроены параметры оптимизации модели, которые могут повлиять на безопасность.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0046

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

Описание

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

Доступно при проверке Simulink.

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

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

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

Если щелкнуть Изменить параметры (Modify Settings), будут настроены параметры оптимизации модели, которые могут повлиять на безопасность.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0047

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Параметр, определяющий стиль для использования в скобках, имеет значение Minimum (Rely on C/C++ operators precedence) или в Nominal (Optimize for readability). Для приложений, связанных с безопасностью, явно укажите приоритет в скобках. Задать параметр ParenthesesLevel кому Maximum (Specify precedence with parentheses).
Параметр, определяющий необходимость сохранения порядка операндов, очищается. Этот параметр повышает отслеживаемость созданного кода.Задать параметр PreserveExpressionOrder кому on.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0048

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

Описание

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

Доступно при проверке Simulink.

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

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

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

Если щелкнуть Изменить параметры (Modify Settings), будут настроены параметры оптимизации модели, которые могут повлиять на безопасность.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0049

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Минимальное число символов, указанное для создания строк искажения имен, меньше четырех. Эту опцию можно использовать для минимизации вероятности изменения имен параметров и сигналов при создании кода при изменении модели. Использование этой опции помогает минимизировать различия в коде между версиями файлов, уменьшая усилия по выполнению обзоров кода. На панели «Создание кода» > «Идентификатор» диалогового окна «Параметры конфигурации» или параметра установите минимальную длину манглы (встроенный кодер). MangleLength до значения 4 или больше.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0052

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

Описание

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

Доступно при проверке Simulink.

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

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

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

Если щелкнуть Изменить параметры (Modify Settings), будут настроены параметры оптимизации модели, которые могут повлиять на безопасность.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0053

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

Описание

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

Доступно при проверке Simulink.

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

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

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

Если щелкнуть Изменить параметры (Modify Settings), будут настроены параметры оптимизации модели, которые могут повлиять на безопасность.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0054

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Выбирается оптимизация, которая подавляет генерацию кода, защищающего от деления на ноль для данных с фиксированной точкой. В коде, связанном с безопасностью, следует избегать исключений разделения на ноль.Если у вас есть лицензия Embedded Coder и вы используете целевой системный файл на основе ERT, снимите флажок Configuration Parameter Remove code, который защищает от арифметических исключений разделения (Embedded Coder) или задайте параметр NoFixptDivByZeroProtection кому off.

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

Если щелкнуть Изменить параметры (Modify Settings), будут настроены параметры оптимизации модели, которые могут повлиять на безопасность.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0056

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Выбирается оптимизация, использующая указанные минимальное и максимальное значения для сигналов и параметров для оптимизации генерируемого кода. Это может привести к требованиям без отслеживаемого кода. (См. раздел DO-331 MB.6.3.4.e - Исходный код отслеживается в соответствии с требованиями низкого уровня.)Если вы имеете лицензию Embedded Coder и используете целевой системный файл на основе ERT, снимите флажок «Оптимизация параметров конфигурации», используя указанные минимальное и максимальное значения (Embedded Coder) или параметр UseSpecifiedMinMax кому off.

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

Если щелкнуть Изменить параметры (Modify Settings), будут настроены параметры оптимизации модели, которые могут повлиять на безопасность.

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

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

  • Не выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0061

Определите диаграммы Stateflow, включающие объекты данных, которые не определены однозначно.

Описание

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

Доступно при проверке Simulink.

Для этой проверки требуется лицензия 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-specified.

  • Объекты данных, описанные в руководстве.

  • Объекты сигналов и параметров.

Доступно при проверке Simulink.

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

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

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

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0066

Описание

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

Доступно при проверке Simulink.

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

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

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

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

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

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

См. также

Проверка на деление на ноль

Код чека: mathworks.hism.hisl_0067

Описание

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

Доступно при проверке Simulink.

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0070

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

Описание

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

Доступно при проверке Simulink.

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

Проверка параметризации

Следующая конфигурация может быть задана с помощью редактора конфигурации Model Advisor.

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

  • Максимальное количество дочерних объектов на связанный компонент в Simulink можно задать с помощью параметра ввода Максимальное количество дочерних объектов на связанный компонент в Simulink. По умолчанию установлено значение 100.

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

  • Максимальное количество строк кода на связанную функцию MATLAB можно задать с помощью входного параметра Максимальное количество строк кода на связанную функцию MATLAB. По умолчанию установлено значение 200.

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

    • Земля

    • Терминатор

    • Inport

    • Вспомогательный порт

    • InportShadow

    • Goto

    • От

    • Mux

    • Demux

    • CMBlock

    • DocBlock

    • Системные требования

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

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

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

  • Выполняется для библиотечных моделей.

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

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

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

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

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

  • Отчет о проверке содержит ссылку на вкладке рекомендуемых действий для открытия матрицы отслеживания.

Совет

Выполните эту проверку из верхней модели или подсистемы, которую необходимо проверить.

См. также

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

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

  • Прослеживаемость требований (требования Simulink)

  • Редактор Simulink

  • DO-331, Раздел MB.6.3.1.f - Требования высокого уровня отслеживаются в соответствии с требованиями системы

  • DO-331, Раздел MB.6.3.2.f - Низкоуровневые требования отслеживаются в соответствии с высокоуровневыми требованиями

  • МЭК 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.a - Проверка архитектурного проектирования программного обеспечения, ISO 26262-8: 8.4.3 Анализ запросов на изменение

  • EN 50128, Таблица A.3 (23) - Моделирование, поддерживаемое средствами автоматизированного проектирования и спецификациями, Таблица D.58 - Прослеживаемость, Таблица A.10 (1) - Анализ воздействия

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

Код чека: mathworks.hism.hisl_0071

Описание

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

Доступно при проверке Simulink.

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

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

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

  • Выполняется для библиотечных моделей.

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

См. также

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

Код чека: mathworks.hism.hisl_0102

Описание

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

  • Для блоков итератора.

  • Для циклов в функциональных блоках MATLAB.

Доступно при проверке Simulink.

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

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

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

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

  • Не выполняется для библиотечных моделей.

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

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

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

См. также

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

Код чека: mathworks.hism.hisl_0301

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

Описание

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

Доступно при проверке Simulink.

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

СостояниеРекомендуемое действие
Для диагностики, обнаруживающей, когда блок не был обновлен для использования функций текущей версии, установлено значение none или warning. S-функция, написанная для более ранней версии, может быть несовместима с текущей версией, и сгенерированный код может работать неправильно.Установите необходимые обновления S-функций на панели Диагностика > Совместимость в диалоговом окне Параметры конфигурации или задайте параметр SFcnCompatibilityMsg кому error.

Результаты действий

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры диагностики модели, которые влияют на совместимость и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанной с безопасностью

Код чека: mathworks.hism.hisl_0302

Проверьте конфигурацию модели на наличие параметров диагностики, которые применяются к параметрам и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к параметрам, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Для диагностики, которая обнаруживает, когда происходит понижение параметра, установлено значение none или warning. Переход к более низкому диапазону сигналов может привести к перетеканию числовых параметров, что приведет к неожиданному поведению. Установите параметр Detect downcast на панели Diagnostics (Диагностика) > Data Validity (Валидность данных) в диалоговом окне Configuration Parameters (Параметры конфигурации) или задайте параметр. ParameterDowncastMsg кому error.
Для диагностики, обнаруживающей неполный поток параметров, установлено значение none или warning. Если тип данных параметра не имеет достаточного разрешения, значение параметра равно нулю вместо указанного значения. Это может привести к неправильной работе сгенерированного кода. На панели Диагностика (Diagnostics) > Валидность данных (Data Validity) диалогового окна Параметры конфигурации (Configuration Parameters) или задайте параметр. ParameterUnderflowMsg кому error.
Для диагностики, которая обнаруживает, когда происходит переполнение параметра, установлено значение none или warning. Численные переполнения могут привести к неожиданному поведению приложения и должны быть обнаружены и исправлены в приложениях, связанных с безопасностью. Установите параметр Обнаруживать переполнение (Detect overflow) на панели Диагностика (Diagnostics) > Валидность данных (Data Validity) в диалоговом окне Параметры конфигурации (Configuration Parameters) или ParameterOverflowMsg кому error.
Для диагностики, обнаруживающей, когда параметр теряет точность, устанавливается значение none или warning. Отсутствие обнаружения таких ошибок может привести к тому, что параметр будет установлен на неверное значение в сгенерированном коде. Установите параметр Обнаружить потерю точности (Detect precision loss) на панели Диагностика (Diagnostics) > Валидность данных (Data Validity) в диалоговом окне Параметры конфигурации (Configuration Parameters ParameterPrecisionLossMsg кому error.
Для диагностики, обнаруживающей, когда выражение с настраиваемыми переменными сокращается до числового эквивалента, устанавливается значение none или warning. Это может привести к непредвиденной невозможности настройки настраиваемого параметра в сгенерированном коде.Установите параметр Обнаружить потерю настраиваемости (Detect loss of tunability) на панели Диагностика (Diagnostics) > Валидность данных (Data Validity) в диалоговом окне Параметры конфигурации (Configuration Parameters) ParameterTunabilityLossMsg кому error.

Результаты действий

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры диагностики модели, которые применяются к параметрам и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, для блоков слияния

Код чека: mathworks.hism.hisl_0303

Проверка конфигурации модели на наличие диагностических параметров, применяемых к блокам объединения

Описание

Эта проверка проверяет, что параметры конфигурации модели установлены оптимально для блоков объединения для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Для диагностики, определяющей, содержит ли модель блоки Merge с несколькими управляющими блоками, выполняемыми одновременно, устанавливается значение none или warning.

В диалоговом окне Configuration Parameters установите параметр Detect multiple driving blocks executing that time step или задайте параметр MergeDetectMultiDrivingBlocksExec кому error.

Результаты действий

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры диагностики модели, которые применяются к решателям и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, для инициализации модели

Код чека: mathworks.hism.hisl_0304

В конфигурации модели проверьте параметры диагностики, которые влияют на инициализацию модели и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели для инициализации оптимально настроены для генерации кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие

В диалоговом окне Параметры конфигурации (Configuration Parameters) для диагностики обнаружения неполной инициализации (Underspecified initialization detection diagnostic) установлено Classic, обеспечивая совместимость с предыдущими выпусками Simulink. Начальная диагностика вывода подсистемы Check undefined очищается. Эта диагностика определяет, отображает ли Simulink предупреждение, если модель содержит условно выполненную подсистему, в которой блок с заданным начальным условием управляет блоком Outport с неопределенным начальным условием. Условно выполненная подсистема может иметь выход, который не инициализирован. Если это условие не обнаружено, оно может привести к недетерминированному поведению.

Выполните одно из следующих действий:

В диалоговом окне Параметры конфигурации (Configuration Parameters) для диагностики обнаружения неполной инициализации (Underspecified initialization detection diagnostic) установлено Classic, обеспечивая совместимость с предыдущими выпусками Simulink. Эта диагностика обнаруживает потенциальные начальные выходные различия более ранних версий. Условно выполненная подсистема может иметь выход, который не инициализирован. Если это условие не обнаружено, оно может привести к недетерминированному поведению.

Выполните одно из следующих действий:

  • В диалоговом окне Configuration Parameters (Параметры конфигурации) установите для параметра Underspecified initialization detection значение Simplified.

  • В диалоговом окне Configuration Parameters (Параметры конфигурации) установите для параметра Underspecified initialization detection значение Classic.

  • Установка параметра CheckExecutionContextPreStartOutputMsg кому on.

Результаты действий

Чтобы настроить параметры диагностики, которые влияют на инициализацию модели и могут повлиять на безопасность, щелкните Изменить параметры (Modify Settings).

Подчеки зависят от результатов подчек, отмеченных буквой D в таблице результатов в окне Мастер модели (Model Advisor).

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, для данных, используемых для отладки

Код чека: mathworks.hism.hisl_0305

Проверьте конфигурацию модели на наличие параметров диагностики, которые применяются к данным, используемым для отладки и которые могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к отладке, установлены оптимально для создания кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Для диагностики, разрешающей блоки проверки модели, установлено значение Use local settings или Enable all. Такие блоки должны быть отключены, поскольку они являются блоками утверждения, которые предназначены только для проверки. Разработчики моделей не должны использовать утверждения во встроенном коде. В диалоговом окне Параметры конфигурации (Configuration Parameters) задайте параметр Включение или установка блока проверки модели (Model Verification block enabling). AssertControl кому Disable All.

Результаты действий

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры диагностики модели, которые применяются к данным, используемым для отладки и которые могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, на наличие сигнальных соединений

Код чека: mathworks.hism.hisl_0306

Проверьте конфигурацию модели на наличие диагностических настроек, которые применяются к связности сигналов и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к связности сигналов, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая обнаруживает виртуальные сигналы, имеющие общий исходный сигнал, но различные метки, устанавливается как none или warning. Эта диагностика относится только к виртуальным сигналам и не влияет на сгенерированный код. Тем не менее, несоответствия меток сигналов могут привести к путанице во время обзоров модели.Установите несоответствие меток сигнала на панели «Диагностика» (Diagnostics) > «Связность» (Connectivity) диалогового окна «Параметры конфигурации» (Configuration Parameters) или задайте параметр. SignalLabelMismatchMsg кому error.
Для диагностики, обнаруживающей, когда модель содержит блок с неподключенным входным сигналом, устанавливается значение none или warning. Это должно быть обнаружено, так как код не создается для неподключенных входов блока. Установить неподключенные входные порты блока на панели «Диагностика» > «Подключение» в диалоговом окне «Параметры конфигурации» или задать параметр UnconnectedInputMsg кому error.
Для диагностики, обнаруживающей, когда модель содержит блок с неподключенным выходным сигналом, устанавливается значение none или warning. Это должно быть обнаружено, так как мертвый код может быть результатом несвязанных выходных сигналов блока. Установите неподключенные выходные порты блока на панели «Диагностика» > «Подключение» в диалоговом окне «Параметры конфигурации» или задайте параметр UnconnectedOutputMsg кому error.
Для диагностики, обнаруживающей неподключенные сигнальные линии и несопоставленные блоки Goto или From, установлено значение none или warning. Эта ошибка должна быть обнаружена, так как код не создан для неподключенных строк. Задать несвязанную линию на панели Диагностика > Связность в диалоговом окне Параметры конфигурации или задать параметр UnconnectedLineMsg кому error.

Результаты действий

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры диагностики модели, которые применяются к связности сигналов и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверьте параметры диагностики, связанные с безопасностью, для подключения шины

Код чека: mathworks.hism.hisl_0307

Проверьте конфигурацию модели на наличие диагностических параметров, которые применяются к подключению шины и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к подключению к шине, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая определяет, подключен ли корневой выходной блок блока модели к шине, но не указывает, что для объекта шины задано значение none или warning. Чтобы сигнал шины пересекал границу модели, он должен быть определен как объект шины для совместимости с моделями более высокого уровня, которые используют модель в качестве ссылочной модели. Задайте неопределенный объект шины в корневом блоке Outport на панели Diagnostics > Connectivity в диалоговом окне Configuration Parameters или задайте параметр RootOutportRequireBusObject кому error.
Диагностика, определяющая, соответствует ли имя элемента шины имени, указанному соответствующим объектом шины, имеет значение none или warning. Эта диагностика предотвращает использование несовместимых шин в блоке с поддержкой шины, так что выходные имена противоречивы. Задать несоответствие имен элементов на панели Диагностика > Связность в диалоговом окне Параметры конфигурации или задать параметр BusObjectLabelMismatch кому error.
Диагностика, которая обнаруживает, когда некоторые блоки обрабатывают сигнал как мультиплексор/вектор, в то время как другие блоки рассматривают сигнал как шину, устанавливается в none или warning. Когда программное обеспечение Simulink автоматически преобразует мультиплексированный сигнал в шину, возможна непреднамеренная работа или непредсказуемое поведение.

Задайте значение параметра Сигнал шины, обрабатываемый как вектор на панели Диагностика (Diagnostics) > Связность (Connectivity) в диалоговом окне Параметры конфигурации (Configuration Parameters), равным error, или параметр StrictBusMsg кому ErrorOnBusTreatedAsVector.

Диагностика обнаруживает, что параметр Non-bus signals, обрабатываемый как сигналы шины, не установлен в error.

На панели "Диагностика" (Diagnostics) > "Подключение" (Connectivity) диалогового окна "Параметры конфигурации" (Configuration Parameters) или на панели "Параметры" (Configuration Parameters) установите значение "Сигналы, не NonBusSignalsTreatedAsBus кому error.

Результаты действий

Если щелкнуть Изменить параметры (Modify Settings), настраиваются параметры диагностики модели, которые применяются к подключению шины и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, которые применяются для подключения к функциональным вызовам

Код чека: mathworks.hism.hisl_0308

Проверьте конфигурацию модели на наличие диагностических параметров, которые применяются к подключению к функциональным вызовам и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к соединению между функциональными вызовами, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, которая определяет, должно ли программное обеспечение Simulink вычислять входы подсистемы вызова функций прямо или косвенно при выполнении подсистемы, установлена в Use local settings или Disable all. Эта диагностика обнаруживает непредсказуемую связь данных между подсистемой функционального вызова и входами подсистемы в сгенерированном коде.Задайте контекстно-зависимые входные данные на панели Диагностика (Diagnostics) > Связность (Connectivity) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр FcnCallInpInsideContextMsg кому error.

Результаты действий

При нажатии кнопки «Изменить параметры» настраиваются параметры диагностики модели, которые применяются к подключению вызова функции и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, на предмет преобразования типов

Код чека: mathworks.hism.hisl_0309

Проверьте конфигурацию модели на наличие параметров диагностики, которые применяются к преобразованиям типов и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к преобразованиям типов, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, обнаруживающая блоки преобразования типов данных, если для преобразования типов установлено значение none. Программное обеспечение Simulink может удалить ненужные блоки преобразования типов данных из сгенерированного кода, что может привести к требованиям без соответствующего кода. Удаление этих блоков необходимо определить, чтобы разработчики моделей могли явно удалить ненужные блоки. Установите параметр конфигурации «Ненужные преобразования типов» илиUnnecessaryDatatypeConvMsg параметр для warning.
Диагностику, которая обнаруживает преобразования вектор-матрица или матрица-вектор на входах блока, устанавливают в none или warning. Когда программа Simulink автоматически преобразует векторные и матричные размеры, могут происходить непреднамеренные операции или непредсказуемое поведение.Задайте параметр конфигурации входного преобразования блока вектора/матрицы или VectorMatrixConversionMsg параметр для error
Для диагностики, определяющей, когда 32-разрядное целое значение преобразуется в значение с плавающей запятой, устанавливается значение none. Этот тип преобразования может привести к потере точности из-за усечения младших битов для больших целых значений. Установите 32-разрядное целое значение параметра конфигурации преобразования с плавающей точностью или Int32ToFloatConvMsg параметр для warning.

Результаты действий

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры диагностики модели, которые применяются к преобразованиям типов и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, для ссылок на модели

Код чека: mathworks.hism.hisl_0310

Проверьте конфигурацию модели на наличие параметров диагностики, которые применяются к ссылкам на модель и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к ссылкам на модель, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Для диагностики, обнаруживающей несовпадения портов и параметров во время загрузки и обновления модели, установлено значение none или warning. Если они не обнаружены, такие несоответствия могут привести к неправильным результатам моделирования, поскольку родительские и ссылочные модели имеют разные интерфейсы.Задайте рассогласование порта и параметра на панели Диагностика (Diagnostics) > Привязка к модели (Model Referencing) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр. ModelReferenceIOMismatchMessage кому error.
Для диагностики, обнаруживающей недопустимые внутренние соединения с блоками ввода и вывода на корневом уровне текущей модели, установлено значение none или warning. При обнаружении этого условия программное обеспечение Simulink может автоматически вставлять скрытые блоки в модель для исправления этого условия. Скрытые блоки могут привести к созданию кода без отслеживаемых требований. Установка для диагностики значения error заставляет разработчиков моделей исправлять ссылочные модели вручную. Установите недопустимое подключение блока корневого ввода/вывода на панели Диагностика > Ссылка на модель в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр ModelReferenceIOMessage кому error.
Для диагностики, определяющей, являются ли блоки В рабочую область (To Workspace) или В область (Scope) данными регистрации в ссылочной модели, задано значение none или warning. Ведение журнала данных не поддерживается для блоков To Workspace и Scope в ссылочных моделях. Задайте неподдерживаемый журнал данных на панели Диагностика (Diagnostics) > Привязка модели (Model Referencing) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр ModelReferenceDataLoggingMessage кому error.
Для регистрации данных удалите блоки и запишите ссылочные сигналы модели. Дополнительные сведения см. в разделе Регистрация ссылочных сигналов модели.

Результаты действий

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры диагностики модели, которые применяются к ссылкам на модели и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, для потока состояний

Код чека: mathworks.hism.hisl_0311

Проверка параметров диагностики, связанных с безопасностью, для потока состояний

Описание

Эта проверка проверяет, что параметры конфигурации модели установлены оптимально для Stateflow для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Для диагностики, определяющей, приводит ли конфигурация диаграммы к нежелательному обратному отслеживанию во время моделирования, установлено значение none или warning.

В диалоговом окне Параметры конфигурации (Configuration Parameters) установите значение Непредвиденный возврат (Uncendent backtracking) или задайте параметр SFUnexpectedBacktrackingDiag кому error.

Для диагностики, определяющей наличие в конфигурации диаграммы блоков, которые подключаются к портам ввода диаграммы, не инициализируют свои выходы во время инициализации, установлено значение none или warning.

В диалоговом окне Configuration Parameters установите параметр Invalid input data access in chart initialization или задайте параметр SFInvalidInputDataAccessInChartInitDiag кому error.

Диагностика, определяющая, имеет ли диаграмма безусловный переход по умолчанию в состояние или соединение, имеет значение none или warning.

В диалоговом окне «Параметры конфигурации» задайте «Нет безусловных переходов по умолчанию» или задайте параметр SFNoUnconditionalDefaultTransitionDiag кому error.

Диагностика, определяющая, содержит ли диаграмма переход, который закольцовывается вне родительского состояния или соединения, имеет значение none или warning.

В диалоговом окне Параметры конфигурации (Configuration Parameters) установите параметр Переход вне естественного родителя (Transition outside natural parent) или задайте параметр SFTransitionOutsideNaturalParentDiag кому error.

Для диагностики, определяющей, создана ли диаграмма на действительном пути выполнения, установлено значение none или warning.

В диалоговом окне «Параметры конфигурации» задайте путь выполнения «Недоступно» или задайте параметр SFUnreachableExecutionPathDiag кому error.

Диагностика обнаруживает, что для параметра Undirected event broadcasts не установлено значение none или warning.Настройка широковещательных передач неориентированных событий в диалоговом окне «Параметры конфигурации» или установка параметра SFUndirectedBroadcastEventsDiag кому error.
Диагностика обнаруживает, что для параметра Transition action, указанного перед действием условия, не установлено значение none или warning.Задайте действие перехода, указанное перед действием условия, в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр SFTransitionActionBeforeConditionDiag кому error.

Результаты действий

При нажатии кнопки Изменить параметры (Modify Settings) настраиваются параметры диагностики модели, которые применяются к решателям и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка параметров диагностики, связанных с безопасностью, на наличие сигнальных данных

Код чека: mathworks.hism.hisl_0314

Проверьте конфигурацию модели на наличие диагностических настроек, которые применяются к данным сигнала и могут повлиять на безопасность.

Описание

Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к данным сигнала, установлены оптимально для генерации кода для приложения, связанного с безопасностью.

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Диагностика, определяющая, как программное обеспечение Simulink разрешает сигналы, связанные с Simulink.Signal для объектов установлено значение Explicit and implicit или Explicit and warn implicit. Для приложений, связанных с безопасностью, разработчики моделей должны явно определять разрешение сигнала. (См. раздел DO-331, раздел MB.6.3.3.b - Архитектура программного обеспечения согласована.)

Установите разрешение сигнала на панели Диагностика > Валидность данных в диалоговом окне Параметры конфигурации или задайте параметр SignalResolutionControl кому Explicit only. Это обеспечивает предсказуемую работу, требуя от пользователей определять каждый сигнал и параметры блокировки, которые должны разрешаться в Simulink.Signal объектов в рабочей области.

В качестве альтернативы можно отключить использование Simulink.Signal объекты, задайте для параметра конфигурации значение None.

Диагностику блока продукта, которая обнаруживает сингулярную матрицу при инвертировании одного из ее входов в режиме умножения матрицы, устанавливают в none или warning. Деление на сингулярную матрицу может привести к числовым исключениям при выполнении сгенерированного кода. Это неприемлемо в системах, связанных с безопасностью. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Задайте разделение по сингулярной матрице на панели Диагностика (Diagnostics) > Валидность данных (Data Validity) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр CheckMatrixSingularityMsg кому error.
Для диагностики, обнаруживающей, когда программное обеспечение Simulink не может определить тип данных сигнала во время распространения типа данных, установлено значение none или warning. Для приложений, связанных с безопасностью, разработчики моделей должны проверять типы данных сигналов. (См. DO-331, Раздел MB.6.3.1.e - Требования высокого уровня соответствуют стандартам, и DO-331, Раздел MB.6.3.2.e - Требования низкого уровня соответствуют стандартам.)Задайте недоопределенные типы данных на панели Диагностика (Diagnostics) > Валидность данных (Data Validity) в диалоговом окне Параметры конфигурации (Configuration Parameters) или задайте параметр UnderSpecifiedDataTypeMsg кому error.
Для диагностики, определяющей, является ли значение сигнала слишком большим для представления типом данных сигнала, установлено значение none или warning. Необнаруженные числовые переполнения могут привести к неожиданному поведению приложения. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Установите параметр Переносить при переполнении (Wrap on overflow) на панели Диагностика (Diagnostics) > Валидность данных (Data Validity) в диалоговом окне Параметры конфигурации (Configuration Parameters) или IntegerOverflowMsg кому error.
Для диагностики, которая определяет, является ли значение сигнала слишком большим для представления типом данных сигнала, что приводит к насыщению, устанавливается значение none или warning. Необнаруженные числовые переполнения могут привести к неожиданному поведению приложения. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Установите параметр Насыщить при переполнении (Saturate on overflow) на панели Диагностика (Diagnostics) > Валидность данных (Data Validity) в диалоговом окне Параметры конфигурации (Configuration Parameters) или IntegerSaturationMsg кому error.
Диагностика, обнаруживающая, когда значение блочного выходного сигнала равно Inf или NaN на текущем шаге времени устанавливается значение none или warning. Когда возникает такое состояние блочного выходного сигнала, могут возникать числовые исключения, и числовые исключения неприемлемы в приложениях, связанных с безопасностью. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.)Задайте вывод блока Inf или NaN на панели Диагностика > Валидность данных в диалоговом окне Параметры конфигурации или задайте параметр SignalInfNanChecking кому error.
Диагностика, определяющая имена объектов Simulink, начинающиеся с rt имеет значение none или warning. Эта диагностика предотвращает конфликты имен с сгенерированными именами сигналов, имеющими rt префикс. (См. DO-331, Раздел MB.6.3.1.e - Требования высокого уровня соответствуют стандартам, и DO-331, Раздел MB.6.3.2.e - Требования низкого уровня соответствуют стандартам.)Задайте префикс «rt» для идентификаторов на панели Диагностика > Валидность данных в диалоговом окне Параметры конфигурации или задайте параметр 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) на панели Диагностика (Diagnostics) > Валидность данных (Data Validity) диалогового окна Параметры конфигурации (Configuration Parameters) или задайте параметр SignalRangeChecking кому error.

Результаты действий

Если щелкнуть Изменить параметры (Modify Settings), настраиваются параметры диагностики модели, которые применяются к данным сигнала и могут повлиять на безопасность.

Возможности и ограничения

  • Не выполняется для библиотечных моделей.

  • Не допускает исключения блоков или диаграмм.

См. также

Проверка использования блоков Sqrt

Код чека: mathworks.hism.hisl_0003

Описание

Определите блоки Sqrt с входами, которые могут быть отрицательными.

Доступно при проверке Simulink. Для этой проверки требуется лицензия Simulink Design Verifier (SLDV).

Примечание: Эта проверка выполнит анализ SLDV для модели.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Один или несколько блоков Sqrt в модели имеют входные данные, которые могут стать отрицательными во время моделирования.Реконструировать, чтобы предотвратить отрицательный ввод блоков Sqrt.

Возможности и ограничения

  • Запуск для библиотечных моделей.

  • Анализ содержимого связанных блоков библиотеки. По умолчанию для входного параметра Follow links установлено значение on.

  • Анализирует содержимое в маскированных подсистемах. По умолчанию для входного параметра Look under masks установлено значение all.

См. также

Проверка использования взаимных блоков Sqrt

Код чека: mathworks.hism.hisl_0028

Описание

Определяет взаимные блоки Sqrt с входами, которые могут стать нулевыми или отрицательными.

Доступно при проверке Simulink. Для этой проверки требуется лицензия Simulink Design Verifier (SLDV).

Примечание: Эта проверка выполнит анализ SLDV для модели.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Один или несколько взаимных блоков Sqrt в модели имеют входные данные, которые могут стать нулевыми или отрицательными во время моделирования.Переделка для предотвращения нулевого или отрицательного значения ввода блоков обратного Sqrt.

Возможности и ограничения

  • Выполняется для библиотечных моделей.

  • Анализ содержимого связанных блоков библиотеки. По умолчанию для входного параметра Follow links установлено значение on.

  • Анализирует содержимое в маскированных подсистемах. По умолчанию для входного параметра Look under masks установлено значение all.

См. также

Проверка типа и размера выражений условий

Код чека: mathworks.hism.himl_0011

Описание

Эта проверка оценивает модель, чтобы проверить, используются ли логические скаляры для следующих выражений условий:

  • if выражения

  • elseif выражения

  • while выражения

  • Выражения условий переходов Stateflow

Доступно при проверке Simulink.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие

if выражение не является логическим скаляром.

Измените выражение на логический скаляр.

elseif выражение не является логическим скаляром.

Измените выражение на логический скаляр.

while выражение не является логическим скаляром.

Измените выражение на логический скаляр.

Выражение условия выражения перехода Stateflow не является логическим скаляром.

Измените выражение на логический скаляр.

Результаты действий

Таблица результатов идентифицирует каждое выражение, содержащее выражение, которое не является логическим скаляром. Для просмотра проблемы выберите соответствующую ссылку на функцию в таблице результатов. Мастер модели (Model Advisor) открывает и подсвечивает соответствующее определение функции или, для Stateflow, открывает диаграмму и выделяет состояние, в котором возникает проблема.

Вручную измените выражения условий на логические скаляры. Сохраните модель и снова запустите проверку.

Возможности и ограничения

  • Условия переходов и действий состояния Stateflow не проверяются при использовании C в качестве языка действий Stateflow.

  • Эта проверка не выполняется для библиотечных моделей.

  • Анализирует содержимое в маскированных подсистемах.

  • Анализ содержимого связанных с библиотекой блоков.

  • Недоступные инвариантные условия и фрагменты кода могут быть не проанализированы.

См. также

Проверьте параметры конфигурации для MISRA C:2012

Код чека: mathworks.misra.CodeGenSettings

Определите параметры конфигурации, которые могут повлиять на создание кода, совместимого с MISRA C:2012.

Описание

Выполнение рекомендаций этой проверки повышает вероятность создания кода, соответствующего MISRA C:2012, для встраиваемых приложений.

Доступно с встроенным кодером и Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Математика и типы данных
Параметр конфигурации Использовать деление для вычисления чистого уклона с фиксированной точкой не установлен в On или Use division for reciprocals of integers only.Задать для параметра «Использовать деление» для расчета чистого уклона с фиксированной точкой значение On или Use division for reciprocals of integers only.

Параметр конфигурации Inf или выход блока NaN имеет значение None или error и Поддержка неграничных чисел имеет значение on.

Параметр конфигурации Inf или выход блока NaN имеет значение None и Поддержка неграничных чисел имеет значение off.

Если Поддержка неграничных чисел:

  • on, установите выход блока Inf или NaN в warning

  • off, установите выход блока Inf или NaN в warning или error

Параметр конфигурации Включение блока проверки модели имеет значение Use local settings или Enable All.Установка блока проверки модели, позволяющего Disable All.
Параметр конфигурации Undirected event broadcasts имеет значение none или warning.Установка для широковещательных передач неориентированных событий значения error.
Параметр конфигурации Wrap on overflow имеет значение NoneЗадайте для параметра конфигурации Wrap on overflow значение warning или error.
Внедрение аппаратных средств
Параметр конфигурации Производственное оборудование, подписанное целочисленными округами деления, имеет значение UndefinedУстановить для производственного оборудования, подписанного целочисленными раундами деления, значение Zero или Floor.
Параметр конфигурации Shift справа от целого числа со знаком в качестве арифметического сдвига.Снимите флажок «Сдвиг справа от целого числа со знаком» в качестве арифметического сдвига.
Цель моделирования
Параметр конфигурации Compile-time recursion limit для функций MATLAB имеет значение, отличное от 0.Установить предел рекурсии времени компиляции для функций MATLAB в 0.
Параметр конфигурации Динамическое выделение памяти в функциях MATLAB.Снимите флажок Динамическое выделение памяти в функциях MATLAB.
Выбран параметр конфигурации Включить рекурсию во время выполнения для функций MATLAB.Снимите флажок Включить рекурсию во время выполнения для функций MATLAB.
Создание кода

Параметр конфигурации Спецификатор типа декларатора Bitfield имеет значение uchar_T при выборе любого из этих параметров:

  • Упаковать логические данные в битовые поля

  • Использовать битсеты для сохранения конфигурации состояния

  • Использовать битовые наборы для хранения булевых данных

Установить спецификатор типа декларатора Bitfield в значение uint_T.
Параметру конфигурации Режимы литья не присвоено значение Standards Compliant.Задать для режимов литья значение Standards Compliant.
Параметр конфигурации Библиотека замены кода не установлена в значение None или AUTOSAR 4.0.

Задать для библиотеки замены кода значение None или AUTOSAR 4.0

Выбран параметр конфигурации Внешний режим.Снимите флажок Внешний режим.
Выбран параметр конфигурации Генерировать общие константы.Снимите флажок «Генерировать общие константы».

Параметр конфигурации Include comments очищен.

Выберите Включить комментарии.
Выбран параметр конфигурации MAT-файл регистрации.

Очистка журнала файлов MAT

Для целевых систем на основе ERT параметр конфигурации MATLAB user comments очищается.Выберите комментарии пользователя MATLAB.
Значение параметра конфигурации Максимальная длина идентификатора не указано.Установите значение предела, зависящего от внедрения. Значение по умолчанию: 31.
Параметр конфигурации Parenthesis level не имеет значение Maximum (Specify precedence with parentheses).Установить уровень «Круглые скобки» в значение Maximum (Specify precedence with parentheses).

Для целевых систем на основе ERT параметр конфигурации Preserve static keyword in function declarations очищается, если для параметра File packaging format установлено значение Compact или Compact (with separate data file)

Выберите Сохранить статическое ключевое слово в объявлениях функций.
Параметр конфигурации Замена умножения на мощности двух со знаком побитовых сдвигов.Clear Заменить умножение на степени двух со знаком побитовых сдвигов.
Параметр конфигурации Размещение общего кода имеет значение Auto.

Задать для параметра Размещение общего кода значение Shared location

Для целевых систем на основе ERT выбран параметр конфигурации Поддержка непрерывного времени Очистить время непрерывной поддержки.
Для целевых систем на базе ERT выбран параметр конфигурации Support non-inlined S-functions Снимите флажок Поддерживать неинлинированные S-функции.
Параметр конфигурации Системные идентификаторы имеют значение Classic.Установите системные идентификаторы в значение Shortened.
Параметр конфигурации Системный целевой файл установлен в целевой файл на основе GRT.Установите системный целевой файл в целевой файл на основе ERT.
Параметр конфигурации Использовать динамическое выделение памяти для инициализации модели выбирается, если для параметра Code Interface Packaging установлено значение Reusable Function.

Снимите флажок Использовать динамическое выделение памяти для инициализации модели.

Примечание

Выбор осуществляется только в том случае, если для параметра «Упаковка интерфейса кода» установлено значение Reusable Function.

Результаты действий

При нажатии кнопки Изменить все значения параметров изменяются на рекомендуемые значения.

Примечание

При нажатии кнопки Изменить все (Modify All) для моделей с целевым объектом на основе GRT мастер моделей не обновляет параметр конфигурации целевого файла системы в системе на основе ERT.

Подчеки параметров зависят от результатов параметра, отмеченного буквой D в таблице результатов. Если результатом является D-Warning, столбец Текущее значение (Current Value) в таблице результатов указывает на то, что условное ограничение не соблюдается для подчек. После изменения параметра повторно запустите проверку.

Примечание

Некоторые подчеки специфичны для параметров конфигурации систем на основе ERT. Эти параметры не обновляются при нажатии кнопки Изменить все (Modify All), если модель не изменена на систему на основе ERT.

Возможности и ограничения

Эта проверка не проверяет ссылочные модели.

См. также

Проверить наличие блоков, не рекомендованных для MISRA C:2012

Код чека: mathworks.misra.BlkSupport

Определите блоки, которые не поддерживаются или не рекомендуются для создания кода, совместимого с MISRA C:2012.

Описание

Выполнение рекомендаций этой проверки повышает вероятность создания кода, соответствующего MISRA C:2012, для встраиваемых приложений.

Доступно с встроенным кодером и Simulink Check.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие

В модели или подсистеме найдены блоки таблицы подстановки, использующие методы интерполяции или экстраполяции кубических сплайнов. Конкретными блоками являются:

Рассмотрим другие методы интерполяции и экстраполяции для блоков таблицы поиска.

Устаревшие блоки таблицы подстановки найдены в модели или подсистеме. Конкретными блоками являются:

  • Таблица подстановки

  • Таблица подстановки (2-D)

Попробуйте заменить устаревшие блоки таблицы подстановки.
Блоки S-Function Builder были найдены в модели или подсистеме.Рекомендуется заменить блоки S-Function Builder блоками, рекомендуемыми для производства.
Из рабочей области в модели или подсистеме найдены блокиПопробуйте заменить блоки «Из рабочей области» блоками, рекомендованными для производства.

Строковые блоки найдены в модели или подсистеме. Конкретными блоками являются:

Рассмотрите возможность замены блоков String блоками, рекомендованными для производства.

Возможности и ограничения

Вы можете:

  • Выполните эту проверку для моделей библиотек.

  • Анализ содержимого связанных блоков библиотеки.

  • Анализирует содержимое в маскированных подсистемах.

  • Исключите блоки и диаграммы из этой проверки, если у вас есть лицензия Simulink Check.

Проверка времени редактирования.  Эта проверка поддерживается проверкой времени редактирования.

См. также