Stateflow® Блокируйте ограничение | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
---|---|---|
Function packaging (RTWSystemCode ) должен быть установлен в Inline или Nonreusable function . Подсистема должна быть в поддерживаемых настройках для Nonreusable function . Simulink® Code Inspector™ поддерживает блок Chart (Stateflow) для инспекции кода. | Нефатальный | Check usage of Stateflow blocks |
Chart (Stateflow) ограничение | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
---|---|---|
График не должен содержать ни один из следующих объектов:
| КРИТИЧЕСКИЙ | 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 не должно быть выбрано. | Нефатальный | <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 |
Стройте диаграмму типами данных должен быть
| Нефатальный | Check usage of Stateflow data> Check that Stateflow data is of a supported data type |
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 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 не должны иметь выходные порты или запись. | Нефатальный | Check usage of Stateflow states> Check that the states have no entry or exit ports |
Состояниям Stateflow нельзя было выбирать свойства Log self activity и Test point. | Нефатальный | Check usage of Stateflow states> Check that states do not have the ‘Log self activity’ and ‘Test point’ properties selected |
Переходы (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 transitions> Check that Stateflow transitions are not configured as variant transitions |
Ограничение таблицы истинности | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
---|---|---|
Потоки управления не должны иметь циклов. | КРИТИЧЕСКИЙ | 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 |