Stateflow® Ограничение блока | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
Function packaging (RTWSystemCode ) должно быть установлено в Inline или Nonreusable function . Подсистема должна быть в поддерживаемых строениях для Nonreusable function . Simulink® Code Inspector™ поддерживает блок Chart (Stateflow) для инспекции кода. | Неокончательный | Check usage of Stateflow blocks |
Chart (Stateflow) ограничение | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
График не должен содержать ни одного из следующих объектов:
| ФАТАЛЬНЫЙ | 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 output for monitoring свойства графика. | Неокончательный | Check usage of Stateflow charts> Check that all charts unselect ‘Create output for monitoring’ 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 свойства графика. | Неокончательный | <<reservedrangesplaceholder1>> 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 |
Ограничение данных или событий | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
Данные 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 Для данных scope Stateflow не должно быть задано значение Parameter . | Неокончательный | Check usage of Stateflow data> Check usage of Stateflow data Initialize Method |
Типы данных графика должны быть
| Неокончательный | Check usage of Stateflow data> Check that Stateflow data is of a supported data type |
The 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 |
Возможности события должна быть 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 |
Графическая функция ограничения | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
Графическая функция не должна содержать циклы потока управления. | ФАТАЛЬНЫЙ | 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 | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
Вызовы функций 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 |
Ограничение соединения | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
Соединения не должны иметь исходящих переходов, скачущих вне цикла. | Неокончательный | 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) | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
Состояния не должны содержать циклов потока управления. | ФАТАЛЬНЫЙ | 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 output for monitoring не должны быть выбраны (установлено на on ). | Неокончательный | Check usage of Stateflow states> Check that all states unselect ‘Create output 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) | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
Действие должно быть для одной из следующих операций:
| Неокончательный | 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 transitions> Check that Stateflow transitions are not configured as variant transitions |
Ограничение таблицы истинности | FATAL/Нефатальный | Проверка совместимости |
---|---|---|
Потоки управления не должны иметь циклов. | ФАТАЛЬНЫЙ | 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 |