Проверки моделирования систем высокой целостности облегчают разработку и поиск и устранение проблем с моделями, подсистемами и соответствующим сгенерированным кодом для приложений, соответствующих Руководствам по моделированию систем высокой целостности.
Model Advisor выполняет взятие на изменение Simulink® Check™ лицензию при выполнении проверок High-Integrity Systems Modeling.
Проверки моделирования систем высокой целостности классифицируются по следующим группам:
Моделирование систем высокой целостности проверяет наличие Блоков Simulink и компонентов.
Для получения дополнительной информации см. «Проверки модели для моделирования систем высокой целостности».
Моделирование систем высокой целостности проверяет код MATLAB.
Для получения дополнительной информации см. «Проверки модели для моделирования систем высокой целостности».
Моделирование систем высокой целостности проверяет настройки строения.
Для получения дополнительной информации см. «Проверки модели для моделирования систем высокой целостности».
Моделирование систем высокой целостности проверяет соответствие соглашениям об именовании.
Для получения дополнительной информации см. «Проверки модели для моделирования систем высокой целостности».
Моделирование систем высокой целостности проверяет трассируемость Simulink Requirements.
Для получения дополнительной информации см. «Проверки модели для моделирования систем высокой целостности».
Моделирование систем высокой целостности проверяет сгенерированный код.
Для получения дополнительной информации см. «Проверки модели для моделирования систем высокой целостности».
Моделирование систем высокой целостности проверяет наличие диаграмм и компонентов Stateflow.
Для получения дополнительной информации см. «Проверки модели для моделирования систем высокой целостности».
Из R2018b и более поздних версий следующие проверки не рекомендованы к использованию. Эти проверки разделяются на несколько проверок, которые фокусируются на одном действии или операции. Для получения дополнительной информации см. таблицы Разделение и Новые проверки.
Проверяйте идентификатор: mathworks.hism.himl_0001
Эта проверка проверяет все функции MATLAB в модели, локальные функции и ссылочные файлы MATLAB для стандартизированных заголовков функций и проверяет на следующие детали:
Имя функции
Описание функции
Описание переменных входов
Описание переменных выходов
Ниже приведен пример того, как задать заголовки функций:
% < Имя функции > - Описание функции
% < Входная переменная 1 > - Описание входной переменной 1
% < Входная переменная 2 > - Описание входной переменной 2
% < Выходная переменная 1 > - Описание выходной переменной 1
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Функции MATLAB используют нестандартные заголовки функций. | Рассмотрите добавление заголовка функции к функциям в соответствии с этими рекомендациями:
|
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.himl_0002
Идентифицируйте MATLAB® Функции, которые имеют входы, выходы или параметры с унаследованной сложностью или свойствами типа данных.
Проверка идентифицирует Функции MATLAB с унаследованной сложностью или свойствами типа данных. Таблица результатов содержит ссылки на функции MATLAB, которые не проходят проверку, а также условия, инициирующие предупреждение.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Функции MATLAB имеют унаследованные интерфейсы. | Явным образом задайте свойства сложности и типа данных для входных портов, выходных портов и параметров функций MATLAB, определенных в результатах. Если применимо, используя Блок MATLAB function Редактора, внесите следующие изменения в Ports and Данных Manager:
|
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Работает на библиотечных моделях.
Не анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Позволяет исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.himl_0003
Отобразите метрики сложности и кода для функций MATLAB. Сообщите о метрических нарушениях.
Эта проверка обеспечивает сложность и метрики кода для функций MATLAB. Проверка сообщает о двух категориях нарушений метрики:
Основанные на блоках метрики ― метрики для общего кода блока MATLAB Function
Функциональные метрики ― Метрики для каждой функции блока, представленные индивидуально
Доступно с Simulink Check.
Можно задать допуск для этих параметров сложности с помощью Model Advisor Configuration Editor:
Maximum effective lines of code per function ― Эффективные линии не включают пустые линии, строки с комментариями или линии с функцией end
ключевое слово. Значение по умолчанию 60
.
Minimum density of comments ― Density представляет собой отношение строк с комментариями к общим строкам кода. Значение по умолчанию 0.2
.
Maximum cyclomatic complexity per function ― цикломатическая сложность - это количество линейно независимых путей через исходный код. Значение по умолчанию 15
.
Состояние | Рекомендуемое действие |
---|---|
Функция MATLAB нарушает входные параметры сложности. | Для функции MATLAB:
|
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Работает на библиотечных моделях.
Не анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Позволяет исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.himl_0004
Проверьте функции MATLAB на %#codegen
директива, сообщения КОД MATLAB Analyzer и идентификаторы сообщений обоснования.
Проверяет %#codegen
директива, сообщения КОД MATLAB Analyzer и идентификаторы сообщений обоснования для:
Код MATLAB в Блоках MATLAB function
Функции MATLAB определены в Stateflow® чарты
Называемые функции MATLAB
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Для кода MATLAB в Блоки MATLAB function:
|
|
Для функций MATLAB, определенных в диаграммах Stateflow, любое из следующих:
|
|
Для называемых функций MATLAB:
|
|
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Работает на библиотечных моделях.
Не анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.himl_0006
Эта проверка идентифицирует шаблоны if/elseif/else без соответствующих других условий во встраиваемом коде MATLAB.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Неуместно, если в встраиваемом коде MATLAB присутствуют шаблоны/elseif/else. | Для каждого шаблона if/elseif/else добавьте оператор else, который включает по крайней мере один содержательный комментарий. |
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Проверяйте идентификатор: mathworks.hism.himl_0007
Эта проверка идентифицирует операторы switch/case/off без соответствующих условий во встраиваемом коде MATLAB.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Оператор Switch не имеет другого условия. | Убедитесь, что оператор switch имеет иное условие. |
В противном случае оператор остается пустым без комментариев. | Убедитесь, что в противном случае оператор имеет хотя бы один содержательный комментарий. |
Оператор Switch имеет только один оператор case. | Убедитесь, что оператор switch имеет по крайней мере два оператора case. |
Эта проверка исключает один оператора <reservedrangesplaceholder0> с массивом ячеек из двух или более элементов.
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Работает на библиотечных моделях.
Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.himl_0008
Эта проверка проверяет все функции MATLAB в модели, локальные функции и файлы MATLAB, на которые ссылаются, для операторов реляционного оператора, которые работают с операндами различных типов данных.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Реляционные операторы в функциональных блоках, работающих с операндами различных типов данных. | Введите операнды, которые будут совпадающим типом данных. |
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Не работает на библиотечных моделях.
Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.himl_0009
Эта проверка проверяет использование операторов равенства с операндами с плавающей точкой в Блоки MATLAB function.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Одна или несколько функций MATLAB имеют операторы равенства с операндами с плавающей точкой. | Рассмотрите сравнение областей значений вместо прямого сравнения. |
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Не работает на библиотечных моделях.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.
Позволяет исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.himl_0010
Эта проверка идентифицирует логические операторы и функции, работающие с операндами с типами числовых данных в блоках MATLAB Function.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Логические операторы или функции, используемые в операндах с типами числовых данных. | Приведение операндов к логическому типу данных. |
Эта проверка анализирует только функции, на которые непосредственно ссылается модель Simulink.
Не работает на библиотечных моделях.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Можно настроить проверку для выполнения на ссылочных файлах MATLAB с помощью входного параметра, Check .m files referenced in the model в редакторе конфигурации. По умолчанию этот параметр выбран.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisf_0001
Идентифицируйте диаграммы Stateflow, тип конечного компьютера которых отличается от типа, заданного в Model Advisor Configuration Editor.
Сравнивает тип конечного автомата всех диаграмм Stateflow с типом, который вы задаете в параметрах входа.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Проверьте, все ли графики являются классическими графиками.
Проверьте, все ли графики являются диаграммами Мили.
Проверьте, все ли графики являются графиками Мура.
Состояние | Рекомендуемое действие |
---|---|
Параметр входа установлен в Classic и графики в модели используют другие типы конечных машин. | Для каждого графика в диалоговом окне Свойств диаграммы» задайте State Machine Type Classic . |
Параметр входа установлен в Moore и графики в модели используют другие типы конечных машин. | Для каждого графика в диалоговом окне Свойств диаграммы» задайте State Machine Type Moore . |
Параметр входа установлен в Mealy и графики в модели используют другие типы конечных машин. | Для каждого графика в диалоговом окне Свойств диаграммы» задайте State Machine Type Mealy . |
Работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisf_0002
Идентифицируйте диаграммы Stateflow, которые User-specified state/transition execution order удалены.
Идентифицируйте диаграммы Stateflow, которые User-specified state/transition execution order очищены, и поэтому не используйте явное упорядоченное расположение параллельных состояний и переходов.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Диаграммы Stateflow User-specified state/transition execution order очищены. | Для заданных графиков в диалоговом окне Свойств диаграммы выберите User-specified state/transition execution order. |
Работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Нажатие кнопки Modify выбирает User-specified state/transition execution order для заданных графиков.
Проверяйте идентификатор: mathworks.hism.hisf_0003
Определяет использование целочисленных операндов со знаком для побитовых операторов в диаграммах Stateflow с языком действий C.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько объектов Stateflow в модели используют целочисленные операнды со знаком с побитовыми операторами. | Не используйте целочисленные операнды со знаком с побитовыми операторами. |
Следующие битовые операции MATLAB не помечены этой проверкой
swapbytes
bitset
bitget
bitcmp
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое во всех маскированных подсистемах.
Проверяйте идентификатор: mathworks.hism.hisf_0004
Определяет использование рекурсивного поведения.
Примечание
Известно, что неориентированные события вызывают рекурсию в сгенерированном коде.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Одна или несколько сущностей были вовлечены в рекурсии. | Измените сущности, чтобы удалить рекурсии. |
Эта проверка может выполняться только с корневого уровня модели.
Работает на библиотечных моделях.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Позволяет исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisf_0009
Идентифицируйте использование конструкций Stateflow, которые могут повлиять на безопасность.
Эта проверка идентифицирует образцы использования программного обеспечения Stateflow таким образом, чтобы это могло повлиять на безопасность приложения при помощи сильного набора данных.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Диаграмма Stateflow не сконфигурирована для сильного набора данных на контурах между моделью Simulink и диаграммой Stateflow. | В диалоговом окне свойств графика» выберите «Use Strong Data Typing with Simulink I/O» для диаграммы Stateflow. Когда вы устанавливаете этот флажок, диаграмма Stateflow принимает входные сигналы любого типа данных, которые поддерживают модели Simulink, при условии, что тип входного сигнала совпадает с типом соответствующего объекта входных данных Stateflow. |
Работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков. Исключения не будут работать для библиотечных графиков.
Проверяйте идентификатор: mathworks.hism.hisf_0011
Проверьте параметры отладки Stateflow.
Проверьте следующие параметры отладки.
Wrap on overflow
Simulation range checking
Detect Cycles
Underspecification
Overspecification
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Любое из следующих:
| В диалоговом окне Параметров конфигурации установите:
В окне модели выберите:
|
Таблицы истинности не анализируются в этой проверке.
Не работает на библиотечных моделях.
Не анализирует содержимое библиотечно связанных блоков.
Позволяет исключения блоков и графиков.
При нажатии кнопки Modify выбираются заданные опции отладки.
Проверяйте идентификатор: mathworks.hism.hisf_0013
Идентифицируйте пути перехода, которые пересекают контуры параллельных состояний в диаграммах Stateflow.
Идентифицируйте пути перехода, которые пересекают контуры параллельных состояний в диаграммах Stateflow. Эта проверка идентифицирует пути перехода, которые пересекают контуры параллельных состояний в диаграммах Stateflow.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Диаграммы Stateflow имеют пути перехода, которые пересекают параллельные контуры состояний. | Измените диаграммы Stateflow, чтобы переходы не пересекли контуры состояний. Для получения дополнительной информации смотрите, Переход между рабочими режимами (Stateflow). |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Анализирует содержимое во всех маскированных подсистемах.
Проверяйте идентификатор: mathworks.hism.hisf_0014
Эта проверка проверяет использование соединений внутри состояний и идентифицирует соединения, которые находятся на пути, который входит и выходит из состояния.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько путей перехода в модели проходят через состояние, не заканчиваясь на подсостоянии. | Ремоделируйте соединения, чтобы избежать путей перехода, которые переходят в состояние и выходят из состояния, не заканчиваясь на подсостоянии. |
Работает на библиотечных моделях.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Допускает исключения графиков. Вы не можете исключить элемент Stateflow напрямую.
Проверяйте идентификатор: mathworks.hism.hisf_0015
Идентифицируйте переменные и параметры в выражениях с различными типами данных в объектах Stateflow.
Чтобы облегчить сильное типирование данных, эта проверка идентифицирует переменные и параметры в выражениях с различными типами данных в состояниях и переходах Stateflow.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Объекты Stateflow имеют переменные и параметры в выражениях с различными типами данных. | Явное приведение переменных и параметров в выражениях к совпадающим типам данных. Для получения дополнительной информации см., |
Не работает на библиотечных моделях.
Допускает исключения блоков и графиков.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Не анализирует тип литералов в выражениях в объектах Stateflow. Явное приведение типов литералов к предполагаемому типу данных.
Не помечает выражения ключевыми словами true и false. Для получения дополнительной информации смотрите Зарезервированные ключевые слова для генерации кода (Embedded Coder).
Внешние функции, написанные на C и встроенные в Stateflow, не будут работать с этой проверкой.
Проверяйте идентификатор: mathworks.hism.hisf_0016
Эта проверка идентифицирует несоответствия между именами портов Stateflow и связанными сигналами. Переиспользуемые блоки Stateflow могут иметь различные имена портов.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Имена входных и выходных портов диаграмм Stateflow не совпадают с именами связанных сигналов. | Убедитесь, что имена входных и выходных портов диаграмм Stateflow совпадают с именами подключенных сигналов. |
Эта проверка не анализирует имена портов Stateflow Таблицы или Состояние Stateflow Transition Tables.
Эта проверка рассматривает переиспользуемые диаграммы Stateflow как библиотечно связанные графики и не помечены.
Эта проверка не помечает сигналы без имен.
Не анализирует содержимое связанных с библиотекой блоков.
Не анализирует содержимое маскированных подсистем.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisf_0017
Эта проверка идентифицирует объекты данных Stateflow с локальными возможностями, которые не ограничены на уровне графика или ниже.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько объектов данных Stateflow с локальными возможностями определены на уровне графика или ниже. | Убедитесь, что заданы все объекты данных Stateflow с локальными возможностями на уровне графика или ниже. |
Не анализирует содержимое библиотечно связанных блоков.
Не анализирует содержимое маскированных подсистем.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisf_0064
Идентифицируйте использование операций сдвига для данных Stateflow, которые могут повлиять на безопасность.
Эта проверка проверяет операции сдвига, которые имеют значения операнда сдвига, большие, чем битовая ширина входного или выходного типа, или операнда сдвига, который имеет отрицательное значение.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Операции правого сдвига больше, чем ширина бита типа входа. | Явно измените значение операций битового сдвига так, чтобы оно было меньше, чем операнд сдвига. |
Операции слева больше, чем ширина бита выходного типа. | Явно измените значение операций битового сдвига так, чтобы оно было меньше, чем операнд сдвига. |
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Не поддерживает операцию сдвига, которая имеет размер сдвига, заданный как сигнал Simulink или переменная.
Не поддерживает операции сдвига, которые состоят из размера сдвига, определенного во время исполнения.
Внешние функции, написанные на C и встроенные в Stateflow, не будут работать с этой проверкой.
Проверяйте идентификатор: mathworks.hism.hisf_0065
Идентифицируйте операции назначения в объектах Stateflow.
Эта проверка идентифицирует операции назначения в объектах Stateflow, которые неявно приводят целочисленные и арифметические вычисления с фиксированной точкой к более широким типам данных, чем входные типы входных данных.
Эта проверка определяет только назначения с арифметическими операциями.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Объект Stateflow состоит из операций назначения, которые приводят целое число и вычисления с фиксированной точкой к более широким типам данных, чем входные типы входных данных. | Явно замените оператор назначения (=) на: = оператор в объектах Stateflow. |
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Внешние функции, написанные на C и встроенные в Stateflow, не будут работать с этой проверкой.
Проверяйте идентификатор: mathworks.hism.hisf_0211
Идентифицируйте унарные операторы в диаграммах Stateflow.
Эта проверка идентифицирует унарные операторы минус на неподписанных типах данных в диаграммах Stateflow.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Диаграмма Stateflow состоит из унарного оператора минус на неподписанных типах данных. | Явное изменение унарного оператора для неподписанных типов данных. Для получения дополнительной информации смотрите Унарные операции и действия (Stateflow). |
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
За исключением операций Shift и Divide, эта проверка не помечает выражения побитовыми и арифметическими операторами.
Проверяйте идентификатор: mathworks.hism.hisl_0001
Идентифицируйте использование блоков Math Operation, которые могут повлиять на безопасность.
Эта проверка проверяет использование блока Abs.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блок Absolute Value, который работает с одним из следующих:
| Если идентифицированный Absolute Value блок работает с логическим или неподписанным типом данных, выполните одно из следующих действий:
Если идентифицированный Absolute Value блок работает с типом данных со знаком, в диалоговом окне Block Parameters > Signal Attributes выберите Saturate on integer overflow. |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.sldv.hism.hisl_0002
Определяет использование блоков Math Function с помощью rem и reciprocal функций, которые вызывают не конечные результаты.
Доступно с Simulink Check. Для этой проверки требуется лицензия Simulink Design Verifier™ (SLDV).
Примечание: Эта проверка выполнит анализ SLDV на модели.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит Math Function - обратную (reciprocal) или оставшиеся (rem) блоки, которые могут привести к нефинитным выходным сигналам. Нефинитные сигналы не поддерживаются во встраиваемых системах реального времени. | При использовании блока Math Function с rem или reciprocal functions, защитить вход в блок от того, чтобы быть меньше или равным нулю. |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.sldv.hism.hisl_0004
Определяет блоки Math Function, используя log и log10 функции, которые могут вызвать нефинитные результаты.
Доступно с Simulink Check. Для этой проверки требуется лицензия Simulink Design Verifier (SLDV).
Примечание: Эта проверка выполнит анализ SLDV на модели.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько блоков Math в модели используют натуральный/базовый 10 логарифм (Log и Log10 ) блокирует и может потребовать поддержки без конечных чисел, которая не поддерживается во встраиваемых системах в реальном времени. | Рассмотрите защиту входного параметра блоков так, чтобы вход был не меньше или равен нулю. |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0006
Эта проверка проверяет использование блоков While Iterator.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит While Iterator блок, который имеет неограниченные итерации. Это условие может привести к бесконечным циклам в сгенерированном коде. | Для идентифицированных блоков While Iterator:
|
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0007
Эта проверка проверяет использование зависящих от времени блоков в For Iterator или While Iterator подсистеме.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит один из следующих зависящих от времени блоков в For Iterator или While Iterator подсистеме:
| В модели или подсистеме рассмотрите удаление зависящих от времени блоков. |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0008
Эта проверка проверяет использование блоков For Iterator.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блок For Iterator, который имеет переменные итерации. Это условие может привести к непредсказуемым временам выполнения или бесконечным циклам в сгенерированном коде. | Для идентифицированных блоков For Iterator выполните одно из следующих действий:
|
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Позволяет исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0010
Эта проверка проверяет использование блоков If.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блок If, использующий выражения Elseif без условия Else. | В If окне Параметров блоков блока выберите Show else condition. Подключите получившийся выходной порт Else к блоку If Action Subsystem. |
Модель или подсистема содержит блок If с выходными портами, которые не соединяются с блоками If Action Subsystem. | Проверьте, что выходные порты блока If соединяются с блоками If Action Subsystem. |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0011
Эта проверка проверяет использование блоков Switch Case
Проверочные флаги Switch Case блокам, которые не используют целочисленные типы данных или значения перечисления для входов. Чтобы соответствовать hisl_0011: Использование блоков Switch Case и блоков Action Subsystem - C, используйте целочисленный тип данных или значение перечисления для входов в блоки Switch Case.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блок Switch Case без случая по умолчанию. | В Switch Case окне Block Parameters выберите Show default case. Соедините полученный по умолчанию выходной порт с блоком Switch Case Action Subsystem. |
Модель или подсистема содержит блок Switch Case с выходом портом, который не соединяется с блоком Switch Case Action Subsystem. | Проверьте, что выходные порты блоков Switch Case соединяются с блоками Switch Case Action Subsystem. |
Модель или подсистема содержит блок Switch Case с нецелочисленными или нечисловыми типами входных портов данных. | Убедитесь, что тип входных данных блоков Switch Case является целым числом или перечислением. |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0012
Эта проверка идентифицирует блоки с неправильными шагами расчета в условно выполненных подсистемах и асинхронно выполненных блоках, зависящих от шаг расчета.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Шаг расчета для блоков не установлен в
| Измените шаг расчета для блоков, которые будут -1 . |
Модель содержит асинхронно выполненные шагом расчета зависимые блоки:
| Ремодель, чтобы удалить шаг расчета зависимые блоки. |
Асинхронно выполненные зависимые от шага расчета блоки помечаются только при наличии Triggered и Function-call блоков.
Не работает на библиотечных моделях.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Проверяйте идентификатор: mathworks.hism.hisl_0013
Проверьте строение модели на наличие настроек диагностики, которые применяются к памяти хранилища данных и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к памяти хранилища данных, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, пытается ли модель считать данные из хранилища данных, в котором она не хранила данные в текущем временном шаге, установлена на значение, отличное от Enable all as errors . Чтение данных перед их записью может привести к использованию устаревших данных или данных, которые не инициализированы. | Установите Detect read before write в диалоговом окне Параметров конфигурации или установите параметр ReadBeforeWriteMsg на Enable all as errors . |
Диагностика, которая определяет, пытается ли модель хранить данные в хранилище данных, после предварительного чтения данных из него на текущем временном шаге, устанавливается на значение, отличное от Enable all as errors . Запись данных после их чтения может привести к использованию устаревших или неправильных данных. | Установите Detect write after read в диалоговом окне Параметров конфигурации или установите параметр WriteAfterReadMsg на Enable all as errors . |
Диагностика, которая определяет, пытается ли модель хранить данные в хранилище данных дважды последовательно в текущем временном шаге, устанавливается на значение, отличное от Enable all as errors . Запись данных дважды за один временной шаг может привести к непредсказуемым данным. | Установите Detect write after write в диалоговом окне Параметров конфигурации или установите параметр WriteAfterWriteMsg на Enable all as errors . |
Диагностика, которая обнаруживает, когда одна задача читает данные из блока Data Store Memory, в который другая задача записывает данные, установлена в none или warning . Чтение или запись данных в различные задачи в многозадачном режиме может привести к повреждению или непредсказуемости данных. | Установите Multitask data store в диалоговом окне Параметров конфигурации или установите параметр MultiTaskDSMMsg на error . |
Диагностика обнаруживает, что Duplicate data store names параметра не установлен на error . | Установите Duplicate data store names в диалоговом окне Параметров конфигурации или установите параметр UniqueDataStoreMsg на error . |
Нажатие Modify Settings настраивает параметры диагностики модели, которые применяются к памяти хранилища данных и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0015
Эта проверка идентифицирует блоки Merge , которые не подключены непосредственно к условно выполненной подсистеме и имеют параметр Allow unequal port widths, установленный на on.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Блок слияния не соединяется непосредственно с условно выполненной подсистемой. | Ремодель, так что блоки Merge соединяются непосредственно с условно выполненными подсистемами. |
Значение Allow unequal port widths Merge параметров блоков устанавливается равным on. | Установите значение параметров блоков Merge Allow unequal port widths равным off |
Несколько подсистем выполняется в течение временного шага в условно выполненных подсистемах. | Задайте выполнение условно выполненных подсистем таким образом, чтобы только одна подсистема выполнялась в течение временного шага. |
Параметр Outport блока Output when disabled не установлен в held для каких-либо условно выполненных подсистем в модели. | Установите параметр Outport блока Output when disabled, чтобы held для каждой объединяемой условно выполненной подсистемы. |
Эта проверка не проверяет порядок выполнения для условно выполненных подсистем.
Не работает на библиотечных моделях.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Проверяйте идентификатор: mathworks.hism.hisl_0016
Эта проверка проверяет использование:
Блоки, которые равняют типы с плавающей запятой, включая Relational Operator, Compare To Constant, Compare To Zero, Sign, и Detect Change блоки.
Операторы равенства (= = и ~ =) в выражениях в блоках if.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блок, вычисляющий реляционный оператор, который использует оператор = = или ~ = для сравнения сигналов с плавающей точкой. Использование этих операторов на сигналах с плавающей точкой ненадежно и непредсказуемо из-за проблем с точностью с плавающей точкой. Эти операторы могут привести к непредсказуемым результатам в сгенерированном коде. | Для идентифицированного блока выполните одно из следующих действий:
|
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0017
Эта проверка проверяет использование блоков, которые вычисляют реляционные операторы, включая Relational Operator, Compare To Constant, Compare To Zero и, Detect Change блоки.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блок, вычисляющий реляционный оператор, который работает с различными типами данных. Условие может привести к непредсказуемым результатам в сгенерированном коде. | Для идентифицированных блоков используйте общие типы данных в качестве входов. Можно использовать блоки Data Type Conversion для изменения типов входных данных. |
Модель или подсистема содержит блок, вычисляющий реляционный оператор, который не имеет логического выхода. Условие может привести к непредсказуемым результатам в сгенерированном коде. | Для указанных блоков на панели Block Parameters > Signal Attributes установите значение Output data type boolean . |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0018
Идентифицируйте использование блоков Logical Operator, которые могут повлиять на безопасность.
Эта проверка проверяет использование блоков Logical Operator.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блок Logical Operator, который имеет входы или выходные параметры, не являющиеся логическими входами или выходами. Блок может привести к сравнению равенств или неравенств с плавающей точкой в сгенерированном коде. |
|
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0019
Идентифицируйте блоки битовой операции со знаком типов данных как входы
Эта проверка определяет использование битовых операций для типов входных и выходных данных. Проверка также рассматривает другие блоки битовых операций следующим образом:
Бит
Бит
Побитовый оператор
Извлечение бит
Арифметика сдвига
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Операции Bitwise не используются с типами данных со знаком. | Используйте тип данных со знаком для операций Bitwise. |
Позволяет исключения блоков и графиков.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Проверяйте идентификатор: mathworks.hism.hisl_0020
Идентифицируйте блоки, не поддерживаемые генерацией кода или не рекомендуемые для развертывания производственного кода C/C + +.
Эта проверка частично идентифицирует конструкции модели, которые не рекомендованы для генерации производственного кода C/C + +. Для Simulink Coder™ и Embedded Coder®, эти тождества конструкций модели появляются в таблицах Simulink Block Support (Simulink Coder).
В некоторых случаях эта проверка флагов блоков, поддерживаемых для генерации кода. Для этих блоков необходимо просмотреть информацию о сноске, содержащуюся в примечаниях к поддержке, и придерживаться рекомендуемого действия, предоставленного Model Advisor.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блоки, которые не должны использоваться для развертывания производственного кода. | Рассмотрите замену блоков, перечисленных в результатах. Щелкните элемент из списка сомнительных элементов, чтобы найти условие. |
Модель или подсистема содержит блоки, которые поддерживаются, но не рекомендованы для генерации производственного кода. | Проверьте примечания к поддержке и придерживайтесь рекомендуемого действия, предоставленного Model Advisor. |
Работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое маскированных подсистем.
Допускает исключения блоков и графиков.
DO-331, раздел MB.6.3.2.b - Низкоуровневые требования являются точными и последовательными
hisl_0020: Блоки, не рекомендуемые для податливости C:2012 MISRA
Блоки и продукты, поддерживаемые для генерации кода (Simulink Coder)
IEC 61508-3, Таблица A.3 (3) - Подмножество языков
МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО
ISO 26262-6, Таблица 1 (1b) - Использование языковых подмножеств
EN 50128, таблица A.4 (11) - Подмножество языков
Блоки и продукты, поддерживаемые для генерации кода (Simulink Coder)
Проверяйте идентификатор: mathworks.hism.hisl_0021
Идентифицируйте блоки с непоследовательным методом индексирования.
Использование несогласованных методов индексирования блоков может привести к ошибкам моделирования. Вы должны использовать последовательный векторный метод индексирования для всех блоков. Методы индексирования являются основанными на нуле, основанными на одном или заданными пользователем.
Блоки, поддерживающие конфигурируемую индексацию:
Блоки, которые поддерживают только индексацию на основе одного:
Fcn (устаревший)
State Transition Table (Stateflow)
Test Sequence (Simulink Test)
Truth Table (Stateflow)
Диаграмма Stateflow с языком действий MATLAB
Функция Таблица с языком действий MATLAB
Блоки, который поддерживает только индексацию с нулем:
Диаграмма Stateflow с языком действий C
Функция таблицы истинности с языком действий C
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блоки с несогласованными методами индексирования. Методы индексирования являются основанными на нуле, основанными на одном или заданными пользователем. | Измените модель, чтобы использовать один последовательный метод индексирования. |
Работает на библиотечных моделях.
Не анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое в маскированных подсистемах, не имеющих рабочих областей и диалоговых окон.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0022
Эта проверка Идентифицирует блоки с индексными сигналами, которые имеют типы данных, отличные от целых чисел или перечисления, и находятся в области значений индексированных значений.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько блоков Simulink в модели имеют сигналы индекса, которые имеют типы данных, отличные от целого числа или перечисления. | Измените тип данных сигналов индекса блоков на целое число или тип данных перечисления, который охватывает область значений индексированных значений. |
Один или несколько блоки MATLAB function имеют индексные переменные с неподходящими типами данных. | Измените тип данных индексных переменных на целое число или тип данных перечисления, который охватывает область значений индексированных значений. |
Одна или несколько диаграмм Stateflow в модели имеют индексные переменные, которые имеют типы данных, отличные от целого числа или перечисления. | Измените тип данных сигналов индекса блоков на целое число или тип данных перечисления, который покрывает область значений индексированных значений. |
Эта проверка не поддерживает индексы набора диалоговых окон.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным graphical
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0023
Проверьте параметры блоков варианта для настроек, которые могут привести к коду, который не отслеживает требования.
Эта проверка проверяет, что параметры вариантов блоков для генерации кода установлены на соответствие требованиям.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Опция для генерации условий препроцессора выбрана в одном или нескольких вариантных блоках модели. | В порядок упрощения трассировки кода к требованиям рассмотрите удаление опции для генерации предварительных условий в вариантных блоках. |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое маскированных подсистем.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0024
Идентифицируйте корневую модель Inport блоках с отсутствующими или унаследованными шагами расчета, типами данных или размерностями портов.
Использование корневых блоков Inport модели, которые не имеют определенного шага расчета, типов данных или размерностей портов, может привести к нежелательным результатам симуляции. Simulink back-распространяет размерности, шаги расчета и типы данных из нисходящих блоков, если вы явно не присвоите эти значения. Можно задать Inport свойства блоков с параметрами блоков или объектами сигнала Simulink, которые явно разрешаются к соединенным сигнальным линиям. Когда вы запускаете проверку, таблица результатов содержит ссылки на блоки Inport и сигнальные объекты, которые не проходят, а также условия, запускающие предупреждение.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Отсутствующий размер порта - Модель содержит блоки Inport с унаследованными размерностями порта. | Для перечисленных блоков Inport и объектов сигнала Simulink задайте размерности портов. |
Отсутствующий тип данных сигнала - Модель содержит блоки Inport с унаследованными типами данных. | Для перечисленных блоков Inport и объектов сигнала Simulink задайте типы данных. |
Отсутствующий шаг расчета порта - Модель содержит блоки Inport с унаследованными шагами расчета. | Для перечисленных блоков Inport и объектов сигнала Simulink задайте шаги расчета. Шаги расчета для корневых Inports с типом шины должно совпадать с шагами расчета, заданным в элементах листа объекта шины. |
Неявное разрешение к объекту сигнала Simulink - Модель содержит имена сигналов блоков Inport, которые неявно разрешаются к объекту сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink. | Для перечисленных объектов сигнала Simulink, в диалоговом окне свойств, выберите Signal name must resolve to Simulink signal object свойства сигнала. Чтобы установить эту опцию программно, используйте параметр port MustResolveToSignalObject. |
Не работает на библиотечных моделях.
Допускает исключения блоков и графиков.
Эту проверку проходят следующие строения:
Configuration Parameters > Solver > Periodic sample time constraint установлено на Ensure sample time independent
Для моделей export-function унаследованный шаг расчета не помечен.
Проверяйте идентификатор: mathworks.hism.hisl_0025
Идентифицируйте блоки Inport корневого уровня с отсутствующими или ошибочными минимальными или максимальными значениями области значений.
Проверка идентифицирует блоки Inport корневого уровня с отсутствующими или ошибочными минимальными или максимальными значениями области значений. Можно задать минимальное и максимальное значения блоков Inport с параметрами блоков или объектами сигнала Simulink, которые явно разрешаются к соединенным сигнальным линиям. Таблица результатов содержит ссылки на блоки Inport и сигнальные объекты, которые не проходят проверку, а также условия, запускающие предупреждение.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Отсутствующий диапазон - Модель содержит блоки Inport с типами числовых данных, которые имеют отсутствующие параметры области значений (минимальные и/или максимальные). | Для перечисленных блоков Inport и объектов сигнала Simulink задайте скалярные минимальные и максимальные параметры. |
Отсутствующие области (области) значений для объекта шины - Объекты шины, определяющие блоки Inport, имеют элементы шины с отсутствующими областями значений. | Для перечисленных элементов шины, чтобы задать область значений интерфейсов модели, предоставьте скалярные минимальные и максимальные параметры. |
Заданная область значений будет проигнорирована - Минимальные или максимальные значения в объектах Inports или Simulink не поддерживаются для типов данных шины. Значения игнорируются во время проверки области значений. | Чтобы включить проверку области значений, задайте минимальное и максимальное значения сигналов на элементах шины объектов шины, определяющих тип данных. |
Тип данных не задан - Модель содержит блоки Inport или объекты сигнала Simulink с унаследованными типами данных. | Укажите один из поддерживаемых типов данных: |
Неявное разрешение к объекту сигнала Simulink - Модель содержит имена сигналов блоков Inport, которые неявно разрешаются к объекту сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink. | Для перечисленных объектов сигнала Simulink, в диалоговом окне свойств, выберите Signal name must resolve to Simulink signal object свойства сигнала. Чтобы установить эту опцию программно, используйте параметр port MustResolveToSignalObject. |
Не работает на библиотечных моделях.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0026
Идентифицируйте блоки Outport корневого уровня с отсутствующими или ошибочными минимальными или максимальными значениями области значений.
Проверка идентифицирует блоки Outport корневого уровня с отсутствующими или ошибочными минимальными или максимальными значениями области значений. Можно задать минимальное и максимальное значения блоков Outport с параметрами блоков или объектами сигнала Simulink, которые явно разрешаются к соединенным сигнальным линиям. Таблица результатов содержит ссылки на блоки Outport, которые не проходят проверку, а также условия, инициирующие предупреждение.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Отсутствующий диапазон - Модель содержит блоки Outport с типами числовых данных, которые имеют отсутствующие параметры области значений (минимальные и/или максимальные). | Для перечисленных блоков Outport и объектов сигнала Simulink задайте скалярные минимальные и максимальные параметры. |
Отсутствующие области (области) значений для объекта шины - Объекты шины, определяющие блоки Outport, имеют листовые элементы с отсутствующими областями значений. | Для перечисленных элементов листа, чтобы задать область значений интерфейсов модели, предоставьте скалярные минимальные и максимальные параметры. |
Область значений, заданная в Outport, будет проигнорирована - Минимальные или максимальные значения в Outports или Сигнал Simulink объектах не поддерживаются для типов данных шины. Значения игнорируются во время проверки области значений. | Чтобы включить проверку области значений, задайте минимальное и максимальное значения сигналов на листовых элементах объектов шины, определяющих тип данных. |
Тип данных шины не задан - Модель содержит блок Outport или объекты сигнала Simulink с унаследованными типами данных шины. | Для объектов Outport и сигнал Simulink, задайте один из поддерживаемых типов данных:
|
Неявное разрешение к объекту сигнала Simulink - Модель содержит имена сигналов блоков Outport, которые неявно разрешаются к объекту сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink. | Для перечисленных объектов сигнала Simulink, в диалоговом окне свойств, выберите Signal name must resolve to Simulink signal object свойства сигнала. Чтобы установить эту опцию программно, используйте параметр port MustResolveToSignalObject. |
Эта проверка не помечает порты с типом данных Enum или Boolean, когда значения min max не заданы.
Не работает на библиотечных моделях.
Позволяет исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0029
Идентифицируйте использование блоков Math Operation, которые могут повлиять на безопасность.
Эта проверка проверяет использование блоков Assignment.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема могут содержать Assignment блоков с неполной инициализацией массива (не в iterator подсистеме), которые не имеют блочных параметров, Action if any output element is not assigned установлено на Error или Warning. | Установите Action if any output element is not assigned параметров блоков в одно из рекомендуемых значений:
|
Модель или подсистема могут содержать Assignment блоков в подсистеме iterator , и Action if any output element is not assigned параметра не установлен в Error. | Установите параметры блоков Action if any output element is not assigned в Error. |
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0031
Эта проверка проверяет имя файла модели, чтобы убедиться, что имя соответствует рекомендуемым рекомендациям.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Имя файла содержит недопустимые символы. | Переименуйте файл. Допустимые символы: a-z, A-Z, 0-9 и подчеркивание (_). |
Имя файла начинается с числа. | Убедитесь, что имя файла не начинается с числа. |
Имя файла начинается с подчеркивания («_»). | Убедитесь, что имя файла не начинается с подчеркивания («_»). |
Имя файла заканчивается подчеркиванием («_»). | Убедитесь, что имя файла не заканчивается подчеркиванием («_»). |
Расширение файла содержит один или несколько подчеркиваний. | Измените расширение файла. |
Имя файла имеет последовательные символы подчеркивания. | Переименуйте файл, чтобы исключить конечный символ подчеркивания. |
Имя файла содержит более одной точки (. «»). | Убедитесь, что имя файла не содержит более одной точки (. «»). |
имя файла является ключевым словом C/C + + или MATLAB или встроенной функцией | Переименуйте файл. |
Работает на библиотечных моделях.
Проверяйте идентификатор: mathworks.hism.hisl_0032
Проверяйте имена объектов модели.
Эта проверка проверяет, что следующие имена объектов модели соответствуют вашим собственным руководствам по моделированию или руководствам по моделированию высокой целостности. Проверка также проверяет, что объект модели не использует зарезервированное имя.
Блоки
Сигналы
Параметры
Автобусы
Объекты Stateflow
Зарезервированные имена:
Ключевые слова MATLAB
Зарезервированные ключевые слова для C, C++ и генерации кода. Полный список см. в Reserved Keywords (Simulink Coder)
int8
, uint8
int16
, uint16
int32
, uint32
inf
, Inf
NaN
, nan
eps
intmin
, intmax
realmin
, realmax
pi
infinity
Nil
Примечание
В некоторых случаях Model Advisor сообщает о проблеме в нескольких подшеках этой проверки.
Доступно с Simulink Check.
Чтобы задать имена стандартов именования и объектов модели, которые флаги проверки, используйте Model Advisor Configuration Editor.
Откройте Редактор конфигурации модели и перейдите к Check model object names. На панели Input Parameters для каждого из объектов модели выберите один из следующих:
MAB
для использования стандарта именования MAB. Когда вы выбираете MAB
проверка использует регулярное выражение (^.{32,}$)|([^a-zA-Z_0-9])|(^\d)|(^ )|(__)|(^_)|(_$)
чтобы проверить, что имена:
Используйте следующие символы: a-z
, A-Z
, 0-9
и символ подчеркивания (_)
.
Не начинайте с числа.
Не используйте символ подчеркивания в начале или конце строки.
Не используйте более одного последовательного подчеркивания.
Используйте строки длиной менее 32 символов.
Custom
использовать свой собственный стандарт именования. Когда вы выбираете Custom
, можно ввести собственное Регулярное выражение для запрещенных <model object>
имена. Для примера, если вы хотите разрешить более одного последовательного подчеркивания, введите (^.{32,}$)|([^a-zA-Z_0-9])|(^\d)|(^ )|(^_)|(_$)
None
если вы не хотите, чтобы проверка проверяла имя объекта модели
Нажмите Apply.
Сохраните строение. При запуске проверки с использованием этого строения проверка использует заданные параметры входа.
Состояние | Рекомендуемое действие |
---|---|
Имена объектов модели не соответствуют стандарту именования, заданному в параметрах входа. | Обновите имена объектов модели, чтобы они соответствовали вашим собственным рекомендациям или руководствам по высокой целостности. |
Не работает на библиотечных моделях.
Не анализирует содержимое библиотечно связанных блоков.
Не анализирует содержимое во всех маскированных подсистемах.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0033
Проверьте наличие блоков интерполяционной таблицы, которые не генерируют код проверки вне области допустимого.
Эта проверка проверяет, что следующие блоки генерируют код для защиты от входов, которые выходят за пределы области значений допустимых значений точек по оси Х:
Эта проверка также проверяет, что блоки Interpolation Using Prelookup генерируют код для защиты от входов, которые выходят за пределы области значений допустимых значений индекса.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Блок интерполяционной таблицы не генерирует код проверки вне области допустимого. | Измените настройку в диалоговом окне блока, чтобы сгенерировать код проверки вне области допустимого.
|
Работает на библиотечных моделях.
Не анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Допускает исключения блоков и графиков.
Нажатие Modify проверяет, что блоки интерполяционной таблицы настроены на генерацию кода проверки вне области допустимого.
Проверяйте идентификатор: mathworks.hism.hisl_0034
Идентифицируйте использование блоков Signal Routing, которые могут повлиять на безопасность.
Эта проверка идентифицирует модели или блоки Switch подсистемы, которые могут сгенерировать код с операциями неравенства (~ =) в выражениях, которые содержат переменную с плавающей точкой или константу.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель или подсистема содержит блок Switch, который может сгенерировать код с операциями неравенства (~ =) в выражениях, где, по крайней мере, одна сторона выражения содержит переменную с плавающей точкой или константу. Блок Switch может вызвать сравнения неравенства с плавающей точкой в сгенерированном коде. | Для идентифицированного блока выполните одно из следующих действий:
|
Не работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0036
Проверьте строение модели на наличие настроек диагностики, которые применяются к сохранению файлов модели
Эта проверка проверяет, что параметры конфигурации модели установлены оптимально для сохранения модели в приложении, связанном с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая определяет, содержит ли модель отключенные библиотечные ссылки, прежде чем модель будет сохранена, установлена на none или warning . Если это условие не обнаружено, может быть сгенерирован неправильный код. | Установите Block diagram contains disabled library links в Параметры конфигурации окне или установите параметр SaveWithDisabledLinkMsg на error . |
Диагностика, которая определяет, содержит ли модель библиотечные ссылки, которые используют параметры, не содержащиеся в маске, прежде чем модель будет сохранена, установлена на none или warning . Если это условие не обнаружено, может быть сгенерирован неправильный код. | Установите Block diagram contains parameterized library links в Параметры конфигурации окне или установите параметр SaveWithParameterizedLinksMsg на error . |
Нажатие Modify Settings конфигурирует настройки диагностики модели, которые применяются к сохранению файла модели.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0037
Проверьте строение модели на соответствие настройкам модели, которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации модели для ссылки на модель установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель-ссылка сконфигурирована так, что ее цель перестраивается каждый раз, когда вы обновляете, моделируете или генерируете код для модели, или если программное обеспечение Simulink обнаруживает изменения в известных зависимостях. Эти строения настройки могут привести к ненужной регенерации кода, что приводит к изменению только даты файла и замедлению процесса сборки при использовании моделей-ссылок. | Установите Rebuild на панели Model Referencing в диалоговом окне Параметров конфигурации или установите параметр UpdateModelReferenceTargets на Never или If any changes detected . |
Диагностика, которая определяет, нужно ли перестраивать цель, установлена на None или Warn if targets require rebuild . Для приложений, связанных с безопасностью, ошибка должна предупреждать разработчиков моделей о том, что родительские и ссылочные модели противоречивы. Этот диагностический параметр доступен, только если Rebuild задано значение Never . | Установите Never rebuild diagnostics параметра конфигурации на панели Model Referencing в диалоговом окне Параметров конфигурации или установите параметр CheckModelReferenceTargetMessage на error . |
Способность передавать скалярный корневой вход по значению отключена. Эта возможность должна быть отключена, потому что скалярные значения могут измениться в течение временного шага и привести к непредсказуемым данным. Этот параметр доступен только, когда Total number of instances allowed per top model параметра config установлен в One или Multiple (ModelReferenceNumInstancesAllowed является single или multi ). | Установите Pass fixed-size scalar root inputs by value for code generation на панели Model Referencing в диалоговом окне Параметров конфигурации или установите параметр ModelReferencePassRootInputsByReference на off . |
Модель сконфигурирована, чтобы минимизировать вхождения алгебраического цикла. Это строение несовместимо с рекомендуемой настройкой Single output/update function для кода встраиваемых систем. | В диалоговом окне Параметров конфигурации установите Minimize algebraic loop occurrences или установите параметр ModelReferenceMinAlgLoopOccurrences на off . |
Нажатие Modify Settings конфигурирует параметры ссылок на модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0038
Проверьте строение модели на наличие настроек генерации кода, которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации модели для генерации кода установлены оптимально для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Опция включения комментариев в сгенерированный код снимается. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Include comments (Simulink Coder) на панели Code Generation > Comments в диалоговом окне Параметров конфигурации или установите параметр GenerateComments на on . |
Опция включения комментариев, описывающих код для блоков, снимается. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Комментарии блока Simulink (Simulink Coder) на панели Code Generation > Comments в диалоговом окне Параметры конфигурации или установите параметр SimulinkBlockComments на on . |
Опция включения комментариев, которые описывают код для блоков, исключенных из модели, удаляется. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Show eliminated blocks (Simulink Coder) на панели Code Generation > Comments в диалоговом окне Параметров конфигурации или установите параметр ShowEliminatedStatement на on . |
Опция включения имен переменных параметра и исходных блоков в качестве комментариев в объявление структуры параметра модели в очищается. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Verbose comments for 'Model default' storage class (Simulink Coder) на панели Code Generation > Comments в диалоговом окне Параметров конфигурации или установите параметр ForceParamTrailComments на on . |
Опция включения описаний требований, назначенных блокам Simulink, при удалении комментариев. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Requirements in block comments (Embedded Coder) на панели Code Generation > Custom comments в диалоговом окне Параметров конфигурации или установите параметр ReqsInCode на on . |
Нажатие Modify Settings конфигурирует настройки генерации кода модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
hisl_0038: Параметры конфигурации > Генерация кода > Комментарии
Параметры конфигурации модели: Комментарии (Simulink Coder)
Параметры конфигурации модели: Идентификаторы генерации кода (Simulink Coder)
Параметры конфигурации модели: интерфейс генерации кода (Simulink Coder)
Параметры конфигурации модели: стиль кода (Embedded Coder)
Проверяйте идентификатор: mathworks.hism.hisl_0039
Проверьте строение модели на наличие настроек генерации кода, которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации модели для генерации кода установлены оптимально для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Выбрана опция для генерации нефинитных данных и операций. Поддержка нефинитных чисел неуместна для встраиваемых систем в реальном времени. | Очистите Support: non-finite numbers (Simulink Coder) на панели Code Generation > Interface в диалоговом окне Параметров конфигурации или установите параметр SupportNonFinite на off . |
Выбрана опция для генерации и поддержания целочисленных счетчиков в течение абсолютного и истекшего времени. Поддержка абсолютного времени не подходит для систем, связанных с безопасностью в реальном времени. | Очистить Support: absolute time (Embedded Coder) на панели Code Generation > Interface в диалоговом окне Параметров конфигурации или задать параметр SupportAbsoluteTime на off . |
Выбрана опция для генерации кода для блоков, которые используют непрерывное время. Поддержка непрерывного времени не подходит для систем, связанных с безопасностью в реальном времени. | Очистить Support: continuous time (Embedded Coder) на панели Code Generation > Interface в диалоговом окне Параметров конфигурации или задать параметр SupportContinuousTime на off . |
Выбрана опция для генерации кода для нелинейных S-функций. Эта опция требует поддержки нефинитных чисел, что нецелесообразно для систем, связанных с безопасностью в реальном времени. | Очистите Support: non-inlined S-functions (Embedded Coder) в диалоговом окне Параметров конфигурации или установите параметр SupportNonInlinedSFcns на off . |
Выбрана опция для генерации вызовов функций модели, совместимых с основным программным модулем pre-R2012a цели GRT. Эта опция не подходит для систем, связанных с безопасностью в реальном времени. | Очистите Classic call interface (Simulink Coder) на панели Code Generation > Interface в диалоговом окне Параметров конфигурации или установите параметр GRTInterface на off . |
Опция для генерации функция очищена. Наличие единственного вызова функций выхода и обновления упрощает интерфейс с операционной системой реального времени (RTOS) и упрощает верификацию сгенерированного кода. | Выберите Single output/update function (Simulink Coder) на панели Code Generation > Interface в диалоговом окне Configuration Parameters или установите параметр CombineOutputUpdateFcns на on . |
Опция для генерации функция выбрана. Эта функция освобождает динамическую память, которая непригодна для систем, связанных с безопасностью в реальном времени. | Очистить Terminate function (Embedded Coder) на панели Code Generation в диалоговом окне Параметров конфигурации или задать параметр IncludeMdlTerminateFcn на off . |
Опция регистрации или контроля состояния ошибки удалена. Если вы не выбираете эту опцию, продукт Simulink Coder генерирует дополнительный код, который может оказаться недоступным для проверки. | Выберите Remove error status field in real-time model data structure (Embedded Coder) на панели Code Generation > Interface в диалоговом окне Параметров конфигурации или установите параметр SuppressErrorStatus на on . |
Выбирается логгирование MAT-файлов. Эта опция добавляет дополнительный код для логгирования тестовых точек в MAT-файл, который не поддерживается целевыми процессорами. Используйте эту опцию только в тестовых обвязках. | Очистите MAT-file logging (Simulink Coder) в диалоговом окне Параметров конфигурации или установите параметр MatFileLogging на off . |
Нажатие Modify Settings конфигурирует настройки генерации кода модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
hisl_0039: Параметры конфигурации > Генерация кода > Интерфейс
Параметры конфигурации модели: Комментарии (Simulink Coder)
Параметры конфигурации модели: Идентификаторы генерации кода (Simulink Coder)
Параметры конфигурации модели: интерфейс генерации кода (Simulink Coder)
Параметры конфигурации модели: стиль кода (Embedded Coder)
Проверяйте идентификатор: mathworks.hism.hisl_0040
Проверьте настройки решателя в строения модели, которые применяются ко времени симуляции и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации решателя модели, относящиеся ко времени симуляции, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Настройка решателя, чтобы задать время запуска для симуляции или сгенерированного кода, устанавливается на значение, отличное от | В диалоговом окне Параметров конфигурации установите Start time или установите параметр |
Настройка решателя, чтобы задать время остановки для симуляции или сгенерированного кода, устанавливается на отрицательное значение или положительное значение, больше значения периода жизни приложения (дней). По умолчанию продолжительность жизни приложения (дней) | В диалоговом окне Параметров конфигурации установите Время остановки или установите параметр |
Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к решателям и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Анализирует содержимое маскированных подсистем.
Проверяйте идентификатор: mathworks.hism.hisl_0041
Проверьте настройки решателя в строения модели, которые применяются к решателям и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации решателя модели, относящиеся к решателям, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Настройка решателя, чтобы задать тип решателя для симуляции модели, установлена на | В диалоговом окне Параметров конфигурации установите Type или установите параметр |
Настройка решателя, чтобы задать решатель, чтобы вычислить состояния модели во время симуляции или генерации кода, устанавливается на значение, отличное от | В диалоговом окне Параметров конфигурации установите Решатель равным |
Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к решателям и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Анализирует содержимое маскированных подсистем.
Проверяйте идентификатор: mathworks.hism.hisl_0042
Проверьте настройки решателя в строения модели, которые применяются к периодическим ограничениям шага расчета и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации модели установлены оптимально, чтобы убедиться, что модель работает с определенным набором приоритетных периодических шагов расчета для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Выбран параметр конфигурации <reservedrangesplaceholder0>. | Очистить Automatically handle rate transition for data transfer в диалоговом окне Параметров конфигурации или задать параметр AutoInsertRateTranBlk на off . |
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0043
Проверьте строение модели на наличие настроек диагностики, которые применяются к решателям и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к решателям, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика для обнаружения автоматического поломки алгебраических циклов установлена на none или warning . Разрыв алгебраических циклов может повлиять на предсказуемость порядка выполнения блоков. Для приложений, связанных с безопасностью, разработчик модели должен знать, когда такие пропуски происходят. | Установите Algebraic loop на панели Diagnostics > Solver в диалоговом окне Параметров конфигурации или установите параметр AlgebraicLoopMsg на error . Рассмотрите разрыв таких циклов явно с Unit Delay блоками, чтобы порядок выполнения был предсказуемым. Как минимум, проверьте, что результаты автоматического разрыва циклов приемлемы. |
Диагностика для обнаружения автоматического поломки алгебраических циклов для блоков Model, атомарных подсистем и включенных подсистем установлена на none или warning . Разрыв алгебраических циклов может повлиять на предсказуемость порядка выполнения блоков. Для приложений, связанных с безопасностью, разработчик модели должен знать, когда такие пропуски происходят. | Установите Minimize algebraic loop на панели Diagnostics > Solver в диалоговом окне Параметров конфигурации или установите параметр ArtificialAlgebraicLoopMsg на error . Рассмотрите разрыв таких циклов явно с Unit Delay блоками, чтобы порядок выполнения был предсказуемым. Как минимум, проверьте, что результаты автоматического разрыва циклов приемлемы. |
Диагностика для обнаружения потенциального конфликта в порядке выполнения блока установлена на none или warning . Для приложений, связанных с безопасностью, порядок выполнения блоков должен быть предсказуемым. Разработчик модели должен знать, когда существуют конфликтующие приоритеты блоков. | Установите Block priority violation на панели Diagnostics > Solver в диалоговом окне Параметров конфигурации или установите параметр BlockPriorityViolationMsg на error . |
Диагностика для определения, автоматически ли программное обеспечение Simulink изменяет решатель, размер шага или время остановки симуляции, установлена на none или warning . Такие изменения могут повлиять на операцию сгенерированного кода. Для приложений, связанных с безопасностью, лучше обнаружить такие изменения, чтобы разработчик модели мог явным образом задать параметры на известные значения. | Установите Automatic solver parameter selection на панели Diagnostics > Solver в диалоговом окне Параметров конфигурации или установите параметр SolverPrmCheckMsg на error . |
Диагностика для обнаружения, когда имя используется для нескольких состояний в модели, установлена на none . Имена состояний в модели должны быть уникальными. Для приложений, связанных с безопасностью, лучше обнаружить столкновения имен, чтобы разработчик модели мог их исправить. | Установите State name clash на панели Diagnostics > Solver в диалоговом окне Параметров конфигурации или установите параметр StateNameClashWarn на warning . |
Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к решателям и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0044
Проверьте строение модели на наличие настроек диагностики, которые применяются ко шаг расчета и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к шагам расчета, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика для обнаружения, когда исходный блок, такой как блок Sine Wave, наследует шаг расчета (заданное как -1), установлена на none или warning . Использование унаследованных шагов расчета для исходного блока может привести к непредсказуемой скорости выполнения для исходного блока и связанных с ним блоков. Для приложений, связанных с безопасностью, исходные блоки должны иметь явные шаги расчета, чтобы предотвратить неправильное секвенирование выполнения. | Установите Source block specifies -1 sample time на панели Diagnostics > Sample Time в диалоговом окне Параметров конфигурации или установите параметр InheritedTslnSrcMsg на error . |
Диагностика для обнаружения недопустимой передачи данных между двумя блоками, работающими в многозадачном режиме, установлена на none или warning . Такая передача данных не должна использоваться для встроенного кода в реальном времени. | Установите Multitask data transition на панели Diagnostics > Sample Time в диалоговом окне Параметров конфигурации или установите параметр MultiTaskRateTransMsg на error . |
Диагностика для обнаружения подсистем, которые могут вызвать повреждение данных или недетерминированное поведение, установлена на none или warning . Эта диагностика определяет, работают ли в многозадачном режиме условно выполненные многоуровневые подсистемы (включенные, срабатывающие или функциональные подсистемы). Такие подсистемы могут повреждать данные и вести себя непредсказуемо в окружениях реального времени, которые допускают упреждение. | Установите Multitask conditionally executed subsystem на панели Diagnostics > Sample Time в диалоговом окне Параметров конфигурации или установите параметр MultiTaskCondExecSysMsg на error . |
Диагностика для проверки согласованности шага расчета между блоком Signal Specification и подключенным блоком назначения установлена на none или warning . Переопределённый шаг расчета может привести к непредсказуемой скорости выполнения. | Установите Enforce sample times specified by Signal Specification blocks на панели Diagnostics > Sample Time в диалоговом окне Параметров конфигурации или установите параметр SigSpecEnsureSampleTimeMsg на error . |
Диагностика обнаруживает, что Single task data transfer параметра не установлен на error . | Установите Single task data transfer в диалоговом окне Параметров конфигурации или установите параметр SingleTaskRateTransMsg на error . |
Диагностика обнаруживает, что Tasks with equal priority параметра не установлен на error . | Установите Tasks with equal priority в диалоговом окне Параметров конфигурации или установите параметр TasksWithSamePriorityMsg на error . |
Диагностика для определения, содержит ли модель S-функцию, которая не была явно задана для наследования шага расчета, установлена на none или warning . Эти настройки могут привести к непредсказуемому поведению. Разработчик модели должен знать, когда такая S-функция существует в модели, поэтому она может быть изменена, чтобы создать предсказуемое поведение. | Установите Unspecified inheritability of sample time
в Параметры конфигурации окне или установите параметр UnknownTsInhSupMsg на error . |
Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются ко шаг расчета и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0045
Проверьте строение модели на оптимизацию, которая может повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации оптимизации модели установлены оптимально для генерации кода для приложения, связанного с безопасностью. Хотя высоко оптимизированный код желателен для большинства систем в реальном времени, некоторые оптимизации могут иметь нежелательные побочные эффекты, которые влияют на безопасность.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Реализация логических сигналов при очистке логических данных. Строгий набор данных рекомендуется для кода, связанного с безопасностью. | Выберите параметр конфигурации <reservedrangesplaceholder1> или установите параметр BooleanDataType на on . |
Нажатие Modify Settings конфигурирует настройки оптимизации модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0046
Проверьте строение модели на оптимизацию, которая может повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации оптимизации модели установлены оптимально для генерации кода для приложения, связанного с безопасностью. Хотя высоко оптимизированный код желателен для большинства систем в реальном времени, некоторые оптимизации могут иметь нежелательные побочные эффекты, которые влияют на безопасность.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Выбрана оптимизация сокращения блоков. Эта оптимизация может удалить блоки из сгенерированного кода, что приводит к требованиям без связанного кода и нарушениям требований трассируемости. | Очистите Block reduction параметра конфигурации или установите BlockReduction параметра на off . |
Нажатие Modify Settings конфигурирует настройки оптимизации модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0047
Проверьте строение модели на наличие настроек генерации кода, которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации модели для генерации кода установлены оптимально для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Для опции, задающего стиль использования круглых скобок, задано значение Minimum (Rely on C/C++ operators precedence) или к Nominal (Optimize for readability) . Для приложений, связанных с безопасностью, явным образом задайте приоритет с круглыми скобками. | Установите ParenthesesLevel параметра на Maximum (Specify precedence with parentheses) . |
Опция, определяющая, сохранять ли порядок операнда, снимается. Эта опция увеличивает трассируемость сгенерированного кода. | Установите PreserveExpressionOrder параметра на on . |
Нажатие Modify Settings конфигурирует настройки генерации кода модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
hisl_0047: Параметры конфигурации > Генерация кода > Стиль кода
Параметры конфигурации модели: Комментарии (Simulink Coder)
Параметры конфигурации модели: Идентификаторы генерации кода (Simulink Coder)
Параметры конфигурации модели: интерфейс генерации кода (Simulink Coder)
Параметры конфигурации модели: стиль кода (Embedded Coder)
Проверяйте идентификатор: mathworks.hism.hisl_0048
Проверьте строение модели на наличие настроек оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации оптимизации модели установлены оптимально для генерации кода для приложения, связанного с безопасностью. Хотя высоко оптимизированный код желателен для большинства систем в реальном времени, некоторые оптимизации могут иметь нежелательные побочные эффекты, которые влияют на безопасность.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Модель включает блоки, которые зависят от истекшего или абсолютного времени и сконфигурированы, чтобы минимизировать объем памяти, выделенной для таймеров. Такое строение ограничивает количество дней, в течение которых приложение может выполнить переполнение таймера. Многие аэрокосмические продукты питаются постоянно, и таймеры не должны принимать ограниченный срок службы. | Установите Application lifespan (days) параметра конфигурации или установите параметр LifeSpan на inf . |
Нажатие Modify Settings конфигурирует настройки оптимизации модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0049
Проверьте строение модели на наличие настроек генерации кода, которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации модели для генерации кода установлены оптимально для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Минимальное количество символов, заданное для генерации строк управления именами, меньше четырех. Можно использовать эту опцию, чтобы минимизировать вероятность того, что имена параметров и сигналов изменятся во время генерации кода, когда модель меняется. Использование этой опции помогает с минимизацией различий кода между версиями файлов, уменьшая усилия по выполнению рассмотрений кода. | Установите Minimum mangle length (Embedded Coder) на панели Code Generation > Identifier в диалоговом окне Параметров конфигурации или параметре MangleLength для значения 4 или более. |
Нажатие Modify Settings конфигурирует настройки генерации кода модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
hisl_0049: Параметры конфигурации > Генерация кода > Идентификаторы
Параметры конфигурации модели: Комментарии (Simulink Coder)
Параметры конфигурации модели: Идентификаторы генерации кода (Simulink Coder)
Параметры конфигурации модели: интерфейс генерации кода (Simulink Coder)
Параметры конфигурации модели: стиль кода (Embedded Coder)
Проверяйте идентификатор: mathworks.hism.hisl_0052
Проверьте строение модели на наличие настроек оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации оптимизации модели установлены оптимально для генерации кода для приложения, связанного с безопасностью. Хотя высоко оптимизированный код желателен для большинства систем в реальном времени, некоторые оптимизации могут иметь нежелательные побочные эффекты, которые влияют на безопасность.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Выбрана оптимизация, которая подавляет генерацию кода инициализации для входных и выходных портов корневого уровня, которые установлены в нуль. Для кода, связанного с безопасностью, необходимо явно инициализировать все переменные. | Если у вас есть лицензия Embedded Coder и вы используете системный целевой файл на основе ERT, очистите Параметр конфигурации <reservedrangesplaceholder1> (Embedded Coder) или установите параметр ZeroExternalMemoryAtStartup на on . Кроме того, подтвердите, что ваш компилятор соответствует стандартам, так как большинство современных компиляторов C инициализируют глобальные данные в нуль. Или интегрируйте внешний, рукописный код, который инициализирует все переменные ввода-вывода до нуля явным образом. |
Выбрана оптимизация, которая подавляет генерацию кода инициализации для внутренних рабочих структур, таких как состояния блока и выходы блоков, которые равны нулю. Для кода, связанного с безопасностью, необходимо явно инициализировать каждую переменную. | Если у вас есть лицензия Embedded Coder и вы используете системный целевой файл на основе ERT, очистите Параметр конфигурации <reservedrangesplaceholder1> (Embedded Coder) или установите параметр ZeroInternalMemoryAtStartup на on . Кроме того, подтвердите, что ваш компилятор соответствует стандартам, так как большинство современных компиляторов C инициализируют глобальные данные в нуль. Или интегрируйте внешний, рукописный код, который инициализирует каждую переменную состояния до нуля явным образом. |
Нажатие Modify Settings конфигурирует настройки оптимизации модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0053
Проверьте строение модели на оптимизацию, которая может повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации оптимизации модели установлены оптимально для генерации кода для приложения, связанного с безопасностью. Хотя высоко оптимизированный код желателен для большинства систем в реальном времени, некоторые оптимизации могут иметь нежелательные побочные эффекты, которые влияют на безопасность.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Оптимизация, которая подавляет генерацию кода, полученную из преобразований с плавающей точкой в целое число, которые переносят значения вне области значений, очищена. Необходимо избегать переполнений для кода, связанного с безопасностью. Когда эта оптимизация отключена, и ваша модель включает блоки, которые отключают параметр Saturate on overflow, генератор кода переносит значения вне области допустимого для этих блоков. Это может привести к недостижимому и, следовательно, непроверяемому коду. | Если у вас есть лицензия Simulink Coder, выберите параметр конфигурации <reservedrangesplaceholder1> (Simulink Coder) или установите параметр EfficientFloat2IntCast на on . |
Нажатие Modify Settings конфигурирует настройки оптимизации модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0054
Проверьте строение модели на оптимизацию, которая может повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации оптимизации модели установлены оптимально для генерации кода для приложения, связанного с безопасностью. Хотя высоко оптимизированный код желателен для большинства систем в реальном времени, некоторые оптимизации могут иметь нежелательные побочные эффекты, которые влияют на безопасность.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Выбрана оптимизация, которая подавляет генерацию кода, который защищает от деления на нули для данных с фиксированной точкой. Необходимо избегать исключений деления на нули в коде, связанном с безопасностью. | Если у вас есть лицензия Embedded Coder и вы используете системный целевой файл на основе ERT, очистите Параметр конфигурации <reservedrangesplaceholder1> (Embedded Coder) или установите параметр NoFixptDivByZeroProtection на off . |
Нажатие Modify Settings конфигурирует настройки оптимизации модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0056
Проверьте строение модели на наличие настроек оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации оптимизации модели установлены оптимально для генерации кода для приложения, связанного с безопасностью. Хотя высоко оптимизированный код желателен для большинства систем в реальном времени, некоторые оптимизации могут иметь нежелательные побочные эффекты, которые влияют на безопасность.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Оптимизация, которая использует заданные минимальное и максимальное значения для сигналов и параметров для оптимизации сгенерированного кода, выбрана. Это может привести к возникновению требований без отслеживаемого кода. (См. DO-331 раздел MB.6.3.4.e - Исходный код прослеживается до низкоуровневых требований.) | Если у вас есть лицензия Embedded Coder и вы используете системный целевой файл на основе ERT, очистите Параметр конфигурации <reservedrangesplaceholder1> (Embedded Coder) или параметр UseSpecifiedMinMax на off . |
Нажатие Modify Settings конфигурирует настройки оптимизации модели, которые могут повлиять на безопасность.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Оптимизируйте сгенерированный код с помощью минимальных и максимальных значений (Embedded Coder)
Радиотехническая комиссия по аэронавтике (RTCA) для информации о DO-178C факторах сертификации бортовых систем и оборудования и смежных стандартах
Проверяйте идентификатор: mathworks.hism.hisl_0061
Идентифицируйте диаграммы Stateflow, которые включают объекты данных, не однозначно определенные.
Эта проверка ищет в вашей модели локальные данные в диаграммах Stateflow, которые не однозначно определены.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Диаграмма Stateflow содержит идентификатор объекта данных, заданный в двух или более возможностях. | Для идентифицированного графика выполните одно из следующих действий:
|
Эта проверка не ищет использование уникальных идентификаторов для сигналов Simulink.
Работает на библиотечных моделях.
Не анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое во всех маскированных подсистемах.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0062
Эта проверка Определяет выражения, которые считываются и записываются в те же глобальные данные в Stateflow.
Для этой проверки требуются лицензии Simulink Check и Stateflow.
Состояние | Рекомендуемое действие |
---|---|
Одно или несколько выражений работают с графическими функциями и глобальными переменными, используемыми в графических функциях. | Переделайте выражения так, чтобы функции и глобальные переменные не использовались в одном выражении. |
Работает на библиотечных моделях.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0063
Эта проверка проверяет длину имен этих пользовательских объектов на соответствие параметру Maximum Identifier length в настройках строения:
Для подсистем с опциями имени функции задано значение User-defined.
Объекты данных, описанные в руководстве.
Объекты сигнала и параметра.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Длина имени функции в подсистеме, больше установленного порога. | Измените имя функции в блоках Subsystem так, чтобы ее длина была меньше установленного порога. |
Имена объектов данных имеют длину, большую порога. | Измените имя функции в блоках Subsystem так, чтобы ее длина была меньше установленного порога. |
Эта проверка не помечает сигналы, которые не разрешаются к объектам.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Проверяйте идентификатор: mathworks.hism.hisl_0066
Эта проверка идентифицирует блоки Gain со значением, которое разрешается до 1, единичной матрицы или матрицы таковых.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько блоков Gain в модели разрешаются к 1 или единичной матрице. | Переделайте блоки Gain так, чтобы значение усиления не разрешилось к 1, матрице тождеств или матрице таковых. |
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0067
Определяет блоки, которые могут привести к вычислениям деления на нули.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько блоков в модели могут привести к вычислениям деления на нули. | Ремодель, чтобы избежать вычислений деления на нули. |
Работает на библиотечных моделях.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0070
Проверьте, связаны ли элементы модели Simulink с документом требований.
Эта проверка проверяет, связаны ли объекты модели с документом, содержащим технические требования для трассируемости.
Доступно с Simulink Check.
Для этой проверки требуется лицензия Simulink Requirements™.
Следующее строение можно задать с помощью Model Advisor Configuration Editor.
Максимальное количество ссылок требования на каждый разрешённые элементы может быть установлено через входной параметр Максимальное количество ссылок требования на элементы модели. По умолчанию значение устанавливается равным 5.
Максимально допустимое количество дочерних объектов на связанный компонент в Simulink может быть задано через входной параметр Максимальное количество дочерних объектов на связанный компонент в Simulink. По умолчанию значение устанавливается равным 100.
Максимально допустимое количество дочерних объектов на связанный компонент в Stateflow может быть задано с помощью входного параметра Максимальное количество дочерних объектов на связанный компонент в Stateflow. По умолчанию значение устанавливается равным 100.
Максимальное количество строк кода на связанную функцию MATLAB может быть установлено через входной параметр Максимальное количество строк кода на связанную функцию MATLAB. По умолчанию значение устанавливается равным 200.
Элементы модели, которые могут быть освобождены от ссылок требования, могут быть установлены через входной параметр Список элементов модели, освобожденных от ссылок требования. По умолчанию в параметр включается следующий список блоков. Вы также можете добавить или удалить блоки согласно вашему требованию.
Ground
Terminator
Inport
Outport
InportShadow
Goto
From
Mux
Demux
CMBlock
DocBlock
System Requirements
Состояние | Рекомендуемое действие |
---|---|
Элементы модели не связаны с документом требований. | Для каждого элемента модели в модели, в редакторе моделей, щелкните правой кнопкой мыши элемент модели, выберите Требования и укажите требование. |
Элементы модели имеют требования к ссылкам, которые превышают установленный порог. | убедитесь, что элементы модели не превышают установленный порог для максимальных ссылок на требования. |
Компоненты в модели со ссылками на требования превышают порог количества дочерних элементов. | Убедитесь, что компоненты со ссылками на требования не превышают порог количества дочерних элементов. |
Работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным off
.
Анализирует содержимое в маскированных подсистемах, не имеющих рабочих областей и диалоговых окон. По умолчанию значение Look under masks входного параметра устанавливается равным graphical
.
Позволяет исключения блоков и графиков.
Не допускает исключения элементов Stateflow.
Эта проверка проверяет требования, которые добавляются к заголовкам функций MATLAB или ко всему телу функции MATLAB.
Отчет о проверке содержит ссылку на вкладке рекомендуемых действий для открытия матрицы трассируемости.
Запустите эту проверку из верхней модели или подсистемы, которую вы хотите проверить.
Трассируемость требований (Simulink Requirements)
DO-331, раздел MB.6.3.1.f - Требования высокого уровня соответствуют системным требованиям
DO-331, раздел MB.6.3.2.f - Низкоуровневые требования соответствуют требованиям высокого уровня
IEC 61508-3, Таблица A.2 (12) - Технические условия и проектные инструменты, Таблица A.2 (9) - Прямая трассируемость между техническими требованиями к безопасности программного обеспечения и программной архитектуры, Таблица A.2 (10) - прослеживаемость назад между спецификацией требований безопасности программного обеспечения и программной архитектурой, Таблица A.4 (8) - прослеживаемость вперед между спецификацией требований безопасности программного обеспечения и разработкой ПО, Таблица A.8 (1) - Анализ влияния
МЭК 62304, 5.2 - Анализ требований к программному обеспечению, 7.4.2 - Анализ влияния изменений программного обеспечения на существующие меры контроля рисков
ISO 26262-6, Таблица 8 (1а) - Документация по проектированию модуля ПО на естественном языке, ISO 26262-6: 7.4.2.а - Проверяемость архитектурного проекта ПО, ISO 26262-8: 8.4.3 Анализ запросов на изменение
EN 50128, Таблица A.3 (23) - Моделирование, поддерживаемое инструментами компьютерного проекта и спецификаций, Таблица D.58 - Трассируемость, Таблица A.10 (1) - Анализ влияния
Проверяйте идентификатор: mathworks.hism.hisl_0071
Определяет несоответствия или недоопределения атрибутов оборудования, которые могут привести к неоптимальным результатам.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько параметров не заданы в системе. | Укажите параметры для обеспечения правильной и эффективной генерации кода для целевого компьютера. |
Одна или несколько целевых спецификаций не совпадают. | Включите параметр Тестовое оборудование аналогично производственному оборудованию или измените целевые спецификации так, чтобы они совпадали. |
Работает на библиотечных моделях.
Позволяет исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0102
Эта проверка идентифицирует переменные управления циклом, использующие нецелочисленные типы данных для следующих:
Для блоков итератора.
Для циклов в блоках MATLAB function.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько блоков For Iterator используют нецелочисленный тип данных для переменной счетчика управления циклом. | Установите тип данных переменной счетчика управления цикла целочисленный тип данных. |
Один или несколько циклов For используют нецелочисленный тип данных для переменной счетчика управления циклом в Блоки MATLAB function. | Установите тип данных переменной счетчика управления цикла целочисленный тип данных. |
Эта проверка не рассматривает переменные управления циклом в диаграммах Stateflow.
Не работает на библиотечных моделях.
Анализирует содержимое связанных с библиотекой блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Допускает исключения блоков и графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0301
Проверьте строение модели на наличие параметров диагностики, которые влияют на совместимость и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к совместимости, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, когда блок не был обновлен, чтобы использовать функции текущего релиза, установлена на none или warning . S-функция, написанная для более ранней версии, может оказаться несовместимой с текущей версией, и сгенерированный код может работать неправильно. | Установите S-function upgrades needed на панели Diagnostics > Compatibility в диалоговом окне Параметров конфигурации или установите параметр SFcnCompatibilityMsg на error . |
Нажатие кнопки Modify Settings настраивает параметры диагностики модели, которые влияют на совместимость и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0302
Проверьте строение модели на наличие настроек диагностики, которые применяются к параметрам и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к параметрам, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, когда происходит понижение параметра, установлена на none или warning . Переход вниз к более низкому диапазону сигнала может привести к числовым переполнениям параметров, что приводит к неожиданному поведению. | Установите Detect downcast на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterDowncastMsg на error . |
Диагностика, которая обнаруживает, когда происходит подтекст параметра, установлена на none или warning . Когда тип данных параметра не имеет достаточного разрешения, значение параметров равняется нулю вместо заданного значения. Это может привести к неправильной операции сгенерированного кода. | Установите Detect underflow на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterUnderflowMsg на error . |
Диагностика, которая обнаруживает, когда происходит переполнение параметра, установлена на none или warning . Числовые переполнения могут привести к неожиданному поведению приложения и должны быть обнаружены и исправлены в приложениях, связанных с безопасностью. | Установите Detect overflow на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterOverflowMsg на error . |
Диагностика, которая обнаруживает, когда параметр теряет точность, установлена на none или warning . Не обнаружение таких ошибок может привести к тому, что параметр будет установлен на неправильное значение в сгенерированном коде. | Установите Detect precision loss на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterPrecisionLossMsg на error . |
Диагностика, которая обнаруживает, когда выражение с настраиваемыми переменными уменьшается до своего численного эквивалента, установлена на none или warning . Это может привести к тому, что настраиваемый параметр неожиданно не будет настраиваться в сгенерированном коде. | Установите Detect loss of tunability на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр ParameterTunabilityLossMsg на error . |
Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к параметрам и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0303
Проверьте строение модели на наличие настроек диагностики, которые применяются к блокам Merge
Эта проверка проверяет, что параметры конфигурации модели установлены оптимально для блоков Merge для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, содержит ли модель блоки Merge с несколькими ведущими блоками, выполняемыми в том же временном шаге, установлена на none или warning . |
В диалоговом окне Параметров конфигурации установите Detect multiple driving блоков executing at the same временного шага или установите параметр |
Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к решателям и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0304
В строении модели проверяйте настройки диагностики, которые влияют на инициализацию модели и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели для инициализации оптимально заданы, чтобы сгенерировать код для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
В диалоговом окне Параметров конфигурации диагностика обнаружения инициализации без определения устанавливается на |
Выполните одно из следующих действий:
|
В диалоговом окне Параметров конфигурации диагностика обнаружения инициализации без определения устанавливается на |
Выполните одно из следующих действий:
|
Чтобы сконфигурировать параметры диагностики, которые влияют на инициализацию модели и могут повлиять на безопасность, нажмите Modify Settings.
Подчеки зависят от результатов подчеков, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0305
Проверьте строение модели на наличие настроек диагностики, которые применяются к данным, используемым для отладки и которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к отладке, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая позволяет блокам верификации модели, установлена на Use local settings или Enable all . Такие блоки должны быть отключены, потому что они являются блоками утверждения, которые предназначены только для верификации. Разработчики моделей не должны использовать утверждения во встроенном коде. | В диалоговом окне Параметров конфигурации установите Model Verification block enabling или установите параметр AssertControl на Disable All . |
Нажатие Modify Settings настраивает параметры диагностики модели, которые применяются к данным, используемым для отладки, и которые могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0306
Проверьте строение модели на наличие настроек диагностики, которые применяются к связности сигналов и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к связности сигнала, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает виртуальные сигналы, которые имеют общий исходный сигнал, но различные метки установлены на none или warning . Эта диагностика относится только к виртуальным сигналам и не влияет на сгенерированный код. Однако несоответствия метки сигнала могут привести к путанице во время обзоров модели. | Установите Signal label mismatch на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр SignalLabelMismatchMsg на error . |
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным входным сигналом, установлена на none или warning . Это должно быть обнаружено, потому что код не генерируется для несвязанных входов блоков. | Установите Unconnected block input ports на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр UnconnectedInputMsg на error . |
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным выходным сигналом, установлена на none или warning . Это должно быть обнаружено, потому что мертвый код может быть результатом несвязанных выходных сигналов блока. | Установите Unconnected block output ports на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр UnconnectedOutputMsg на error . |
Диагностика, которая обнаруживает несвязанные сигнальные линии и несопоставленные блоки Goto или From, установлена на none или warning . Эта ошибка должна быть обнаружена, поскольку код не генерируется для несвязанных линий. | Установите Unconnected line на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр UnconnectedLineMsg на error . |
Нажатие Modify Settings конфигурирует настройки диагностики модели, которые применяются к связности сигналов и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0307
Проверьте строение модели на наличие настроек диагностики, которые применяются к соединению шины и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к соединению шины, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая определяет, подключен ли корневой Outport блок блока Model к шине, но не задает, что объект шины установлен на none или warning . Чтобы сигнал шины пересекал контур модели, сигнал должен быть определен как объект шины для совместимости с моделями более высокого уровня, которые используют модель как образец модели. | Установите Unspecified bus object at root Outport block на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр RootOutportRequireBusObject на error . |
Диагностика, которая определяет, совпадает ли имя элемента шины с именем, заданным соответствующим объектом шины, установлена на none или warning . Эта диагностика препятствует использованию несовместимых шин в блоке с поддержкой шины, так что выходные имена являются противоречивыми. | Установите Element name mismatch на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр BusObjectLabelMismatch на error . |
Диагностика, которая обнаруживает, когда некоторые блоки обрабатывают сигнал как mux/вектор, в то время как другие блоки обрабатывают сигнал как шину, установлена на none или warning . Когда программное обеспечение Simulink автоматически преобразует имитированный сигнал в шину, возможна непреднамеренная операция или непредсказуемое поведение. |
Установите Bus signal treated as vector на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации равной |
Диагностика обнаруживает, что Non-bus signals treated as bus signals параметра не установлен на error . | Установите Non-bus signals treated as bus signals на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или параметре |
Нажатие кнопки Modify Settings конфигурирует параметры диагностики модели, которые применяются к соединению шины и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0308
Проверьте строение модели на наличие настроек диагностики, которые применяются к соединению вызова функции и которые могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к соединению вызова функции, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая определяет, должно ли программное обеспечение Simulink вычислять входы подсистемы вызова функций прямо или косвенно во время выполнения подсистемы Use local settings или Disable all . Эта диагностика обнаруживает непредсказуемую связь данных между подсистемой вызова функций и входами подсистемы в сгенерированном коде. | Установите Context-dependent inputs на панели Diagnostics > Connectivity в диалоговом окне Параметров конфигурации или установите параметр FcnCallInpInsideContextMsg на error . |
Нажатие кнопки Modify Settings конфигурирует настройки диагностики модели, которые применяются к соединению вызова функции и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0309
Проверьте строение модели на наличие настроек диагностики, которые применяются к преобразованиям типов и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к преобразованиям типов, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает блоки Data Type Conversion, когда преобразование типа установлено в none . Программа Simulink может удалить ненужные блоки Data Type Conversion из сгенерированного кода, что может привести к требованиям без соответствующего кода. Удаление этих блоков должно быть идентифицировано, чтобы разработчики моделей могли явным образом удалить ненужные блоки. | Установите Unnecessary type conversions параметра конфигурации или UnnecessaryDatatypeConvMsg параметр в warning . |
Диагностика, которая обнаруживает преобразование вектора в матрицу или матрицу в вектор, в блок входы заданы как none или warning . Когда программное обеспечение Simulink автоматически преобразуется между векторными и матричными размерностями, могут происходить непреднамеренные операции или непредсказуемое поведение. | Установите Vector/matrix block input conversion параметра конфигурации или VectorMatrixConversionMsg параметр в error |
Диагностика, которая обнаруживает, когда 32-битное целое значение преобразовано в значение с плавающей точкой, установлена в none . Этот тип преобразования может привести к потере точности из-за усечения наименее значимых битов для больших целочисленных значений. | Установите 32-bit integer to single precision float conversion параметра конфигурации или Int32ToFloatConvMsg параметр в warning . |
Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к преобразованиям типов и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0310
Проверьте строение модели на наличие настроек диагностики, которые применяются к ссылкам на модели и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к ссылкам на модели, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает несоответствия портов и параметров во время загрузки и обновления модели, установлена на none или warning . Если это не установлено, такие несоответствия могут привести к неправильным результатам симуляции, потому что родительские и ссылочные модели имеют различные интерфейсы. | Установите Port and parameter mismatch на панели Diagnostics > Model Referencing в диалоговом окне Параметров конфигурации или установите параметр ModelReferenceIOMismatchMessage на error . |
Диагностика, которая обнаруживает недопустимые внутренние соединения с Inport корневого уровня текущей модели и блоками Outport, установлена на none или warning . Когда это условие обнаружено, программное обеспечение Simulink может автоматически вставить скрытые блоки в модель, чтобы исправить условие. Скрытые блоки могут привести к сгенерированному коду без отслеживаемых требований. Установка значения диагностики error заставляет разработчиков моделей исправлять модели-ссылки вручную. | Установите Invalid root Inport/Outport block connection на панели Diagnostics > Model Referencing в диалоговом окне Параметров конфигурации или установите параметр ModelReferenceIOMessage на error . |
Диагностика, которая определяет, регистрируют ли To Workspace или Scope блоки данные в ссылочной модели, установлена на none или warning . Логгирование данных не поддерживается для блоков To Workspace и Scope в ссылочных моделях. | Установите Unsupported data logging на панели Diagnostics > Model Referencing в диалоговом окне Параметров конфигурации или установите параметр ModelReferenceDataLoggingMessage на error .Чтобы записать данные в журнал, удалите блоки и выполните регистрацию ссылочных моделей сигналов. Для получения дополнительной информации смотрите Логгирование Ссылочных Сигналов Модели. |
Нажатие Modify Settings конфигурирует настройки диагностики модели, которые применяются к ссылкам на модели и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0311
Проверьте параметры диагностики, связанные с безопасностью для Stateflow
Эта проверка проверяет, что параметры конфигурации модели установлены оптимально для Stateflow для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая определяет, приводит ли строение графика к нежелательному обратному отслеживанию во время симуляции, установлена на none или warning . |
В диалоговом окне Параметров конфигурации установите Unexpected backtracking или установите параметр |
Диагностика, которая определяет, имеет ли строение графика блоки, которые соединяются с входными портами графика, не инициализируют их выходы во время инициализации, установлена на none или warning . |
В диалоговом окне Параметров конфигурации установите Недопустимый доступ к входным данным в инициализации графика или установите параметр |
Диагностика, которая определяет, имеет ли график безусловный переход по умолчанию в состояние или соединение, установлена на none или warning . |
В диалоговом окне Параметров конфигурации установите No безусловных переходов по умолчанию или установите параметр |
Диагностика, которая определяет, содержит ли график переход, который закольцовывается вне родительского состояния или соединения, установлена на none или warning . |
В диалоговом окне Параметров конфигурации установите Transition outside natural родительского элемента или установите параметр |
Диагностика, которая определяет, построен ли график на допустимом пути выполнения, установлена на none или warning . |
В диалоговом окне Параметров конфигурации установите путь выполнения Unreachable или установите параметр |
Диагностика обнаруживает, что Undirected event broadcasts параметра не установлен на none или warning . | Установите Undirected event broadcasts в диалоговом окне Параметров конфигурации или установите параметр SFUndirectedBroadcastEventsDiag на error . |
Диагностика обнаруживает, что Transition action specified before condition action параметра не установлен на none или warning . | Установите Transition action specified before condition action в диалоговом окне Параметров конфигурации или установите параметр SFTransitionActionBeforeConditionDiag на error . |
Нажатие Modify Settings настраивает настройки диагностики модели, которые применяются к решателям и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0314
Проверьте строение модели на наличие настроек диагностики, которые применяются к данным сигнала и могут повлиять на безопасность.
Эта проверка проверяет, что параметры конфигурации диагностики модели, относящиеся к данным сигнала, установлены оптимально для генерации кода для приложения, связанного с безопасностью.
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Диагностика, которая задает, как программное обеспечение Simulink разрешает сигналы, связанные с Simulink.Signal Объекты установлены на Explicit and implicit или Explicit and warn implicit . Для приложений, связанных с безопасностью, разработчики моделей должны четко определять разрешение сигнала. (См. DO-331, раздел MB.6.3.3.b - Программная архитектура согласована.) | Установите Signal resolution на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр Кроме того, чтобы отключить использование |
Диагностика Product блоков, которая обнаруживает сингулярную матрицу, в то время как инвертирование одного из ее входов в режиме матричного умножения установлено на none или warning . Деление на сингулярную матрицу может привести к числовым исключениям при выполнении сгенерированного кода. Это неприемлемо в системах, связанных с безопасностью. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Division by singular matrix на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр CheckMatrixSingularityMsg на error . |
Диагностика, которая обнаруживает, когда программное обеспечение Simulink не может вывести тип данных сигнала во время распространения типа данных, установлена в none или warning . Для приложений, связанных с безопасностью, разработчики моделей должны проверить типы сигналов данных. (См. DO-331, раздел MB.6.3.1.e - Требования высокого уровня соответствуют стандартам и DO-331, раздел MB.6.3.2.e - Требования низкого уровня соответствуют стандартам.) | Установите Underspecified data types на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр UnderSpecifiedDataTypeMsg на error . |
Диагностика, которая обнаруживает, является ли значение сигнала слишком большим, чтобы быть представленным типом данных сигнала, установлена на none или warning . Необнаруженные числовые переполнения могут привести к неожиданному поведению приложения. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Wrap on overflow на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр IntegerOverflowMsg на error . |
Диагностика, которая обнаруживает, является ли значение сигнала слишком большим, чтобы быть представленным типом данных сигнала, приводящим к насыщению, установлена на none или warning . Необнаруженные числовые переполнения могут привести к неожиданному поведению приложения. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Saturate on overflow на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр IntegerSaturationMsg на error . |
Диагностика, которая обнаруживает, когда значение выходного сигнала блока Inf или NaN в текущем временном шаге устанавливается значение none или warning . Когда происходит этот тип выхода сигнала блока, могут возникнуть числовые исключения, и числовые исключения не приемлемы в приложениях, связанных с безопасностью. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Inf or NaN block output на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр SignalInfNanChecking на error . |
Диагностика, которая обнаруживает имена объектов Simulink, которые начинаются с rt установлено в none или warning . Эта диагностика предотвращает конфликты имен с сгенерированными именами сигналов, которые имеют rt префикс. (См. DO-331, раздел MB.6.3.1.e - Требования высокого уровня соответствуют стандартам и DO-331, раздел MB.6.3.2.e - Требования низкого уровня соответствуют стандартам.) | Установите "rt" prefix for identifiers на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр RTPrefix на error . |
Диагностика, которая обнаруживает проверку области значений симуляции, установлена в none или warning . Эта диагностика обнаруживает, когда сигналы превышают свои заданные области во время симуляции. Simulink сравнивает значения сигналов, которые блок выводит с заданной областью и типом данных блока. (См. DO-331, Раздел MB.6.3.1.g - Алгоритмы точны, DO-331, Раздел MB.6.3.2.g - Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Simulation range checking на панели Diagnostics > Data Validity в диалоговом окне Параметров конфигурации или установите параметр SignalRangeChecking на error . |
Нажатие Modify Settings конфигурирует настройки диагностики модели, которые применяются к данным сигнала и могут повлиять на безопасность.
Не работает на библиотечных моделях.
Не допускает исключения блоков или графиков.
Проверяйте идентификатор: mathworks.hism.hisl_0003
Идентифицируйте Sqrt блоки с входами, которые могут быть отрицательными.
Доступно с Simulink Check. Для этой проверки требуется лицензия Simulink Design Verifier (SLDV).
Примечание: Эта проверка выполнит анализ SLDV на модели.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько блоков Sqrt в модели имеют входы, которые могут стать отрицательными во время симуляции. | Ремодель для предотвращения того, чтобы вход блоков Sqrt стал отрицательным. |
Запуск библиотечных моделей.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Проверяйте идентификатор: mathworks.hism.hisl_0028
Идентифицирует Reciprocal Sqrt блоки с входами, которые могут стать нулем или отрицательными.
Доступно с Simulink Check. Для этой проверки требуется лицензия Simulink Design Verifier (SLDV).
Примечание: Эта проверка выполнит анализ SLDV на модели.
Состояние | Рекомендуемое действие |
---|---|
Один или несколько блоков Reciprocal Sqrt в модели имеют входы, которые могут стать нулевыми или отрицательными во время симуляции. | Ремодель для предотвращения того, чтобы вход блоков Reciprocal Sqrt стал нулем или отрицательным. |
Работает на библиотечных моделях.
Анализирует содержимое библиотечно связанных блоков. По умолчанию значение Follow links входного параметра устанавливается равным on
.
Анализирует содержимое маскированных подсистем. По умолчанию значение Look under masks входного параметра устанавливается равным all
.
Проверяйте идентификатор: mathworks.hism.himl_0011
Эта проверка оценивает модель, чтобы проверить, что логические скаляры используются для этих выражений условия:
if
выражения
elseif
выражения
while
выражения
Выражения условия переходов Stateflow
Доступно с Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
| Измените выражение на логический скаляр. |
| Измените выражение на логический скаляр. |
| Измените выражение на логический скаляр. |
Выражение условия выражения перехода Stateflow не является логическим скаляром. | Измените выражение на логический скаляр. |
Таблица результатов идентифицирует каждое выражение, которое содержит выражение, не являющееся логическим скаляром. Чтобы просмотреть проблему, выберите соответствующую ссылку на функцию из таблицы результатов. Model Advisor откроется и подсвечивает соответствующее определение функции или, для Stateflow, открывает график и подсвечивает состояние, в котором происходит проблема.
Вручную измените выражения условий на логические скаляры. Сохраните модель и повторите проверку.
Условия переходов Stateflow и состояний активности не проверяются при использовании C в качестве языка действия Stateflow.
Эта проверка не выполняется для библиотечных моделей.
Анализирует содержимое маскированных подсистем.
Анализирует содержимое связанных с библиотекой блоков.
Недоступные инвариантные условия и фрагменты кода могут не быть проанализированы.
Государства (Stateflow)
Переходы (Stateflow)
Различия между MATLAB и C как синтаксис языка действий (Stateflow)
Проверяйте идентификатор: mathworks.misra.CodeGenSettings
Идентифицируйте параметры конфигурации, которые могут повлиять на генерацию кода C:2012 совместимой с MISRA.
Следование рекомендациям этой проверки увеличивает вероятность генерации MISRA C:2012 совместимого кода для встраиваемых приложений.
Доступно с Embedded Coder и Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Math and Data Types | |
Значение параметра конфигурации Use division for fixed-point net slope computation не установлено на On или Use division for reciprocals of integers only . | Установите Use division for fixed-point net slope computation значение On или Use division for reciprocals of integers only . |
Значение параметра конфигурации <reservedrangesplaceholder1> Значение параметра конфигурации <reservedrangesplaceholder1> | Когда Support non-finite numbers есть:
|
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным Use local settings или Enable All . | Установите Model Verification block enabling значение Disable All . |
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным none или warning . | Установите Undirected event broadcasts значение error . |
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным None | Установите значение параметра конфигурации Wrap on overflow равным warning или error . |
Hardware Implementation | |
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным Undefined
| Установите Production hardware signed integer division rounds to значение Zero или Floor . |
Выбран параметр конфигурации <reservedrangesplaceholder0>. | Очистить Shift right on a signed integer as arithmetic shift. |
Simulation Target | |
Параметр конфигурации <reservedrangesplaceholder1> задано значение, отличное от 0 . | Установите Compile-time recursion limit for MATLAB functions значение 0 . |
Выбран параметр конфигурации <reservedrangesplaceholder0>. | Очистить Dynamic memory allocation in MATLAB functions. |
Выбран параметр конфигурации <reservedrangesplaceholder0>. | Очистить Enable run-time recursion for MATLAB functions. |
Code Generation | |
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным
| Установите Bitfield declarator type specifier значение uint_T . |
Значение параметра конфигурации Casting Modes не установлено на Standards Compliant . | Установите Casting Modes значение Standards Compliant . |
Значение параметра конфигурации Code replacement library не установлено на None или AUTOSAR 4.0 . | Установите Code replacement library значение |
Выбран параметр конфигурации <reservedrangesplaceholder0>. | Очистить External mode. |
Выбран параметр конфигурации <reservedrangesplaceholder0>. | Очистить Generate shared constants. |
Параметр конфигурации <reservedrangesplaceholder0> сброшен. | Выберите Include comments. |
Выбран параметр конфигурации <reservedrangesplaceholder0>. | Очистить MAT-file logging |
Для целевых систем на основе ERT параметров конфигурации <reservedrangesplaceholder0> очищается. | Выберите MATLAB user comments. |
Значение для параметр конфигурации <reservedrangesplaceholder0> не задано. | Установите значение на зависимый от реализации предел. Значение по умолчанию является 31 . |
Значение параметра конфигурации Parenthesis level не установлено на Maximum (Specify precedence with parentheses) . | Установите Parentheses level значение Maximum (Specify precedence with parentheses) . |
Для целевых систем на основе ERT параметров конфигурации <reservedrangesplaceholder2> очищается, когда для File packaging format задано значение Compact | Выберите Preserve static keyword in function declarations. |
Выбран параметр конфигурации <reservedrangesplaceholder0>. | Очистить Replace multiplications by powers of two with signed bitwise shifts. |
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным Auto . | Установите Shared code placement значение |
Для целевых систем на основе ERT выбирается параметр конфигурации <reservedrangesplaceholder0> | Очистить Support continuous time. |
Для целевых систем на основе ERT выбирается параметр конфигурации <reservedrangesplaceholder0> | Очистить Support non-inlined S-functions. |
Значение параметра конфигурации <reservedrangesplaceholder1> установлено равным Classic . | Установите System-generated identifiers значение Shortened . |
Значение параметра конфигурации <reservedrangesplaceholder0> устанавливается на целевом устройстве на основе GRT. | Установите System target file в целевое устройство на основе ERT. |
Параметр конфигурации Use dynamic memory allocation for model initialization выбирается, когда для Code Interface Packaging задано значение Reusable Function . | Очистить Use dynamic memory allocation for model initialization. Примечание Выбирайте только, когда Code Interface Packaging установлено на |
При нажатии кнопки мыши Modify All значения параметров изменяются на рекомендуемые значения.
Примечание
При клике Modify All для моделей с целевым объектом на основе GRT, Model Advisor не обновляет параметр конфигурации System target file для системы на основе ERT.
Подчеки параметра зависят от результатов параметра, отмеченного D в таблице результатов. Когда результатом является D-Warning, в столбце Current Value в таблице результатов указывается, что ограничение «Предварительное условие» не соблюдается для подшеков. После изменения параметра перезапустите проверку.
Примечание
Некоторые подчеки характерны для параметров конфигурации для систем на основе ERT. Эти параметры не обновляются при нажатии кнопки мыши Modify All если вы не измените модель на систему на основе ERT.
Эта проверка не рассматривает ссылку на модели.
Проверяйте идентификатор: mathworks.misra.BlkSupport
Идентифицируйте блоки, которые не поддерживаются или не рекомендуются для генерации кода, совместимого C:2012 MISRA.
Следование рекомендациям этой проверки увеличивает вероятность генерации MISRA C:2012 совместимого кода для встраиваемых приложений.
Доступно с Embedded Coder и Simulink Check.
Состояние | Рекомендуемое действие |
---|---|
Интерполяционные таблицы блоки, использующие кубическую интерполяцию сплайн или методы экстраполяции, были найдены в модели или подсистеме. Конкретными блоками являются:
| Рассмотрите другие методы интерполяции и экстраполяции для блоков Интерполяционной таблицы. |
Устаревшие блоки Интерполяционной таблицы были найдены в модели или подсистеме. Конкретными блоками являются:
| Рассмотрите замену устаревших блоков интерполяционной таблицы. |
S-Function Builder блоки были найдены в модели или подсистеме. | Рассмотрите замену блоков S-Function Builder на блоки, рекомендуемые для производства. |
From Workspace блоки были найдены в модели или подсистеме | Рассмотрите замену блоков Из Рабочей области на блоки, рекомендуемые для производства. |
Строковые блоки были найдены в модели или подсистеме. Конкретными блоками являются:
| Рассмотрите замену строковых блоков на блоки, рекомендуемые для производства. |
Вы можете:
Запустите эту проверку на своих моделях библиотеки.
Анализирует содержимое библиотечно связанных блоков.
Анализирует содержимое маскированных подсистем.
Исключить блоки и графики из этой проверки, если у вас есть лицензия Simulink Check.
Проверка во время редактирования. Эта проверка поддерживается проверкой во время редактирования.