Chart
Implementar una lógica de control con una máquina de estados finitos

Bibliotecas:
Stateflow
Descripción
El bloque Chart representa gráficamente una máquina de estados finitos. En un gráfico de Stateflow®, los estados y las transiciones forman los componentes básicos de un sistema lógico modal secuencial. Los estados corresponden a los modos de funcionamiento y las transiciones representan el paso de un sistema de un modo de funcionamiento a otro. Para obtener más información, consulte Modelar máquinas de estado finito con gráficos de Stateflow.
Para implementar la lógica de control, los gráficos de Stateflow pueden usar MATLAB® o C como lenguaje de acción. Para obtener más información, consulte Diferencias entre C y MATLAB como sintaxis de lenguaje de acción.
Ejemplos
Simplificar gráficos de Stateflow incorporando una salida de estado activo
El ejemplo muestra cómo los datos de estado activo pueden simplificar el diseño de algunos gráficos de Stateflow® porque no es necesario mantener los datos que estén fuertemente correlacionados con la jerarquía del gráfico. Cuando habilita datos de estado activo, Stateflow informa la actividad de estados a través de un puerto de salida a Simulink® o como datos locales en el gráfico. Este ejemplo muestra cómo simplificar el diseño de un gráfico de Stateflow® añadiendo datos de salida de estado activo. Para obtener más información, consulte Monitor State Activity Through Active State Data.
Model a Fitness Tracker
Implement a fitness tracker by using temporal logic and messages.
Puertos
Entrada
Cuando crea datos de entrada en el gráfico de Stateflow usando el panel Symbols, Stateflow crea un puerto de entrada correspondiente en el bloque Chart.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
Salida
Cuando crea datos de salida en el gráfico de Stateflow usando el panel Symbols, Stateflow crea un puerto de salida correspondiente en el bloque Chart.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
Parámetros
Para editar parámetros de bloque de manera interactiva, use Property Inspector. En la barra de herramientas de Simulink®, en la pestaña Simulation, en la galería Prepare, seleccione Property Inspector.
Nota
Los gráficos también tienen parámetros de bloque Subsystem (Simulink) a los que puede acceder haciendo clic con el botón secundario en el gráfico y haciendo clic en Block Parameters (Subsystem). Sin embargo, no se recomienda actualizar estos parámetros.
Método para actualizar o activar un gráfico de Stateflow, especificado como Inherited
, Discrete
o Continuous
.
Inherited
La entrada del modelo de Simulink determina cuándo se activa el gráfico durante una simulación.
Si se definen eventos de entrada en el gráfico, la señal del bloque de Simulink conectada con el puerto de activación activa el gráfico. La señal de Simulink puede ser
Rising
,Falling
oEither
(ascendente y descendente) o responder a unaFunction Call
. Para obtener más información, consulte Activar un gráfico de Stateflow enviando eventos de entrada.Si no se definen los eventos de entrada, el gráfico de Stateflow hereda implícitamente los activadores del modelo de Simulink. Estos eventos implícitos son los tiempos de muestreo discretos o continuos de las señales de Simulink que proporcionan entradas al gráfico. Si se definen entradas de datos, el gráfico se activa a la tasa de entrada de datos más rápida. Si no se define ninguna entrada de datos en el gráfico, este se activa según lo definido por el comportamiento de ejecución de su subsistema principal.
Discrete
El gráfico de Stateflow se activa cuando el modelo de Simulink genera un evento implícito a intervalos de tiempo regulares que se especifican en la propiedad del gráfico Sample Time. Los otros bloques del modelo de Simulink pueden tener diferentes tiempos de muestreo.
Continuous
El gráfico de Stateflow actualiza su estado solo durante las unidad de tiempo de mayor duración y calcula las salidas y las variables continuas locales durante las unidades de tiempo de menor y mayor duración. El gráfico puede registrar cruces por cero, lo que permite a los modelos de Simulink muestrear los gráficos de Stateflow siempre que se produzcan cambios de estado. El gráfico de Stateflow calcula las derivadas de las variables continuas locales. Para obtener más información, consulte Continuous-Time Modeling in Stateflow.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | ChartUpdate |
Valores: | "INHERITED" (predeterminado) | "CONTINUOUS" | "DISCRETE" |
Especifique el intervalo de tiempo en el que el gráfico se activa durante la simulación. El valor predeterminado indica que el gráfico hereda el tiempo de muestreo de Simulink. Para obtener más información sobre cómo especificar el tiempo de muestreo, consulte Especificar el tiempo de muestreo (Simulink).
No utilice el parámetro Sample Time en los parámetros del bloque Subsystem. En su lugar, utilice Property Inspector.
Dependencias
Para habilitar este parámetro, establezca Update method en Discrete
.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | SampleTime |
Valores: | "-1" (predeterminado) | string scalar | character vector |
Tipos de datos: | string | char |
Parámetro que indica si se habilita la detección de cruce por cero en transiciones de estado en el gráfico. Para obtener más información, consulte Continuous-Time Modeling in Stateflow.
Dependencias
Para habilitar este parámetro, establezca Update method en Continuous
.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | EnableZeroCrossings |
Valores: | true or 1 (predeterminado) | false or 0 |
Tipos de datos: | logical |
Parámetro que indica si se usan operaciones de bits en acciones de estado y de transición en el gráfico, especificado como un 1 numérico o lógico (verdadero) o 0 (falso).
Dependencias
Para habilitar este parámetro, establezca Action language en C
.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | EnableBitOps |
Valores: | false or 0 (predeterminado) | true or 1 |
Tipos de datos: | logical |
Parámetro que indica si se crea un puerto de salida de datos de estado activo para el gráfico. Para obtener más información, consulte Monitor State Activity Through Active State Data.
Dependencias
Para habilitar este parámetro, cree un estado de Stateflow, una tabla de transición de estado o un subgráfico atómico.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | HasOutputData |
Valores: | false or 0 (predeterminado) | true or 1 |
Tipos de datos: | logical |
Modo de monitorización para los datos de salida de estado activo. Para obtener más información, consulte Monitor State Activity Through Active State Data.
Dependencias
Para habilitar este parámetro, habilite Create output for monitoring.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | OutputMonitoringMode |
Valores: | "ChildActivity" (predeterminado) | "LeafStateActivity" |
Nombre del objeto de datos de estado activo para la tabla de transición de estado.
Dependencias
Para habilitar este parámetro, habilite Create output for monitoring.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | OutputPortName |
Valores: | "ChartMode" (predeterminado) | string scalar | character vector |
Tipos de datos: | string | char |
Nombre del objeto de datos de estado activo para la tabla de transición de estado.
Dependencias
Para habilitar este parámetro, habilite Create output for monitoring.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | EnumTypeName |
Valores: | "ChartModeType" (predeterminado) | string scalar | character vector |
Tipos de datos: | string | char |
Parámetro que indica si se define el tipo de datos enumerados para la salida de datos de estado activo manualmente. Para obtener más información, consulte Define State Activity Enumeration Type.
Dependencias
Para habilitar este parámetro, habilite Create output for monitoring.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | DoNotAutogenerateEnum |
Valores: | false or 0 (predeterminado) | true or 1 |
Tipos de datos: | logical |
Avanzados
Parámetro que indica si se inicializa la configuración de estado del gráfico en la unidad de tiempo cero en lugar de en el primer evento de entrada. Para obtener más información, consulte Execution of a Chart at Initialization.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | ExecuteAtInitialization |
Valores: | false or 0 (predeterminado) | true or 1 |
Tipos de datos: | logical |
Parámetro que indica si los datos del gráfico se saturan en el desbordamiento de enteros. Cuando se desactiva este parámetro, los datos del gráfico se ajustan en el desbordamiento de enteros. Para obtener más información, consulte Handle Integer and Enumeration Overflow for Chart Data.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | SaturateOnIntegerOverflow |
Valores: | true or 1 (predeterminado) | false or 0 |
Tipos de datos: | logical |
Parámetro que indica si se inicializan los datos de salida cada vez que el gráfico se activa.
Cuando selecciona este parámetro, el gráfico restablece sus valores de salida cada vez que este se activa, no solo en la unidad de tiempo 0. El gráfico restablece los valores de salida cada vez que una llamada a función, un activador por flancos o un pulso de reloj activan el gráfico. Si se establece un valor inicial para un objeto de datos de salida, la salida se restablece a ese valor. En caso contrario, la salida se reestablece en cero. Seleccione este parámetro para:
Asegurarse de que todas las salidas se definen en cada ejecución del gráfico.
Evitar la retención de salidas, es decir, evitar valores de las salidas calculados en ejecuciones anteriores.
Proporcionar a todas las salidas del gráfico un valor inicial significativo.
Para obtener más información, consulte Valor inicial.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | InitializeOutput |
Valores: | true or 1 (predeterminado) | false or 0 |
Tipos de datos: | logical |
Parámetro que indica si el gráfico admite datos de tamaño variable. Para obtener más información, consulte Declare Variable-Size Data in Stateflow Charts.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | SupportVariableSizing |
Valores: | true or 1 (predeterminado) | false or 0 |
Tipos de datos: | logical |
Parámetro que indica si se exportan funciones en nivel de gráfico a otros bloques de modelo de Simulink. Para obtener más información, consulte Export Stateflow Functions for Reuse.
Dependencias
Para habilitar este parámetro, añada una función al gráfico.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | ExportChartFunctions |
Valores: | false or 0 (predeterminado) | true or 1 |
Tipos de datos: | logical |
Parámetro que indica si las funciones exportadas del gráfico son globalmente visibles en el modelo de Simulink. Cuando esta propiedad está habilitada, los bloques de todo el modelo pueden llamar a funciones exportadas del gráfico sin necesidad de utilizar la notación con calificación.
Dependencias
Para habilitar este parámetro, habilite Export chart level functions.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | AllowGlobalAccessToExportedFunctions |
Valores: | false or 0 (predeterminado) | true or 1 |
Tipos de datos: | logical |
Parámetro que indica si se habilita la semántica del superpaso para el gráfico. Seleccione este parámetro para permitir que el gráfico realice múltiples transiciones en cada unidad de tiempo hasta alcanzar un estado estable. Esta opción no está disponible cuando se establece la propiedad del gráfico Update method en Continuous
. Para obtener más información, consulte Super Step Semantics.
Dependencias
Para habilitar este parámetro, establezca Update method en Discrete
.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | EnableNonTerminalStates |
Valores: | false or 0 (predeterminado) | true or 1 |
Tipos de datos: | logical |
Número máximo de transiciones que puede completarse en un superpaso. Para obtener más información, consulte Super Step Semantics.
Dependencias
Para habilitar este parámetro, habilite Enable super step semantics.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | NonTerminalMaxCounts |
Valores: | 1000 (predeterminado) | positive integer |
Tipos de datos: | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 |
Acción que debe realizar Stateflow si un superpaso supera el número máximo de transiciones en un superpaso. Para obtener más información, consulte Super Step Semantics.
Dependencias
Para habilitar este parámetro, habilite Enable super step semantics.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | NonTerminalUnstableBehavior |
Valores: | "Proceed" (predeterminado) | "Throw Error" |
Desde R2022b
Parámetro que indica si el gráfico trata los datos no escalares con una dimensión de longitud 1 como tamaño fijo. Cuando selecciona este parámetro, el gráfico trata los datos no escalares que tienen al menos una dimensión de longitud 1 como tamaño fijo, independientemente de si habilita la propiedad de datos Variable size. Cuando desactiva este parámetro, el gráfico trata los datos no escalares con la propiedad Variable size habilitada como tamaño variable.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | TreatDimensionOfLengthOneAsFixedSize |
Valores: | true or 1 (predeterminado) | false or 0 |
Tipos de datos: | logical |
Especifique qué variantes de bloque analiza Stateflow durante la simulación y la generación de código. En función de la opción que elija, Stateflow determina si el código generado debe contener solo la elección activa o tanto la elección activa como la inactiva.
update diagram analyze all choices
: cuando selecciona esta opción, Stateflow analiza la elección activa y la elección inactiva en busca de incompatibilidades en atributos de señal y solo genera código para la elección activa.code compile
: cuando selecciona esta opción, Stateflow analiza la elección activa y la elección inactiva de transiciones de variantes y genera código para las elecciones activas e inactivas. Las elecciones están incluidas en las instrucciones condicionales de preprocesador de C #if y #endif que se compilan condicionalmente cuando compila el código generado.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | VariantActivationTime |
Valores: | "update diagram analyze all choices" (predeterminado) | "code compile" |
Lenguaje de acción para programar el gráfico, especificado como MATLAB
o C
. Para obtener más información, consulte Diferencias entre C y MATLAB como sintaxis de lenguaje de acción.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | ActionLanguage |
Valores: | "MATLAB" (predeterminado) | "C" |
Semántica de la máquina de estados implementada por el gráfico, especificada como Classic
, Mealy
o Moore
. Para obtener más información, consulte Visión general de máquinas de Mealy y Moore.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | StateMachineType |
Valores: | "Classic" (predeterminado) | "Mealy" | "Moore" |
Propiedades de punto fijo
Señales de Simulink heredadas que se desean tratar como objetos fi
de Fixed-Point Designer™, especificadas como uno de estos valores:
Fixed-point
: el gráfico trata todas las entradas de punto fijo como objetosfi
.Fixed-point & Integer
: el gráfico trata todas las entradas de punto fijo y enteras como objetosfi
.
Dependencias
Para habilitar este parámetro, establezca Action language en MATLAB
.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | TreatAsFi |
Valores: | "Fixed-point" (predeterminado) | "Fixed-point & Integer" |
Propiedades de fimath
predeterminadas para el gráfico, especificadas como uno de estos valores:
Same as MATLAB
: el gráfico usa las mismas propiedades del objetofimath
que el objetofimath
predeterminado actual. El cuadro de texto está atenuado y muestra el objetofimath
global actual en formato de solo lectura.Specify other
: especifica su propio objetofimath
en el cuadro de texto de una de estas dos maneras:Construyendo el objeto
fimath
dentro del cuadro de texto.Construyendo el objeto
fimath
en el área de trabajo de MATLAB o del modelo y, después, introduciendo su nombre de variable en el cuadro de texto. Si utiliza esta opción y tiene previsto compartir el modelo con otras personas, defina la variable en el área de trabajo del modelo.
Para obtener más información, consulte fimath Object Construction (Fixed-Point Designer).
Dependencias
Para habilitar este parámetro, establezca Action language en MATLAB
.
Uso programático
Para establecer el valor de los parámetros de un gráfico de manera programática, acceda al objeto Stateflow.Chart
del gráfico y cambie la propiedad del objeto usando la notación de puntos.
Parámetro: | EmlDefaultFimath |
Valores: | "Same as MATLAB Default" (predeterminado) | "Other:UserSpecified" |
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.
HDL Coder™ ofrece opciones de configuración adicionales que afectan a la implementación de HDL y a la lógica de síntesis.
Este bloque tiene una sola arquitectura de HDL predeterminada.
Para generar un puerto de salida en el código HDL que muestre el estado activo, seleccione Create output for monitoring de la ventana de propiedades del gráfico. La salida es un tipo de datos enumerados. Consulte Simplificar gráficos de Stateflow incorporando una salida de estado activo.
Para insertar un registro de salida que retarde la salida del gráfico en un ciclo de simulación, utilice la propiedad de bloque OutputPipeline (HDL Coder).
ClockDrivenOutput | Active las salidas controladas por reloj para evitar que la lógica combinatoria controle la salida y permitir una actualización inmediata de la salida cuando la señal de reloj y el estado cambien. El valor predeterminado es |
ConstMultiplierOptimization | Optimización de dígito canónico signado (CSD) u CSD factorizado. El valor predeterminado es |
ConstrainedOutputPipeline | Número de registros que se debe colocar en las salidas desplazando los retardos existentes en el diseño. La canalización distribuida no redistribuye estos registros. El valor predeterminado es |
DistributedPipelining | Distribución de registros de canalización o reprogramación de registros. El valor predeterminado es |
GuardIndexVariables | Especifique si se extraen o no los índices de los arreglos de las instrucciones condicionales. Cuando se habilitan determinadas optimizaciones, como la asignación de RAM, la transmisión en bucle, el uso compartido, etc., se extraen las expresiones de los índices de los arreglos. Se crea una variable temporal para la expresión que puede generar un error de índice fuera de los límites durante la simulación. El valor predeterminado es |
InputPipeline | Número de fases de canalización de entrada que se debe insertar en el código generado. La canalización distribuida y la canalización de salida limitada pueden desplazar estos registros. El valor predeterminado es |
InstantiateFunctions | Genera una entidad VHDL® |
LoopOptimization | Desenrolla, secuencia o no optimiza los bucles. El valor predeterminado es |
MapPersistentVarsToRAM | Asigna los arreglos persistentes a la RAM. El valor predeterminado es |
OutputPipeline | Número de fases de canalización de salida que se debe insertar en el código generado. La canalización distribuida y la canalización de salida limitada pueden desplazar estos registros. El valor predeterminado es |
ResetType | Suprime la generación de lógica de restablecimiento. El valor predeterminado es |
SharingFactor | Número de recursos funcionalmente equivalentes que se debe asignar a un único recurso compartido. El valor predeterminado es 0. Consulte también Resource Sharing (HDL Coder). |
El bloque se utiliza en estas optimizaciones de HDL para optimizar la velocidad y el área.
Optimización de velocidad y área
Optimización | Descripción |
---|---|
Distributed Pipelining (HDL Coder) | Canalización distribuida, o reprogramación de registros, es una optimización de velocidad que mueve los retardos existentes en un diseño para reducir la ruta crítica mientras se conserva el comportamiento funcional. |
Resource Sharing (HDL Coder) | Uso compartido de recursos es una optimización de área en la que HDL Coder identifica varios recursos equivalentes funcionalmente y los reemplaza por un único recurso. |
Understand Delay Balancing in HDL Coder (HDL Coder) | Cuando las optimizaciones o las opciones de implementación de bloques introducen retardos a lo largo de la ruta crítica en un modelo, la compensación de retardos detecta la introducción de nuevos retardos en una ruta y, después, inserta los retardos correspondientes en las otras rutas. |
Clock-Rate Pipelining (HDL Coder) | Canalización de la frecuencia de reloj es un marco de optimización en HDL Coder que permite otras optimizaciones de velocidad y área para introducir una latencia en la frecuencia de reloj. |
Adaptive Pipelining (HDL Coder) | La optimización canalización adaptativa crea patrones o combinaciones de bloques con registros que pueden mejorar la frecuencia de reloj alcanzable y reducir el uso de área en las placas FPGA introduciendo registros de canalización en los bloques del diseño. |
Estimación de ruta crítica (HDL Coder) | Para identificar rápidamente la ruta crítica más probable del diseño, use estimación de ruta crítica. La estimación de la ruta crítica acelera el proceso iterativo de encontrar la ruta crítica. Para identificar los bloques que están caracterizados en la estimación de la ruta crítica, consulte Characterized Blocks (HDL Coder). |
Este bloque admite la generación de código para señales complejas.
Para obtener más información sobre las restricciones en el uso de los gráficos, consulte Introduction to Stateflow HDL Code Generation (HDL Coder).
Cuando aplica optimizaciones, el bloque tiene estas limitaciones:
El gráfico de Stateflow que tiene la propiedad State Machine Type establecida en
Moore
no admite optimizaciones de HDL.Las optimizaciones de HDL no se admiten para el gráfico de Stateflow que tiene un puerto Trigger.
UseExternalDefinition | Suprime la definición del bloque en el código generado. El valor predeterminado es |
Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.
Historial de versiones
Introducido antes de R2006aEn una versión futura, se eliminará la propiedad User-specified state/transition execution order. Esta propiedad solo se aplica a los gráficos que usan C como lenguaje de acción.
Cuando se habilita esta propiedad, los gráficos ejecutan las transiciones y los estados paralelos en el orden en que se crearon. También puede determinar el orden de ejecución manualmente.
Cuando se deshabilita esta propiedad, los gráficos ejecutan las transiciones y los estados paralelos en función de un orden implícito definido por la posición física.
Las transiciones se ejecutan en función de:
El nivel jerárquico del elemento principal de cada transición.
Las etiquetas de la transición, en este orden:
Etiquetas con eventos y condiciones.
Etiquetas con eventos.
Etiquetas con condiciones.
Sin etiquetas.
La posición de la superficie angular del origen de la transición. La transición con la posición en el reloj más pequeña tiene la mayor prioridad. Por ejemplo, una transición con una posición 2 tiene una prioridad mayor que una transición con una posición 4. Una transición con una posición de origen 12 tiene la prioridad más baja.
Los estados paralelos se ejecutan en este orden:
De arriba a abajo.
De izquierda a derecha.
Para asegurarse de que los gráficos ordenados de manera implícita siguen siendo compatibles, habilite la propiedad User-specified state/transition execution order.
Para convertir un gráfico a una tabla de transición de estado, utilice la función convertToSTT
.
Con la nueva propiedad Treat dimensions of length 1 as fixed size, puede especificar cómo los gráficos tratan los datos no escalares cuando al menos una dimensión tiene longitud 1. En versiones anteriores a R2023a, los gráficos trataban los datos no escalares con al menos una dimensión de longitud 1 como tamaño fijo, independientemente de si la propiedad de datos Variable size se había habilitado.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)