От R2018b и позже, следующие проверки не рекомендуются для использования. Эти проверки разделены в несколько проверок, которые фокусируются на одном действии или операции. Для получения дополнительной информации смотрите Разделение и Новую приведенную ниже таблицу Проверок.
ID проверки: mathworks.hism.hisl_0021
Идентифицируйте блоки с противоречивым методом индексирования.
Используя противоречивый блок методы индексирования может привести к моделированию ошибок. Необходимо использовать сопоставимый векторный метод индексирования для всех блоков. Методы индексирования основаны на нуле, на основе одни или заданы пользователями.
Блоки, которые поддерживают конфигурируемую индексацию:
Индексный вектор
Многопортовый переключатель
“()” Присвоение
Селектор
Для итератора
Блоки, которые поддерживают только индексацию на основе одну:
@fcn
Функция MATLAB
Matlab.system
Таблица изменения состояния
Протестируйте последовательность
Блок Truth Table
Диаграмма Stateflow с языком действия MATLAB
Функция Таблицы истинности с языком действия MATLAB
Блоки, который поддерживает только основанную на нуле индексацию:
Диаграмма Stateflow с языком действия C
Функция Таблицы истинности с языком действия C
Доступный с Simulink® Check™.
Эта проверка требует лицензии Stateflow®.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блоки с противоречивыми методами индексирования. Методы индексирования основаны на нуле, на основе одни или заданы пользователями. | Измените модель, чтобы использовать один сопоставимый метод индексирования. |
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0024
Идентифицируйте корневые блоки модели Inport с пропавшими без вести или наследованными шагами расчета, типами данных или размерностями порта.
Используя корневые блоки модели Inport, которые не имеют заданного шага расчета, типы данных или размерности порта могут привести к нежелательным результатам симуляции. Simulink назад - распространяет размерности, шаги расчета и типы данных от нисходящих блоков, если вы явным образом не присваиваете эти значения. Можно задать свойства блока Inport с параметрами блоков, или Сигнал Simulink возражает, что явным образом решают к связанным сигнальным линиям. Когда вы осуществляете проверку, таблица результатов обеспечивает ссылки на блоки Inport и объекты сигнала, которые не передают, наряду с условиями, инициировавшими предупреждение.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Недостающая размерность порта — Модель содержит блоки Inport с наследованными размерностями порта. | Для перечисленных блоков Inport и объектов Сигнала Simulink, задайте размерности порта. |
Недостающий тип данных сигнала — Модель содержит блоки Inport с наследованными типами данных. | Для перечисленных блоков Inport и объектов Сигнала Simulink, задайте типы данных. |
Недостающий шаг расчета порта — Модель содержит блоки Inport с наследованными шагами расчета. | Для перечисленных блоков Inport и объектов Сигнала Simulink, задайте шаги расчета. Шаги расчета для корневого Inports с типом шины должны совпадать с шагами расчета, заданными в листовых элементах объекта шины. |
Неявное разрешение объекта Сигнала Simulink — Модель содержит имена блока-сигнала Inport, которые неявно решают к объекту Сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink. | Для перечисленных объектов Сигнала Simulink, в диалоговом окне свойства, избранном свойстве Signal name must resolve to Simulink signal object сигнала. Чтобы установить эту опцию программно, используйте параметр порта MustResolveToSignalObject. |
Не работает на моделях библиотеки.
Позволяет исключения блоков и графиков.
Следующие настройки передают эту проверку:
Configuration Parameters > Solver > Periodic sample time constraint установлен в Ensure sample time independent
Для моделей экспорта функций не отмечается наследованный шаг расчета.
ID проверки: mathworks.hism.hisl_0025
Идентифицируйте корневой уровень блоки Inport с тем, чтобы избегать или ошибочными минимальными или максимальными значениями области значений.
Проверка идентифицирует корневой уровень блоки Inport с тем, чтобы избегать или ошибочными минимальными или максимальными значениями области значений. Можно задать блок Inport, минимальные и максимальные значения с параметрами блоков или Сигналом Simulink возражают, что явным образом решают к связанным сигнальным линиям. Таблица результатов обеспечивает ссылки на блоки Inport и объекты сигнала, которые не передают проверку, наряду с условиями, инициировавшими предупреждение.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
При Пропавших без вести области значений — Модель содержит блоки Inport с типами числовых данных, которые имеют недостающие параметры области значений (минимум и/или максимум). | Для перечисленных блоков Inport и объектов Сигнала Simulink, задайте скалярные минимальные и максимальные параметры. |
Недостающая область (области) значений для объекта шины — объекты Шины, задающие блоки Inport, имеет листовые элементы с пропавшими без вести областей значений. | Для перечисленных листовых элементов, чтобы задать область значений интерфейса модели, обеспечивают скалярные минимальные и максимальные параметры. |
Заданная область значений будет проигнорирована — Минимальные или максимальные значения в объектах Inports или Simulink signal не поддержаны для типов данных шины. Значения проигнорированы во время проверки диапазона. | Чтобы включить проверку диапазона, задайте минимальные и максимальные значения сигналов на листовых элементах объектов шины, задающих тип данных. |
Никакой заданный тип данных — Модель не содержит блоки Inport или объекты Сигнала Simulink с наследованными типами данных. | Задайте один из поддерживаемых типов данных:
|
Неявное разрешение объекта Сигнала Simulink — Модель содержит имена блока-сигнала Inport, которые неявно решают к объекту Сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink. | Для перечисленных объектов Сигнала Simulink, в диалоговом окне свойства, избранном свойстве Signal name must resolve to Simulink signal object сигнала. Чтобы установить эту опцию программно, используйте параметр порта MustResolveToSignalObject. |
Не работает на моделях библиотеки.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0026
Идентифицируйте корневые блоки Выходного порта уровня с тем, чтобы избегать или ошибочными минимальными или максимальными значениями области значений.
Проверка идентифицирует корневые блоки Выходного порта уровня с тем, чтобы избегать или ошибочными минимальными или максимальными значениями области значений. Можно задать блок Outport, минимальные и максимальные значения с параметрами блоков или Сигналом Simulink возражают, что явным образом решают к связанным сигнальным линиям. Таблица результатов обеспечивает ссылки на блоки Выходного порта, которые не передают проверку, наряду с условиями, инициировавшими предупреждение.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
При Пропавших без вести области значений — Модель содержит блоки Выходного порта с типами числовых данных, которые имеют недостающие параметры области значений (минимум и/или максимум). | Для перечисленных блоков Выходного порта и объектов Сигнала Simulink, задайте скалярные минимальные и максимальные параметры. |
Недостающая область (области) значений для объекта шины — объекты Шины, задающие блоки Выходного порта, имеет листовые элементы с пропавшими без вести областей значений. | Для перечисленных листовых элементов, чтобы задать область значений интерфейса модели, обеспечивают скалярные минимальные и максимальные параметры. |
Область значений, заданная в Выходном порту, будет проигнорирована — Минимальные или максимальные значения в Выходных портах или объектах Сигнала Simulink не поддержаны для типов данных шины. Значения проигнорированы во время проверки диапазона. | Чтобы включить проверку диапазона, задайте минимальные и максимальные значения сигналов на листовых элементах объектов шины, задающих тип данных. |
Никакой заданный тип данных шины — Модель не содержит блок Outport или объекты Сигнала Simulink с наследованными типами данных шины. | Для блоков Выходного порта и объектов Сигнала Simulink, задайте один из поддерживаемых типов данных:
|
Неявное разрешение объекта Сигнала Simulink — Модель содержит имена блока-сигнала Выходного порта, которые неявно решают к объекту Сигнала Simulink в базовом рабочем пространстве, рабочем пространстве модели или словаре данных Simulink. | Для перечисленных объектов Сигнала Simulink, в диалоговом окне свойства, избранном свойстве Signal name must resolve to Simulink signal object сигнала. Чтобы установить эту опцию программно, используйте параметр порта MustResolveToSignalObject. |
Не работает на моделях библиотеки.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0013
Проверяйте настройку модели на диагностические настройки, которые применяются к памяти хранилища данных, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к памяти хранилища данных, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, пытается ли модель считать данные из хранилища данных, в котором это не хранило данные на шаге текущего времени, установлена в значение кроме Enable all as errors . Чтение данных, прежде чем это будет записано, может привести к использованию устаревших данных или данных, которые не инициализируются. | Установите Detect read before write (Simulink) в диалоговом окне Configuration Parameters или установите параметр ReadBeforeWriteMsg на Enable all as errors . |
Диагностика, которая обнаруживает, пытается ли модель хранить данные в хранилище данных после предыдущего чтения данных из него на шаге текущего времени, установлена в значение кроме Enable all as errors . Записывание данные после того, как это будет считано, может привести к использованию устаревших или неправильных данных. | Установите Detect write after read (Simulink) в диалоговом окне Configuration Parameters или установите параметр WriteAfterReadMsg на Enable all as errors . |
Диагностика, которая обнаруживает, пытается ли модель хранить данные в хранилище данных дважды по очереди на шаге текущего времени, установлена в значение кроме Enable all as errors . Записывание данные дважды в одном временном шаге может привести к непредсказуемым данным. | Установите Detect write after write (Simulink) в диалоговом окне Configuration Parameters или установите параметр WriteAfterWriteMsg на Enable all as errors . |
Диагностика, которая обнаруживает, когда одна задача считывает данные от Блока памяти Хранилища данных, до которого записывает данные другая задача, установлена в none или warning . Чтение или записывание данные в различных задачах в многозадачном режиме могут привести к поврежденным или непредсказуемым данным. | Установите Multitask data store (Simulink) в диалоговом окне Configuration Parameters или установите параметр MultiTaskDSMMsg на error . |
Диагностика обнаруживает, что параметр Duplicate data store names не устанавливается на error . | Установите Duplicate data store names в диалоговом окне Configuration Parameters или установите параметр UniqueDataStoreMsg на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к памяти хранилища данных, и это может повлиять на безопасность.
Эта проверка не проверяет чтения хранилища данных и записи, которые происходят через контуры атомарной подсистемы и подсистему модели.
Эта проверка не проверяет использование хранилищ данных, чтобы записать и считать данные на различных уровнях.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0305
Проверяйте настройку модели на диагностические настройки, которые применяются к данным, используемым за отладку, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к отладке, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая включает образцовые блоки верификации, установлена в Use local settings или Enable all . Такие блоки должны быть отключены, потому что они - блоки утверждения, которые являются для верификации только. Образцовые разработчики не должны использовать утверждения во встроенном коде. | В диалоговом окне Configuration Parameters, набор Model Verification block enabling (Simulink) или установленный параметр AssertControl к Disable All . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к данным, используемым за отладку, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0302
Проверяйте настройку модели на диагностические настройки, которые применяются к параметрам, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к параметрам, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, когда удрученный параметр происходит, установлена в none или warning . Удрученное к более низкому диапазону сигнала может привести к числовым переполнениям параметров, приводящих к неожиданному поведению. | Установите Detect downcast (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterDowncastMsg на error . |
Диагностика, которая обнаруживает, когда потеря значимости параметра происходит, установлена в none или warning . Когда тип данных параметра не имеет достаточного количества разрешения, значение параметров является нулем вместо заданного значения. Это может привести к неправильной операции сгенерированного кода. | Установите Detect underflow (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterUnderflowMsg на error . |
Диагностика, которая обнаруживает, когда переполнение параметра происходит, установлена в none или warning . Числовые переполнения могут привести к неожиданному поведению приложения и должны быть обнаружены и зафиксированы в связанных с безопасностью приложениях. | Установите Detect overflow (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterOverflowMsg на error . |
Диагностика, которая обнаруживает, когда параметр теряет точность, установлена в none или warning . Не обнаружение таких ошибок может привести к параметру, установленному на неправильное значение в сгенерированном коде. | Установите Detect precision loss (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterPrecisionLossMsg на error . |
Диагностика, которая обнаруживает, когда выражение с настраиваемыми переменными уменьшается до своего числового эквивалента, установлена в none или warning . Это может привести к настраиваемому параметру неожиданно не быть настраиваемым в сгенерированном коде. | Установите Detect loss of tunability (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр ParameterTunabilityLossMsg на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к параметрам, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0041
Проверяйте настройки решателя в настройку модели, которые применяются к решателям и могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации решателя, имеющие отношение к решателям, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Установка решателя, чтобы задать тип решателя, чтобы моделировать модель установлена в | В диалоговом окне Configuration Parameters, Тип набора (Simulink) или установленный параметр |
Установка решателя, чтобы задать решатель, чтобы вычислить состояния модели во время симуляции или генерации кода установлена в значение кроме | В диалоговом окне Configuration Parameters, Решатель набора (Simulink) к |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Анализирует содержимое в подсистемах маскированных, которые не имеют никакой рабочей области и никаких диалоговых окон.
ID проверки: mathworks.hism.hisl_0042
Проверяйте настройки решателя в настройку модели, которые применяются к периодическим ограничениям шага расчета и могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации собираются оптимально гарантировать, что модель действует в определенном наборе приоритизированных периодических шагов расчета для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Параметр конфигурации Automatically handle rate transition for data transfer выбран. | Очистите Automatically handle rate transition for data transfer в диалоговом окне Configuration Parameters или установите параметр AutoInsertRateTranBlk на off . |
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisf_0064
Идентифицируйте использование операций сдвига для данных Stateflow, которые могут повлиять на безопасность.
Эта проверка осматривает операции сдвига, которые имеют значения операнда сдвига, больше, чем битная ширина типа ввода или вывода или операнда сдвига, который имеет отрицательную величину.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Операции сдвига вправо больше, чем битная ширина входного типа. | Явным образом измените значение операций сдвига разряда, чтобы быть меньше, чем операнд сдвига. |
Операции сдвига влево больше, чем битная ширина выходного типа. | Явным образом измените значение операций сдвига разряда, чтобы быть меньше, чем операнд сдвига. |
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Не поддерживает операцию сдвига, которой задали размер сдвига как Сигнал Simulink или переменную.
Не поддерживает операции сдвига, которые состоят из размера сдвига, решенного во время выполнения.
ID проверки: mathworks.hism.hisl_0034
Идентифицируйте использование блоков Маршрутизации Сигнала, которые могут повлиять на безопасность.
Эта проверка идентифицирует модель или блоки switch подсистемы, которые могут сгенерировать код по-разному операции (~=) в выражениях, которые содержат переменную с плавающей точкой или постоянный.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок switch, который может сгенерировать код по-разному операции (~=) в выражениях, где по крайней мере одна сторона выражения содержит переменную с плавающей точкой или постоянный. Блок switch может вызвать сравнения неравенства с плавающей точкой в сгенерированном коде. | Для идентифицированного блока выполнить одно из следующих действий:
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisf_0001
Идентифицируйте диаграммы Stateflow, Тип Конечного автомата которых отличается от набора типа в Model Advisor Configuration Editor.
Сравнивает тип конечного автомата всех диаграмм Stateflow к типу, который вы задаете во входных параметрах.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Проверяйте, являются ли все графики Классическими графиками.
Проверяйте, являются ли все графики Мучнистыми графиками.
Проверяйте, являются ли все графики графиками Мура.
Условие | Рекомендуемое действие |
---|---|
Входной параметр устанавливается на Classic , и графики в модели используют другие типы конечного автомата. | Для каждого графика, в диалоговом окне Chart Properties, задают State Machine Type к Classic . |
Входной параметр устанавливается на Moore , и графики в модели используют другие типы конечного автомата. | Для каждого графика, в диалоговом окне Chart Properties, задают State Machine Type к Mealy . |
Входной параметр устанавливается на Moore , и графики в модели используют другие типы конечного автомата. | Для каждого графика, в диалоговом окне Chart Properties, задают State Machine Type к Moore . |
Входной параметр устанавливается на Mealy , и графики в модели используют другие типы конечного автомата. | Для каждого графика, в диалоговом окне Chart Properties, задают State Machine Type к Mealy . |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisf_0002
Идентифицируйте диаграммы Stateflow, которым очистили User specified state/transition execution order.
Идентифицируйте диаграммы Stateflow, которым очистили User specified state/transition execution order, и поэтому не используют явное упорядоченное расположение параллельных состояний и переходов.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Диаграммам Stateflow очистили User specified state/transition execution order. | Для заданных графиков, в диалоговом окне Chart Properties, выбирают User specified state/transition execution order. Чтобы отобразить порядок тестирования перехода, выберите Display> Chart> Transition Execution Order. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
Нажатие на Modify выбирает User specified state/transition execution order для заданных графиков.
ID проверки: mathworks.hism.hisf_0015
Идентифицируйте переменные и параметры в выражениях с различными типами данных в объектах Stateflow.
Чтобы упростить сильный ввод данных, эта проверка идентифицирует переменные и параметры в выражениях с различными типами данных в состояниях Stateflow и переходах.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Объекты Stateflow имеют переменные и параметры в выражениях с различными типами данных. | Явным образом бросьте переменные и параметры в выражениях к совпадающим типам данных. Для получения дополнительной информации смотрите, |
Не работает на моделях библиотеки.
Позволяет исключения блоков и графиков.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Не анализирует тип литералов в выражениях в объектах Stateflow. Явным образом типы бросков литералов к намеченному типу данных.
Не отмечает выражения с помощью истинных и ложных ключевых слов. Для получения дополнительной информации смотрите Зарезервированные слова для Генерации кода (Embedded Coder).
ID проверки: mathworks.hism.hisf_0211
Идентифицируйте унарные операторы в диаграммах Stateflow.
Эта проверка идентифицирует операторы унарный минус на типах данных без знака в диаграммах Stateflow.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Диаграмма Stateflow состоит из оператора унарный минус на типах данных без знака. | Явным образом измените унарный оператор на типах данных без знака. Для получения дополнительной информации смотрите Унарные операции и Действия (Stateflow). |
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Не отмечает выражения с помощью побитовых и арифметических операторов. Например, -(u1/u2)
не отмечается.
ID проверки: mathworks.hism.hisl_0061
Идентифицируйте диаграммы Stateflow, которые включают объекты данных, которые исключительно не заданы.
Эта проверка ищет вашу модель локальные данные в диаграммах Stateflow, которые исключительно не заданы.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Диаграмма Stateflow содержит идентификатор объекта данных, заданный в двух или больше осциллографах. | Для идентифицированного графика выполнить одно из следующих действий:
|
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisf_0011
Проверяйте настройки отладки Stateflow.
Проверьте следующие настройки отладки.
Wrap on overflow
Simulation range checking
Detect Cycles
Underspecified
Overspecified
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Любое следующее:
| В диалоговом окне Configuration Parameters, наборе:
В окне модели выберите:
|
Таблицы истинности не анализируются в этой проверке.
Не работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Позволяет исключения блоков и графиков.
Нажатие на Modify выбирает заданные параметры отладки.
ID проверки: mathworks.hism.hisl_0033
Проверяйте на блоки интерполяционной таблицы, которые не генерируют из области значений проверяющий код.
Эта проверка проверяет, что следующие блоки генерируют код, чтобы защитить от входных параметров, которые выходят за пределы области значений допустимых значений точки останова:
Эта проверка также проверяет, что Интерполяция Используя блоки Перед поиском генерирует код, чтобы защитить от входных параметров, которые выходят за пределы области значений допустимых индексных значений.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блок интерполяционной таблицы не генерирует из области значений проверяющий код. | Измените настройки на диалоговом окне блока так, чтобы проверка из области значений кода была сгенерирована.
|
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Нажатие на Modify проверяет, что блоки интерполяционной таблицы собираются сгенерировать из области значений проверяющий код.
ID проверки: mathworks.hism.hisl_0023
Проверяйте различные параметры блоков на настройки, которые могут привести к коду, который не прослеживает до требований.
Эта проверка проверяет, что различные параметры блоков для генерации кода собираются проследить до требований.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Опция, чтобы сгенерировать условные выражения препроцессора выбрана в одном или нескольких различных блоках в модели. | В порядке упростить трассировку кода к требованиям, полагайте, что очистка опции генерирует условные выражения препроцессора в различных блоках. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0306
Проверяйте настройку модели на диагностические настройки, которые применяются к возможности соединения сигнала, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, принадлежащие возможности соединения сигнала, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает виртуальные сигналы, которые имеют сигнал общего источника, но различные метки установлены в none или warning . Эта диагностика принадлежит виртуальным сигналам только и не имеет никакого эффекта на сгенерированный код. Однако несоответствия метки сигнала могут привести к беспорядку во время образцовых отзывов. | Установите Signal label mismatch (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр SignalLabelMismatchMsg на error . |
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным входным сигналом, установлена в none или warning . Это должно быть обнаружено, потому что код не сгенерирован для несвязанных входных параметров блока. | Установите Unconnected block input ports (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр UnconnectedInputMsg на error . |
Диагностика, которая обнаруживает, когда модель содержит блок с несвязанным выходным сигналом, установлена в none или warning . Это должно быть обнаружено, потому что мертвый код может следовать из несвязанных выходных сигналов блока. | Установите Unconnected block output ports (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр UnconnectedOutputMsg на error . |
Диагностика, которая обнаруживает несвязанные сигнальные линии и несопоставленный Goto или От блоков, установлена в none или warning . Эта ошибка должна быть обнаружена, потому что код не сгенерирован для несвязанных строк. | Установите Unconnected line (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр UnconnectedLineMsg на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к возможности соединения сигнала, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0307
Проверяйте настройку модели на диагностические настройки, которые применяются к возможности соединения шины, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, принадлежащие возможности соединения шины, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, соединяется ли корневой блок Outport блока Model с шиной, но не задает объект шины, установлена в none или warning . Для сигнала шины пересечь образцовый контур, сигнал должен быть задан как объект шины для совместимости с высокоуровневыми моделями, которые используют модель в качестве эталонной модели. | Установите Unspecified bus object at root Outport block (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр RootOutportRequireBusObject на error . |
Диагностика, которая обнаруживает, совпадает ли имя элемента шины с именем, заданным соответствующим объектом шины, установлена в none или warning . Эта диагностика предотвращает использование несовместимых шин в способном к шине блоке, таким образом, что выходные имена противоречивы. | Установите Element name mismatch (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр BusObjectLabelMismatch на error . |
Диагностика, которая обнаруживает, когда некоторые блоки обрабатывают сигнал как мультиплексор/вектор, в то время как другие блоки обрабатывают сигнал как шину, установлена в none или warning . Когда программное обеспечение Simulink автоматически преобразовывает мультиплексированный сигнал в шину, для непреднамеренной операции или непредсказуемого поведения возможно произойти. |
Установите Bus signal treated as vector (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters к |
Диагностика обнаруживает, что параметр Non-bus signals treated as bus signals не устанавливается на error . | Установите Non-bus signals treated as bus signals на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или параметр |
Диагностика обнаруживает, что параметр Repair bus selections не устанавливается на warn and repair . | Установите Repair bus selections на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или параметр |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к возможности соединения шины, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0308
Проверяйте настройку модели на диагностические настройки, которые применяются к возможности соединения вызова функции, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к возможности соединения вызова функции, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает неправильное использование подсистемы вызова функций, установлена в none или warning . Если это условие не обнаружено, неправильный код может быть сгенерирован. | Установите Invalid function-call connection (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр InvalidFcnCallConnMsg на error . |
Диагностика, которая задает, должно ли программное обеспечение Simulink вычислить входные параметры подсистемы вызова функций прямо или косвенно при выполнении подсистемы, установлена в Use local settings или Disable all . Эта диагностика обнаруживает непредсказуемые данные, связывающиеся между подсистемой вызова функций и входными параметрами подсистемы в сгенерированном коде. | Установите Context-dependent inputs (Simulink) на Diagnostics> панель Connectivity в диалоговом окне Configuration Parameters или установите параметр FcnCallInpInsideContextMsg на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к возможности соединения вызова функции, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0301
Проверяйте настройку модели на диагностические настройки, которые влияют на совместимость, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к совместимости, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, когда блок не был обновлен, чтобы использовать функции текущего релиза, установлена в none или warning . S-функция, записанная для более ранней версии, не может быть совместима с текущей версией, и сгенерированный код мог действовать неправильно. | Установите S-function upgrades needed (Simulink) на Diagnostics> панель Compatibility в диалоговом окне Configuration Parameters или установите параметр SFcnCompatibilityMsg на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые влияют на совместимость, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0304
В настройке модели проверяйте диагностические настройки, которые влияют на образцовую инициализацию и могут повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации для инициализации оптимально собираются сгенерировать код для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
В диалоговом окне Configuration Parameters обнаружение инициализации Underspecified (Simulink) диагностика установлена в |
Выполнить одно из следующих действий:
|
В диалоговом окне Configuration Parameters обнаружение инициализации Underspecified (Simulink) диагностика установлена в |
Выполнить одно из следующих действий:
|
В диалоговом окне Configuration Parameters обнаружение инициализации Underspecified (Simulink) диагностика установлена в |
Выполнить одно из следующих действий:
|
Чтобы сконфигурировать диагностические настройки, которые влияют на образцовую инициализацию и могут повлиять на безопасность, нажмите Modify Settings.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0036
Проверяйте настройку модели на диагностические настройки, которые применяются к тому, чтобы сохранить образцовые файлы
Эта проверка проверяет, что образцовые параметры конфигурации установлены оптимально для сохранения модели для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, содержит ли модель отключенные ссылки библиотеки перед моделью, сохранена, установлен в none или warning . Если это условие не обнаружено, неправильный код может быть сгенерирован. | Установите Block diagram contains disabled library links (Simulink) в диалоговом окне Configuration Parameters или установите параметр SaveWithDisabledLinkMsg на error . |
Диагностика, которая обнаруживает, содержит ли модель ссылки библиотеки, которые используют параметры не в маске перед моделью, сохранена, установлен в none или warning . Если это условие не обнаружено, неправильный код может быть сгенерирован. | Установите Block diagram contains parameterized library links (Simulink) в диалоговом окне Configuration Parameters или установите параметр SaveWithParameterizedLinkMsg на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к тому, чтобы сохранить образцовый файл.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.himl_0004
Проверяйте MATLAB® Functions на директиву %#codegen
, код MATLAB сообщения Анализатора и идентификаторы сообщений выравнивания.
Проверяет директиву %#codegen
, код MATLAB сообщения Анализатора и идентификаторы сообщений выравнивания для:
Код MATLAB в блоках MATLAB function
Функции MATLAB заданы в диаграммах Stateflow
Названные функции MATLAB
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Для кода MATLAB в блоках MATLAB function, любом из следующего:
|
|
Для функций MATLAB, заданных в диаграммах Stateflow, любом из следующего:
|
|
Для названных функций MATLAB:
|
|
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0303
Проверяйте настройку модели на диагностические настройки, которые применяются к блокам Слияния
Эта проверка проверяет, что образцовые параметры конфигурации установлены оптимально для блоков Слияния для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, содержит ли модель блоки Слияния больше чем с одним ведущим блоком, выполняющимся одновременно, продвигается, установлен в none или warning . В диалоговом окне Configuration Parameters обнаружение инициализации Underspecified (Simulink) диагностика установлена в Classic . |
В диалоговом окне Configuration Parameters набор Обнаруживает несколько ведущих блоков, выполняющихся, одновременно продвигаются (Simulink) или устанавливают параметр |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0311
Проверяйте связанные с безопасностью диагностические настройки на Stateflow
Эта проверка проверяет, что образцовые параметры конфигурации установлены оптимально для Stateflow для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает, приводит ли конфигурация диаграммы к нежелательному отслеживанию в обратном порядке во время симуляции, установлена в none или warning . |
В диалоговом окне Configuration Parameters, набор Неожиданное отслеживание в обратном порядке (Simulink) или установленный параметр |
Диагностика, которая обнаруживает, имеет ли конфигурация диаграммы блоки, которые соединяются с входными портами графика, не инициализирует их выходные параметры во время инициализации, установлен в none или warning . |
В диалоговом окне Configuration Parameters, набор Недопустимый доступ к входным данным в инициализации графика (Simulink) или установленный параметр |
Диагностика, которая обнаруживает, имеет ли график безусловный переход по умолчанию к состоянию или соединение, установлена в none или warning . |
В диалоговом окне Configuration Parameters, набор Никакие безусловные переходы по умолчанию (Simulink) или установленный параметр |
Диагностика, которая обнаруживает, содержит ли график переход, что циклы за пределами метрополии или соединения установлены в none или warning . |
В диалоговом окне Configuration Parameters, Переходе набора вне естественного родительского элемента (Simulink) или установленный параметр |
Диагностика, которая обнаруживает, создается ли график на допустимом пути к выполнению, установлена в none или warning . |
В диалоговом окне Configuration Parameters, установленный Недостижимый путь к выполнению (Simulink) или установленный параметр |
Диагностика обнаруживает, что параметр Undirected event broadcasts не устанавливается на none или warning . | Установите Undirected event broadcasts в диалоговом окне Configuration Parameters или установите параметр SFUndirectedBroadcastEventsDiag на error . |
Диагностика обнаруживает, что параметр Transition action specified before condition action не устанавливается на none или warning . | Установите Transition action specified before condition action в диалоговом окне Configuration Parameters или установите параметр SFTransitionActionBeforeConditionDiag на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.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
.
Позволяет исключения блоков и графиков. Исключения не будут работать на соединенные графики библиотеки.
ID проверки: mathworks.hism.himl_0002
Идентифицируйте функции MATLAB, которые имеют входные параметры, выходные параметры или параметры с наследованной сложностью или свойствами типа данных.
Проверка идентифицирует функции MATLAB с наследованной сложностью или свойствами типа данных. Таблица результатов обеспечивает ссылки на функции MATLAB, которые не передают проверку, наряду с условиями, инициировавшими предупреждение.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Функции MATLAB имеют наследуемые интерфейсы. | Явным образом задайте сложность и свойства типа данных для импорта, выходных портов и параметров функций MATLAB, идентифицированных в результатах. Если применимо, с помощью Редактора блока MATLAB function (Simulink), сделайте следующие модификации в Портах и Менеджере данных (Simulink):
|
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0001
Идентифицируйте использование блоков Математической операции, которые могут повлиять на безопасность.
Эта проверка осматривает использование блока Abs.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок Absolute Value, который работает с одним из следующего:
| Если идентифицированный блок Absolute Value работает с булевым или типом данных без знака, выполнить одно из следующих действий:
Если идентифицированный блок Absolute Value работает с типом данных со знаком в диалоговом окне Block Parameters > Signal Attributes, выберите Saturate on integer overflow. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0002
Идентифицируйте использование блоков Математической операции, которые могут повлиять на безопасность.
Эта проверка осматривает использование блоков Математической функции, которые имеют остаток после деления и обратные величины.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат Математическую функцию - Остаток после division(rem) блоки, которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы. | При использовании блока Math Function с функцией |
Модель или подсистема содержат Математическую функцию - Обратная величина блоки (reciprocal) , которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы. | При использовании блока Math Function с функцией |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0004
Идентифицируйте использование блоков Математической операции, которые могут повлиять на безопасность.
Эта проверка осматривает использование блоков Математической функции, которые имеют Натуральный логарифм, и Распространенный (базируйтесь 10), логарифмы.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат Математическую функцию - Натуральный логарифм блоки (log) , которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы. | При использовании блока Math Function с функцией |
Модель или подсистема содержат Математическую функцию - Распространенный (базируйтесь 10), блоки (base 10 logarithm) , которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы. | При использовании блока Math Function с функцией |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0029
Идентифицируйте использование блоков Математической операции, которые могут повлиять на безопасность.
Эта проверка осматривает использование блоков Присвоения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема могут содержать блоки Присвоения с неполной инициализацией массивов (не в подсистеме итератора), которые не имеют параметров блоков набором Action if any output element is not assigned к Error или Warning. | Установите параметры блоков Action if any output element is not assigned на одно из рекомендуемых значений:
|
Модель или подсистема могут содержать блоки Присвоения в подсистеме итератора, и parameterAction if any output element is not assigned не установлен в Error. | Установите параметры блоков Action if any output element is not assigned на Error. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0053
Проверяйте настройку модели на настройки оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Оптимизация, которая подавляет генерацию кода, следующего с плавающей точкой к целочисленным преобразованиям, которые переносят значения из области значений, очищена. Необходимо избежать переполнения для связанного с безопасностью кода. Когда эта оптимизация выключена, и ваша модель включает блоки, которые отключают параметр Saturate on overflow, генератор кода переносит значения из области значений для тех блоков. Это может привести к недостижимому и, поэтому, непригодный для тестирования код. | Если у вас есть лицензия Simulink Coder™, выберите Configuration Parameter Remove code from floating-point to integer conversions that wraps out-of-range values (Simulink Coder) или установите параметр EfficientFloat2IntCast на on . |
Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0052
Проверяйте настройку модели на настройки оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Оптимизация, которая подавляет генерацию кода инициализации для импорта корневого уровня и выходных портов, которые обнуляются, выбрана. Для связанного с безопасностью кода необходимо явным образом инициализировать все переменные. | Если вы имеете лицензию Embedded Coder® и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Remove root level I/O zero initialization (Simulink Coder) или установите параметр ZeroExternalMemoryAtStartup на on . Также интегрируйте внешний, рукописный код, который инициализирует все переменные I/O, чтобы обнулить явным образом. |
Оптимизация, которая подавляет генерацию кода инициализации для внутренних структур работы, таких как состояния блока и блок выходные параметры, которые обнуляются, выбрана. Для связанного с безопасностью кода необходимо явным образом инициализировать каждую переменную. | Если вы имеете лицензию Embedded Coder и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Remove internal data zero initialization (Simulink Coder) или установите параметр ZeroInternalMemoryAtStartup на on . Также интегрируйте внешний, рукописный код, который инициализирует каждую переменную состояния, чтобы обнулить явным образом. |
Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0048
Проверяйте настройку модели на настройки оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель включает блоки, которые зависят от прошедшего или абсолютного времени, и сконфигурирован, чтобы минимизировать объем памяти, выделенный для таймеров. Такая настройка ограничивает номер дней, которые может выполнить приложение, прежде чем переполнение таймера происходит. Много космических продуктов включаются постоянно, и таймеры не должны принимать ограниченную продолжительность жизни. | Установите Параметр конфигурации Application lifespan (days) (Simulink) или установите параметр LifeSpan на inf . |
Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0046
Проверяйте настройку модели на настройки оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блокируйтесь оптимизация сокращения выбрана. Эта оптимизация может удалить блоки от сгенерированного кода, приводящего к требованиям без связанного кода и нарушений для требований трассируемости. | Очистите Параметр конфигурации Block reduction (Simulink) или установите параметр BlockReduction на off . |
Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0045
Проверяйте настройку модели на настройки оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Реализация логических сигналов как булевы данные очищена. Сильный ввод данных рекомендуется для связанного с безопасностью кода. | Выберите Configuration Parameter Implement logic signals as boolean data (vs. double) (Simulink) или установите параметр BooleanDataType на on . |
Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0054
Проверяйте настройку модели на настройки оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Оптимизация, которая подавляет генерацию кода, который принимает меры против деления на нуль для данных фиксированной точки, выбрана. Необходимо избежать исключений деления на нуль в связанном с безопасностью коде. | Если вы имеете лицензию Embedded Coder и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Remove code that protects against division arithmetic exceptions (Simulink Coder) или установите параметр NoFixptDivByZeroProtection на off . |
Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0018
Идентифицируйте использование блоков Логического оператора, которые могут повлиять на безопасность.
Эта проверка осматривает использование блоков Логического оператора.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок Logical Operator, который имеет вводы или выводы, которые не являются булевыми вводами или выводами. Блок может привести к сравнениям равенства или неравенства с плавающей точкой в сгенерированном коде. |
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0016
Эта проверка осматривает использование:
Блоки, которые приравнивают типы с плавающей точкой, включая Оператор отношения, Выдерживают сравнение С Постоянным, Выдерживают сравнение С Нулем и, Обнаруживают блоки Изменения.
Операторы равенства (== и ~=) в выражениях в, если блоки.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок, вычисляя оператор отношения, который использует == или ~ = оператор, чтобы сравнить сигналы с плавающей точкой. Использование этих операторов на сигналах с плавающей точкой ненадежно и непредсказуемо из-за проблем точности с плавающей точкой. Эти операторы могут привести к непредсказуемым результатам в сгенерированном коде. | Для идентифицированного блока выполнить одно из следующих действий:
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0017
Эта проверка осматривает использование блоков, которые вычисляют операторы отношения, включая Оператор отношения, Выдерживают сравнение С Постоянным, Выдерживают сравнение С Zeroand, Обнаруживают блоки Изменения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок, вычисляя оператор отношения, который работает с различными типами данных. Условие может привести к непредсказуемым результатам в сгенерированном коде. | Для идентифицированных блоков используйте типы общих данных в качестве входных параметров. Можно использовать блоки Преобразования типа данных, чтобы изменить типы входных данных. |
Модель или подсистема содержат блок, вычисляя оператор отношения, который не имеет булева вывода. Условие может привести к непредсказуемым результатам в сгенерированном коде. | Для заданных блоков, на Параметрах блоков> панель Атрибутов Сигнала, устанавливает Output data type на boolean . |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0011
Эта проверка осматривает использование блоков Случая Переключателя
Проверка отмечает блоки Случая Переключателя, которые не используют целочисленные типы данных или перечислимые величины для входных параметров. Выполнить hisl_0011: Использование блоков Случая Переключателя и блоков Subsystem Действия (Simulink) – C, используйте целочисленный тип данных или перечислимую величину для входных параметров, чтобы Переключить блоки Случая.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок Switch Case без случая по умолчанию. | В диалоговом окне Block Parameters блока Switch Case выберите Show default case. Соедините получившийся выходной порт по умолчанию с блоком Subsystem Действия Случая Переключателя. |
Модель или подсистема содержат блок Switch Case с выходным портом, который не соединяется с блоком Subsystem Действия Случая Переключателя. | Проверьте, что выходные порты блоков Случая Переключателя соединяются с блоками Subsystem Действия Случая Переключателя. |
Модель или подсистема содержат блок Switch Case с нецелым числом или неперечислимыми типами данных входного порта. | Убедитесь, что тип входных данных блоков Случая Переключателя является целым числом или перечислением. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0010
Эта проверка осматривает использование Если блоки.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема Еще содержат Если использование блока выражения Elseif без условие. | В, Если диалоговое окно блока Block Parameters, выберите Show else condition. Еще соедините получившееся выходной порт к Если блок Subsystem Действия. |
Модель или подсистема содержат, Если блок с выходными портами, которые не соединяются с Если блоки Subsystem Действия. | Проверьте что выходные порты Если блок connect к Если блоки Subsystem Действия. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0008
Эта проверка осматривает использование Для блоков Итератора.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок For Iterator, который имеет переменные итерации. Это условие может привести к непредсказуемым временам выполнения или бесконечным циклам в сгенерированном коде. | Для идентифицированного Для блоков Итератора выполнить одно из следующих действий:
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0007
Эта проверка осматривает использование зависящих от времени блоков в Для Итератора или В то время как подсистема Итератора.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат один из следующих зависящих от времени блоков в Для Итератора или В то время как подсистема Итератора:
| В модели или подсистеме, рассмотрите удаление зависящих от времени блоков. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0006
Эта проверка осматривает использование того, В то время как Итератор блокируется.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат некоторое время блок Iterator, который имеет неограниченные итерации. Это условие может привести к бесконечным циклам в сгенерированном коде. mo | Для идентифицированного, В то время как Итератор блокируется:
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0038
Проверяйте настройку модели на настройки генерации кода, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации для генерации кода установлены оптимально для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Опция, чтобы включать комментарии в сгенерированный код очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Include comments (Simulink Coder) на Code Generation> панель Comments в диалоговом окне Configuration Parameters или установите параметр GenerateComments на on . |
Опция, чтобы включать комментарии, которые описывают код для блоков, очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите комментарии блока Simulink (Simulink Coder) на Code Generation> панель Comments в диалоговом окне Configuration Parameters или установите параметр SimulinkBlockComments на on . |
Опция, чтобы включать комментарии, которые описывают код для блоков, устраненных из модели, очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Show eliminated blocks (Simulink Coder) на Code Generation> панель Comments в диалоговом окне Configuration Parameters или установите параметр ShowEliminatedStatement на on . |
Опция, чтобы включать имена переменных параметра и исходных блоков как комментарии в описании структуры параметра модели в очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Verbose comments for 'Model default' storage class (Simulink Coder) на Code Generation> панель Comments в диалоговом окне Configuration Parameters или установите параметр ForceParamTrailComments на on . |
Опция, чтобы включать описания требования, присвоенные блокам Simulink как комментарии, очищена. Комментарии обеспечивают хорошую трассируемость между кодом и моделью. | Выберите Requirements in block comments (Simulink Coder) на Code Generation> панель Custom comments в диалоговом окне Configuration Parameters или установите параметр ReqsInCode на on . |
Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
hisl_0038: Параметры конфигурации> Генерация кода> Комментарии
Образцовые параметры конфигурации: комментарии генерации кода (Simulink Coder)
Образцовые параметры конфигурации: символы генерации кода (Simulink Coder)
Образцовые параметры конфигурации: интерфейс генерации кода (Simulink Coder)
Образцовые параметры конфигурации: стиль кода генерации кода (Embedded Coder)
ID проверки: mathworks.hism.hisl_0039
Проверяйте настройку модели на настройки генерации кода, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации для генерации кода установлены оптимально для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Опция, чтобы сгенерировать неличные данные и операции выбрана. Поддержка неличных чисел является несоответствующей для встроенных систем реального времени. | Очистите Support: non-finite numbers (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SupportNonFinite на off . |
Опция, чтобы сгенерировать и поддержать целочисленные счетчики в течение абсолютного и прошедшего времени выбрана. Поддержка в течение абсолютного времени является несоответствующей для связанных с безопасностью систем в реальном времени. | Очистите Support: absolute time (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SupportAbsoluteTime на off . |
Опция, чтобы сгенерировать код для блоков, которые используют непрерывное время, выбрана. Поддержка в течение непрерывного времени является несоответствующей для связанных с безопасностью систем в реальном времени. | Очистите Support: continuous time (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SupportContinuousTime на off . |
Опция, чтобы сгенерировать код для невстроенных S-функций выбрана. Эта опция требует поддержки неличных чисел, которая является несоответствующей для связанных с безопасностью систем в реальном времени. | Очистите Support: non-inlined S-functions (Simulink Coder) в диалоговом окне Configuration Parameters или установите параметр SupportNonInlinedSFcns на off . |
Опция, чтобы сгенерировать образцовые вызовы функции, совместимые с основным программным модулем цели pre-R2012a GRT, выбрана. Эта опция является несоответствующей для связанных с безопасностью систем в реальном времени. | Очистите Classic call call interface (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр GRTInterface на off . |
Опция, чтобы сгенерировать функцию | Выберите Single output/update function (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр CombineOutputUpdateFcns на on . |
Опция, чтобы сгенерировать функцию | Очистите Terminate function (Simulink Coder) на панели Code Generation в диалоговом окне Configuration Parameters или установите параметр IncludeMdlTerminateFcn на off . |
Опция, чтобы регистрировать или состояние ошибки монитора очищена. Если вы не выбираете эту опцию, продукт Simulink Coder генерирует дополнительный код, который не может быть достижимым для тестирования. | Выберите Remove error status field in real-time model data structure (Simulink Coder) на Code Generation> панель Interface в диалоговом окне Configuration Parameters или установите параметр SuppressErrorStatus на on . |
Журналирование MAT-файла выбрано. Эта опция добавляет дополнительный код для журналирования тестовых точек к MAT-файлу, который не поддержан целевыми процессорами. Используйте эту опцию только в тестовых обвязках. | Очистите MAT-file logging (Simulink Coder) в диалоговом окне Configuration Parameters или установите параметр MatFileLogging на off . |
Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
hisl_0039: Параметры конфигурации> Генерация кода> Интерфейс
Образцовые параметры конфигурации: комментарии генерации кода (Simulink Coder)
Образцовые параметры конфигурации: символы генерации кода (Simulink Coder)
Образцовые параметры конфигурации: интерфейс генерации кода (Simulink Coder)
Образцовые параметры конфигурации: стиль кода генерации кода (Embedded Coder)
ID проверки: mathworks.hism.hisl_0047
Проверяйте настройку модели на настройки генерации кода, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации для генерации кода установлены оптимально для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Опция, которая задает стиль для использования круглой скобки, установлена в Minimum (Rely on C/C++ operators precedence) или в Nominal (Optimize for readability) . Для связанных с безопасностью приложений явным образом задайте приоритет с круглыми скобками. | Установите параметр ParenthesesLevel на Maximum (Specify precedence with parentheses) . |
Опция, которая задает, сохранить ли порядок операнда, очищена. Эта опция увеличивает трассируемость сгенерированного кода. | Установите параметр PreserveExpressionOrder на on . |
Опция, которая задает, сохранить ли пустые первичные выражения условия в операторах if , очищена. Эта опция увеличивает трассируемость сгенерированного кода. | Установите параметр PreserveIfCondition на on . |
Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
hisl_0047: Параметры конфигурации> Генерация кода> Стиль кода
Образцовые параметры конфигурации: комментарии генерации кода (Simulink Coder)
Образцовые параметры конфигурации: символы генерации кода (Simulink Coder)
Образцовые параметры конфигурации: интерфейс генерации кода (Simulink Coder)
Образцовые параметры конфигурации: стиль кода генерации кода (Embedded Coder)
ID проверки: mathworks.hism.hisl_0049
Проверяйте настройку модели на настройки генерации кода, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации для генерации кода установлены оптимально для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Минимальное количество символов, заданных для генерации строк искажения имени, является меньше чем четырьмя. Можно использовать эту опцию, чтобы минимизировать вероятность, что параметр и имена сигнала изменятся во время генерации кода, когда модель изменится. Использование этой опции помогает с минимизацией различий кода между версиями файла, уменьшая усилие выполнить рассмотрения кода. | Установите Minimum mangle length (Simulink Coder) на Code Generation> панель Symbols в диалоговом окне Configuration Parameters или параметре MangleLength к значению 4 или больше. |
Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Образцовые параметры конфигурации: комментарии генерации кода (Simulink Coder)
Образцовые параметры конфигурации: символы генерации кода (Simulink Coder)
Образцовые параметры конфигурации: интерфейс генерации кода (Simulink Coder)
Образцовые параметры конфигурации: стиль кода генерации кода (Embedded Coder)
ID проверки: mathworks.hism.hisl_0310
Проверяйте настройку модели на диагностические настройки, которые применяются к образцовой ссылке, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к образцовой ссылке, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает несоответствие между версией модели, которая создает или обновляет блок Model и текущую версию модели, на которую ссылаются, установлена в error или warning . Обнаружение происходит во время операций загрузки и обновления. Когда вы получаете последнюю версию модели, на которую ссылаются, от системы управления конфигурированием ПО, а не более старую версию, которая использовалась в предыдущей симуляции, если эта диагностика установлена в error , симуляция прерывается. Если диагностика установлена в warning , предупреждающее сообщение выпущено. Чтобы решить вопрос, пользователь должен повторно сохранить моделируемую модель, который не может быть желаемым действием. | Установите Model block version mismatch (Simulink) на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceVersionMismatchMessage на none . |
Диагностика, которая обнаруживает порт и несоответствия параметра во время образцовой загрузки и обновления, установлена в none или warning . Если необнаруженный, такие несоответствия могут привести к неправильным результатам симуляции, потому что родительские и модели, на которые ссылаются, имеют различные интерфейсы. | Установите Port and parameter mismatch (Simulink) на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceIOMismatchMessage на error . |
Диагностика, которая обнаруживает недопустимые внутренние связи с корневым уровнем текущей модели Inport и блоки Outport, установлена в none или warning . Когда это условие обнаруживается, программное обеспечение Simulink может автоматически вставить скрытые блоки в модель, чтобы зафиксировать условие. Скрытые блоки могут привести к сгенерированному коду без прослеживаемых требований. Установка диагностики к error обеспечивает образцовых разработчиков, чтобы зафиксировать модели, на которые ссылаются, вручную. | Установите Invalid root Inport/Outport block connection (Simulink) на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceIOMessage на error . |
Диагностика, которая обнаруживает, регистрируют ли блоки Workspace или Scope To данные в модели, на которую ссылаются, установлена в none или warning . Регистрация данных не поддержана для блоков Workspace и Scope To в моделях, на которые ссылаются. | Установите Unsupported data logging (Simulink) на Diagnostics> панель Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferenceDataLoggingMessage на error .К данным логов удалите блоки и регистрируйте образцовые сигналы, на которые ссылаются. Для получения дополнительной информации смотрите Журналирование Образцовые Сигналы, на которые Ссылаются (Simulink). |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к образцовой ссылке, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0044
Проверяйте настройку модели на диагностические настройки, которые применяются к шагу расчета, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к шагам расчета, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика для обнаружения, когда исходный блок, такой как блок Sine Wave, наследовал шаг расчета (заданный как-1) установлена в none или warning . Использование наследованных шагов расчета для исходного блока может привести к непредсказуемым уровням выполнения для исходного блока и блоков, соединенных с ним. Для связанных с безопасностью приложений исходные блоки должны иметь явные шаги расчета, чтобы предотвратить неправильное упорядочивание выполнения. | Установите Source block specifies -1 sample time (Simulink) на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр InheritedTslnSrcMsg на error . |
Диагностика для обнаружения недопустимых переходов уровня между двумя блоками, действующими в многозадачном режиме, установлена в none или warning . Такие переходы уровня не должны использоваться для встроенного кода в реальном времени. | Установите Multitask rate transition (Simulink) на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр MultiTaskRateTransMsg на error . |
Диагностика для обнаружения подсистем, которые могут вызвать повреждение данных или недетерминированное поведение, установлена в none или warning . Эта диагностика обнаруживает, действуют ли условно выполняемые многоскоростные подсистемы (включил, инициированный, или подсистемы вызова функций) в многозадачном режиме. Такие подсистемы могут повредить данные и вести себя непредсказуемо в режиме реального времени среды, которые позволяют вытеснение. | Установите Multitask conditionally executed subsystem (Simulink) на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр MultiTaskCondExecSysMsg на error . |
Диагностика для проверки непротиворечивости шага расчета между блоком Signal Specification и связанным целевым блоком установлена в none или warning . Чрезмерно определенный шаг расчета может привести к непредсказуемому уровню выполнения. | Установите Enforce sample times specified by Signal Specification blocks (Simulink) на Diagnostics> панель Sample Time в диалоговом окне Configuration Parameters или установите параметр SigSpecEnsureSampleTimeMsg на error . |
Диагностика обнаруживает, что параметр Single task rate transition не устанавливается на error . | Установите Single task rate transition в диалоговом окне Configuration Parameters или установите параметр SingleTaskRateTransMsg на error . |
Диагностика обнаруживает, что параметр Tasks with equal priority не устанавливается на error . | Установите Tasks with equal priority в диалоговом окне Configuration Parameters или установите параметр TasksWithSamePriorityMsg на error . |
Диагностика для обнаружения, содержит ли модель S-функцию, которая не была задана явным образом, чтобы наследовать шаг расчета, установлена в none или warning . Эти настройки могут привести к непредсказуемому поведению. Образцовый разработчик должен знать, когда такая S-функция существует в модели, таким образом, она может быть изменена, чтобы произвести предсказуемое поведение. | Установите Unspecified inheritability of sample time
(Simulink) в диалоговом окне Configuration Parameters или установите параметр UnknownTsInhSupMsg на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к шагу расчета, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.himl_0003
Отобразите сложность и метрики кода для функций MATLAB. Сообщите о метрических нарушениях.
Эта проверка обеспечивает сложность и метрики кода для функций MATLAB. Проверка дополнительно сообщает о метрических нарушениях. Таблица результатов обеспечивает ссылки на функции MATLAB, которые нарушают входные параметры сложности.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Обеспечьте максимальные эффективные строки кода на функцию. Эффективные строки не включают пустые строки, строки с комментариями или строки с функциональным ключевым словом end
.
Обеспечьте минимальную плотность комментариев. Плотность является отношением строк с комментариями к общим строкам кода.
Обеспечьте максимальную цикломатическую сложность на функцию. Цикломатическая сложность является количеством линейно независимых контуров через исходный код.
Условие | Рекомендуемое действие |
---|---|
Функция MATLAB нарушает входные параметры сложности. | Для функции MATLAB:
|
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0309
Проверяйте настройку модели на диагностические настройки, которые применяются к преобразованиям типов, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к преобразованиям типов, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает блоки Преобразования типа данных, когда преобразование типов установлено в none . Программное обеспечение Simulink может удалить ненужные блоки Преобразования типа данных от сгенерированного кода, который может привести к требованиям без соответствующего кода. Удаление этих блоков должно быть идентифицировано, таким образом, образцовые разработчики могут явным образом удалить ненужные блоки. | Установите Unnecessary type conversions (Simulink) Параметр конфигурации orUnnecessaryDatatypeConvMsg параметр к warning . |
Диагностика, которая обнаруживает вектор к матрице или преобразования матрицы к вектору во входных параметрах блока, установлена в none или warning . Когда программное обеспечение Simulink автоматически преобразовывает между векторными и матричными размерностями, непреднамеренные операции или непредсказуемое поведение могут произойти. | Установите Vector/matrix block input conversion (Simulink) Параметр конфигурации или параметр VectorMatrixConversionMsg к error |
Диагностика, которая обнаруживает, когда 32-битное целочисленное значение преобразовано в значение с плавающей точкой, установлена в none . Этот тип преобразования может привести к потере точности из-за усечения младших значащих битов для больших целочисленных значений. | Установите 32-bit integer to single precision float conversion (Simulink) Параметр конфигурации или параметр Int32ToFloatConvMsg к warning . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к преобразованиям типов, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0040
Проверяйте настройки решателя в настройку модели, которые применяются ко времени симуляции и могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации решателя, имеющие отношение ко времени симуляции, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Установка решателя, чтобы задать время начала для симуляции или сгенерированного кода установлена в значение кроме | В диалоговом окне Configuration Parameters, Время начала набора (Simulink) или установленный параметр |
Установка решателя, чтобы задать время остановки для симуляции или сгенерированного кода установлена в отрицательную величину или положительное значение, больше, чем значение продолжительности жизни Приложения (дни) (Simulink). По умолчанию продолжительностью жизни Приложения (дни) (Simulink) является | В диалоговом окне Configuration Parameters, Время остановки набора (Simulink) или установленный параметр |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Анализирует содержимое в подсистемах маскированных, которые не имеют никакой рабочей области и никаких диалоговых окон.
ID проверки: mathworks.hism.hisl_0043
Проверяйте настройку модели на диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к решателям, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика для обнаружения автоматической поломки алгебраических циклов установлена в none или warning . Повреждение алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для связанных с безопасностью приложений образцовый разработчик должен знать, когда такие пропуски происходят. | Установите Algebraic loop (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр AlgebraicLoopMsg на error . Рассмотрите повреждение таких циклов явным образом с блоками Единичной задержки так, чтобы порядок выполнения был предсказуем. Как минимум проверьте, что результаты циклов, повреждающихся автоматически, приемлемы. |
Диагностика для обнаружения автоматической поломки алгебраических циклов для блоков Model, атомарных подсистем, и включила подсистемы, установлен в none или warning . Повреждение алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для связанных с безопасностью приложений образцовый разработчик должен знать, когда такие пропуски происходят. | Установите Minimize algebraic loop (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр ArtificialAlgebraicLoopMsg на error . Рассмотрите повреждение таких циклов явным образом с блоками Единичной задержки так, чтобы порядок выполнения был предсказуем. Как минимум проверьте, что результаты циклов, повреждающихся автоматически, приемлемы. |
Диагностика для обнаружения потенциального конфликта в порядке выполнения блока установлена в none или warning . Для связанных с безопасностью приложений блокируйтесь, порядок выполнения должен быть предсказуемым. Образцовый разработчик должен знать при конфликте, приоритеты блока существуют. | Установите Block priority violation (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр BlockPriorityViolationMsg на error . |
Диагностика для обнаружения, изменяет ли программное обеспечение Simulink автоматически решатель, размер шага или время остановки симуляции, установлена в none или warning . Такие изменения могут влиять на операцию сгенерированного кода. Для связанных с безопасностью приложений лучше обнаружить такие изменения, как образцовый разработчик может явным образом установить параметры на известные значения. | Установите Automatic solver parameter selection (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр SolverPrmCheckMsg на error . |
Диагностика для обнаружения, когда имя используется больше чем для одного состояния в модели, установлена в none . Имена состояния в модели должны быть уникальными. Для связанных с безопасностью приложений лучше обнаружить столкновения имени, таким образом, образцовый разработчик может зафиксировать их. | Установите State name clash (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр StateNameClashWarn на warning . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0037
Проверяйте настройку модели на настройки ссылки модели, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации для образцовой ссылки установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель, на которую ссылаются, сконфигурирована таким образом, что ее цель восстановлена каждый раз, когда вы обновляете, моделируете или генерируете код для модели, или если программное обеспечение Simulink обнаруживает изменения в известных зависимостях. Эти параметры конфигурации могут привести к ненужной регенерации кода, приводящего к изменению только даты файла и замедления процесс сборки при использовании моделей - ссылок. | Установите Rebuild (Simulink) на панели Model Referencing в диалоговом окне Configuration Parameters или установите параметр UpdateModelReferenceTargets на Never или If any changes detected . |
Диагностика, которая обнаруживает, должна ли цель быть восстановлена, установлена в None или Warn if targets require rebuild . Для связанных с безопасностью приложений ошибка должна предупредить образцовых разработчиков, что родительские и модели, на которые ссылаются, противоречивы. Этот диагностический параметр доступен, только если Rebuild установлен в Never . | Установите параметр конфигурации Never rebuild diagnostics (Simulink) на панели Model Referencing в диалоговом окне Configuration Parameters или установите параметр CheckModelReferenceTargetMessage на error . |
Способность передать скалярный корень, введенный значением, выключена. Эта возможность должна быть выключена, потому что скалярные значения могут измениться во время временного шага и привести к непредсказуемым данным. Этот параметр только доступен, когда параметр конфигурации, Total number of instances allowed per top model установлен в One или Multiple (ModelReferenceNumInstancesAllowed является single или multi ). | Установите Pass fixed-size scalar root inputs by value for code generation (Simulink) на панели Model Referencing в диалоговом окне Configuration Parameters или установите параметр ModelReferencePassRootInputsByReference на off . |
Модель сконфигурирована, чтобы минимизировать алгебраические случаи цикла. Эта настройка несовместима с рекомендуемой установкой Single output/update function для кода встраиваемых систем. | В диалоговом окне Configuration Parameters, набор Minimize algebraic loop occurrences (Simulink) или установленный параметр ModelReferenceMinAlgLoopOccurrences к off . |
Нажатие на Modify Settings конфигурирует настройки ссылки модели, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisf_0013
Идентифицируйте пути к переходу, которые пересекают параллельные государственные границы в диаграммах Stateflow.
Идентифицируйте пути к переходу, которые пересекают параллельные государственные границы в диаграммах Stateflow. Эта проверка идентифицирует пути к переходу, которые пересекают параллельные государственные границы в диаграммах Stateflow.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Диаграммы Stateflow имеют пути к переходу тот перекрестные параллельные государственные границы. | Измените диаграммы Stateflow так, чтобы переходы не пересекали параллельные государственные границы. Для получения дополнительной информации смотрите, Конструктивные соображения для Определения Переходов Между состояниями (Stateflow). |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
Анализирует содержимое во всех подсистемах маскированных.
ID проверки: mathworks.hism.hisf_0065
Идентифицируйте операции присвоения в объектах Stateflow.
Эта проверка идентифицирует, что операции присвоения в Stateflow возражают, что неявно бросает вычисления целочисленных и вычислений с фиксированной точкой к более широким типам данных, чем типы входных данных.
Эта проверка идентифицирует только присвоения с арифметическими операциями.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Объект Stateflow состоит из операций присвоения, которые бросают вычисления целочисленной и фиксированной точки к более широким типам данных, чем типы входных данных. | Явным образом замените оператор присваивания (=) к: = оператор в объектах Stateflow. |
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0019
Идентифицируйте блоки битовой операции с типами данных со знаком как входные параметры
Эта проверка идентифицирует использование Битовых операций для типов входных и выходных данных. Проверка также смотрит на другие блоки битовых операций как на следующее:
Ясный бит
Bitset
Побитовый оператор
Извлеките биты
Переключите Arithmentic
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Битовые операции не используются с типами данных со знаком. | Используйте подписанный тип данных для Битовых операций. |
Позволяет исключения блоков и графиков.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
ID проверки: mathworks.hism.hisl_0022
Эта проверка Идентифицирует блоки с индексными сигналами, которые имеют типы данных кроме целых чисел или перечисления и являются в области значений индексируемых значений.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Один или несколько блоков Simulink в модели имеют индексные сигналы, которые имеют типы данных кроме целого числа или перечисления. | Измените тип данных индексных сигналов блока к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений. |
Один или несколько блоков MATLAB function имеют индексные переменные с несоответствующими типами данных. | Измените тип данных индексных переменных к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений. |
Одна или несколько диаграмм Stateflow в модели имеют индексные переменные, которые имеют типы данных кроме целого числа или перечисления. | Измените тип данных индексных сигналов блоков к целочисленному или перечислимому типу данных, который покрывает область значений индексируемых значений. |
Эта проверка не поддерживает диалоговые индексы набора.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на graphical
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0031
Эта проверка осматривает образцовое имя файла, чтобы гарантировать, что имя выполняет рекомендуемые инструкции.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Имя файла содержит запрещенные символы. | Переименуйте файл. Допустимые символы являются a–z, A–Z, 0–9, и подчеркиванием (_). |
Имя файла запускается с номера. | Убедитесь, что имя файла не запускается с номера. |
Имя файла запускается с подчеркивания (" _ "). | Убедитесь, что имя файла не запускается с подчеркивания (" _ "). |
Имя файла заканчивается подчеркиванием (" _ "). | Убедитесь, что имя файла не заканчивается подчеркиванием (" _ "). |
Расширение файла содержит один или несколько символов нижнего подчеркивания. | Измените расширение файла. |
Имя файла имеет последовательные символы нижнего подчеркивания. | Переименуйте файл, чтобы устранить запаздывание подчеркивания'. |
Имя файла содержит больше чем одну точку (". "). | Убедитесь, что имя файла не имеет больше чем одной точки (". "). |
имя файла является ключевым словом C/C++ или MATLAB или созданный в функции | Переименуйте файл. |
Работает на моделях библиотеки.
ID проверки: mathworks.hism.himl_0006
Эта проверка еще идентифицирует if/elseif/else шаблоны без соответствующего условия во встраиваемом коде MATLAB.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Несоответствующие if/elseif/else шаблоны присутствуют во встраиваемом коде MATLAB. | Для каждого if/elseif/else шаблона еще добавьте оператор, который включает по крайней мере один значимый комментарий. |
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
ID проверки: mathworks.hism.himl_0007
Эта проверка идентифицирует операторы переключателя/случая/в противном случае без соответствующих условий во встраиваемом коде MATLAB.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Оператор switch не имеет никого в противном случае условием. | Убедитесь, что оператор switch имеет в противном случае условие. |
Оператор Otherwise оставлен незаполненный без комментариев. | Убедитесь, что в противном случае оператор имеет по крайней мере один значимый комментарий. |
Оператор switch имеет только один оператор выбора. | Убедитесь, что оператор switch имеет по крайней мере два оператора выбора. |
Эта проверка исключает один оператор case с массивом ячеек двух или больше элементов.
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Работает на моделях библиотеки.
Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0062
Эта проверка Идентифицирует выражения, которые читают и пишут в те же глобальные данные в Stateflow.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Одно или несколько выражений работают с графическими функциями и глобальными переменными, используемыми в графических функциях. | Реконструируйте выражения так, чтобы функции и глобальные переменные не использовались в том же выражении. |
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0063
Эта проверка осматривает длину имен этих пользовательских объектов против Максимального параметра длины Идентификатора в настройках настройки:
Подсистемы с набором опций имени функции к заданному Пользователями.
Объекты данных описаны в инструкции.
И объекты параметра сигнала.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Длина имени функции в подсистеме, больше, чем порог набора. | Поменяйте имя функции в блоках Subsystem, чтобы иметь длину меньше, чем порог набора. |
Имена объекта данных имеют длину, больше, чем порог. | Поменяйте имя функции в блоках Subsystem, чтобы иметь длину меньше, чем порог набора. |
Эта проверка не отмечает сигналы, которые не решают к объектам.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
ID проверки: mathworks.hism.hisl_0015
Эта проверка идентифицирует блоки Слияния, которые непосредственно не соединяются с условно выполняемой подсистемой и установили параметр Allow unequal port widths на на.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блок слияния не соединяется непосредственно с условно выполняемой подсистемой. | Реконструируйте так, чтобы блоки Слияния были соединены непосредственно с условно выполняемыми подсистемами. |
Параметры блоков Слияния Allow unequal port widths установлены в on. | Установите параметры блоков Слияния Allow unequal port widths на off |
Несколько подсистема выполняются во время временного шага в условно выполняемых подсистемах. | Задайте выполнение условно выполняемых подсистем, таким образом, что только одна подсистема выполняется во время временного шага. |
Параметры блоков Выходного порта Вывод, когда отключено не установлены в held ни для каких условно выполняемых подсистем в модели. | Установите параметры блоков Выходного порта Вывод, когда отключено к held для каждой условно выполняемой объединяемой подсистемы. |
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
ID проверки: mathworks.hism.hisl_0012
Эта проверка идентифицирует блоки с неправильными шагами расчета в условно выполняемых подсистемах и асинхронно выполняемые зависимые блоки шага расчета.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Шаг расчета для блоков не установлен в
| Измените шаг расчета для блоков, чтобы быть -1 . |
Модель содержит асинхронно выполняемые зависимые блоки шага расчета:
| Реконструируйте, чтобы удалить зависимые блоки шага расчета. |
Асинхронно выполняемые зависимые блоки шага расчета отмечаются, только если Инициированный и блоки Вызова функции присутствуют.
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
ID проверки: mathworks.hism.himl_0001
Эта проверка осматривает все функции MATLAB в модели, локальных функциях, и файлах MATLAB, на которые ссылаются, для стандартизированных функциональных заголовков и проверках на эти детали:
FunctionName
Функциональное описание
Описание входных переменных
Описание выходных переменных
Следующее является примером того, как задать функциональные заголовки:
% <Имя функции> - Описание функции
% <Входная переменная 1> - Описание входной переменной 1
% <Входная переменная 2> - Описание входной переменной 2
% <Выходная переменная 1> - Описание выходной переменной 1
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Функции MATLAB используют нестандартные функциональные заголовки. | Рассмотрите добавление функционального заголовка к функциям согласно этим инструкциям:
|
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.himl_0008
Эта проверка осматривает все функции MATLAB в модели, локальных функциях и файлах MATLAB, на которые ссылаются, для операторов оператора отношения, которые работают с операндами различных типов данных.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Операторы отношения в функциональных блоках, работающих с операндами различных типов данных. | Преобразуйте тип операндов, чтобы быть совпадающего типа данных. |
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Не работает на моделях библиотеки.
Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.himl_0009
Эта проверка осматривает использование операторов равенства с операндами с плавающей точкой в блоках MATLAB function.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Одна или несколько функций MATLAB имеют операторы равенства с операндами с плавающей точкой. | Рассмотрите сравнение областей значений вместо прямого сравнения. |
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.himl_0010
Эта проверка идентифицирует логические операторы и функции, работающие с операндами с типами числовых данных в блоках MATLAB function.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Логические операторы или функции используются на операндах с типами числовых данных. | Преобразуйте тип операндов, чтобы быть логического типа данных. |
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Можно сконфигурировать проверку, чтобы работать на файлах MATLAB, на которые ссылаются, с помощью входного параметра Check .m files referenced in the model в Редакторе конфигурации. По умолчанию этот параметр выбран.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisf_0016
Эта проверка идентифицирует несоответствия между именами портов Stateflow и сопоставленных сигналов. Допускающие повторное использование блоки Stateflow могут иметь различные имена порта.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Имена портов ввода и вывода диаграмм Stateflow не являются тем же самым как именами соединенных сигналов. | Убедитесь, что имена портов ввода и вывода диаграмм Stateflow - то же самое как имена соединенных сигналов. |
Эта проверка не анализирует имена порта Таблиц истинности Stateflow или Таблиц Перехода состояния Stateflow.
Эта проверка рассматривает допускающие повторное использование диаграммы Stateflow, когда библиотека соединила графики и не отмечается.
Эта проверка не отмечает сигналы без имен.
Не анализирует содержимое соединенных библиотекой блоков.
Не анализирует содержимое в подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisf_0017
Эта проверка идентифицирует объекты данных Stateflow с локальным осциллографом, которые не ограничены по объему на уровне графика или ниже.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Один или несколько объектов данных Stateflow с локальным осциллографом не заданы на уровне графика или ниже. | Убедитесь, что задали все объекты данных Stateflow с локальным осциллографом на уровне графика или ниже. |
Не анализирует содержимое соединенных блоков библиотеки.
Не анализирует содержимое в подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0066
Эта проверка идентифицирует блоки Усиления со значением, которое решает к 1, единичная матрица или матрица из единиц.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Один или несколько блоков Усиления в твердости модели к 1 или единичная матрица. | Реконструируйте блоки Усиления так, чтобы значение усиления не решало к 1, единичная матрица или матрица из единиц. |
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0102
Эта проверка идентифицирует контрольные переменные цикла с помощью типов данных нецелого числа на следующем:
Для блоков итератора.
Циклы for в блоках MATLAB function.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Один или несколько Для блоков Итератора использует переменную счетчика управления циклом for типа данных нецелого числа. | Установите тип данных переменной счетчика управления циклом к целочисленному типу данных. |
Один или несколько Циклов for используют переменную счетчика управления циклом for типа данных нецелого числа в блоках MATLAB function. | Установите тип данных переменной счетчика управления циклом к целочисленному типу данных. |
Эта проверка не смотрит на контрольные переменные цикла в диаграммах Stateflow.
Не работает на моделях библиотеки.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisf_0014
Эта проверка осматривает использование соединений в, утверждает и идентифицирует соединения, которые лежат на пути, который входит и из состояния.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Один или несколько путей к переходу в модели пересекают через состояние, не заканчиваясь на подсостоянии. | Реконструируйте соединения, чтобы избежать путей к переходу, которые входят и из состояния, не заканчиваясь на подсостоянии. |
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
Позволяет исключения графиков. Вы не можете исключить элемент Stateflow непосредственно.
ID проверки: mathworks.hism.hisf_0003
Идентифицирует использование операндов целого числа со знаком к побитовым операторам в диаграммах Stateflow с языком действия C.
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
Один или несколько объектов Stateflow в образцовых операндах целого числа со знаком использования с побитовыми операторами. | Убедитесь, что не использовали операнды целого числа со знаком с побитовыми операторами. |
Следующий бит MATLAB мудрые операции не отмечается с помощью этой проверки
swapbytes
bitset
bitget
bitcmp
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое во всех подсистемах маскированных.
ID проверки: mathworks.hism.hisl_0314
Проверяйте настройку модели на диагностические настройки, которые применяются к данным сигнала, и это может повлиять на безопасность.
Эта проверка проверяет, что образцовые диагностические параметры конфигурации, имеющие отношение к данным сигнала, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая задает, как сигналы твердости программного обеспечения Simulink, сопоставленные с объектами Simulink.Signal , установлены в Explicit and implicit или Explicit and warn implicit . Для связанных с безопасностью приложений образцовые разработчики должны быть обязаны задавать разрешение сигнала явным образом. (См. DO-331, Раздел MB.6.3.3.b – Программная архитектура сопоставима.) | Установите Signal resolution (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр Также, чтобы отключить использование объектов |
Диагностика блока продукта, которая обнаруживает сингулярную матрицу при инвертировании одних из ее входных параметров в режиме умножения матриц, установлена в none или warning . Деление сингулярной матрицей может привести к числовым исключениям при выполнении сгенерированного кода. Это не приемлемо в связанных с безопасностью системах. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Division by singular matrix (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр CheckMatrixSingularityMsg на error . |
Диагностика, которая обнаруживает, когда программное обеспечение Simulink не может вывести тип данных сигнала во время распространения типа данных, установлена в none или warning . Для связанных с безопасностью приложений образцовые разработчики должны проверить типы данных сигналов. (См. DO-331, Раздел MB.6.3.1.e – Требования высокого уровня соответствуют стандартам и DO-331, Раздел MB.6.3.2.e – Низкоуровневые требования соответствуют стандартам.) | Установите Underspecified data types (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр UnderSpecifiedDataTypeMsg на error . |
Диагностика, которая обнаруживает, является ли значение сигнала слишком большим, чтобы быть представленным типом данных сигнала, установлена в none или warning . Необнаруженные числовые переполнения могут привести к неожиданному поведению приложения. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Wrap on overflow (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр IntegerOverflowMsg на error . |
Диагностика, которая обнаруживает, является ли значение сигнала слишком большим, чтобы быть представленным типом данных сигнала, приводящим к насыщению, установлена в none или warning . Необнаруженные числовые переполнения могут привести к неожиданному поведению приложения. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Saturate on overflow (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр IntegerSaturationMsg на error . |
Диагностика, которая обнаруживает, когда значением выходного сигнала блока является Inf или NaN на шаге текущего времени, установлена в none или warning . Когда этот тип условия выходного сигнала блока происходит, числовые исключения могут закончиться, и числовые исключения не приемлемы в связанных с безопасностью приложениях. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Inf or NaN block output (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр SignalInfNanChecking на error . |
Диагностика, которая обнаруживает имена объектов Simulink, которые начинаются с rt , установлена в none или warning . Эта диагностика предотвращает столкновения имени со сгенерированными именами сигнала, которые имеют префикс rt . (См. DO-331, Раздел MB.6.3.1.e – Требования высокого уровня соответствуют стандартам и DO-331, Раздел MB.6.3.2.e – Низкоуровневые требования соответствуют стандартам.) | Установите "rt" prefix for identifiers (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр RTPrefix на error . |
Диагностика, которая обнаруживает проверку диапазона симуляции, установлена в none или warning . Эта диагностика обнаруживает, когда сигналы превышают свои заданные области значений во время симуляции. Simulink сравнивает значения сигналов что блок выходные параметры с заданной областью значений и типом данных блока. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Simulation range checking (Simulink) на Diagnostics> панель Data Validity в диалоговом окне Configuration Parameters или установите параметр SignalRangeChecking на error . |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к данным сигнала, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
ID проверки: mathworks.hism.hisl_0070
Проверяйте, соединяются ли элементы модели Simulink с документом требований.
Эта проверка проверяет, соединяются ли объекты модели с документом, содержащим технические требования для трассируемости.
Доступный с Simulink Check.
Эта проверка требует лицензии Simulink Requirements™.
Условие | Рекомендуемое действие |
---|---|
Блоки не соединяются с документом требований. | Соединитесь с документом требований. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на off
.
Анализирует содержимое в подсистемах маскированных, которые не имеют никаких рабочих областей и никаких диалоговых окон. По умолчанию входной параметр Look under masks устанавливается на graphical
.
Позволяет исключения блоков и графиков.
Не позволяет исключение элементов Stateflow.
Осуществите эту проверку от топ-модели или подсистемы, которую вы хотите проверять.
Трассируемость требований в Simulink (Simulink)
Трассируемость требований и непротиворечивость (Simulink Requirements)
Найдите элементы модели в моделях Simulink (Simulink)
DO-331, Раздел MB.6.3.1.f - Требования высокого уровня прослеживают до системных требований
DO-331, Раздел MB.6.3.2.f - Низкоуровневые требования прослеживают до требований высокого уровня
IEC 61508-3, Таблица A.2 (12) - Автоматизированная спецификация и Design Tool, Таблица A.2 (9) - Прямая трассируемость между спецификацией требований техники безопасности программного обеспечения и программной архитектурой, Таблицей A.2 (10) - Обратная трассируемость между спецификацией требований техники безопасности программного обеспечения и программной архитектурой, Таблицей A.4 (8) - Прямая трассируемость между спецификацией требований техники безопасности программного обеспечения и разработкой ПО, Таблицей A.8 (1) - анализ Влияния
IEC 62304, 5.2 - анализ Требований к программному обеспечению, 7.4.2 - Анализирует влияние изменений программного обеспечения на существующих мерах контроля риска
ISO 26262-6, Таблица 8 (1a) - Документация программного блока разрабатывают на естественном языке, ISO 26262-6: 7.4.2.a - verifiability архитектурного проекта программного обеспечения, ISO 26262-8: 8.4.3 Анализ запроса на изменение
EN 50128, Таблица A.3 (23) - Моделирование поддерживаемого автоматизированным проектированием и инструментами спецификации, Таблицей D.58 - Трассируемостью, Таблицей A.10 (1) - Анализ Влияния
ID проверки: mathworks.hism.hisl_0051
Проверяйте настройки оптимизации в настройку модели, которые применяются к порогу Развертывания цикла и могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации оптимизации, имеющие отношение к минимальному сигналу или ширине параметра, для которой сгенерирован цикл for
, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Установка оптимизации, чтобы задать минимальный сигнал или ширину параметра, для которой сгенерирован цикл | В диалоговом окне Configuration Parameters, набор Loop unrolling threshold или установленный параметр |
Нажатие на Modify Settings конфигурирует образцовые диагностические настройки, которые применяются к решателям, и это может повлиять на безопасность.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Анализирует содержимое в подсистемах маскированных, которые не имеют никакой рабочей области и никаких диалоговых окон.
ID проверки: mathworks.hism.hisl_0056
Проверяйте настройку модели на настройки оптимизации, которые могут повлиять на безопасность.
Эта проверка проверяет, что образцовые параметры конфигурации оптимизации установлены оптимально для генерации кода для связанного с безопасностью приложения. Несмотря на то, что очень оптимизированный код желателен для большинства систем реального времени, некоторая оптимизация может иметь нежелательные побочные эффекты та безопасность влияния.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Оптимизация, которая использует заданные минимальные и максимальные значения для сигналов и параметров, чтобы оптимизировать сгенерированный код, выбрана. Этот результат силы в требованиях без прослеживаемого кода. (См. Раздел DO-331 MB.6.3.4.e - Исходный код прослеживаем к низкоуровневым требованиям.) | Если вы имеете лицензию Embedded Coder и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Optimize using the specified minimum and maximum values (Simulink Coder) или параметр UseSpecifiedMinMax к off . |
Нажатие на Modify Settings конфигурирует образцовые настройки оптимизации, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Оптимизируйте сгенерированный код Используя минимальные и максимальные значения (Embedded Coder)
Радио-Техническая Комиссия для Аэронавтики (RTCA) для получения информации о DO - 178C Факторы программного обеспечения в Бортовых Системах и Сертификации оборудования и связанных стандартах
ID проверки: mathworks.hism.hisl_0032
Проверяйте имена объекта модели.
Эта проверка проверяет, что следующие имена объекта модели выполняют ваши собственные руководства по моделированию или руководства по моделированию высокой целостности. Проверка также проверяет, что объект модели не использует зарезервированное имя.
Блоки
Сигналы
Параметры
Шины
Объекты Stateflow
Зарезервированные имена:
Ключевые слова MATLAB
Зарезервированные слова для C, C++ и генерации кода. Для полного списка смотрите Зарезервированные слова (Simulink Coder)
int8
, uint8
int16
, uint16
int32
, uint32
inf
, Inf
NaN
, nan
eps
intmin
, intmax
realmin
, realmax
pi
infinity
Nil
В некоторых случаях Model Advisor сообщает о проблеме в нескольких подпроверках этой проверки.
Доступный с Simulink Check.
Чтобы задать стандартный объект именования и имена объекта модели, которые отмечает проверка, используйте Model Advisor Configuration Editor.
Откройте Образцового Редактора конфигурации и перейдите к Check model object names. В панели Input Parameters, для каждого из объектов модели, избранного одного из следующего:
MAAB
, чтобы использовать MAAB именование стандарта. Когда вы выбираете MAAB
, проверка использует регулярное выражение (^.{32,}$)|([^a-zA-Z_0-9])|(^\d)|(^ )|(__)|(^_)|(_$)
, чтобы проверить что имена:
Используйте эти символы: a-z
, A-Z
, 0-9
и подчеркивание (_)
.
Не запускайте с номера.
Не используйте символы нижнего подчеркивания вначале или конец строки.
Не используйте больше чем одно последовательное подчеркивание.
Используйте строки, которые являются меньше чем 32 символами.
Custom
, чтобы использовать ваш собственный стандарт именования. Когда вы выбираете Custom
, можно ввести собственный Regular expression for prohibited <model object> names
. Например, если вы хотите позволить больше чем одно последовательное подчеркивание, введите (^.{32,}$)|([^a-zA-Z_0-9])|(^\d)|(^ )|(^_)|(_$)
None
, если вы не хотите, чтобы проверка проверила имя объекта модели
Нажмите Apply.
Сохраните настройку. Когда вы осуществляете проверку с помощью этой настройки, проверка использует входные параметры, которые вы задали.
Условие | Рекомендуемое действие |
---|---|
Имена объекта модели не выполняют стандарт именования, заданный во входных параметрах. | Обновите имена объекта модели, чтобы выполнить ваши собственные инструкции или инструкции высокой целостности. |
Не работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Не анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
Инструкция MAAB, Версия 3.0: jc_0201: Применимые символы для имен Подсистемы
Инструкция MAAB, Версия 3.0: jc_0211: Применимые символы для блоков Inport и блоков Выходного порта
Инструкция MAAB, Версия 3.0: jc_0221: Применимые символы для имен сигнальной линии
Инструкция MAAB, Версия 3.0: jc_0231: Применимые символы для имен блока
Инструкция MAAB, Версия 3.0: na_0019: Ограниченные Имена переменных
Инструкция MAAB, Версия 3.0: na_0030: Применимые символы для имен Шины Simulink
ID проверки: mathworks.hism.hisl_0020
Идентифицируйте блоки, не поддержанные генерацией кода или не рекомендуемые для производственного развертывания C/C++ кода.
Эта проверка частично идентифицирует образцовые построения, которые не рекомендуются для генерации производственного кода C/C++, как идентифицировано в таблицах Simulink Block Support (Simulink Coder) для Simulink Coder и Embedded Coder. Если вы используете блоки с примечаниями поддержки для генерации кода, рассматриваете информацию и следуете данному совету.
Доступный с Simulink Check и Embedded Coder.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блоки, которые не должны использоваться для производственного развертывания кода. | Рассмотрите заменяющий блоки перечисленный в результатах. Кликните по элементу из списка сомнительных элементов, чтобы определить местоположение условия. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
DO-331, Раздел MB.6.3.2.b - Низкоуровневые требования точны и сопоставимы
hisl_0020: Блоки, не рекомендуемые для соответствия MISRA C:2012 (Simulink)
Блоки и продукты, поддержанные для генерации кода (Simulink Coder)
IEC 61508-3, Таблица A.3 (3) - Языковое подмножество
IEC 62304, 5.5.3 - критерии допустимости Программного блока
ISO 26262-6, Таблица 1 (1b) - Использование языковых подмножеств
EN 50128, таблица A.4 (11) - языковое подмножество
Блоки и продукты, поддержанные для генерации кода (Simulink Coder)
ID проверки: mathworks.misra.CodeGenSettings
Идентифицируйте параметры конфигурации, которые могут повлиять на MISRA C:2012 совместимая генерация кода.
В соответствии с рекомендациями этой проверки увеличивает вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений.
Доступный с Embedded Coder и Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Math and Data Types | |
Параметр конфигурации Use division for fixed-point net slope computation не установлен в On или Use division for reciprocals of integers only . | Установите Use division for fixed-point net slope computation на On или Use division for reciprocals of integers only . |
Inf or NaN block output установлен в None
| Установите Inf or NaN block output на warning или error . |
Параметр конфигурации Model Verification block enabling установлен в Use local settings или Enable All . | Установите Model Verification block enabling на Disable All . |
Параметр конфигурации Undirected event broadcasts установлен в none или warning . | Установите Undirected event broadcasts на error . |
Параметр конфигурации Wrap on overflow установлен в None | Установите параметр конфигурации Wrap on overflow на warning или error . |
Hardware Implementation | |
Параметр конфигурации Production hardware signed integer division rounds to установлен в Undefined | Установите Production hardware signed integer division rounds to на Zero или Floor . |
Параметр конфигурации Shift right on a signed integer as arithmetic shift выбран. | Очистите Shift right on a signed integer as arithmetic shift . |
Simulation Target | |
Параметр конфигурации Compile-time recursion limit for MATLAB functions установлен в значение кроме 0 . | Установите Compile-time recursion limit for MATLAB functions на 0 . |
Параметр конфигурации Dynamic memory allocation in MATLAB functions выбран. | Очистите Dynamic memory allocation in MATLAB functions. |
Параметр конфигурации Enable run-time recursion for MATLAB functions выбран. | Очистите Enable run-time recursion for MATLAB functions. |
Code Generation | |
Bitfield declarator type specifier параметра конфигурации установлен в
| Установите Bitfield declarator type specifier на uint_T . |
Параметр конфигурации Casting Modes не установлен в Standards Compliant . | Установите Casting Modes на Standards Compliant . |
Параметр конфигурации Code replacement library не установлен в None или AUTOSAR 4.0 . | Установите Code replacement library на |
Параметр конфигурации External mode выбран. | Очистите External mode. |
Параметр конфигурации Generate shared constants выбран. | Очистите Generate shared constants. |
Параметр конфигурации Include comments очищен. | Выберите Include comments. |
Параметр конфигурации MAT-file logging выбран. | Очистите MAT-file logging |
Для основанных на ERT целевых систем параметр конфигурации очищен MATLAB user comments. | Выберите MATLAB user comments. |
Значение для параметра конфигурации Maximum identifier length не обеспечивается. | Установите значение к зависящему от реализации пределу. Значением по умолчанию является 31 . |
Параметр конфигурации Parenthesis level не установлен в Maximum (Specify precedence with parentheses) . | Установите Parentheses level на Maximum (Specify precedence with parentheses) . |
Для основанных на ERT целевых систем параметр конфигурации очищен Preserve static keyword in function declarations, когда File packaging format установлен в или | Выберите Preserve static keyword in function declarations. |
Параметр конфигурации Replace multiplications by powers of two with signed bitwise shifts выбран. | Очистите Replace multiplications by powers of two with signed bitwise shifts. |
Параметр конфигурации Shared code placement установлен в Auto . | Установите Shared code placement на |
Для основанных на ERT целевых систем параметр конфигурации выбран Support continuous time | Очистите Support continuous time. |
Параметр конфигурации Support non-finite numbers выбран. | Очистите Support non-finite numbers |
Для основанных на ERT целевых систем параметр конфигурации выбран Support non-inlined S-functions | Очистите Support non-inlined S-functions. |
Параметр конфигурации System-generated identifiers установлен в Classic . | Установите System-generated identifiers на Shortened . |
Параметр конфигурации System target file установлен в основанную на GRT цель. | Установите System target file на основанную на ERT цель. |
Use dynamic memory allocation for model initialization параметра конфигурации выбран, когда Code Interface Packaging установлен в Reusable Function . | Очистите Use dynamic memory allocation for model initialization. Выберите только, когда Code Interface Packaging будет установлен в |
Нажатие на Modify All изменяет значения параметров на рекомендуемые значения.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Эта проверка не рассматривает модели, на которые ссылаются.
ID проверки: mathworks.misra.BlkSupport
Идентифицируйте блоки, которые не поддержаны или рекомендованы для MISRA C:2012 совместимую генерацию кода.
В соответствии с рекомендациями этой проверки увеличивает вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений.
Доступный с Embedded Coder и Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блоки Интерполяционной таблицы с помощью интерполяции кубическим сплайном или методов экстраполяции были найдены в модели или подсистеме. Определенные блоки:
| Рассмотрите другие методы интерполяции и экстраполяции для блоков Интерполяционной таблицы. |
Блоки Интерполяционной таблицы устаревшие были найдены в модели или подсистеме. Определенные блоки:
| Рассмотрите заменяющий блоки Интерполяционной таблицы устаревшие. |
Разработчик S-функции блоки был найден в модели или подсистеме. | Рассмотрите заменяющий Разработчика S-функции блоки на блоки рекомендуемый для производства. |
Из Рабочей области блоки были найдены в модели или подсистеме | Рассмотрите заменяющий От блоков Рабочей области с блоками рекомендуемый для производства. |
Блоки строки были найдены в модели или подсистеме. Определенные блоки:
| Рассмотрите заменяющий блоки Строки на блоки рекомендуемый для производства. |
Вы можете:
Осуществите эту проверку своих моделей библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных.
Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.