Ограничения объекта Stateflow

Блоки Stateflow

Stateflow® Block ConstraintКРИТИЧЕСКИЙ / НефатальныйПроверка совместимости
Function packaging (RTWSystemCode) должен быть установлен в Inline. Simulink® Code Inspector™ поддерживает блок Chart для инспекции кода.НефатальныйCheck usage of Stateflow blocks

Диаграммы Stateflow

Стройте диаграмму ограниченияКРИТИЧЕСКИЙ / НефатальныйПроверка совместимости

График не должен содержать ни один из следующих объектов:

  • Атомарные подграфики

  • Атомарные поля

  • Функции MATLAB®

  • Основанные на Simulink состояния

КРИТИЧЕСКИЙ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 и События

Данные или ограничение событияКРИТИЧЕСКИЙ / НефатальныйПроверка совместимости
Данные 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 или данных Stateflow осциллографа Output не должен быть установлен в 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

Графические функции Stateflow

Ограничение графической функцииКРИТИЧЕСКИЙ / НефатальныйПроверка совместимости
Графическая функция не должна содержать циклы потока управления.КРИТИЧЕСКИЙ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

Stateflow функции Simulink

Ограничение функции 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

Соединения Stateflow

Ограничение соединенияКРИТИЧЕСКИЙ / НефатальныйПроверка совместимости
Соединения не должны иметь исходящих переходов, переходящих за пределами цикла.Нефатальный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

Состояния (Stateflow) ограничениеКРИТИЧЕСКИЙ / НефатальныйПроверка совместимости
Состояния не должны содержать циклы потока управления.КРИТИЧЕСКИЙCheck usage of Stateflow states> Check that control flows do not have cycles

Действие должно быть для одной из этих операций:

  • := или =

  • +, +=, - или -=

  • *, *=, / или /=

  • &, && или &=

  • |, || или |=

  • << или >>

  • cast()

  • ^ или ^=

  • %% или <

  • <= или ==

  • ~= или !=

  • <> или >

  • >= или ~

Нефатальный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

Математические функции в действиях должны иметь:

  • Один или двойные аргументы типа для следующих функций:

    • acos, asin, atan

    • ceil, cosh, cosh

    • exp, fabs, floor

    • fmod, ldexp, log

    • log10, pow, sin

    • sinh, sqrt, tan, tanh

  • Небулевы аргументы для следующих функций:

    • abs, max, min

  • Аргумент целочисленного типа для функции labs.

Нефатальный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

Переходы Stateflow

Переходы (Stateflow) ограничениеКРИТИЧЕСКИЙ / НефатальныйПроверка совместимости

Действие должно быть для одной из этих операций:

  • := или =

  • +, +=, - или -=

  • *, *=, / или /=

  • &, && или &=

  • |, || или |=

  • << или >>

  • cast()

  • ^ или ^=

  • %% или <

  • <= или ==

  • ~= или !=

  • <> или >

  • >= или ~

Нефатальный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

Математические функции в действиях должны иметь:

  • Один или двойные аргументы типа для следующих функций:

    • acos, asin, atan

    • ceil, cosh, cosh

    • exp, fabs, floor

    • fmod, ldexp, log

    • log10, pow, sin

    • sinh, sqrt, tan, tanh

  • Небулевы аргументы для следующих функций:

    • abs, max, min

  • Аргумент целочисленного типа для функции labs.

Нефатальный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

Таблицы истинности Stateflow

Ограничение таблицы истинностиКРИТИЧЕСКИЙ / НефатальныйПроверка совместимости
Потоки управления не должны иметь циклов.КРИТИЧЕСКИЙ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

Похожие темы