| Stateflow® Block Constraint | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
Function packaging (RTWSystemCode) должен быть установлен в Inline. Simulink® Code Inspector™ поддерживает блок Chart для инспекции кода. | Нефатальный | Check usage of Stateflow blocks |
| Ограничение Chart | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
|
График не должен содержать ни один из следующих объектов:
| КРИТИЧЕСКИЙ | Check usage of Stateflow charts> Check usage of Stateflow object palette |
| График, который использует язык действия MATLAB, должен иметь уникальные имена для функций Simulink, графических функций и таблиц истинности, которые это содержит. | Нефатальный | Check usage of Stateflow charts> Check name usage in a Stateflow chart that uses MATLAB action language |
| Код MATLAB в графике, который использует язык действия MATLAB, должен следовать за теми же ограничениями как код в блоках MATLAB Function. | Нефатальный | Check usage of Stateflow MATLAB action language |
| Свойство диаграммы Create data for monitoring child activity не должно быть выбрано. | Нефатальный | Check usage of Stateflow charts> Check that all charts unselect ‘Create data for monitoring child activity’ option |
Свойство диаграммы Update method должно быть установлено в Inherited. | Нефатальный | Check usage of Stateflow charts> Check that all charts specify 'Inherited' as their update method |
| Состояния и подсостояния в графике должны иметь переходы по умолчанию. | Нефатальный | Check usage of Stateflow charts> Check that states or substates have a default transition |
| Свойство диаграммы Enable Super Step Semantics не должно быть выбрано. | Нефатальный | Check usage of Stateflow charts> Check that all charts unselect ‘Enable Super Step Semantics’ option |
| Свойство диаграммы Execute (enter) Chart at Initialization не должно быть выбрано. | Нефатальный | <Check usage of Stateflow charts> Check that no charts execute at initialization |
| Свойство диаграммы Export Chart Level Functions не должно быть выбрано. | Нефатальный | Check usage of Stateflow charts> Check that no charts export chart level functions |
| Свойство диаграммы Saturate on integer overflow не должно быть выбрано. | Нефатальный | Check usage of Stateflow charts> Check that no charts specify saturation on overflow for integer operations |
Свойство диаграммы State Machine Type не должно быть установлено в Moore. | Нефатальный | Check usage of Stateflow charts> Check usage of State Machine Type |
| Свойство диаграммы Support variable-size arrays не должно быть выбрано. | КРИТИЧЕСКИЙ | Check usage of Stateflow charts> Check that no charts support variable-size arrays |
| Поток управления не должен иметь больше чем 1 перехода по умолчанию. | Нефатальный | Check usage of Stateflow charts> Check that all control flows have unique default transitions |
| Данные или ограничение события | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
| Данные Stateflow не должны иметь осциллографа машины. | Нефатальный | Check for Stateflow machine data> All Stateflow data must be parented by a Stateflow chart |
| События Stateflow не должны иметь осциллографа машины. | Нефатальный | Check for Stateflow machine events> All Stateflow events must be parented by a Stateflow chart |
График не должен задавать данные Stateflow с Constant осциллограф. | Нефатальный | Check usage of Stateflow data> Check that the chart does not define Stateflow data with Constant scope |
InitializeMethod для Local или Output данные Stateflow осциллографа не должны быть установлены в Parameter. | Нефатальный | Check usage of Stateflow data> Check usage of Stateflow data Initialize Method |
Стройте диаграмму типами данных должен быть builtin, enumerated, или bus. Если тип данных графика является шиной, данные не должны быть массивами шин или иметь элементы, которые являются массивами шин. Если типом данных графика является enumerated, значением по умолчанию данных должен быть 0. | Нефатальный | Check usage of Stateflow data> Check that Stateflow data is of a supported data type |
Стройте диаграмму данных с осциллографом Output не должен задавать начальные значения. | Нефатальный | Check usage of Stateflow data> Check that the chart does not specify initial values for chart data with scope Output |
First Index свойство для данных Stateflow должно быть пустым или 0. | Нефатальный | Check usage of Stateflow data> Check that the 'First Index' of Stateflow data are empty or 0 |
| Размер данных о параметре Stateflow должен быть тем же самым в Stateflow и базовом рабочем пространстве. | Нефатальный | Check usage of Stateflow data> Check that Stateflow parameter data sizes in Stateflow and the base workspace match |
| График не должен использовать комплексные данные. | Нефатальный | Check usage of Stateflow data> Check that the chart uses only non-complex data |
| Состояния Stateflow и поля не должны задавать данные Stateflow. | Нефатальный | Check usage of Stateflow data> Check that states and boxes do not define Stateflow data |
Событием scope должен быть Output или Local. | Нефатальный | Check usage of Stateflow events> Check that the chart uses only events of scope Local or Output |
Триггером события должен быть function-call. | Нефатальный | Check usage of Stateflow events> Check that the chart uses only function-call events |
| Ограничение графической функции | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
| Графическая функция не должна содержать циклы потока управления. | КРИТИЧЕСКИЙ | Check usage of Stateflow graphical functions> Check that control flows do not have cycles |
Свойство Function Inline Option графической функции (InlineOption) должен быть Inline или Function. | Нефатальный | Check usage of Stateflow graphical functions> Check usage of InlineOption setting |
Для графической функции с Function Inline Option (InlineOption) установите на Function, параметр конфигурации Code interface packaging (CodeInterfacePackaging) должен быть установлен в Nonreusable function. | Нефатальный | Check usage of Stateflow graphical functions> Check configuration for models with non-inlined graphical functions |
| Невстроенные графические функции должны иметь уникальные имена функций. | Нефатальный | Check usage of Stateflow graphical functions> Check non-inlined graphical function names |
| Графическая функция не должна быть рекурсивной. | Нефатальный | Check usage of Stateflow graphical functions> Check usage of recursive Stateflow function |
| Графическая функция не должна содержать неструктурированный поток управления. | КРИТИЧЕСКИЙ | Check usage of Stateflow graphical functions> Check that control flows are structured |
| Состояние не должно иметь вызовов графической функции с различными фактическими и ожидаемыми типами данных аргумента. | Нефатальный | Check usage of Stateflow states> Check data type of Graphical Function arguments |
| Состояние не должно иметь вызовов графической функции с различными фактическими и ожидаемыми размерами аргумента. | Нефатальный | Check usage of Stateflow states> Check dimensions of Graphical Function arguments |
| Переход не должен иметь вызовов графической функции с различными фактическими и ожидаемыми типами данных аргумента. | Нефатальный | Check usage of Stateflow transitions> Check data type of Graphical Function arguments |
| Переход не должен иметь вызовов графической функции с различными фактическими и ожидаемыми размерностями аргумента. | Нефатальный | Check usage of Stateflow transitions> Check dimensions of Graphical Function arguments |
|
Ограничение функции Simulink | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
|
Вызовы функции Simulink в состояниях должны иметь тот же тип данных аргумента как импорт и выходные порты в Подсистеме вызова функций определения. | Нефатальный | Check usage of Stateflow states> Check data type of Simulink Function arguments |
| Вызовы функции Simulink в состояниях должны иметь тот же размер аргумента как импорт и выходные порты в Подсистеме вызова функций определения. | Нефатальный | Check usage of Stateflow states> Check dimensions of Simulink Function arguments |
| Вызовы функции Simulink в переходах должны иметь тот же тип данных аргумента как импорт и выходные порты в Подсистеме вызова функций определения. | Нефатальный | Check usage of Stateflow transitions> Check data type of Simulink Function arguments |
| Вызовы функции Simulink в переходах должны иметь тот же размер аргумента как импорт и выходные порты в Подсистеме вызова функций определения. | Нефатальный | Check usage of Stateflow transitions> Check dimensions of Simulink Function argument |
| Ограничение соединения | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
| Соединения не должны иметь исходящих переходов, переходящих за пределами цикла. | Нефатальный | Check usage of Stateflow junctions> Check that Stateflow junctions do not have outgoing transitions jumping outside of the loop |
| Незавершение соединений должно иметь точно один безусловный переход, выходящий из них. | КРИТИЧЕСКИЙ | Check usage of Stateflow junctions> Check that non-terminating junctions have exactly one unconditional exiting transition |
| График не должен содержать соединение истории. | Нефатальный | Check usage of Stateflow junctions> Check that the chart uses no history junctions |
| Соединения заголовка должны иметь два поступления и два исходящих перехода. | Нефатальный | Check usage of Stateflow junctions> Check that control flows do not have loops with unsupported header junctions |
| Завершение соединений не должно прослеживать до состояния Stateflow. | Нефатальный | Check usage of Stateflow junctions> Check usage of terminating Stateflow junctions |
| Безусловный переход должен быть последним в порядке выполнения. | КРИТИЧЕСКИЙ | Check usage of Stateflow junctions> Check that unconditional transitions execute last in execution order |
| График не должен содержать неструктурированный поток управления. | Нефатальный | Check usage of Stateflow junctions> Check that control flows are structured |
| Состояния (Stateflow) ограничение | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
| Состояния не должны содержать циклы потока управления. | КРИТИЧЕСКИЙ | Check usage of Stateflow states> Check that control flows do not have cycles |
|
Действие должно быть для одной из этих операций:
| Нефатальный | Check usage of Stateflow states> Check that actions do not have unsupported operations |
| Массивы больше чем одной размерности не должны использовать индексацию. | Нефатальный | Check usage of Stateflow states> Check for indexing in arrays that are more than one dimension |
Массивы должны использовать индекс типа данных int32. | Нефатальный | Check usage of Stateflow states> Check that all arrays use index of type 'int32' |
| Действие не должно получать доступ к контекстно-зависимым константам. | Нефатальный | Check usage of Stateflow states> Check that no actions access context-sensitive constants |
| Действие не должно получать доступ к пользовательским данным. | Нефатальный | Check usage of Stateflow states> Check that no actions access custom data |
| Состояния и подсостояния в графике должны иметь переходы по умолчанию. | Нефатальный | Check usage of Stateflow states> Check that states or substates have a default transition |
|
Состояние не должно использовать ни одну из следующих недопустимых операций на операндах перечисляемого типа:
| Нефатальный | Check usage of Stateflow states> Check that actions do not have unsupported operations on enumeration type operands |
|
Математические функции в действиях должны иметь:
| Нефатальный | Check usage of Stateflow states> Check that no actions contain a function whose argument is of an invalid data type |
| Действие не должно содержать бинарного оператора со смешанными операндами типа данных. | Нефатальный | Check usage of Stateflow states> Check that no actions contain a binary operator whose operands are of mixed data type |
| Функции Stateflow не должны иметь больше чем 2 аргументов. | Нефатальный | Check usage of Stateflow states> Check that no Stateflow functions have more than 2 arguments |
| Состояния Stateflow не должны иметь рекурсивный, отправляют вызовы функции. | Нефатальный | Check usage of Stateflow states> Check usage of States with recursive send function calls |
Государственной собственностью Function Inline Option не должен быть Auto или Function. | Нефатальный | Check usage of Stateflow states> Check usage of Stateflow state InlineOption |
Государственная собственность Create data for monitoring не должна быть выбрана (набор к on). | Нефатальный | Check usage of Stateflow states> Check that all states unselect ‘Create data for monitoring’ option |
| Действия не должны время доступа. | Нефатальный | Check usage of Stateflow states> Check that no actions access time (t) |
| Состояния не должны содержать неструктурированный поток управления. | Нефатальный | Check usage of Stateflow states> Check that control flows are structured |
| Поток управления не должен иметь больше чем 1 перехода по умолчанию. | Нефатальный | Check usage of Stateflow states> Check that all control flows have unique default transitions |
| Пути от состояния должны быть одним из следующего: внутренний переход к подсостоянию или внешний переход к одноуровневому элементу, прямому родительскому элементу или прямому подсостоянию. | Нефатальный | Check usage of Stateflow states> Check that all transition paths are either inner transitions to a substate, or outer transitions to siblings, direct parent, or direct substates |
Действия не должны содержать XOR оператор с булевыми операндами, когда параметр модели Casting modes установлен в Standards. | Нефатальный | Check usage of Stateflow states> Check that no actions contain an xor operator with boolean operands |
| Графики не должны иметь вызовов графической функции с неприсвоенными выходными параметрами. | Нефатальный | Check usage of Stateflow states> Check unassigned graphical function outputs |
| Переходы (Stateflow) ограничение | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
|
Действие должно быть для одной из этих операций:
| Нефатальный | Check usage of Stateflow transitions> Check that actions do not have unsupported operations |
| Массивы больше чем одной размерности не должны использовать индексацию. | Нефатальный | Check usage of Stateflow transitions> Check for indexing in arrays that are more than one dimension |
Массивы должны использовать индекс типа данных int32. | Нефатальный | Check usage of Stateflow transitions> Check that all arrays use index of type 'int32' |
| Условие перехода должно иметь булев тип данных. | Нефатальный | Check usage of Stateflow transitions> Check that all transition conditions are of boolean data type |
| Действие не должно получать доступ к контекстно-зависимым константам. | Нефатальный | Check usage of Stateflow transitions> Check that no actions access context-sensitive constants |
| Действие не должно получать доступ к пользовательским данным. | Нефатальный | Check usage of Stateflow transitions> Check that no actions access custom data |
|
Переход не должен использовать ни одну из следующих недопустимых операций на операндах перечисляемого типа:
| Нефатальный | Check usage of Stateflow transitions> Check that conditions and actions do not have unsupported operations on enumeration type operands |
| Переход не должен иметь триггера события. | Нефатальный | Check usage of Stateflow transitions> Check that no transitions have event triggers |
| Переход не должен иметь действия перехода. | Нефатальный | Check usage of Stateflow transitions> Check that transitions do not have transition actions |
|
Математические функции в действиях должны иметь:
| Нефатальный | Check usage of Stateflow transitions> Check that no actions contain a function whose argument is of an invalid data type |
| Переходы Stateflow не должны снова использовать индукционные переменные за пределами цикла. | Нефатальный | Check usage of Stateflow transitions> Check that Stateflow transitions do not reuse induction variables outside of a loop |
| Циклы Stateflow, должно быть, не не поддержали шаг в переходах. | Нефатальный | Check usage of Stateflow transitions> Check that transitions do not have an unsupported loop step |
| Циклы Stateflow не должны иметь неподдерживаемого тела в переходах. | Нефатальный | Check usage of Stateflow transitions> Check that transitions do not have an unsupported loop body |
| Циклы Stateflow не должны иметь неподдерживаемого условия в переходах. | Нефатальный | Check usage of Stateflow transitions> Check that transitions do not have an unsupported loop condition |
| Циклы Stateflow должны иметь допустимую индукционную переменную в переходе, который задает условие цикла. | Нефатальный | Check usage of Stateflow transitions> Check for valid induction variable in transition that defines loop condition |
| Циклы Stateflow, должно быть, не не поддержали действия инициализации в переходах. | Нефатальный | Check usage of Stateflow transitions> Check that transitions do not have unsupported loop induction variable initialization |
| Действие не должно содержать бинарного оператора со смешанными операндами типа данных. | Нефатальный | Check usage of Stateflow transitions> Check that no actions contain a binary operator whose operands are of mixed data type |
| Переход не должен иметь функции больше чем с 2 аргументами. | Нефатальный | Check usage of Stateflow transitions> Check that no transitions have a function with more than 2 arguments |
| Действия не должны время доступа. | Нефатальный | Check usage of Stateflow transitions> Check that no actions access time (t) |
Действия не должны содержать XOR оператор с булевыми операндами, когда параметр модели Casting modes установлен в Standards. | Нефатальный | Check usage of Stateflow transitions> Check that no actions contain an xor operator with boolean operands |
| Графики не должны иметь вызовов графической функции с неприсвоенными выходными параметрами. | Нефатальный | Check usage of Stateflow transitions> Check unassigned graphical function outputs |
| Ограничение таблицы истинности | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
|---|---|---|
| Потоки управления не должны иметь циклов. | КРИТИЧЕСКИЙ | Check usage of Stateflow truth tables> Check that control flows do not have cycles |
Свойство Function Inline Option таблицы истинности (InlineOption) не должен быть Auto или Function. | Нефатальный | Check usage of Stateflow truth tables> Check usage of InlineOption setting |
| Таблица истинности не должна быть рекурсивной. | Нефатальный | Check usage of Stateflow truth tables> Check usage of recursive Stateflow function |
Свойство Language таблицы истинности должно быть установлено в C. | Нефатальный | Check usage of Stateflow truth tables> Check usage of Stateflow truth table Language |
| Потоки управления должны быть структурированы. | КРИТИЧЕСКИЙ | Check usage of Stateflow truth tables> Check that control flows are structured |
| Состояния не должны задавать таблицы истинности с различными фактическими и ожидаемыми типами данных аргумента. | Нефатальный | Check usage of Stateflow states> Check data type of truth table arguments |
| Состояния не должны задавать таблицы истинности с различными фактическими и ожидаемыми размерами аргумента. | Нефатальный | Check usage of Stateflow states> Check dimensions of truth table arguments |
| Переходы не должны задавать таблицы истинности с различными фактическими и ожидаемыми типами данных аргумента. | Нефатальный | Check usage of Stateflow transitions> Check data type of truth table arguments |
| Переходы не должны задавать таблицы истинности с различными фактическими и ожидаемыми размерами аргумента. | Нефатальный | Check usage of Stateflow transitions> Check dimensions of truth table arguments |