Системы высокой целостности, Моделируя проверки упрощают разработку и поиск и устранение неисправностей моделей, подсистем и соответствующего сгенерированного кода для приложений, чтобы выполнить Системные Руководства по моделированию Высокой Целостности.
Model Advisor выполняет контроль лицензии Simulink® Check™, когда вы осуществляете Системы Высокой Целостности, Моделируя проверки.
Системы высокой целостности, Моделируя проверки классифицируются на следующим группам:
Системы высокой целостности, Моделируя проверки на блоки Simulink и компоненты.
Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.
Системы высокой целостности, Моделируя проверки на диаграммы Stateflow и компоненты.
Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.
Системы высокой целостности, Моделируя проверки на код MATLAB.
Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.
Системы высокой целостности, Моделируя проверки на Параметры конфигурации.
Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.
Системы высокой целостности, Моделируя проверки на Соглашения о присвоении имен.
Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.
Системы высокой целостности, Моделируя проверки на трассируемость Simulink Requirements.
Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.
Системы высокой целостности, Моделируя проверки на сгенерированный код.
Для получения дополнительной информации смотрите Проверки Модели на Высокое Системное Моделирование Целостности.
От R2018b и позже, следующие проверки не рекомендуются для использования. Эти проверки разделены в несколько проверок, которые фокусируются на одном действии или операции. Для получения дополнительной информации смотрите Разделение и Новую приведенную ниже таблицу Проверок.
ID проверки: mathworks.hism.hisl_0021
Идентифицируйте блоки с противоречивым методом индексирования.
Используя противоречивый блок методы индексирования может привести к моделированию ошибок. Необходимо использовать сопоставимый векторный метод индексирования во всех блоках. Методы индексирования основаны на нуле, на основе одни или заданы пользователями.
Блоки, которые поддерживают конфигурируемую индексацию:
Блоки, которые поддерживают только индексацию на основе одну:
Fcn (удержан от использования)
Диаграмма 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 . |
Диагностика, которая обнаруживает, когда одна задача считывает данные от блока Data Store Memory, до которого записывает данные другая задача, установлена в 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 или переменную.
Не поддерживает операции сдвига, которые состоят из размера сдвига, решенного во время выполнения.
Внешние функции, написанные в C и встроенные в Stateflow, не будут работать с этой проверкой.
ID проверки: mathworks.hism.hisl_0034
Идентифицируйте использование блоков Signal Routing, которые могут повлиять на безопасность.
Эта проверка идентифицирует модель или подсистему блоки 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 к 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. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр 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).
Внешние функции, написанные в C и встроенные в Stateflow, не будут работать с этой проверкой.
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
Проверяйте на блоки интерполяционной таблицы, которые не генерируют из области значений проверяющий код.
Эта проверка проверяет, что следующие блоки генерируют код, чтобы защитить от входных параметров, которые выходят за пределы области значений допустимых значений точки останова:
Эта проверка также проверяет, что блоки Interpolation Using Prelookup генерируют код, чтобы защитить от входных параметров, которые выходят за пределы области значений допустимых значений индекса.
Доступный с 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 или блоки From, установлена в 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
Идентифицируйте использование блоков Math Operation, которые могут повлиять на безопасность.
Эта проверка смотрит использование блока Abs.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок Absolute Value, который работает с одним из следующего:
| Если идентифицированный блок Absolute Value работает с булевым или типом данных без знака, выполнить одно из следующих действий:
Если идентифицированный блок Absolute Value работает с типом данных со знаком в диалоговом окне Block Parameters > Signal Attributes, выберите Saturate on integer overflow. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0002
Идентифицируйте использование блоков Math Operation, которые могут повлиять на безопасность.
Эта проверка смотрит использование блоков Математической функции, которые имеют остаток после деления и обратные величины.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат Math Function - Остаток после division(rem) блоки, которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы. | При использовании блока Math Function с |
Модель или подсистема содержат Math Function - Обратная величина (reciprocal) блоки, которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы. | При использовании блока Math Function с |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0004
Идентифицируйте использование блоков Math Operation, которые могут повлиять на безопасность.
Эта проверка смотрит использование блоков Математической функции, которые имеют Натуральный логарифм, и Распространенный (базируйтесь 10), логарифмы.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат Math Function - Натуральный логарифм (log) блоки, которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы. | При использовании блока Math Function с |
Модель или подсистема содержат Math Function - Распространенный (базируйтесь 10), (base 10 logarithm) блоки, которые могут привести к неличным выходным сигналам. Неличные сигналы не поддержаны в режиме реального времени встраиваемые системы. | При использовании блока Math Function с |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0029
Идентифицируйте использование блоков Math Operation, которые могут повлиять на безопасность.
Эта проверка смотрит использование блоков Присвоения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема могут содержать блоки Assignment с неполной инициализацией массивов (не в подсистеме iterator ), которые не имеют параметров блоков набором Action if any output element is not assigned к Error или Warning. | Установите параметры блоков Action if any output element is not assigned на одно из рекомендуемых значений:
|
Модель или подсистема могут содержать блоки Assignment в подсистеме iterator , и 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 . В качестве альтернативы подтвердите, что ваш компилятор совместим стандартами, когда большинство современных компиляторов C инициализирует глобальные данные, чтобы обнулить. Или, интегрируйте внешний, рукописный код, который инициализирует все переменные I/O, чтобы обнулить явным образом. |
Оптимизация, которая подавляет генерацию кода инициализации для внутренних структур работы, таких как состояния блока и блок выходные параметры, которые обнуляются, выбрана. Для связанного с безопасностью кода необходимо явным образом инициализировать каждую переменную. | Если вы имеете лицензию Embedded Coder и используете основанный на ERT системный конечный файл, очистите Параметр конфигурации Remove internal data zero initialization (Simulink Coder) или установите параметр ZeroInternalMemoryAtStartup к on . В качестве альтернативы подтвердите, что ваш компилятор совместим стандартами, когда большинство современных компиляторов C инициализирует глобальные данные, чтобы обнулить. Или, интегрируйте внешний, рукописный код, который инициализирует каждую переменную состояния, чтобы обнулить явным образом. |
Нажатие на 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
Идентифицируйте использование блоков Logical Operator, которые могут повлиять на безопасность.
Эта проверка смотрит использование блоков Logical Operator.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок Logical Operator, который имеет вводы или выводы, которые не являются булевыми вводами или выводами. Блок может привести к сравнениям равенства или неравенства с плавающей точкой в сгенерированном коде. |
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0016
Эта проверка смотрит использование:
Блоки, которые приравнивают типы с плавающей точкой, включая Relational Operator, Compare To Constant, Compare To Zero и, блоки Detect Change.
Операторы равенства (== и ~=) в выражениях в, если блоки.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок, вычисляя оператор отношения, который использует == или ~ = оператор, чтобы сравнить сигналы с плавающей точкой. Использование этих операторов на сигналах с плавающей точкой ненадежно и непредсказуемо из-за проблем точности с плавающей точкой. Эти операторы могут привести к непредсказуемым результатам в сгенерированном коде. | Для идентифицированного блока выполнить одно из следующих действий:
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0017
Эта проверка смотрит использование блоков, которые вычисляют операторы отношения, включая Relational Operator, Compare To Constant, Compare To Zero и, блоки Detect Change.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок, вычисляя оператор отношения, который работает с различными типами данных. Условие может привести к непредсказуемым результатам в сгенерированном коде. | Для идентифицированных блоков используйте типы общих данных в качестве входных параметров. Можно использовать блоки Data Type Conversion, чтобы изменить типы входных данных. |
Модель или подсистема содержат блок, вычисляя оператор отношения, который не имеет булева выхода. Условие может привести к непредсказуемым результатам в сгенерированном коде. | Для заданных блоков, на Параметрах блоков> панель Атрибутов Сигнала, устанавливает Output data type на boolean . |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0011
Эта проверка смотрит использование блоков Switch Case
Проверка отмечает блоки Switch Case, которые не используют целочисленные типы данных или перечислимые величины для входных параметров. Выполнить hisl_0011: Использование блоков Случая Переключателя и блоков Subsystem Действия (Simulink) – C, используйте целочисленный тип данных или перечислимую величину для входных параметров с блоками Switch Case.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок Switch Case без случая по умолчанию. | В the Switch Case диалоговом окне блока Block Parameters выберите Show default case. Соедините получившийся выходной порт по умолчанию с блоком Switch Case Action Subsystem. |
Модель или подсистема содержат блок Switch Case с выходным портом, который не соединяется с блоком Switch Case Action Subsystem. | Проверьте, что выходные порты блоков Switch Case соединяются с блоками Switch Case Action Subsystem. |
Модель или подсистема содержат блок Switch Case с нецелым числом или неперечислимыми типами данных входного порта. | Убедитесь, что тип входных данных блоков Случая Переключателя является целым числом или перечислением. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0010
Эта проверка смотрит использование блоков If.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема Еще содержат использование блока If выражения Elseif без условие. | В диалоговом окне Block Parameters блока If выберите Show else condition. Еще соедините получившееся выходной порт с блоком If Action Subsystem. |
Модель или подсистема содержат блок If с выходными портами, которые не соединяются с блоками If Action Subsystem. | Проверьте, что выходные порты блока If соединяются с блоками If Action Subsystem. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0008
Эта проверка смотрит использование блоков For Iterator.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок For Iterator, который имеет переменные итерации. Это условие может привести к непредсказуемым временам выполнения или бесконечным циклам в сгенерированном коде. | Для идентифицированных блоков For Iterator выполнить одно из следующих действий:
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0007
Эта проверка смотрит использование зависящих от времени блоков в подсистеме While Iterator или For Iterator.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат один из следующих зависящих от времени блоков в подсистеме While Iterator или For Iterator:
| В модели или подсистеме, рассмотрите удаление зависящих от времени блоков. |
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр Follow links устанавливается на on
.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0006
Эта проверка смотрит использование блоков While Iterator.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блок While Iterator, который имеет неограниченные итерации. Это условие может привести к бесконечным циклам в сгенерированном коде. mo | Для идентифицированных блоков While Iterator:
|
Не работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки. По умолчанию входной параметр 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 . |
Опция, чтобы сгенерировать функция очищена. Наличие одного вызова функций выхода и обновления упрощает интерфейс до операционной системы реального времени (RTOS) и упрощает верификацию сгенерированного кода. | Выберите 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 . |
Нажатие на 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> панель Identifier в диалоговом окне Configuration Parameters или параметре MangleLength к значению 4 или больше. |
Нажатие на Modify Settings конфигурирует настройки генерации типового кодекса, которые могут повлиять на безопасность.
Подпроверки зависят от результатов подпроверок, отмеченных с D в таблице результатов в окне Model Advisor.
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
hisl_0049: Параметры конфигурации> Генерация кода> Идентификаторы
Параметры конфигурации модели: комментарии (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 . |
Диагностика, которая обнаруживает или To Workspace или блоки Scope, регистрирует данные в модели, на которую ссылаются, установлен в none или warning . Регистрация данных не поддержана для To Workspace и блоков Scope в моделях, на которые ссылаются. | Установите 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 function
Функциональные метрики ― Метрики для каждой функции блока, представленного индивидуально
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Можно задать допуск к этим параметрам сложности при помощи Model Advisor Configuration Editor:
Maximum effective lines of code per function ― Эффективные линии не включает пустые линии, строки с комментариями или линии с функциональным end
ключевое слово. Значением по умолчанию является 60
.
Minimum density of comments ― Плотность является отношением строк с комментариями к общим строкам кода. Значением по умолчанию является 0.2
.
Maximum cyclomatic complexity per function ― Цикломатическая сложность является количеством линейно независимых контуров через исходный код. Значением по умолчанию является 15
.
Условие | Рекомендуемое действие |
---|---|
Функция MATLAB нарушает входные параметры сложности. | Для функции MATLAB:
|
Эта проверка только анализирует функции, на которые непосредственно ссылается модель Simulink.
Работает на моделях библиотеки.
Не анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
ID проверки: mathworks.hism.hisl_0309
Проверяйте настройку модели на диагностические настройки, которые применяются к преобразованиям типов, и это может повлиять на безопасность.
Эта проверка проверяет, что диагностические параметры конфигурации модели, имеющие отношение к преобразованиям типов, установлены оптимально для генерации кода для связанного с безопасностью приложения.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Диагностика, которая обнаруживает блоки Data Type Conversion, когда преобразование типов установлено в none . Программное обеспечение Simulink может удалить ненужные блоки Data Type Conversion из сгенерированного кода, который может привести к требованиям без соответствующего кода. Удаление этих блоков должно быть идентифицировано, таким образом, разработчики модели могут явным образом удалить ненужные блоки. | Установите 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 . Рассмотрите повреждение таких циклов явным образом с блоками Unit Delay так, чтобы порядок выполнения был предсказуем. Как минимум проверьте, что результаты циклов, повреждающихся автоматически, приемлемы. |
Диагностика для обнаружения автоматической поломки алгебраических циклов для блоков Model, атомарных подсистем, и включила подсистемы, установлен в none или warning . Повреждение алгебраических циклов может влиять на предсказуемость порядка выполнения блока. Для связанных с безопасностью приложений разработчик модели должен знать, когда такие пропуски происходят. | Установите Minimize algebraic loop (Simulink) на Diagnostics> панель Solver в диалоговом окне Configuration Parameters или установите параметр ArtificialAlgebraicLoopMsg к error . Рассмотрите повреждение таких циклов явным образом с блоками Unit Delay так, чтобы порядок выполнения был предсказуем. Как минимум проверьте, что результаты циклов, повреждающихся автоматически, приемлемы. |
Диагностика для обнаружения потенциального конфликта в порядке выполнения блока установлена в 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. |
Не работает на моделях библиотеки.
Не позволяет исключения блоков или графиков.
Внешние функции, написанные в C и встроенные в 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
Эта проверка идентифицирует блоки Merge , которые непосредственно не соединяются с условно выполняемой подсистемой и установили параметр Allow unequal port widths на на.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блок слияния не соединяется непосредственно с условно выполняемой подсистемой. | Реконструируйте так, чтобы блоки Слияния были соединены непосредственно с условно выполняемыми подсистемами. |
Параметры блоков Слияния Allow unequal port widths установлены в on. | Установите параметры блоков Слияния Allow unequal port widths на off |
Несколько подсистема выполняются во время временного шага в условно выполняемых подсистемах. | Задайте выполнение условно выполняемых подсистем, таким образом, что только одна подсистема выполняется во время временного шага. |
Параметры блоков Outport Выход, когда отключено не установлены в held ни для каких условно выполняемых подсистем в модели. | Установите параметры блоков Outport Выход, когда отключено к held для каждой условно выполняемой объединяемой подсистемы. |
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр Look under masks устанавливается на all
.
Анализирует содержимое соединенных библиотекой блоков. По умолчанию входной параметр Follow links устанавливается на on
.
ID проверки: mathworks.hism.hisl_0012
Эта проверка идентифицирует блоки с неправильными шагами расчета в условно выполняемых подсистемах и асинхронно выполняемые зависимые блоки шага расчета.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Шаг расчета для блоков не установлен в
| Измените шаг расчета для блоков, чтобы быть -1 . |
Модель содержит асинхронно выполняемые зависимые блоки шага расчета:
| Реконструируйте, чтобы удалить зависимые блоки шага расчета. |
Асинхронно выполняемые зависимые блоки шага расчета отмечаются, только если Triggered и блоки Function-call присутствуют.
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных. По умолчанию входной параметр 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.himl_0011
Эта проверка оценивает модель, чтобы проверять, что логические скаляры используются в этих выражениях условия:
if
выражения
elseif
выражения
while
выражения
Выражения условия переходов Stateflow
Доступный с Simulink Check.
Эта проверка требует лицензии Stateflow.
Условие | Рекомендуемое действие |
---|---|
| Измените выражение в логический скаляр. |
| Измените выражение в логический скаляр. |
| Измените выражение в логический скаляр. |
Выражение условия выражения перехода Stateflow не является логическим скаляром. | Измените выражение в логический скаляр. |
Таблица результатов идентифицирует каждое выражение, которое содержит выражение, которое не является логическим скаляром. Чтобы рассмотреть проблему, выберите соответствующую функциональную ссылку из таблицы результата. Model Advisor открывает и подсвечивает соответствующее функциональное определение или, для Stateflow, открывает график и подсвечивает состояние, в котором происходит проблема.
Вручную измените выражения условия в логические скаляры. Сохраните модель и повторно выполните проверку.
Условия переходов Stateflow и актов государственной власти не проверяются при использовании C как язык действия Stateflow.
Эта проверка не работает на моделях библиотеки.
Недостижимые инвариантные условия и фрагменты кода не могут анализироваться.
Акт государственной власти вводит (Stateflow)
Действие перехода вводит (Stateflow)
Различия между MATLAB и C как синтаксис языка действия (Stateflow)
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
Эта проверка идентифицирует блоки Gain со значением, которое решает к 1, единичная матрица или матрица из единиц.
Доступный с Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Один или несколько блоков Gain в твердости модели к 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 или установите параметр В качестве альтернативы отключить использование |
Диагностика блока Product, которая обнаруживает сингулярную матрицу при инвертировании одних из ее входных параметров в режиме умножения матриц, установлена в none или warning . Деление сингулярной матрицей может привести к числовым исключениям при выполнении сгенерированного кода. Это не приемлемо в связанных с безопасностью системах. (См. DO-331, Раздел MB.6.3.1.g – Алгоритмы точны, DO-331, Раздел MB.6.3.2.g – Алгоритмы точны, и MISRA C:2012, Dir 4.1.) | Установите Division by singular matrix (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
, можно ввести собственное Регулярное выражение для запрещенного <model object>
имена. Например, если вы хотите позволить больше чем одно последовательное подчеркивание, введите (^.{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.
В некоторых случаях эта проверка отмечает блоки, которые поддерживаются для генерации кода. Для этих блоков необходимо рассмотреть информацию о сноске, которая предоставляется в примечаниях поддержки, и придерживайтесь рекомендуемого действия, обеспеченного Model Advisor.
Доступный с Simulink Check и Embedded Coder.
Условие | Рекомендуемое действие |
---|---|
Модель или подсистема содержат блоки, которые не должны использоваться в производственном развертывании кода. | Рассмотрите заменяющий блоки перечисленный в результатах. Кликните по элементу из списка сомнительных элементов, чтобы определить местоположение условия. |
Model Advisor отмечает блоки, которые поддерживаются для генерации кода | Рассмотрите примечания поддержки и придерживайтесь рекомендуемого действия, обеспеченного Model Advisor. |
Работает на моделях библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое во всех подсистемах маскированных.
Позволяет исключения блоков и графиков.
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 установлен в Параметр конфигурации Inf or NaN block output установлен в | Когда Support non-finite numbers:
|
Параметр конфигурации 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. |
Для основанных на 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 изменяет значения параметров в рекомендуемые значения.
Когда вы нажимаете Modify All для моделей с основанной на GRT целью, Model Advisor не обновляет параметр конфигурации System target file к основанной на ERT системе.
Подпроверки параметра зависят от результатов параметра, отмеченного с D в таблице результатов. Когда результатом является D-предупреждение, столбец Current Value в таблице результатов утверждает Необходимое как условие ограничение, которому не соответствуют для подпроверок. После того, как вы изменяете параметр, повторно выполняете проверку.
Некоторые подпроверки характерны для параметров конфигурации для основанных на ERT систем. Эти параметры не обновляются, когда вы нажимаете Modify All, если вы не изменяете модель в основанную на ERT систему.
Эта проверка не рассматривает модели, на которые ссылаются.
ID проверки: mathworks.misra.BlkSupport
Идентифицируйте блоки, которые не поддержаны или рекомендованы для MISRA C:2012 совместимую генерацию кода.
В соответствии с рекомендациями этой проверки увеличивает вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений.
Доступный с Embedded Coder и Simulink Check.
Условие | Рекомендуемое действие |
---|---|
Блоки Интерполяционной таблицы с помощью интерполяции кубическим сплайном или методов экстраполяции были найдены в модели или подсистеме. Определенные блоки:
| Рассмотрите другие методы интерполяции и экстраполяции для блоков Интерполяционной таблицы. |
Блоки Интерполяционной таблицы устаревшие были найдены в модели или подсистеме. Определенные блоки:
| Рассмотрите заменяющий блоки Интерполяционной таблицы устаревшие. |
Блоки S-Function Builder были найдены в модели или подсистеме. | Рассмотрите заменяющий Разработчика S-функции блоки на блоки рекомендуемый для производства. |
Блоки From Workspace были найдены в модели или подсистеме | Рассмотрите заменяющий От блоков Рабочей области с блоками рекомендуемый для производства. |
Блоки строки были найдены в модели или подсистеме. Определенные блоки:
| Рассмотрите заменяющий блоки Строки на блоки рекомендуемый для производства. |
Вы можете:
Осуществите эту проверку своих моделей библиотеки.
Анализирует содержимое соединенных блоков библиотеки.
Анализирует содержимое в подсистемах маскированных.
Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check.
Разовая редактированием Проверка. Эта проверка поддерживается разовой редактированием проверкой.